To guarantee the integrity of the fixes included in this patch, you should only install this software when received from an authorized NeXT representative. Your existing NeXT Software License Agreement governs the use of this software update.
INSTALLING THE NEXTSTEP RELEASE 3.3 PATCH UPDATE
This document describes how to install the NEXTSTEP Release 3.3 Patch Update and describes the fixes contained in the update. This update is to be installed only on computers running NEXTSTEP Release 3.3.
The NEXTSTEP Release 3.3 Patch Update consists of two User Patch packages:
3.3Intel68kPatch.pkg Contains updated system software for Intel PCs or NeXT computers running NEXTSTEP Release 3.3.
3.3HPPASPARCPatch.pkg Contains updated system software for Sun or HP workstations running NEXTSTEP Release 3.3.
and one Developer Patch package:
3.3DeveloperPatch.pkg Contains updated developer tools for all types of computers running NEXTSTEP Developer Release 3.3.
In addition, the NEXTSTEP Release 3.3 Patch Update Floppy contains:
3.3PatchRelNotesAddendum.rtfd This document.
Read-Me-First.rtfd A pointer to the installation instructions in this document.
3.3Patch.ImprovedDNS.post_install An installation script.
3.3Patch.LibrariesOK.post_install Another installation script.
Note the following points before you install the Patch Update packages:
Install just one package at a time. Install the User Patch package first; afterwards, install the Developer Patch package (if you're running NEXTSTEP Developer Release 3.3).
If you plan to use Emacs, be sure you've already installed the contents of the Emacs.pkg (contained on the NEXTSTEP Release 3.3 CD-ROM) before installing the User Patch package.
When installing the Release 3.3 Patch Update packages, select the same architectures and languages as you did when originally installing the NEXTSTEP Release 3.3 and NEXTSTEP Developer Release 3.3 software.
After installing the Release 3.3 Patch Update packages, you must run one of the provided installation scripts. See the next section to decide which script you need to run.
Deciding which Installation Script to run
There are two installation scripts (3.3Patch.ImprovedDNS.post_install and 3.3Patch.LibrariesOK.post_install) included with the NEXTSTEP Release 3.3 Patch Update. You need to run one of these scripts after installing the 3.3Intel68kPatch.pkg or 3.3HPPASPARCPatch.pkg Patch Update packages.
If you run any POSIX-based application on your system, or if you run any statically linked programs that uses the gethostbyname() or gethostbyaddr() system calls, you should run 3.3Patch.LibrariesOK.post_install.
If neither of the above circumstances apply to your system, then you should run 3.3Patch.ImprovedDNS.post_install.
Given the choice, 3.3Patch.ImprovedDNS.post_install script is the better alternative. This option enables the changes to lookupd described later on in this document (Reference: 36740, 54181, 57737). Unfortunately, this optimization introduced an incompatibility with certain functions in the previously shipped static libraries, and you will be unable to fix this problem until a new set of static libraries is made available.
See the comments inside the scripts for details on what changes the scripts are making to your system.
Installing the NEXTSTEP Release 3.3 Patch Update Packages
Follow these instructions to install the NEXTSTEP Release 3.3 Patch Update.
1. Log in as root. (If you're not sure how to log in as root, see your system administrator.)
2. Make sure your computer is running NEXTSTEP Release 3.3. (You can find the NEXTSTEP version number with the Workspace Manager application's Info Panel command.)
Warning: Installing the NEXTSTEP Release 3.3 Patch Update on a computer that isn't running NEXTSTEP Release 3.3 will result in unexpected problems. There is no way to remove the patch once installed. Your only recourse will be to reinstall NEXTSTEP.
3. Double-click the 3.3Intel68kPatch.pkg file or the 3.3HPPASPARCPatch.pkg file (be sure to choose the one that corresponds to the type of computer you're installing the package on).
4. Click the Install button in the Installer package window.
An Install Package panel opens. Use this panel to select the same architecture and languages as you did when originally installing the NEXTSTEP Release 3.3 software.
5. Click Install in the Install Package panel, and if prompted for confirmation, click OK to proceed.
The Installer window displays information about the progress of the installation, which may take several minutes.
6. After Installer finishes installing the User Patch package (either 3.3Intel68kPatch.pkg or 3.3HPPASPARCPatch.pkg):
If you haven't previously installed NEXTSTEP Developer Release 3.3 on the computer, go to Step 7.
If you have previously installed NEXTSTEP Developer Release 3.3 on the computer, install the Developer Patch package by double-clicking the 3.3DeveloperPatch.pkg file and repeating steps 4 and 5 (remember to select the same architectures as you did when originally installing the NEXTSTEP Developer Release 3.3 software).
7. Run one of the two installation scripts on the NEXTSTEP Release 3.3 Patch Update Floppy:
Double-click on the 3.3Patch.ImprovedDNS.post_install or 3.3Patch.LibrariesOK.post_install file to run the script that you decided was appropriate for system.
8. you're donePlog out and restart the computer.
Installing the NEXTSTEP Release 3.3 Patch Update Packages
from a Network Server
If you're planning on installing the update packages from a Network Server onto multiple machines, you can simplify the operations to be performed somewhat:
1. Copy the installation packages (3.3Intel68kPatch.pkg, 3.3HPPASPARCPatch.pkg, and 3.3DeveloperPatch.pkg) to a file server location visible from all client machines that are to be upgraded.
2. Copy whichever of the installation scripts you're using (3.3Patch.ImprovedDNS.post_install or 3.3Patch.LibrariesOK.post_install ) to <packagename>.post_install, and move it into the base system update packages, as follows:
Copy (and rename) the appropriate script file to 3.3Intel68kPatch.post_install.
Open the target package file by selecting it and pressing cmd-O.
Move the script file into the package directory. Close the directory window. Do the same for the 3.3HPPASPARCPatch.post_install file and the 3.3HPPASPARCPatch.pkg directory.
3. Now, when you run the Installer application to install the update packages, the installation script will get executed automatically, and will not have to be run manually (skip step 7).
Addendum to the
NEXTSTEP Release 3.3 Patch Update Release Notes
This addendum describes late-breaking information about the NEXTSTEP Release 3.3 Patch Update.
Problems Introduced in This Release
The following problems were introduced in this update:
Networking and Networking Tools
Reference: 36740, 54181, 57737
Problem: lookupd and DNS interaction add delays to many processes.
Comments: Our intended fix was to move the processing of DNS requests out of lookupd and into the calling command or application. We have since discovered a side effect of the fix included with the patch. Any comment lines in the /etc/hosts file would cause an additional search of all hosts defined in the NetInfo hierarchy. These extra searches could result in an unacceptable delay for all lookupd requests.
Fix #1: Add a -R option to the lookupd command in the /etc/rc file. This will force lookupd to use the old (pre-patch) behavior. This fix is implemented by the 3.3Patch.LibrariesOK.post_install installation script.
Fix #2: Remove all comment lines from the /etc/hosts file. You can do this either manually with your favorite editor, or by using the following commands as root.
sed '/^#/d' /etc/hosts > /tmp/hosts
mv /tmp/hosts /etc/hosts
This fix is implemented by the 3.3Patch.ImprovedDNS.post_install installation script.
Problem: Patch does not include static libraries.
Comments: The NEXTSTEP Release 3.3 Patch Update does not include any new static libraries. This means that any programs that are linked with static libs can not benefit from fixes included with this release. In particular, if programs use the gethostbyname() or gethostbyaddr() library routines, and are statically linked, they must use Fix #1 for the lookupd problem. Applications linked with the POSIX libraries are effected by this bug.
Problems NOT Fixed in This Release
The following problems have NOT been fixed in this update:
Networking and Networking Tools
Reference: 49580, 57746
Problem: NetInfo reconnecting does not prefer machines on the local subnet.
Comments: Our intentions were to correct the NetInfo binding and connecting strategy to select the server for a NetInfo domain by first checking on the local host, then on the local subnet, and finally on any accessible server host. We have since discovered that the reconnecting strategy will not "prefer" the local subnet when searching for a server. If a server crashes, clients connected to it won't take advantage of the new strategy when they reconnect. In these few cases, performance won't be improved but will be the same as in Release 3.3.
Problems Fixed in This Release
The following problems have been fixed in this update, but were not documented in the original release notes:
Reference: 54336, 54033
Problem: sparc spin_lock() loops infinitely if multi-threading lock not acquired first time through
Fix: This sparc-specific bug has been fixed.
Reference: 52842, 56026
Problem: CERT Advisory: sendmail vulnerabilities.
Fix: The sendmail security vulnerabilities described in CERT Advisories CA-95:05 and CA-95:08 have been fixed. Contact CERT for more details.