Appendix A

NetWare Patches

Novell periodically release patches and fixes for all its various products. Novell distinguishes between patches and updates; a patch is usually a small fix for a specific problem and works with an existing part of the NOS, while an update completely replaces one or more components of the NOS. There are different types of network operating system patches as well. Static patches are DOS executable programs that are applied once and modify the executable code of a module as it is stored on disk; the only way to "undo" such a patch is to restore a backup of the original file. A semi-static patch is loaded after the module it affects, modifying the memory image of the code, and then usually unloads. These patches can be undone by unloading the modified module from memory and reloading the original, which remains unmodified on disk. Dynamic patches are the most common for NetWare itself. These are small programs supplied as NetWare Loadable Modules (NLMs) that modify the executable code for a module in memory. The original version of the module can be restored simply by unloading the patch. The currently loaded dynamic patches can be listed with the server's MODULES command.

Being able to undo a patch once it is applied is important. All too often, a patch meant to solve one problem causes another, a possibly more serious problem, with a different function of the system. Many problems with patches can be avoided by thoroughly reading the documentation files that come with the patches. Unless you have experienced a particular problem addressed by a newly released patch, you may want to wait a week or two after the patch is released before using it. Sometimes, Novell withdraws or modifies a patch soon after it is released to address some problem not found in internal testing.

Table A.1 indicates the major current (as of February 12, 1996) patches available from Novell's NetWire libraries for their major OS and client products. By the time you read this, there may be many more. Not listed are patches for compatibility with rarely-used hardware, documentation updates, and some utilities for installation, upgrade, and migration. Patch files with "!" after the name are strongly recommended for all sites running the applicable version of NetWare. Other patches should only be applied in certain circumstances. If in doubt, review the documentation files. Following the tables are some tips and suggestions for several of the various collections of patches.

Novell seldom modifies the shipping versions of their NOS products. The NetWare 3.12 that you could buy when it was first released will probably be unchanged until NetWare 3.13 is released or the 3.x product line is dropped. The patch files, bug fixes, and interim updates periodically released on Novell's online services and through the NetWare Support Encyclopedia CD-ROM are the only way to keep your NetWare installation up to date. Unfortunately, Novell usually does not automatically notify registered customers that an update is available, even if it fixes a critical bug.

311PTD.EXE is the fourteenth and last in a series of patch sets released for 3.11. It contains a total of 50 patches, mostly dynamic in the form of small NLMs. All the patches can be used with 5ñ250 user-level versions of 3.11, but some cannot be used with either 1 or 1000 user versions. Many of the patches are clearly identified in the documentation as only needing to be used if there are Macintosh, OS/2, or UNIX clients or with certain types of hardware; these should not be loaded on 3.11 servers that don't meet these criteria. Novell's advice on the rest of the patches varies. At times in the past, they have recommended loading only those patches which address specific problems that you have encountered with your servers. More recent documents suggest loading all the patches in the PT-series patch collections, particularly before calling Novell technical support! In addition, UPD311.EXE is a special collection of updates that should be used on all 3.11 servers.

The order that these patches are loaded is very important in some cases. Some can only be loaded in the STARTUP.NCF (and need to be located on the server's DOS partition) and some need to be loaded near the beginning of the AUTOEXEC.NCF. If it is not specified, I suggest loading the patches at the end of the AUTOEXEC.NCF. There are special instructions for some of the patches, including procedures that must be done before a few of the patches are loaded for the first time.

Similarly, 312PT6.EXE is sixth in a series of patch sets released for 3.12. It contains about 25 patches, all of which can be used with any user-level version of 3.12. Again, read the documentation carefully before applying these patches. New with 312PT6.EXE are some different instructions for loading the patches. Novell has divided the patches in the archive between those that need to be loaded in STARTUP.NCF and those in AUTOEXEC.NCF. In addition, Novell has included NCF files giving examples of the order the patches should be loaded in. The example AUTO.NCF can be used as is; all that is needed is a reference to the NCF file in the AUTOEXEC.NCF. NetWare can call nested NCFs simply by naming them. When the called NCF is done executing, control returns to the calling NCF at the correct point. Calling external NCFs is not supported from STARTUP.NCF, however. The commands to load these patches will have to be included in the actual STARTUP.NCF.

401PT6.EXE and 402PT1.EXE are similar collections for NetWare 4.01 and 4.02. Rather than spend a lot of time patching NetWare versions 4.0, 4.01, or 4.02, it is better to upgrade to NetWare 4.10, which includes all the fixes released for previous versions of 4.0x and provides many new features. Patches for the 4.10 OS are included in 410PT3.EXE.

LIBUP6.EXE is a collection of updated library files for several versions of NetWare. These libraries contain functions and code used by many different NLMs. LIBUP6.EXE has a special installation program that will copy the appropriate updates to all servers you are attached to, making a backup of the old files at the same time. STRTL4.EXE also contains updates for several versions of NetWare but does not include a nice installation utility like LIBUP6.EXE, so the files have to manually copied to all servers. For the LIBUP6 or STRTL4 updates to take effect, the server has to be downed and restarted.