Changes in Caudium 1.2.32 since 1.2.30
--------------------------------------
- Avoid to use too mutch inlining in leaf functions. This keep gcc 3.3.x 
  happy and avoid some problems that can occur ( see discussion about
  that : http://lists.freebsd.org/pipermail/freebsd-current/2003-July/007065.html).
   (Xavier Beaudouin)
- Caudium configure script now checks if pike version is > 7.0.268 and
  < 7.3.0 to avoid "bug" reports from users that want to use Caudium
  with pike 7.4
   (Xavier Beaudouin)
- Fixes usage of Pike_sp instead of sp. Thanks to Karl Pitrich that reports
  this bug.
   (Xavier Beaudouin)
- Imported a SSL pmod from Pike 7.2.340 since it works a little better
  than SSL in newer Pike 7.2. 
   (David Gourdelier)
- Modified userdb.pike to handle crypt_md5 style passwords provided that the 
  pike Crypto module is present.
   (James Tyson)
- Added support for chained SSL certificates. Chained certs should be provided
  as a comma separated list, with the host certificate last.
   (Bill Welliver)

Changes in Caudium 1.2.30 since 1.2.26
--------------------------------------
- Modified ultraparse.pike to include an explicit list of profiles to show.
   (James Tyson)
- Modified vhs_logger.pike to include $agent_unquoted log format.
   (James Tyson)
- Backported Caudium 1.3 global configuration option to force load of all 
  Caudium modules at startup by adding an optional define in performance.h.
  Start Caudium with -DLOAD_CONFIGS_STARTUP or add #define LOAD_CONFIGS_STARTUP
  performance.h or in config.h enable this functionality.
   (Xavier Beaudouin)
- Added Mailform module from Caudium 1.3 tree
   (Xavier Beaudouin)
- Added Bill Welliver's Mailit module from Caudium 1.3 tree
   (Xavier Beaudouin)
- Added ability to add a link to a stylesheet in Ultralog module.
   (James Tyson)
- Fixed a bug in htaccess module that make it ignoring .htaccess files.
   (Xavier Beaudouin)
- Added robot.txt generator from Roxen 2.x/3.x and updated it a bit.
   (Xavier Beaudouin)
- Removed ifdef ADT.Table on debuginformation.pike since it exist on pike 7.0+
   (Xavier Beaudouin)
- Added Robot Trap from Caudium 1.3 tree.
   (Xavier Beaudouin)
- MIME.Decode in base_server/wizard.pike is now inside a catch() to avoid
  break in case of partial / malformed base64 data given to the webserver.
   (Xavier Beaudouin)
- Added a catch() into MIME.Message used in multipart/form-data handler in
  http.pike and http2.pike to avoid locks into Caudium when malformed data
  comes into webserver.
   (Xavier Beaudouin)
- Avoid use -O2 on FreeBSD Alpha
   (Xavier Beaudouin)
- Created new version of uniscript that uses FastCGI to communicate with
  the script interpreter, hopefully providing better performance.
   (Bill Welliver)
- Updated uniscript to inherit CGI rather than copy it.
   (Xavier Beaudouin)
- Added a check in CGI module (and the all modules that inherits it) that
  ask for a mountpoint that ends with and '/' at the end to avoid potential
  security problems (eg list of files directories) (SF bug #713835).
   (Xavier Beaudouin)
- Fixes in responses given to FTP client in the ftp protocol. Mostly because
  Opera don't like it too mutch. (SF bug #560771)
    (Xavier Beaudouin)

Changes in Caudium 1.2.26 since 1.2.24
--------------------------------------
- Fix a bug in autoconf script that avoid autoconf to detect pike when 
  configure script is executed under FreeBSD ports.
- Fix a bug in autoconf that prevented Caudium to compile if $CPPFLAGS was set
  before configure time.
- Fix a bug in ssl3.pike where the redirect from http would always pick the
  admin port.
- make_tag_attributes() doesn't output any "/" that could be in the argument.
  That affects both make_tag() and make_container()
- Backported Highlight pike system from 1.3 that now support CSS
- Backported Open Files wizard from 1.3 tree to show more accurate information.
- Fix a bug with icons and virtual directories like /mail/ in gbutton module.

Changes in Caudium 1.2.24 since 1.2.22
--------------------------------------
- GSession module backported from Caudium 1.3 tree.
- AutoGzip module backported from Caudium 1.3 tree.
- Fix plugins path for rimage module.
- Fix submitted in caudium_general ml about corrupted Accessed db.
- Fix an error in disk_cache.pike on hash() call since it has changed a lot
  since pike 7.0. NOTE: if you upgrade from a caudium using pike 0.6 to 
  one using pike >= 7.0 please consider empty disk cache from proxy.pike.

Changes in Caudium 1.2.22 since 1.2.20
--------------------------------------
- Fix a typo in http2.pike
- Re-added perl support (sf bug #512601). Note that perl support works only
  with Perl 5.8.

Changes in Caudium 1.2.20 since 1.2.18
--------------------------------------
- Fix sf bug #652095 (lowercase boundary in CONTENT_TYPE)

Changes in Caudium 1.2.18 since 1.2.16
--------------------------------------

- Added Fast CGI module from Roxen 2. Now should work without any external
  C glue. Note this is early work.
- Fix for bug #601976
- Added Minor patch in php4 scripting. And docs about php.ini variables 
  option.
- Added RXML parse option in Uniscript, thanks to Wim Bonis <bonis at bonis.de>

Changes in Caudium 1.2.16 since 1.2.14
--------------------------------------

- Fix autoconf detection of Pike's version.
- Fix autoconf woes with moving from 2.1x version to new 2.53.

Changes in Caudium 1.2.14 since 1.2.8
-------------------------------------

- Added harrypotter, humanverify, pswik, setools and sqlformedit modules
  from Chris Davies that were on 1.3 tree.
- Updated tablify & wizard to be more w3c compliant from Caudium 1.3 sources.
- Added 404file module from Chris Davies (was present on the 1.3 branch)
- Fixed an obscure bug that locks caudium on FreeBSD when using the 404 
  redirector.
- Fixed typo in uniscript.pike (SF bug #604758)
- Fixed bad HTML code in initial setup screen
- Fixed comma placement defvar in superform.pike 
- Fix htaccess module for redirecttemp, redirecttemporary, redirectperm,
  redirectpermanent, authuserfile, authname, authgroupfile, redirect and
  errorfile.
- New module the format nicely the pike source code into HTML.
- Set "Lazy entity end" default to yes (XML-compliant RXML parser)
- Added ::login:: regexp (unixlike allowed regex for login / user) to
  superform
- Fixed bug in the Explicit Hostname Redirector module if used in a SSL
  virtual server, and if redirection is needed, the module was doing its
  rediretion to a non SSL server. (sf bug #602846)
- Fixed bug in the XML compliant RXML parser that caused to to backtrace on
  certain tags (like <H1 />).

Changes in Caudium 1.2.8 (Release 1, 2002-07-10) since Caudium 1.2.6
--------------------------------------------------------------------
- Added support in VHS LDAP to use the Caudium system log directory instead of
  the userdir one. 
- Added .htaccess manual link... Useful since ours is NSCA compatible...
- Added support in VHS Sql to use the Caudium system log directory instead of
  the userdir one. 
- index.php and index.php3 now added in all the directory modules.
- Added support for RFC 3236 (XHTML media type)
- Fix an error when PUT method is used...
- Variable HTTPS is set to "on" when SSL is used. (compatibility variable      
  used for CGIs...) 
- Updated the error message that occured when the user want to list the open 
  ports in the CIF and Caudium does not run as root.
- Changed the regexp in superform.pike for email, it is now more realistic
  than the previous one.
- Fixed in XSLTtag the problem with retrieving templates from the virtual
  filesystem.
- Added svg/svgz mime type handling.

Changes in Caudium 1.2.6 since Caudium 1.2.4
--------------------------------------------
- New define ENABLE_NEW404 / DISABLE_NEW404 to allow administrator to
  disable on the whole server the new 404 handler.
- perl scripting module and subsystem removed. Anyway the uniscript.pike
  can allow administrator to support perl scripting. SF bug #512601
- mnogosearch pike module removed since the pike glue doesn't work.
- Fix a problem when Caudium is not running as root : display a warning if 
  the user tries to run lsof in open ports action tab.
- The Generate a self signed certificate and a RSA key-pair was not delivering
  any warning to the user. Now it displays in red on the HTML output.
- Added a link to the caudium.info website from the CIF.
- 404 handler is not set per default on Old 404 system. To avoid 1.0 -> 1.2 
  compatiblity and keep the XML-Compliant parser quiet.
- Fixed #530674: passive mode FTP connection problem (with Mozilla  
  and derivative browsers).
- <if exists="file"> shouldn't use the cache. Thanks to Endre Hirling.
- The start script now changes the cwd to the directory it is started from. Prevents
  beginners from crying.
- Fixed bug #547546 - Backtrace when using http:// URL for SSL. Now Caudium
  redirect to the https:// url like it did before.
- Fixed bug #547354 - <aconf> URIs don't work
- Fixed bug #542177 that makes incorrect listings from directories2.pike.
- Fixed bug #514391 (user listing in userfs), seems that Caudium Cache.
- Fixed bug #533861 <wizard> was broken. Autodocs now added, new features like
  formname attribute to wizard conatiner, hidden "verify" container.
- Fixed name space conflict between Pike 7.2's SSL.pmod and Caudium's one.
  SSL.pmod has been renamed CaudiumSSL and it is used only when Pike 7.0
  is used with Caudium. Otherwise, Caudium use Pike 7.2+ builtin SSL.pmod
  for SSL3 connections.
- Fixed the Last-Modified code in http.pike and http2.pike. If the request is
  not marked as dynamic (!id->misc->is_dynamic), then the header will be sent 
  properly. 
- Added patch #534125 to ultralog that check the file exist before set 
  filewatch and a status of the module.
- Added patch #534118 that fix for TYPE_FILE and TYPE_DIR checks.
- Half fixed bug #533124. Needs more investigation.
- Fixed bug id #530674

Changes in Caudium 1.2.4 since Caudium 1.2.2
--------------------------------------------
- Added support for Darwin (MacOS X) dynamic loading and correct pic flag for it.
- business graphics module now creates the cache directory in the correct
  location (under the argument_cache_dir hierarchy)
- Font name can now be specified for the <diagram> tag and can use the CIF default
  font name.
- The compilation process may skip rpath from the compiler/linker command line
  if either building a Debian package or the NO_RPATH_PLEASE variable is found
  in the environment when running configure (and smartlink thereafter).
- Scopes compatibility is to On/Conditional. If there is problems about that
  (sf bugs #514651 & #512647) then change it to Off/Conditional. 
  Changes is due because there will more issues from users moving from
  Caudium 1.0 to 1.2 than Roxen 1.3 to Caudium 1.3...
- Fixed bug #515131 : gtext broke on weird URLs
- Corrected a bug in ftp protocol in pasv mode. Thanks to 
  Joe Radinger <cheese@nosuchhost.net>
- Fixed bugs #514651 & #512647 : Scopes compatibility break RXML
- Fixed bug #514653 : Unitialized variables get backtraces when try to
  expr them (same code : <formoutput><set variable=GT expr="#GT# + #Z#">
  </formoutput> was give backtrace if either GT or Z was not previously
  initialized).
- File index.rxml is now recognized as index file.
- Fixed bug #515405: New error handler doesn't HTML encode (see 
  http://www.cert.org/advisories/CA-2000-02.html), error pages was able to
  send abitrary code to browser using non existant pages (like for example :
  http://www.foo.server/<script>alert("CSS");</script>).

Changes in Caudium 1.2 since Caudium 1.0
----------------------------------------
- Added MODULE_EXPERIMENTAL to XML-Compliant RXML parser since it has sometimes
  some unespected way of working...
- Fix for bug #411982: the <set variable...> tag was reporting debug 
  status to the client even though the debug flag wasn't up.
- Corrected incorrect status computation of servers usage. Was counting only
  one virtual server.
- "caudiumctl" script added. Very useful for people who know apache well.
- Fix for bug #479167: The argument cache garbage collector was buggy.
- Fix for bug #446340: <list-tags> <dice> gives internal server error.
- Fix for bug #498377: the environment variable didn't show the complete url
  with the query.
- Corrected backtrace when invoquing internal images that don't exist on
  caudium-images/ directory.
- Restart and shutdown pages now follow the CIF theme.
- Fix for bug #450757: When calling parse_rxml() when using the XML compliant
  RXML parser, make sure to propagate and keep custom tags correctly.
- Added embedded Perl script / perl tag support from Roxen, originally
  ported to Caudium by Jan Legenhausen.
- Made the ftp protocol use supplied error code if it's present after a
  command fails. This leads to more helpful error messages than
  "file not found'.
- filesystem.pike improvements:
  - Removed the stat cache completely. It's not any major benefit
    unless you have a dog slow system / disk with lots of requests and
    even then it has questionable benefits. The gain of using it is
    also very small.
  - Organized options in sub-levels for easier overview.
  - Added default settings for umask as well as new file and directory
    modes.
  - Added an option to keep the permissions on files replacing by an
    upload.
  - Made the access method configuration finer grained. Now you can
    disable individual features like chmod and mkdir.
    COMPATIBILITY ALERT: Before the PUT method permission was used for
    the new features. This is no longer true and therefor server which
    allows PUT needs to enable the CHMOD, MKDIR and MV after
    upgrading!
- Removed htmlparse dependency from the Enhanced Directory Listings
  module since we have two parsing modules now.
- Quote the chars < > @ in http_encode_url and http_encode_string.
- added the excellent gbutton.pike module from Roxen 2.x
- Added processing instructions in the XML parser. This is tags using the
  syntax <?tagname contents ?>. Current existing processing instructions are
  <?pike ?> (Pike tag module), <?comment ?> (rxmltags), <?perl ?>
  (perl module).
- Wrote a tar filesystem module. This module allows you to mount an
  uncompressed tar file in the virtual filesystem.
- Added new http_error handler. The old 404 handler is still there, but
  disabled per default. This has now been modified to it's almost final
  state. Just waiting on InternalFiles to be finished.
- Correctly find libraries for various versions of Sablotron (0.50 and
  0.44 tested).
- Fixed some bugs in the Caudium c-module.
- Fixed newer 7.1 compaztibility problems (bye bye Simulate).
- Applied Chris Davies custom changes to the SQL User Database. These add a
  configurable timeout for cached user entries and an option to block sites
  with too many failed authentication attempts.
- Fixed some bugs in the XSLT Template module, added more configurable
  options. Also fixed the setting of the base uri.
- Some major optimizations related to http2 and cached responses. Also
  removed support for 'config in url' in the http2 protocol completely (ie
  /<...config...>/foo.bar).
- MSIE doesn't send the Pragma: no-cache header when you reload a
  page. This makes it really hard to reload certain things in Caudium,
  since that header is used to determine if the cache should or
  shouldn't be used. To solve this problem you can now use the
  prestate (nocache) to emulate this behavior. 
- Added new special token to the access log file name format. %H will
  be replaced with the hostname Caudium is running on. Useful if you
  use the same configuration file for multiple machines.
- New feature: access log files are now not opened until they are
  used. Also there is a configurable maximum idle time after which the
  log will be closed (can be disabled). Also made the "reopen timeout"
  somewhat random to avoid the "all log files reopen at the same time"
  misfeature.
- Fixed security bug which allowed people to ge the RXML source code
  of a page if a request was made to an RXML file while Caudium was
  loading.
- Fixed error message when a modules was not found (accidently broken).
- Wrote a new non-blocking data sender that is somewhat more efficient
  and much less buggy than Pipe.pipe. Also uses a moving window when
  mmapping large files, thus overcoming the major problem with
  Pipe.pipe for high traffic, large file sites.
- Fixed <use> cache lookup (use the full path as the key, not the unresolved
  path).
- Removed the bug-causing directory override feature. If you need to list
  directories, don't put an index.html in it.
- Fixed handling of precache modules in ip-less virtual servers.
- Added timeout logic to http protocols (from Caudium 1.0).
- Removed network neighbourhood code.
- Use Caudium.nbio to send POST data to CGI scripts. It makes for
  example uploads of large files (<input type=file>) __MUCH__
  faster (data transfer of a 25 MB file went from about a minute to a
  few seconds - pure Caudium CPU usage savings).
- Added module for embedded JavaScript support. The new variable
  scopes are usable directly from JavaScript using the scope.name
  syntax; i.e "form.name", "vars['test']" (the "var" scope is named
  "vars" to avoid a name conflict). Note that "vars.name.first" won't
  work. You need to use "vars['name.first']" instead. This is a big
  one: To utilize this module, you need a patched version of the NJS
  JavaScript interpreter. Send a mail to david@caudium.net if you want
  to beta-test this!
- Greatly improved the redirect module. Improvements include:
  + Patterns are matched in the order entered instead of random
    order.
  + Greater control of the type of matching done using keywords.
  + Added glob match method.
  + Compilation of regular expression is cached, which should greatly
    improve matching speed when there are many regexp patterns.
  + Ability to match on host names, headers and cookies using the new modifier
    keywords (see module docs).
  + Ability to insert the query string of the original request in the
    destination. Can be useful in combination with %p or %f.
- Fixed a couple of problem related to ssl3.
- Added delayed loading of modules in virtual servers. 
- Fixed broken caching of directory expansion. Could significantly speed
  up startup time if the list of module directories is large and/or
  if module directories contains lots of files and sub-directories. 
- Use Colors and Graphics.Graph modules to remove duplicated code.
- Fixed more compatibility problems with newer (7.2 and 7.3) Pike.
- Removed various old compat code (for Pike < 7.0). Still more to go however.
- Fix to allow / in the name of modules and variables (bug #423435).
- Always simplify path in low_get_file. This is added to prevent the
  possibility of a bugs allowing access to files outside of the
  configured web page directories. Please note that there are no known
  such bugs in Caudium.
- CAMAS is now on a sperate CVS tree and removed from main Caudium tree.
- Little fixes with installation OpenBSD
