CGIWrap - Change Log
These are some of the changes that have occured in CGIwrap from version
to version.
New in version 3.5:
- Fixed strerror checking in Configure script and util.c for systems
without strerror, can now use strerror, sys_errlist, perror, or just errno.
- Major documentation overhaul, create all HTML based docs
- Added option (defaulting to yes) to correctly set the
PATH_TRANSLATED environment variable.
- Fixed bug with the configure script and the use_system
option. It would cause a preprocessor error if the system call was not
found.
- Cleaned up various things with the Configure script
- Changed file prompting to allow using ~ paths.
New in version 3.4:
- Fixed typo "&" instead of "&&" in setgroups stuff
- Added cgiwrap.aliases option to rewrite home dirs of users.
- Moved entire cgiwrap source build tree to CVS, will make
tracking changes easier.
- CGIwrap now changes directories to the directory the script is located in before executing the script. Before, it always just changed
to the main CGI directory. This behavior is only different if you
were using scripts in subdirectories.
- Changed style of cgiwrap.allow, cgiwrap.deny files to be the same as
cron's allow/deny files.
New in version 3.3:
- Added support for attaching a label to syslog log messages.
- Added code to rewrite the PATH_TRANSLATED environment variable.
New in version 3.24:
- Added support for logging to syslog.
New in version 3.23:
- Setgroups was being used no matter what you said in configure - fixed
- Problem with undefined variables in Log call for subdirectories - fixed
- Removed declaration of sys_errlist, and errno in util.c, since I don't
think they were necessary. And they were causing problems on some
architectures.
- Added in user contributed host address checking code
- Upgraded to using dist-3.0 PL60 for building the Configure script.
- Separated initgroups() and setgroups() checks into two separate
defines, and improved documentation in configure script for these options.
New in version 3.22:
- argv[0] is now automatically changed to the name of the script that is
being executed
New in version 3.21:
- Rlimit defines weren't set properly when rlimit not available - fixed
- The optimizer/debugger flag wasn't being used in the makefile -- fixed
- Defaults for checks (y/n) were not being set - fixed
New in version 3.2:
- MAJOR code cleanup and simplification. The code should be ALOT
easier to read and understand.
- Fixed the problem in the Makefile on certain architectures with the
$(var) not being escaped properly. This should solve problems with Linux
machines and BSD machines that I know of.
- Changes way PATH_INFO is modified, CGIwrap will now correct SCRIPT_NAME
for ?user=USER&script=SCRIPT type requests as well as /user/script type
requests.
- Subdirectories are now supported for both types of requests
- Debugging output has been condensed and is a little easier to read.
- Documentation has been reworked, it should be a little easier to use.
- Fixed prototypes for all the functions in the cgiwrap source.
- Removed a few unnecessary routines
- Changed "mystrcpy" to be "strdup", and is compiled only if the current
architecture does not have strdup available in it's standard library.
New in version 3.11:
- Fixed incorrectly indented # directives that were causing problems with
some machines.
New in version 3.1:
- Added CONF_ALLOWFILE and CONF_DENYFILE options.
- Added logging of REMOTE_USER and a status message to the log file
- Added an unsupported directory for user contributed scripts and add-ons
- Restructured logic for which 'set' method gets used.
- Removed option to not check if gid changed, it was an oversight that
this was left in. There isn't any case I know of that you wouldn't want
to check this.
- Moved id setting routines into util.c
- Added new source file for allow/deny code.
- Removed some error output that didn't make sense (system error
messages that were getting returned when I issued a regular cgiwrap error)
- Added a 'remake' target to the makefile which does a clean, then a
Configure -S, then a make all to rebuild he entire binary. This is useful
if you have multiple config.sh files (eg. you're building for several
setups from the same dir)
New in version 3.0:
- Set up Configure scripts for CGIwrap
- Renamed many of the config options to make more consistent
- Rearranged directory structure of CGIwrap distribution
- Removed "CONF_SANITIZE" option, it is always on now.
- Removed "CONF_CHECK_UID" option, it is always on now.
- Removed "CONF_FORCE_DEBUG" option, and "CONF_DEBUG_BY_NAME" option,
cgiwrap automatically does debugging output by name now.
- Added info about setting up an access-controlled cgiwrap which allows
users to control access to their scripts.
- Renamed DEBUG to CONF_DEBUG to solve a compile problem with some systems
wanting to add -DDEBUG to CFLAGS.
New in version 2.7:
- Added HTTPD_USER and CHECK_HTTPD_USER to verify that cgiwrap is being
called by the server. This is for (access to scripts) security, it
doesn't affect system security any.
- Added AFS PAG support
New in version 2.6:
- Moved rlimit call into new subroutine SetLimits
- Changed exec call to an execv and passed argv to support argument passing
This will only work correctly for scripts called with no other
arguments... Eg, must use "cgiwrap/user/script?" syntax
New in version 2.5:
- Fixed problem with not correctly falling back from PATH_INFO
- Added SETUID_SETEUID option for setting UID's
- Added checks to make sure effective ugid changed as well as real.
New in version 2.4:
- Fixed incorrect exec call, added null at end.
New in versoin 2.3:
- Fixed location of setgroups() call
- Added INSTALL file and fixed PROMO that was old.
New in version 2.2:
- More debug outpt for environment variables
- Option to check exec bit on script and error msg if not set
New in version 2.1:
- Fixed ~ bug
- Added PATH_INFO and SCRIPT_NAME rewrite code
- Added SETGROUPS option to config
- Added RLIMIT option to config
New in version 2.0:
- Added support for PATH_INFO specification of user/script
- Added stderr redirection to stdout
- Added option for doing debugging output by cmd name
- Added option to use exec or system calls
New in version 1.0:
- Everything! This is the first public distribution.