This is the README file for installing the following patch: PatchID# 108732-04 for Java Web Server(tm) 2.0 (Solaris Global and 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 go 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 Additional 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 doc.en.docindex.html 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 Additional 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 compressed patch file is approximately 248 KBytes. To install it, you require an additional 3 MBytes of hard drive space (for the creation of working and backup files). 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: /opt/SUNWjws/JavaWebServer2.0 (Solaris 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 Solaris (Global or Domestic version), select jwsr-2_0-108732-04-solsparc.tar.Z Installing the patch ======================= Follow these instructions for installing the patch on Solaris: 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) Copy the patch file to the Java Web Server root directory. For example, type: % cp jwsr-2_0-108732-04-solsparc.tar.Z /opt/JavaWebServer2.0/ 3) Change to the JavaWebServer2.0 directory. 4) Uncompress the patch file in the Java Web Server root directory. For example, type: % uncompress jwsr-2_0-108732-04-solsparc.tar.Z Uncompressing the file will remove the .Z extension. 5) Untar the file. For example, type: % tar -xvfp jwsr-2_0-108732-04-solsparc.tar This creates a JavaWebServer2.0-patch4 subdirectory containing the patch files. 6) Change to the JavaWebServer2.0-patch4 directory. 7) Run the patchjws shell script. From within the JavaWebServer2.0-patch4 directory, type: % ./patchjws.sh As the patch script executes, it displays its progress: Checking product version... Product: Java Web Server Version: 2.0 The Java Web Server must be shut down before the patch can be applied. Have you shut down the Java Web Server? y Please wait while the patch is being applied... Updating / Updating / 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 upgrade. 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 the patch file and the patch directory then 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 prints 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 displays an error message and immediately attempts to back out all changes made to that point. For example: The system cannot find the file specified. ERROR: unable to update ...README Make sure that the permissions associated with the file in question are set so that the user running the upgrade 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 does exist, check the permissions. If necessary, use the "chmod" command to modify permissions for 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-108732-04-solsparc.tar.Z (Solaris Global or Domestic) If you still have the patch directory, stop the Java Web Server then skip to step 7) below. If you have only the self-extracting patch file, then skip to step 2) below. 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-108732-04-solsparc.tar.Z (Solaris 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) Copy the patch file to the Java Web Server root directory. For example, type: % cp jwsr-2_0-108732-04-solsparc.tar.Z /opt/JavaWebServer2.0/ 4) Change to the Java Web Server root directory. 5) Uncompress the patch file in the Java Web Server root directory. For example, type: % uncompress jwsr-2_0-108732-04-solsparc.tar.Z Uncompressing the file will remove the .Z extension. 6) Untar the file. For example, type: % tar -xvfp jwsr-2_0-108732-04-solsparc.tar This creates a JavaWebServer2.0-patch4 subdirectory containing the patch files. 7) Change to the JavaWebServer2.0-patch4 directory. 8) Run the patchjws shell script using the restore option. To do so, type: % ./patchjws.sh -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 Server 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 SOLARIS PATCH Copyright © 1998-2000 Sun Microsystems, Inc. ---------------------------------------------------------------------