1 Subject: PRIMOS Release: 24.0 Date: February 18, 1994 1. New Functionality + _________________ 1.1 Config_Users + ____________ Ehancements have been made to PRIMOS and CONFIG_USERS to aid migration of user accounts from 50-Series Computers to Open Systems. The primary enhancement for migration is to store the Open System's Encryption of a user's password in the System Administration Directory (SAD). This enhancement will allow the user to login with the same password that they were using on the 50-Series Computer. The other enhancement to PRIMOS/CONFIG_USERS is the new User Name Field in the SAD. This field will also be migrated to the Open System. The migration strategy is that these enhancements are targetted to help a System Administrator prepare for the migration over a period of time. 1.2 CPL improvements + ________________ At Rev 24.0 the PRIMOS CPL interpreter has been optimized and enhanced. New features include new CPL directives, new command functions and new options to existing directives and functions. Rev 24.0 CPL is completely compatible with previous revisions of CPL, except as is usual, for a small number of corrections to problems where previous revisions of CPL functioned wrongly or contrary to the documentation. The Rev 24.0 CPL interpreter runs considerably faster than at previous revisions. The internal optimizations which achieve this performance improvement may, when Rev 24.0 CPL is used in default mode, change the behavior of a very small number of existing CPL programs that rely on features of PRIMOS or CPL that are either documented or unsupported or considered to be rarely or never used. REV 24.0 CPL provides configuration switches which in these rare cases may be used to restore compatibility program behavior, at the price of returning to prev-REV 24.0 levels of performance. The REV 24.0 interpreter is on the average 4 to 6 times faster than at previous revisions. The actual improvement depends on which CPL directives and command functions are used. All commonly used directives are 4 to 6 times faster; some of the less common features and directives are considerably faster than this. This performance improvement applies only to the time spent in the interpreter itself. It does not apply to PRIMOS commands and other programs executed via CPL. Improvement performance will therefore be 1 most obvious in CPL programs which spend a lot of time executing CPL directives rather than PRIMOS commands. Prior to Rev 24.0, only one segment of storage was available for CPL internal use, including both the interpreter's stack and all local variables. CPL programs would abort when storage was exhausted, for example by nesting complex &DO loops several levels deep, or by creating more than several hundred local variables of average size. At Rev 24.0, more storage is available. Initially eight segments are provided. Since Rev 24.0 CPL uses less space for the interpreter stack, the increased space will appear to be wholly available for local variables. At Rev 24.0 it is possible to create approximately eight times as many local variables as previously possible, if you have a need. The changes in storage management also fix a problem due to which it was possible for CPL to fail when complex &DO loops were nested as little as two or three levels deep. At Rev 24.0, the permitted level of nesting will appear to be effectively unlimited. For additional information on Rev 24.0 CPL, please refer to the Rev 24.0 Software Release Document. 1.3 CMPF and MRGF enhancements + __________________________ At Rev 24.0, the CMPF and MRGF commands have been enhanced with a new option -WHITE_SPACE. This option changes the comparison algorithm so that it interprets one space as equivalent to one or more spaces. One space is not, however, interpreted as equivalent to no spaces. Therfore, CMPF and MRGF still show a line consisting of only spaces as different from a blank (empty line). A side-effect of -WHITE_SPACE is to relax the usual CMPF and MRGF rules that space compression in files must be identical for the files to compare as identical. -WHITE_SPACE can be particularly useful for comparing program sources written in a block-structured language (like C), when the only difference between large numbers of lines may be the extent to which they are indented. 1.4 LD Command + __________ LD has two new sort options, and now allows multiple sort options to be specified. In addition, a new sort algorithm has been implemented to make sorting faster and to correct minor defects in the previous algorithm. Prior to Rev 24.0 only one sort option was allowed and the sorted order for equal items (for example, those with equal sizes when -SORT_SIZE was specified) was unpredictable. While only one explicit sort option was allowed, LD would in most cases (all except -NO_SORT or -SORT_NAME) 1 actually sort on two keys: first by file type, and then by some criterion such as size, date/time modified, etc. However, there was no way to specify further sorting for objects with the same size or date. Please refer to the Rev 24.0 Software Release Document for additional information on LD enhancements. 1.5 Spool Enhancements Further enhancements have been made to the Spooler subsystem at Rev 24.0. These changes incorporate the introduction of new functionality and fixes to known problems. Please refer to the Operator's Guide to the SPOOLER subsystem (DOC9303-006) for additional information. 2. Problems Fixed- User Visible + ____________________________ Spar 4065768: Fix size check to allow for bigger EPFs to be registered. Spar None: CF$SME can now be called on any logical file type on a Robust Partition. Spar 4042988, 4047655: Resolved problem with flow control which caused LHC/TCP to hang. Spar 4065565: Primenet now correctly accepts RR's for frames which were retransmitted. Spar 4065159: Increased limit of primenet addresses, node names and paths that was to accomodate customers with very large diverse network configurations. Spar 4061928: Changed so that batch jobs get their ACL groups when the system administrator is using either edit_profile or config_users. Spar 4064687: Fix talk problem with multiple targets. Added new key to CROSS PROCESS SIGNALING SUBROUTINE to enable of user numbers for all time. I.E. will not be cleared on logout. Spar 4059496: After BIND -COMPRESS of an existing EPF, the file size of the EPF will decrease appropriately. This addresses the problem that the file size was remaining unchanged. Spar 4065431: 1 LO -PH from the systems console will now log out all users of type PHANTOM. Similarly, LO -SPOOL will log out all spoolers, &c. This addresses the problem that the command was only logging out users named SYSTEM when issued from the console. Spar None: Added max buffers per ldev to locate and add to fs$rd & fs$st for control. Spar 4061675: SPOOL -LIST on a large queue will now be more efficient, when only a small selection of the total # entries is wanted. Spar None: Users will now see interpreted control characters in error messages. For instance if XOFF was not enabled when Control-S was typed, then say DATE was entered, Primos will report: 'Invalid command "^SDATE".' Similarly control characters are interpreted in calls to ERRPR$ and ER$PRINT, except any BEL characters still sound the audible alarm and are not interpreted. Spar 4064630: The COMM_CONTROLLER command now works with the information product shared. Spar 4062372: Commands of the form "LS 3nnn -NAME" are now processed, where nnn is a low number referencing Registered EPF procedure. The command can be used for all registered EPF procedure segments, but can only return the associated EPF filename for those EPF's that the user process has currently mapped. Spar 4066434: Commands of the form "LOGOUT - nn" from the systems console will no longer log out all users. Spar None: New Func: Added new hardware support for the DAT tape drive. Spar None: Changed LOGIN path to support Open System Password Encryption Added System Default Phantom Limit. Changed LIST_LIM to display both the inactive time limit and phantom limit for the process. Added gates to support WHO_BE and phantom limit output. Spar #: 4067713 Fixed problem which caused the TCP/IP manager process to use up all the CPU time when running TCP/IP 3.0.1. 1 2.1 RRS Migration Information The following 23.4 RRS fixes are also in 24.0.r1 RRS Release Spar Number Product ----------------------------------------------------------- 23.4.0.R22 4058635 COPY 4068426 DRB 4063847 DRB 4064842 DRB 4065307 DRB 23.4.0.r21 4061111 PRIMOS 23.4.0.R20 4063834 PRIMOS 23.4.0.R19 4041578 EDIT_PROFILE 23.4.0.R18 4062194 PRIMOS 23.4.0.R17 4059679 4068275 PRIMOS, COPY 23.4.0.R16 4067713 PRIMOS 23.4.0.R15 4066942 SPOOL 4066228 SPOOL 4064841 SPOOL 4064759 SPOOL 4064633 SPOOL 4064634 SPOOL 4064635 SPOOL 4064486 SPOOL 4062300 SPOOL 4062301 SPOOL 4062302 SPOOL 4062302 SPOOL 4053147 SPOOL 23.4.0.R14 4064630 Comm_Controller 23.4.0.R13 None PRIMOS, DRB and DOWN_LINE_LOAD* 23.4.0.R12 4056816 FIX_DISK 23.4.0.R11 4063847 DRB 23.4.0.R10 4067051 FIX_DISK 4067052 FIX_DISK 4067114 FIX_DISK 23.4.0.R9 4066328 PRIMOS 4061928, 4059361 PRIMOS 4059031 PRIMOS 4064687 TALK 4062356 PRIMOS 4065768 PRIMOS 23.4.0.R8 4065565 PRIMOS/PRIMENET 23.4.0.R7 4065159 PRIMOS.PRIMENET 23.4.0.R6 4065894 BATCH 23.4.0.R5 4060643 DSM 23.4.0.R4 4063847 DRB 23.4.0.R3 4058936 DRB 23.4.0.R2 4065241 PRIMOS 23.4.0.R1 4064895 FIX_DISK 4064185 FIX_DISK 4064560 PRIMOS 1 3. Problems Fixed- Not User Visible + ________________________________ None. 4. Outstanding Problems + ____________________ At the time of 24.0 release, we are not aware of any problems with 24.0 specific changes/enhancements. 5. Permanent Restrictions + ______________________ At the time of 24.0 release, we are not aware of any permanent restrictions with 24.0 specific changes/enhancements. 6. Environment + ___________ Standard. 7. Installation and Build Procedures + _________________________________ Please note: Rev 24.0 requires T3 or greater to be installed. If you are modifying PRIMOS source at 24.0, you MUST install T3.2. A BUILD file, called PRIMOS.BUILD, is generated for each release and will probably be different for each release. Be sure to always use the latest PRIMOS.BUILD supplied with each release. PRIMOS.BUILD and BUILDFILE are used by BUILD to build Primos. There are a few new files for search rules set up and there is a new directory called BUILD. There are some changes to PRIMOS.BUILD.CPL. PRIMOS.BUILD.CPL now takes a -NO_TOOLS (-NT) and a -INTEG option. The -NT option will suppress the building of PSD, USAGE, LOGIN_SERVER, COPY_SERVER, MAPGEN, NAME_SERVER, SCHEDULER and the rebuilding of hash tables. This will save some time when rebuilding if they are known to be correct and rebuilding the tools is not necessary. The -NI (no_install) option will now copy runfiles and maps to PRIMOS>PRIRUN. The -INTEG option should always be used, it assumes all source modules reside in PRIMOS. It prevents PRIMOS.BUILD.CPL from searching auxiliary directories for PRIMOS source modules. The format of the build file (PRIMOS.BUILD) is: FOO.BIN: FOO.PLP BAR.INS.PLP This means foo.bin is created from foo.plp, its source file, and bar.ins.plp. If, at build time, anything on the right side of the ':' 1 is found to have a more recent DTM ('Date/Time Modified') than the object on the left, the entry (in this case, foo.plp) is rebuilt either by using the default rules at the top of BUILDFILE or using special rules which may follow any entry in PRIMOS.BUILD. (For an example of special rules, look at the rules that follow the dependency list for PRIMOS.SAVE, which is the first entry in PRIMOS.BUILD.) Any new source and/or the adding or removing of insert files from source must be reflected by changing the build file. If a dependency list uses more than one line, use a '\' at the end of the first line as a continuation marker. A blank line must separate each dependency list. Please examine the PRIMOS.BUILD file and related source for further examples. When building PRIMOS without using any options, a full PRIMOS build will be performed (all source modules will be compiled). Runfiles and maps will get copied to the top-level PRIRUN directory. Building PRIMOS using any of the available options (-NT, -NI or -INTEG), will result in a partial build. Only those modules modified, will be compiled. If insert files are modified, all modules which use those insert files will be re-compiled. What does all of this mean? When source is modified and PRIMOS is rebuilt, only the source affected by the changes will be recompiled. (The tools will still be rebuilt unless suppressed. See instructions concerning the -NT option, above). The build will be forced to recompile all source if no options are supplied. COMPILE.CPL was re-added to PRIMOS as of 22.1. It is useful for compiling single modules. The recommended procedure is to use PRIMOS.BUILD.CPL. Do not use COMPILE.CPL for the compilation of definition modules. If changes are made to definition modules use PRIMOS.BUILD.CPL to ensure all appropriate modules are compiled in the correct sequence.