"Fossies" - the Fresh Open Source Software Archive

Member "cgiwrap-4.1/htdocs/changes.html~" (16 Jun 2008, 16050 Bytes) of package /linux/www/old/cgiwrap-4.1.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.


    1 <TITLE>CGIWrap - Change Log</TITLE>
    2 <CENTER><H2>CGIWrap - Change Log</H2></CENTER>
    3 
    4 These are some of the changes that have occured in CGIWrap from version 
    5 to version.
    6 
    7 <HR>
    8 <P><H3>New in version 3.10:</H3><UL>
    9 	<LI>Applied several patches from Javier Fernandez-Sanguino Pen~a <jfs@computer.org> for information release security. Removes additional output when quiet errors is enabled.
   10 	<LI>Fixed setting of LD_LIBRARY_PATH when configured to do so.
   11 	<LI>Fixed setting of ARGV for both regular and interpreted scripts when script is in a subdir. Clean up code
   12 	related to this based on a patch from Jack <ms419@freezone.co.uk>.
   13 	<LI>Updated autoconf helpers to much newer release
   14 </UL>
   15 
   16 <P><H3>New in version 3.9:</H3><UL>
   17 	<LI>Fixed a minor typo preventing allow files from working
   18 	<LI>Added support for +@netgroup syntax optionally in allow/deny files.
   19 	<LI>Fixed problem with php-nonexec-only not working properly since exec check done too late.
   20 	<LI>Applied Piotr's patch few support of newer PHP versions.
   21 	<LI>Added support for ASP interpreter execution, similar to PHP support.
   22 	<LI>Fix content of PATH_INFO when it should be / or undefined. Based on patch from Cliff Woolley.
   23 </UL>
   24 
   25 <P><H3>New in version 3.8:</H3><UL>
   26 	<LI>Merged in special handling for PHP scripts by popular demand. This is based mostly on
   27 Piotr Klaban's php-cgiwrap patch, with minor changes.
   28 	<LI>Added options for php support. --with-php-interpreter and --with-php-cgiwrap
   29 	<LI>Rewrote the path translated support. Is it finally correct?
   30 	<LI>Patch from san@cobalt.rmnet.it to use REDIRECT_URL if available for SCRIPT_NAME.
   31 	<LI>Added support for access control files specific to each HTTP_HOST, useful for ISP's using Apache handlers to run
   32 cgi's that want to restrict which userids can run cgi's on certain vhosts. If enabled, the vhost access control files must exist.
   33 	<LI>Added option to require that REDIRECT_URL be specified in environment. Can be used to require that cgiwrap be invoked via a handler/action or some other internal apache redirection/rewrite. Primarily of use when invoking cgi's for virtual hosts via Action/SetHandler.
   34 	<LI>Modified san's REDIRECT_URL support to be --with-use-redirect-url instead of --with-check-redirect-url, since it's more a functional change, not a security check.
   35 	<LI>Added a --with-quiet-errors option to allow significantly restricting the amount of
   36 internal information that an error message displays.
   37 	<LI>Added ability to override the vhost that cgiwrap users via an optional CGIWRAP_AUTH_VHOST env var, which if present and feature enabled, will be used instead of HTTP_HOST. This is useful for
   38 when you have wildcard servernames in apache. Enable the --with-vhost-override option if you want this capabillity. Only applicable if vhost allow/deny dir is enabled.
   39 	<LI>Added ability to only allow scripts run by a specific userid if the CGIWRAP_REQUIRE_USER env var is specified and the --with-env-require-user feature is enabled.
   40 	<LI>Changed to autoconf 2.5 style templates and eliminated acconfig.h.
   41 	<LI>Added option to enable the special PHP support only for non-executable files.
   42 	<LI>Added modified patch by Gabriel Ambuehl to use SCRIPT_URL for SCRIPT_NAME generation.
   43 </UL>
   44 
   45 <P><H3>New in version 3.7.1:</H3><UL>
   46 	<LI>Added --with-minimum-gid option to check minimum user GID and auxilliary groups. This is
   47 		in response to complaints on BugTraq about suexec not checking auxgroups.
   48 </UL>
   49 
   50 <P><H3>New in version 3.7:</H3><UL>
   51 	<LI>Encode user supplied output in error messages to fix cross-site
   52 scripting vulnerability reported by Hiromitsu Takagi.
   53 	<LI>Minor warning cleanup
   54 	<LI>Slight improvement to a couple diagnostic messages.
   55 </UL>
   56 
   57 <P><H3>New in version 3.6.5:</H3><UL>
   58 	<LI>Fixed small problem with glibc2.1 and errno.h vs. sys/errno.h
   59 	<LI>Added simple chroot support for expert installations.
   60 	<LI>Applied fix for path translated, removed option for not enabling
   61 	correct path_translated value.
   62 	<LI>Added multiuser cgi script directory support.
   63 	<LI>Added patch from Scott Sutherland for fixing parsing of auth files.
   64 	<LI>Added patch from Christian Kruse for better symlink handling.
   65 </UL>
   66 
   67 <P><H3>New in version 3.6.4:</H3><UL>
   68 	<LI>Changed license to GPL finally.
   69 	<LI>Fixed netmask comparison
   70 	<LI>Added anonymous CVS server info
   71 	<LI>Updates from David Hollenberg for misc. error checking/handling and overflow protection.
   72 	<LI>Added check for making sure cgiwrap is setuid and printing out a usable
   73 error message if not.
   74 	<LI>Now prints out path to access control files if one or both are missing.
   75 	<LI>Slight changes to aux groups code just in case setgroups() doesn't
   76 support a empty list.
   77 	<LI>Added some extra info to server userid error message.
   78 	<LI>Added some info to the FAQ.
   79 </UL>
   80 
   81 <P><H3>New in version 3.6.3:</H3><UL>
   82 	<LI>Added support for checking if user has a valid shell, similar to 
   83 what ftpd does. The BSD licensed getusershell.o has been included for support
   84 where needed.
   85 	<LI>Bug fix for SEGV condition when certain syntax is used for the request. 
   86 It did not appear exploitable, but would cause cgiwrap to core as root. Thanks
   87 to Michael Bryan (michael@blueneptune.com) for the fix.
   88 </UL>
   89 
   90 <P><H3>New in version 3.6.2:</H3><UL>
   91 	<LI>Fixed the !logfd check. Thanks to Alexander Wolgast for pointing
   92 this out.
   93 	<LI>Added support for reporting rusage/return code after executing
   94 script.
   95 	<LI>Changed logging to use close-on-exec flag of file descriptor, so
   96 it can be left open for reporting rusage if enabled.
   97 	<LI>Added support for reporting approximate elapsed execution 
   98 time of a cgi script.
   99 </UL>
  100 
  101 <P><H3>New in version 3.6.1:</H3><UL>
  102 	<LI>Fixed the UserInFile routine. It broke cause I forgot to remove
  103 newlines.
  104 </UL>
  105 
  106 <P><H3>New in version 3.6:</H3><UL>
  107 	<LI>Removed check for ./ in the path of the script. The check for 
  108 ../ is still there. There doesn't seem to be any need for this check as 
  109 it appears to be harmless. It is being removed to allow for users with 
  110 "./" in their home dir (for chrooting with wuftpd) to be able to use cgiwrap.
  111 	<LI>Added code to optionally prevent script execution if the 
  112 script is group or world writable. I cannot make the check for world 
  113 writable forced on, since on my site using AFS, the permission bits 
  114 aren't used, and some scripts might be marked as world writable. Can't 
  115 break user scripts without a major hassle.
  116 	<LI>Added code to optionally check if script file is a symbolic 
  117 link. Of course, the script dir itself could still be a symbolic link.
  118 	<LI>Changed to GNU autoconf for configuration
  119 	<LI>Makefile now supports 'install' target with --install-path is 
  120 specified with configure.
  121 	<LI>Support added for setting PATH and TZ environment variables
  122 before executing script
  123 	<LI>Support added for setting a bunch of different RLIMIT_ parameters
  124 before executing script, as well as allowing the administrator to set the
  125 limits with the --with-rlimit-*=value option to configure.
  126 	<LI>Error messages are now more verbose and output in HTML if possible.
  127 	<LI>Support for calling script using system() has been removed as it is
  128 not really needed for anything, and just slows things down.
  129 	<LI>Fixed malloc() error check in GetUserDir routines
  130 	<LI>Fixed race condition with permissions and opening of log file
  131 	<LI>initgroups() and setgroups() support now enabled by default
  132 	<LI>Eliminated buffer overrun in error message about chmod'ing 
  133 script. Thanks to Duncan Simpson (dps@io.stargate.co.uk)
  134 	<LI>Added --with-minimum-uid option
  135 	<LI>Fixed the subdirectory restrict option. (Thanks to Jeffery 
  136 Chow <j8g1@ugrad.cs.ubc.ca>) for pointing this out and for testing the fix.
  137 	<LI>Added CondenseSlashes routine to eliminate doubled and 
  138 trailing slashes
  139 	<LI>Added SafeMalloc routine to eliminate the need to check 
  140 malloc result throughout the code.
  141 	<LI>Changed tardist target to touch all files and directories
  142 so that a consistent time stamp is reached. This should eliminate spurious
  143 calls to autoheader when building cgiwrap.
  144 	<LI>Added in code to configure.in for the various information options
  145 such as local-site-url, local-contact-phone, etc.
  146 	<LI>Added fcntl.h include, needed by open(). Problem reported by 
  147 Seth Chaiklin <seth@psy.au.dk>. Also fixed quoting in the configure.in related
  148 to log file.
  149 	<LI>Finished splitting up logging functions and changes to use the 
  150 Context structure.
  151 	<LI>Minor changes to the makefile, including telling it to use
  152 the CFLAGS, and improving the tardist target.
  153 	<LI>Moved extra flag stuff for AFS into it's own section and only
  154 run it if needed for AFS support.
  155 	<LI>Not sure why, but 3.6 works with AIX 4, 3.5 did not.
  156 	<LI>Cleaned up Makefile, finished support for building in a 
  157 separate directory from the source, added a 'dep' target using depend.awk
  158 from mutt distribution.
  159 	<LI>Fixed problem with CHECKHOST/CHECKHOSTS typos.
  160 	<LI>Added support for using "*" with checkhost support to restrict
  161 ALL userids from being accessed from that host. (*@x.x.x.x/y.y.y.y)
  162 	<LI>Made 'no way to change uids' a compile time error with #error
  163 	<LI>Fixed bug with ALLOWFILE define in util.c.
  164 </UL>
  165 
  166 <P><H3>New in version 3.5:</H3><UL>
  167 	<LI>Fixed strerror checking in Configure script and util.c for systems 
  168 without strerror, can now use strerror, sys_errlist, perror, or just errno.
  169 	<LI>Major documentation overhaul, create all HTML based docs
  170 	<LI>Added option (defaulting to yes) to correctly set the 
  171 PATH_TRANSLATED environment variable.
  172 	<LI>Fixed bug with the configure script and the use_system 
  173 option. It would cause a preprocessor error if the system call was not 
  174 found.
  175 	<LI>Cleaned up various things with the Configure script
  176 	<LI>Changed file prompting to allow using ~ paths.
  177 
  178 </UL><P><H3>New in version 3.4:</H3><UL>
  179 	<LI>Fixed typo "&" instead of "&&" in setgroups stuff
  180 	<LI>Added cgiwrap.aliases option to rewrite home dirs of users.
  181 	<LI>Moved entire cgiwrap source build tree to CVS, will make 
  182 tracking changes easier.
  183 	<LI>CGIwrap now changes directories to the directory the script is located in before executing the script. Before, it always just changed
  184 to the main CGI directory. This behavior is only different if you
  185 were using scripts in subdirectories.
  186 	<LI>Changed style of cgiwrap.allow, cgiwrap.deny files to be the same as
  187 cron's allow/deny files.
  188 
  189 </UL><P><H3>New in version 3.3:</H3><UL>
  190 	<LI>Added support for attaching a label to syslog log messages.
  191 	<LI>Added code to rewrite the PATH_TRANSLATED environment variable.
  192 
  193 </UL><P><H3>New in version 3.24:</H3><UL>
  194 	<LI>Added support for logging to syslog.
  195 
  196 </UL><P><H3>New in version 3.23:</H3><UL>
  197 	<LI>Setgroups was being used no matter what you said in configure - fixed
  198 	<LI>Problem with undefined variables in Log call for subdirectories - fixed
  199 	<LI>Removed declaration of sys_errlist, and errno in util.c, since I don't 
  200 think they were necessary. And they were causing problems on some 
  201 architectures.
  202 	<LI>Added in user contributed host address checking code
  203 	<LI>Upgraded to using dist-3.0 PL60 for building the Configure script.
  204 	<LI>Separated initgroups() and setgroups() checks into two separate 
  205 defines, and improved documentation in configure script for these options.
  206 
  207 </UL><P><H3>New in version 3.22:</H3><UL>
  208 	<LI>argv[0] is now automatically changed to the name of the script that is
  209 being executed
  210 
  211 </UL><P><H3>New in version 3.21:</H3><UL>
  212 	<LI>Rlimit defines weren't set properly when rlimit not available - fixed
  213 	<LI>The optimizer/debugger flag wasn't being used in the makefile -- fixed
  214 	<LI>Defaults for checks (y/n) were not being set - fixed
  215    
  216 </UL><P><H3>New in version 3.2:</H3><UL>
  217 	<LI>MAJOR code cleanup and simplification. The code should be ALOT 
  218 easier to read and understand.
  219 	<LI>Fixed the problem in the Makefile on certain architectures with the 
  220 $(var) not being escaped properly. This should solve problems with Linux 
  221 machines and BSD machines that I know of.
  222 	<LI>Changes way PATH_INFO is modified, CGIwrap will now correct SCRIPT_NAME 
  223 for ?user=USER&script=SCRIPT type requests as well as /user/script type 
  224 requests.
  225 	<LI>Subdirectories are now supported for both types of requests
  226 	<LI>Debugging output has been condensed and is a little easier to read.
  227 	<LI>Documentation has been reworked, it should be a little easier to use.
  228 	<LI>Fixed prototypes for all the functions in the cgiwrap source.
  229 	<LI>Removed a few unnecessary routines
  230 	<LI>Changed "mystrcpy" to be "strdup", and is compiled only if the current 
  231 architecture does not have strdup available in it's standard library.
  232 
  233 </UL><P><H3>New in version 3.11:</H3><UL>
  234 	<LI>Fixed incorrectly indented # directives that were causing problems with
  235 some machines.
  236 
  237 </UL><P><H3>New in version 3.1:</H3><UL>
  238 	<LI>Added CONF_ALLOWFILE and CONF_DENYFILE options.
  239 	<LI>Added logging of REMOTE_USER and a status message to the log file
  240 	<LI>Added an unsupported directory for user contributed scripts and add-ons
  241 	<LI>Restructured logic for which 'set' method gets used.
  242 	<LI>Removed option to not check if gid changed, it was an oversight that 
  243 this was left in. There isn't any case I know of that you wouldn't want 
  244 to check this.
  245 	<LI>Moved id setting routines into util.c
  246 	<LI>Added new source file for allow/deny code.
  247 	<LI>Removed some error output that didn't make sense (system error 
  248 messages that were getting returned when I issued a regular cgiwrap error)
  249 	<LI>Added a 'remake' target to the makefile which does a clean, then a 
  250 Configure -S, then a make all to rebuild he entire binary. This is useful 
  251 if you have multiple config.sh files (eg. you're building for several 
  252 setups from the same dir)
  253 
  254 </UL><P><H3>New in version 3.0:</H3><UL>
  255 	<LI>Set up Configure scripts for CGIwrap
  256 	<LI>Renamed many of the config options to make more consistent
  257 	<LI>Rearranged directory structure of CGIwrap distribution
  258 	<LI>Removed "CONF_SANITIZE" option, it is always on now.
  259 	<LI>Removed "CONF_CHECK_UID" option, it is always on now.
  260 	<LI>Removed "CONF_FORCE_DEBUG" option, and "CONF_DEBUG_BY_NAME" option, 
  261 cgiwrap automatically does debugging output by name now.
  262 	<LI>Added info about setting up an access-controlled cgiwrap which allows
  263 users to control access to their scripts.
  264 	<LI>Renamed DEBUG to CONF_DEBUG to solve a compile problem with some systems
  265 wanting to add -DDEBUG to CFLAGS.
  266 
  267 </UL><P><H3>New in version 2.7:</H3><UL>
  268 	<LI>Added HTTPD_USER and CHECK_HTTPD_USER to verify that cgiwrap is being
  269 called by the server. This is for (access to scripts) security, it 
  270 doesn't affect system security any. 
  271 	<LI>Added AFS PAG support
  272 
  273 </UL><P><H3>New in version 2.6:</H3><UL>
  274 	<LI>Moved rlimit call into new subroutine SetLimits
  275 	<LI>Changed exec call to an execv and passed argv to support argument passing
  276 This will only work correctly for scripts called with no other 
  277 arguments... Eg, must use "cgiwrap/user/script?" syntax
  278 
  279 </UL><P><H3>New in version 2.5:</H3><UL>
  280 	<LI>Fixed problem with not correctly falling back from PATH_INFO
  281 	<LI>Added SETUID_SETEUID option for setting UID's 
  282 	<LI>Added checks to make sure effective ugid changed as well as real.
  283 
  284 </UL><P><H3>New in version 2.4:</H3><UL>
  285 	<LI>Fixed incorrect exec call, added null at end.
  286 
  287 </UL><P><H3>New in version 2.3:</H3><UL>
  288 	<LI>Fixed location of setgroups() call
  289 	<LI>Added INSTALL file and fixed PROMO that was old.
  290 
  291 </UL><P><H3>New in version 2.2:</H3><UL>
  292 	<LI>More debug outpt for environment variables
  293 	<LI>Option to check exec bit on script and error msg if not set
  294 
  295 </UL><P><H3>New in version 2.1:</H3><UL>
  296 	<LI>Fixed ~ bug						
  297 	<LI>Added PATH_INFO and SCRIPT_NAME rewrite code                
  298 	<LI>Added SETGROUPS option to config
  299 	<LI>Added RLIMIT option to config
  300 
  301 </UL><P><H3>New in version 2.0:</H3><UL>
  302 	<LI>Added support for PATH_INFO specification of user/script     
  303 	<LI>Added stderr redirection to stdout                           
  304 	<LI>Added option for doing debugging output by cmd name          
  305 	<LI>Added option to use exec or system calls                     
  306 
  307 </UL><P><H3>New in version 1.0:</H3><UL>
  308 	<LI>Everything! This is the first public distribution.
  309 </UL>
  310 
  311 
  312