# Updating? Beware!

> When updating from previously installed versions this document points out obvious "gotchas" or other known implications. Of course it is often difficult to anticipate all potential interactions with localized installations.

> When using WASD's SSL functionality TWO consecutive updates are necessary! The first is the update of the basic package (

> `@UPDATE`), followed by an update of the SSL components (`@UPDATE SSL`). Consult the Technical Overview.

> The procedure UPDATEAFTER.COM attempts to clean up any files known to exist in previous versions and that are no longer required. Execute it after an update.

> Be sure to read about significant changes (although this is not exhaustive), and the revised Technical Overview and to a lesser extent the Environment Overview.

7.0 to 7.1

- Changes to the CGI environment can make scripting buffer space marginal. Scripts may report "Mailbox is full ... SYS$COMMAND" or "Mailbox is full ... CGIPLUSIN". Increase [BufferSizeDclCommand] and [BufferSizeDclCgiPlusIn] appropriately.

- Versions of the server prior to 4.3 supplied the full request (header then body) to the script. This was not fully CGI-compliant. Versions 4.3 and following supply only the body. Versions 4.4-7.0 provided a [DclFullRequest] configuration directive which allowed backward compatibility behaviour. This has been removed. Backward compatibility may still be enabled by defining the system-wide logical HTTPD_DCL_FULL_REQUEST. The obsolete [DclFullrequest] directive may be removed from configuration files.

6.n to 7.0

- .HTA and .HTL authentication databases require renaming to .$HTA and .$HTL. This has become necessary as Microsoft begin to use the file type .HTA for one of it's client-based processing technologies and the WASD server flatly refuses to serve files with an .HTA type (for the obvious reason that you don't want to be exporting your authentication database to any one requesting it!)

- The v7.0 HTTPd will not use the v6.1 message file. The entirely new [http] section provides descriptions of common HTTP responses (and used when generating error and success response pages). The [status] section has undergone minor revision with the 6.1 messages 03 and 15 being removed, with a new 14 being the new response format and 15 a revised "additional information"

- The server is now more careful when using BYTLM for scripting subprocesses. It may be necessary to increase the server account's quota to allow the same number of scripts to be concurrently in use.

- Command-line control directives (i.e. HTTPD/DO=) can now report process information of the originator. To enable this facility existing installations will need to add WORLD privilege to the INSTALL ADD in STARTUP.COM.

- Previous versions allowed a proxy service certificate to be specified following the service name using something like ";HT_ROOT:[LOCAL]MYCERT.PEM". This must now be prefixed with cert= as follows ";cert=HT_ROOT:[LOCAL]MYCERT.PEM".

- The [LogPerService] directive now generates longer log file names.

6.0 to 6.1

- The v6.1 HTTPd will not use the v6.0 message file. Messages 10, 11, 12 and 13 have been added to the [auth] section, and the [version] of the file is now 6.1. Please update localized files with reference to HT_ROOT:[EXAMPLE]HTTPD$MSG.CONF.

- The authorization environment underwent some considerable revision for agent support. Please check your authorization environment carefully to ensure nothing has been overlooked.

- The /PROFILE qualifier and associated behaviours have been bug-fixed and modified slightly. If in use please check your authorization environment carefully.

- DCL scripting now requires greater BYTLM quota. If a site supports many concurrent DCL scripting subprocesses please review the server account's BYTLM quota and increase by approximately 25% if necessary.

- Proxy caching now requires an HTTPD$CONFIG directive to be enabled, regardless of what is configured against an service(s). Please add "[ProxyCache] enabled" to this file if using proxy caching.

- A new HT_ROOT:[EXAMPLE]STARTUP.COM is available reflecting the demise of NETLIB support. Sites previously using NETLIB versions of the server should check the new startup environment.

5.n to 6.0

- The v6.0 HTTPd will not use the v5.n message file. A new file has been necessary to support the proxy serving messages. One new section, "[proxy]", one additional "[status]" message (number 17), and one additional "[script]" message (number 9) are included. Please update localized files with reference to HT_ROOT:[EXAMPLE]HTTPD$MSG.CONF.

- When implementing proxy services it may be necessary to update "[status]" message 16 to include the local host name into each of the error code informational links.

- Changes in support of SSL and in the example server and CA certificates may mean certificates loaded into browsers need to be deleted, and/or browsers shutdown and restarted before correct behaviour occurs. Typical is Netscape reporting I/O errors when communicating via "https:".

- Authorization and authentication has changed significantly. This is all designed to be backwardly compatible (possibly with some HTTPd startup qualifier change, /SYSUAF=ID to /SYSUAF=WASD_ID) ... hopefully. Please check carefully!

- The HTTPD$CONFIG [Service] directive behaviour has changed slightly. If a fully qualified host name is provided that becomes the service name, regardless! This allows an alias to be used as the server's official name. An absent or unqualified host name adopts the host's interface name.

- Administration menu paths have some changes. Bookmarks may have been invalidated.

- If using the MadGoat NETLIB package it is necessary to have at least NETLIB022 installed. NETLIB021 has a problem processing socket shutdown ASTs.

5.2 to 5.3

- Variable-length to stream-LF file conversion requiring [StreamLFpaths] configuration in v5.2 is now superceded by the mapping SET rule. There is no backward compatibility.

- The STARTUP.COM procedure has been changed to support the new STARTUP_SERVER.COM procedure. It provides backward compatibility, executing [HTTP$SERVER]HTTPD_BATCH.COM and as a result HTTPD80.COM if the v5.3 procedure(s) are not present. There are advantages in moving to the new environment.

- The rule mapping check facility has been superceded by the WATCH facility.

5.1 to 5.2

- Variable-length to stream-LF file conversion now requires specific paths to be enabled using the [StreamLFpaths] directive. Any site using this functionality MUST provide paths.

- Users unused to being challenged after the initial entering of authentication information may become annoyed at the requirement to reenter it after an idle period. This may be disabled by setting [AuthRevailidateUserMinutes] to zero but this is discouraged due to the additional security such a mechanism provides.

5.0 to 5.1

- The package's build support and distribution format has undergone a significant overhaul. Executables are no longer provided! All installations and updates will require a link prior to any other activity.

- The v5.1 HTTPd will not use the v5.0 message file. [SSI] section messages 18, 19 and 20 were needed to support the new SSI functionality. Add these from the HT_ROOT:[EXAMPLE]HTTPD$MSG.CONF example message file. Sorry for any inconvenience.

- Some changes in the appearance of script output may be initially disconcerting. In short time however the advantages of the consistent look-and-feel and customizable colour schemes will become obvious (I hope ;^)

- The Conan and HyperShelf scripts were extensively reworked to disengage them from dependencies on the WASD HTTPd. They should now be vanilla CGI scripts (if such a thing, other than a "hello world", exists). Hopefully this does not break any installations out there.

4.n to 5.0

- There is one changed configuration directive, [DirDescription], a boolean has been modified to be an integer, [DirDescriptionLines], the number of lines an HTML file is searched for a directory description. Backward compatibility is maintained.

- There is a new HTTPd qualifier, /SSL=, and a new configuration logical name, HTTP$SSL_CERT to support the optional SSL functionality. If this is not in use then they are of no consequence.

- The example startup file has been extensively modified to (hopefully) ease startup configuration and to support the optional SSL functionality. You might like to check these out in the HT_ROOT:[EXAMPLE] directory.

- The v5.0 HTTPd will not use the v4.4 message file. Please copy the HT_ROOT:[EXAMPLE]HTTPD$MSG.CONF to where-ever this is located for your local site. If you have customized it then you will need to carefully compare the two and migrate one into the other somehow. The `[dir]`, `[general]`, `[ssi]`, and `[upd]` sections have changed. Sorry for any inconvenience.

- For sites using DTSS the HTTPD$GMT logical is no longer required. WASD will calculate the GMT offset using the SYS$TIMEZONE_DIFFERENTIAL logical (and thus automatically detect changes involving daylight saving).

4.4 to 4.5

- Checking against HT_ROOT:[EXAMPLE]HTTPD$MAP.CONF, change your v4.4 HTTPD$MAP to provide revised mappings for "`/echo*`", "`/tree*`" and "`/xray*`"

- Additional configuration parameters can be supplied to control cache behaviour, logging and scripting environments.

- The caching module has only been extensively exercised during testing. WASD intranet sites are not busy sites, so the cache is essentially untried with a real-world load and data profile! Should it be suspected of giving problems disable it immediately and contact the author.

- Message file version number 4.4 is compatible with v4.4 and v4.5 servers!

- Muhammad Muquit's WWW Counter has been unbundled from v4.5, but is obtainable as a separate WASD-ready package.

4.n to 4.4

- Due to changes in connection request processing some NETLIB supporting TCP/IP packages can no longer provide DNS lookup (it now occurs at AST level, see the NETLIB documentation).

- This version has a separate, configurable message database capable of supporting multiple, concurrent languages. A logical name, HTTPD$MSG, needs to be provided to locate it for the server. A default file may be copied from HT_ROOT:[EXAMPLE]HTTPD$MSG.CONF to wherever the site places configuration files.

- The configuration directives "ErrorInfo", "ErrorSysAdmin" and "AuthVMS" have been retired, and the following introduced, "DirDescription", "DirNoPrivIgnore", "ErrorSourceInfo", "LogFormat" and "Service".

- SYSUAF-authentication (previously "AuthVMS") is now controlled using the server qualifier /SYSUAF. The qualifiers /PROFILE and /SERVICE have been introduced.

- Minor changes to configuration (including mapping for the echo and Xray facilities) and startup files can be checked in the HT_ROOT:[EXAMPLE] directory.

3.n to 4.n

- There are some significant changes in configuration file format and server startup (as well as functional and performance improvements for that price :^)

- If at all possible, restoring the new version 4 tree, reviewing the new configuration and mapping files, etc., adjusting startups, and then migrating any local applications into it, might be the cleanest approach.