This is the README file for installing the following patch: PatchID# 108733-04 for Java Web Server(tm) 2.0 (Windows NT Global or Domestic) last updated: 21 December 2000 ============================== Files included in this patch Bugs fixed in this patch Requirements Information about existing settings Downloading the patch Installing the patch If you have installation problems Uninstalling the patch Where to do from here Important information on securing Java Web Sever for deployment Files included in this patch ============================ From Patch 01 Created: com.sun.server.http.JWSPatchVersion com.sun.server.http.pagecompile.jsp.compiler.ContentTypeParseEventListener com.sun.server.http.pagecompile.jsp.compiler.ContentTypeParseEventListener$ContentTypeHandler com.sun.server.http.pagecompile.jsp.compiler.ContentTypeParseEventListener$PageDirectiveHandler com.sun.server.http.pagecompile.jsp.compiler.ContentTypeParseEventListener$PageDirectiveHandlerInfo com.sun.server.http.pagecompile.jsp.compiler.Parser$PageDirective Updated: com.sun.server.http.HttpByteRangeRequest com.sun.server.http.HttpRequestWrapper com.sun.server.http.HttpServiceRequest com.sun.server.http.HttpServiceRequest$AttributeDictionary com.sun.server.http.JSVersion com.sun.server.http.pagecompile.ExecJavac com.sun.server.http.pagecompile.ExecJavac$InputReader com.sun.server.http.pagecompile.GenericPageCompileServlet com.sun.server.http.pagecompile.InternalCompiler com.sun.server.http.pagecompile.JavaSourceCompiler com.sun.server.http.pagecompile.PageCompilePaths com.sun.server.http.pagecompile.jhtml.filecache.FileCache com.sun.server.http.pagecompile.jsp.Constants com.sun.server.http.pagecompile.jsp.compiler.BaseJspListener com.sun.server.http.pagecompile.jsp.compiler.BeanGenerator com.sun.server.http.pagecompile.jsp.compiler.EscapeUnicodeWriter com.sun.server.http.pagecompile.jsp.compiler.GetPropertyGenerator com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$AutoFlushHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$BufferHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$ContentTypeHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$ErrorPageHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$ExtendsHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$GeneratorWrapper com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$ImportsHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$InfoHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$IsErrorPageHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$IsThreadSafeHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$LanguageHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$PageDirectiveHandler com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$PageDirectiveHandlerInfo com.sun.server.http.pagecompile.jsp.compiler.Jsp1_0ParseEventListener$SessionHandler com.sun.server.http.pagecompile.jsp.compiler.JspReader com.sun.server.http.pagecompile.jsp.compiler.JspReader$IncludeState com.sun.server.http.pagecompile.jsp.compiler.Main. com.sun.server.http.pagecompile.jsp.compiler.Main$ClassFileData com.sun.server.http.pagecompile.jsp.compiler.ParseEventListener com.sun.server.http.pagecompile.jsp.compiler.Parser com.sun.server.http.pagecompile.jsp.compiler.Parser$Bean com.sun.server.http.pagecompile.jsp.compiler.Parser$Comment com.sun.server.http.pagecompile.jsp.compiler.Parser$Declaration com.sun.server.http.pagecompile.jsp.compiler.Parser$Directive com.sun.server.http.pagecompile.jsp.compiler.Parser$Expression com.sun.server.http.pagecompile.jsp.compiler.Parser$Forward com.sun.server.http.pagecompile.jsp.compiler.Parser$GetProperty com.sun.server.http.pagecompile.jsp.compiler.Parser$Include com.sun.server.http.pagecompile.jsp.compiler.Parser$Plugin com.sun.server.http.pagecompile.jsp.compiler.Parser$QuoteEscape com.sun.server.http.pagecompile.jsp.compiler.Parser$Scriptlet com.sun.server.http.pagecompile.jsp.compiler.Parser$SetProperty com.sun.server.http.pagecompile.jsp.compiler.ServletWriter com.sun.server.http.pagecompile.jsp.resources.messages.properties com.sun.server.http.pagecompile.jsp.runtime.JspPageProcessor com.sun.server.http.pagecompile.jsp.runtime.JspServlet com.sun.server.http.pagecompile.jsp.runtime.ErrorPageInfo com.sun.server.http.pagecompile.jsp.runtime.NoBodyResponse com.sun.server.http.pagecompile.jsp.runtime.NoBodyOutputStream com.sun.server.http.servlet.CgiServlet com.sun.server.http.servlet.FileServlet com.sun.server.http.ssi.SSIncludeServlet com.sun.server.http.ssi.SSIncludeServletRun doc.en.dynamic.jspages.jsp_interface.html Additional in Patch 02 Updated: com.sun.server.http.HttpAcceptBase com.sun.server.http.HttpServiceHandler com.sun.server.http.JSVersion com.sun.server.http.JWSPatchVersion com.sun.server.http.servlet.CgiPath com.sun.server.http.servlet.CgiServlet com.sun.server.servlet.util.HttpDate com.sun.server.session.SessionInformation$1 com.sun.server.session.SessionInformation$2 com.sun.server.session.SessionInformation$InvalidationThread com.sun.server.session.SessionInformation$SwapThread com.sun.server.session.SessionInformation Additional in Patch 03 Updated: com.sun.server.http.JWSPatchVersion com.sun.server.http.admin.CommandLine com.sun.server.http.admin.AddService com.sun.server.admin.toolkit.ServletApplet com.sun.server.admin.toolkit.ServletClient com.sun.server.admin.toolkit.SectionsPanel properties.server.javawebserver.adminservice.servlets.properties properties.server.adminserver.adminservice.servlets.properties properties.service_defaults.adminservice.servlets.properties properties.server.javawebserver.adminservice.rules.properties properties.server.adminserver.adminservice.rules.properties properties.service_defaults.adminservice.rules.properties Additonal in Patch 04 Updated: com.sun.server.http.JWSPatchVersion com.sun.server.http.pagecompile.jsp.compiler.PluginGenerator com.sun.server.servlet.http.SessionContextImpl$1 com.sun.server.servlet.http.SessionContextImpl com.sun.server.session.SessionInformation$1 com.sun.server.session.SessionInformation$2 com.sun.server.session.SessionInformation$InvalidationThread com.sun.server.session.SessionInformation$SwapThread com.sun.server.session.SessionInformation Bugs fixed in this patch ======================== From Patch 01 4254962 - Pagecompile Servlet throwing an ArrayIndexOutOfBounds Exception. 4257655 - JSP does not recognize non-default character encoding. See Note. 4272037 - SSI servlet can't execute properly when there are two servlet tags in the same file. 4273061 - Improper HTTP byte support (If-Range handling) affecting resumable download. 4281054 - CGI gets HTTP header inserted at 4096 bytes into output 4302069 - jsp:getProperty action generates unnecessary newline in output. 4302086 - Some JSP error messages show {0} instead of useful information. 4303564 - session.cookie.secure does not always work correctly. 4311280 - jspInit() method gets called on EVERY request. Note: The fix for 4257655 "JSP does not recognize non-default character encoding." requires a Java source code compiler that supports the "-encoding" option. The most frequently used Java source code compilers (including the SUN production JDK and the JavaSoft reference JDK) do support this compiler option. If, however, your Java source code compiler does not support the "-encoding" option, there is a workaround. It is documented in the Frequently Asked Questions (FAQ) on the Java Web Server site. You will find the FAQ at: http://www.sun.com/software/jwebserver/faq/index.html Additional in Patch 02 4312952 - JWS does not call cgi-program if URL ends with a '/' 4316596 - Empty Accept-Encoding field generates 406 Not Acceptable 4330618 - If-Modified-Since is not handled correctly after 29 Feb 2000 4336496 - Session id is encoded twice into URL Additional in Patch 03 4361860 - Admin service relies on the existence of the invoker servlet to run Additonal in Patch 04 4296921 - jsp:plugin does not generate tag with NAME attribute 4338902 - Bad web pointer in documentation index 4386914 - Session ID not random Requirements ============= Valid Versions for Java Web Server 2.0 Patches This patch can be applied only to a registered copy of Java Web Server 2.0. It cannot be applied to a trial version of the product because it will cause the trial version to expire immediately. If you are using Java Web Server 1.1, 1.1.1, 1.1.2, or 1.1.3, you must upgrade to Java Web Server 2.0 prior to applying this patch. For information on the 1.1.1, 1.1.2, and 1.1.3 upgrades, see: 1) The Frequently Asked Questions (FAQ) document http://www.sun.com/software/jwebserver/faq/faq.html 2) The Java Web Server upgrade page http://www.sun.com/software/jwebserver/upgrade/index.html Valid Patch Levels Java Web Server 2.0 Patch 04 is a "cumulative patch". That is, it contains and applies the files for Patch 01, 02 and 03 as well as the additional files unique to Patch 04. As a result, you can apply Patch 04 to your Java Web Server 2.0 installation without regard to whether or not previous patches were installed. Space Requirements The size of the self-extracting file is approximately 328 KBytes. To install it, you require an additional 4 MBytes of hard drive space (for the creation of working and backup files). Special Note for Windows 95 Users: Windows 95 is supported as a development and demonstration platform only. It is not supported as a server deployment platform. Microsoft does not recommend the use of Windows 95 as a server platform. Information about existing settings ==================================== Installation Directory refers to the directory path containing the installed Java Web Server product. By default, the reflects the name of the original full-product installation and is unaffected by the installation of patches. For example: C:\JavaWebServer2.0 (Windows example) Ports Installation of the Java Web Server 2.0 Patch 04 does not change existing port settings for any service (web service or secure service) nor for the Java Web Server's Administration tool. Existing Customizations Existing customizations of the installed Java Web Server (such as custom realms, custom logs, or property files) are unaffected by the patch. Downloading the patch ===================== In your browser, load http://www.sun.com/software/jwebserver/upgrade/index.html For the Windows NT (Global or Domestic), select jwsr-2_0-108733-04-win.exe Installing the patch ==================== Follow these instructions for installing the patch on Windows NT or 95: 1) Stop the currently installed Java Web Server if it is running. To stop the server, click Shutdown in the Java Web Server Administration tool. 2) Open a Command Prompt or MS-DOS window. From the Windows Start menu, select Programs and then Command Prompt (Windows NT) or MS-DOS command (Windows 95). 3) Copy the self-extracting patch file to the Java Web Server root directory. For example: C:\>copy jwsr-2_0-108733-04-win.exe C:\JavaWebServer2.0\ 4) Change to the Java Web Server root directory. 5) Type the name of the self-extracting patch file. This creates a JavaWebServer2.0-patch4 subdirectory containing the extracted files. 6) Change to the JavaWebServer2.0-patch4 directory. For example, at a command prompt, type: C:\JavaWebServer2.0>cd JavaWebServer2.0-patch4 7) Run the patchjws batch file. From within the JavaWebServer2.0-patch4 directory, type: patchjws.bat As the patch runs, it displays its progress: Checking product version... Product: Java Web Server Version: 2.0 The Java Web Server must be shut down before this patch can be applied. If you have not shut down the Java Web Server, then press CTRL+C and Y to stop this script. Press any key to continue... 8) Files are renamed. Files being patched are automatically renamed in their existing locations to .pre20patch4 where is their original file name prior to the patch. For example: jst.jar would become: jst.jar.pre20patch4 9) After installation, either the downloaded patch file or the temporary JavaWebServer2.0-patch4 directory can be removed. Note: If you remove both and later wish to restore your Java Web Server to its pre-patch state, you will need to download the 2.0 patch file again to access the patch utility. 10) Restart any web browser that is running the Java Web Server Administration Tool. This patch modifies the administration applet and makes changes to the administration server such that it will only work with the new applet. You can verify that you are running the patch4 version of the applet by clicking the About button on the login screen. It should state Patch 108732_4 (Solaris) or Patch 108733_4 (Windows). If you have problems ====================== The patchjws utility will print status messages to the screen indicating its progress and reporting any problem it encounters. If the utility runs into any problems (such as missing or protected files), it will display an error message and immediately attempt to back out all changes up to that point. For example: The system cannot find the file specified. ERROR: unable to patch ..\README Make sure that the permissions associated with the file in question are set so that the user running the patch has permission to overwrite the file. Attempting to back out Java Web Server 2.0 patch 4. If this happens, allow the utility to complete backing out any changes. When it is done, you must remedy the problem that caused it to back out: a. Check that the file it attempted to patch exists. b. If it exists, use the "attrib" command to determine (and modify, if necessary) the attributes of the file. Once the problem has been corrected, rerun the patchjws utility. Uninstalling the patch ====================== To uninstall the patch you need either: the JavaWebServer2.0-patch4 directory and its contents OR the self-extracting patch file, jwsr-2_0-108733-04-win.exe (Windows Global or Domestic) If you still have the patch directory, stop the Java Web Server then skip to step 5) below. If you have only the self-extracting patch file, skip to step 4). If you have neither the patch directory nor the compressed patch file, complete all the steps below. 1) Download the self-extracting patch file from the Sun Microsystems website at: http://www.sun.com/software/jwebserver/upgrade/index.html The filename will be jwsr-2_0-108733-04-win.exe (Windows Global or Domestic) 2) Stop the currently installed Java Web Server if it is running. To stop the server, click Shutdown in the Java Web Server Administration tool. 3) Open a Command Prompt or MS-DOS window. From the Windows Start menu, select Programs and then Command Prompt (Windows NT) or MS-DOS command (Windows 95). 4) Copy the self-extracting patch file to the Java Web Server root directory. For example, at a command prompt, type: C:\>copy jwsr-2_0-108733-04-win.exe C:\JavaWebServer2.0 5) Change to the JavaWebServer2.0 directory. For example: C:\>cd C:\JavaWebServer2.0 6) At a command prompt, type the name of the self-extracting patch file. This creates a subdirectory called JavaWebServer2.0-patch4, containing the extracted files. 7) Change to the JavaWebServer2.0-patch4 directory. For example, at a command prompt, type: C:\JavaWebServer2.0>cd JavaWebServer2.0-patch4 8) Run the patchjws batch file using the restore option. To do so, type: patchjws.bat -restore Where to go from here ====================== If you have not done so already, be sure to read the Java Web Server 2.0 Release Notes and README file. Important information on securing Java Web Sever for deployment =============================================================== JWS by default installs as a development environment, and should not be deployed for public access in this configuration. Please read the section 'How to secure a web site that uses the Java Web Server' under the 'Security Administration' chapter in the JWS 2.0 documentation. In addition see CERT Advisory CA-2000-02 on the JWS public web page: http://sunwww.central/software/jwebserver/faq/jwsca-2000-02.html Contacting the Java Web Server product team ============================================ E-mail can be sent to the following address: java-server-feedback@java.sun.com END OF README FOR WINDOWS PATCH Copyright © 1998-2000 Sun Microsystems, Inc. ---------------------------------------------------------------------