Logo
Dnote

Magus Notes

Aug 2023 630.02 Prevent end of log message when scanning METALOG

The 'end of log' message sent to a Supervisor window when using the Log command will no longer be returned in a METALOG context Eval.

Jul 2023 630.01 Update for MCP 63

Update for MCP 63

Mar 2022 620.03 InstallDataFile MaxRecSize 45

PDSUBKINDLIST filters files using physical attributes to avoid unnecessarily reading a file to check a Signature. The MAXRECSIZE for an INSTALLDATAFILE Version 8 is 45 Words, while the previous versions were 36 Words. Both sizes are now used for the check.

Apr 2021 620.02 Minor efficiency fix for version 620.01

Reduces the overhead of the check added by version 620.01

Apr 2021 620.01 Prevent loss of family statement on storing long permanent variable

If setting a long string permanent variable caused the warning 'Re Writing config file' the family statement of the task setting the variable would be lost.

Mar 2020 610.01 Update for MCP61

Update for MCP 61

Nov 2019 600.03 Some minor improvements to Metalogic logging

When long log entries (>66) were stored it could cause minor problems in the Metalog context. Sometimes an extra space could occur in the LogText attribute.

Jul 2019 600.02 Allow Jampack to run for unitnos > 16382

Jampack will now run on packs with unit numbers < 65535. Previously any unit > 16381 would cause errors, 'Missing unit' or 'missing basepack'.

Mar 2019 600.01 Update for MC P60

Update for MCP 60

Oct 2017 590.06 S0SelfArchive

The Level 5 Segment Zero CodeFile Format reserves S0SelfArchive (Word 13) for Metalogic Self Extracting Archives. Earlier codefiles used S0SelfArchive_L4(Word 9). CopyWrite updates this word with the segment location of the embedded Archive. While CopyWrite had been changed to use the new location, Magus was still checking the old location in the PDSUBKINDLIST check.

Oct 2017 590.05 Fix an intermittent problem where a time range failed

Occasionally a log command with a time range would report an error like 'Numeric day or month expected'. This problem has been fixed.

Mar 2017 590.04 Handle Multi-GigaByte Files

If output files are bigger than the default AreaSize can handle, MZip will now increase the AreaSize.

Jan 2017 590.03 Detect UserDiskRowSize

Some later 56 and 57 releases changed the row size, giving the symptoms fixed by 590.02. JamPack now detects the size dynamically.

Jan 2017 590.02 Disk List Row 300 from 58

The row size of the Disk Available tables increased from 30 to 300. This could lead to ineffective RESERVEs in JamPack and inaccurate checkerboard reports.

Dec 2016 590.01 Update for MCP 59

Update for MCP 59

Nov 2016 580.06 Fix an occasional invalid index from 580.03

Version 580.03 introduced a bug where a Log command of more than 252 characters would cause an invalid index. Spurious log commands may now be entered with impunity

Sep 2016 580.05 Current Memory Sizes

Increase scaling in DBC, to account for faster overlaying and much greater memory configurations.

Jan 2016 580.04 Better protection against invalid index in Jampack

Version 580.02 did not completely protect against an invalid index @41802200 when running Jampack.

Oct 2015 580.03 Better LOG messages and support MORE

This change adds a message to the end of log reports if the report has been truncated due to record limits.

It also supports the new MORE option.

May 2015 580.02 Prevent Invalid Index @(41802200)

Prevents Invalid Index @(41802200)

Nov 2014 580.01 Update for MCP 58

Update for MCP 58

Jun 2014 570.08 LIBRA8390

Magus is now compatible with "ETA" MCP systems.  For example Libra 839

Mar 2014 570.07 Fix Perm variable corruption

Version 570.06 (Never released to customers) introduced a bug where any permanent variable added after a Magus restart would be lost. This change corrects the bug.

Mar 2014 570.06 Fix for New config file

When a new config file was created the first record was corrupted. This would normally happen when installing on a new system where a previous config file had not been copied. It would typically cause software to fail with keys problems until a subsequent install was done.

Jan 2014 570.05 Change Max MCP supported to 57

Magus is now qualified on MCP 57

Dec 2013 570.04 Internal Change

New entry point to return the MIMETYPE stored in the FORMID of a Disk File Header which is not in core. To be used in future releases.

Dec 2013 570.03 Fix metalog context

This corrects a bug introduced by version 570.02 which could cause a Supervisor Eval of a METALOG context to fail.

Dec 2013 570.02 Prevent rare cases of Trim log corruption

This change protects against the possibility of log corruption when two versions of magus are running at the same time. The reported case was for the Trim log where Tapemanager was linked to an old copy of Opaltapelib which was in turn linked to an old Magus.

An addition benefit is that neither the log files nor the configurationdata file can be opened by another program or Cande. They can however be safely copied.

Nov 2013 570.01 SLK

Internal Change.

Mar 2013 560.10 Implement Galois Counter Mode (GCM) Encryption

AESGCM encryption is an authenticated stream encryption. The 16 byte checksum is passed as the last call on the output function. With array or file output, the checksum is put at the end of the output. On decryption, the responsibility of the caller to verify the checksum is correct.

The KeyIV parameter has changed format slightly. The first byte is a length byte for the AES key, 16, 24, or 32, corresponding to AES 128, 192, and 256. The next byte after the key is a length byte for the initialization vector (IV(). Currently for CBC, this must be 48"10", and for GCM, 48"0C". After the IV, GCM takes the next 4 bytes as the the length of the data in bytes that is to be checksummed, but not encrypted.

Mar 2013 560.09 Fix Bad Res On Multi-Inx Packs

In rare cases, some spurious rows could appear in JamPack tables and cause invalid Reserves. The observed cause has been corrected, and if there are other causes, Jampack can detect and correct some of them.

Feb 2013 560.08 Correct Flex Library the problem

Version 560.07 introduced a problem where thawing Flex Library without thawing Magus would cause subsequent calls to Flex Library to fail with a 'requires privilege' error.

Feb 2013 560.07 Support for granulated privilege in Flex

This change supports OBJECT/FLEX in respecting Granulated Privileges

Feb 2013 560.05 UW

Internal Change.

Feb 2013 560.04 Qualify Magus for MCP 56

Magus is now qualified for MCP 56

Feb 2013 560.03 Diagnostic

Internal Change.

Feb 2013 560.02 Remove ProgramDump

Remove ProgramDump statement left over from GETSUBKINDLIST patch.

Jan 2013 560.01 PDUMPFILE

Return PDUMPFILE or MDUMPFILE in GETSUBKINDLIST for Program Dumps or Memory Dumps respectively.

Nov 2012 550.08 Export Quick_Sort_Word for use in Opaltapelib

Internal change only

Nov 2012 550.07 SetMIMEType

Internal Change.

Sep 2012 550.06 Fix Jampack on VSS-2 Disks

Jampack is now more reliable when run against VSS-2 Disks

Jul 2012 550.05 Support Supervisor 550.19

This change improves the Entrypoint FindDMSupport to support changes made in Supervisor 550.19

Jun 2012 550.04 Protect HELP LOG against string protect errors

The HELP LOG command in Supervisor, Maillib, TapelibUpdater and Flex is provided by magus. If a calling program provided an array too small to hold the help data it would get a string protect fault. The array will now be resized to a suitable size and a 'wrn' entry will be added to the calling program's log. Minor improvements have been made to the log text.

May 2012 550.03 Prevent invalid index when too many perm variables

This change fixes an Invalid index which could occur if more than about 23000 permanent variables were used. The problem could also occur if too many permanent variable were modified between restarts of magus. Waste space in the configurationdata file will now be automatically recovered when wasted space is more the one third of the total space used.

Apr 2012 550.02 Access

Internal Change.

Apr 2012 550.01 Increase max mcp supported to 55

MCP 14 (55) is now supported.

Mar 2012 540.70 Restart CBC IV

IV is now restated in a CBC push deflate restart.

Mar 2012 540.69 Push Tar Decrypt

Crypt_Zip can be called with a user tar for decrypt only where the data is supplied by the tar IO procedure.

Feb 2012 540.68 Crypt_Zip No Hdr/Compress

Crypt_Zip calls can now have no header and no compression.

Jan 2012 540.67 Implement CBC mode AES Encryption

Implements Cipher Block Chaining mode for AES Encryption.

Dec 2011 540.66 Fix dm/mm/yy in HELP LOG

Correct dm/mm/yy in Help Log to be dd/mm/yy.

Dec 2011 540.65 ExtCF

Support for MAGCONTEXT.

Nov 2011 540.64 More Cleanup Post 45 Internal Change

Internal Change. Un-needed declarations after 45.0 have been removed.

Nov 2011 540.63 Wrn

Internal Change.

Nov 2011 540.62 Deimp Magus on <45.0 MCPs

Code specific to running Magus on MCPs before 45.0 has been removed.

Nov 2011 540.61 Debug Display Mix No

Internal change.

Nov 2011 540.60 RK

Internal Change.

Nov 2011 540.59 Fix a bug preventing a new install

Version 540.57 introduced a bug which prevented the Installation of metalogic software on a new system. The version corrects that problem.

Nov 2011 540.58 Fix Supervisor METALOG context with [CAT..] modifi

Version 540.53 allowed the specification of multiple categories for Supervisor EVALs of the METALOG context. This feature did not work for long log records. It does now.

Oct 2011 540.57 No longer open configurationdata exclusive

Magus previously opened the ConfigurationData file exclusively. This had the potential to cause problems if the file was being backed up and the backup was delayed for any reason. The file is now only opened EXCLUSIVE (for a short time) when Magus first starts and is opened normally thereafter.

Sep 2011 540.56 Fix Small MZip Inflate Bug

Fixes a bug with very small MZip inflates.

Sep 2011 540.55 Increased encoded METALOG EVAL limits

The limit on the number of entries that can be returned by SUPERVISOR EVAL of a METALOG context script has been removed, previously this was 4000 entries. Please see SUPERVISOR DNOte 541.66 for more details of this change.

Aug 2011 540.54 Support for EXCLUSIVE flag with HO

This change supports the modification to the Supervisor HO command response that now shows files that have been opened with EXCLUSIVE=TRUE. See SUPERVISOR DNote 541.64 for more information.

Aug 2011 540.53 Support METALOG categories/LOG SKIP

A new modifier, SKIP, has been implemented for the LOG command. SKIP is similar to BACK and its syntax is identical but, whereas BACK allows a simple Start time/date to be specified for the log search, SKIP is used to specify an End time/date. If no duration is specified then SKIP will assign a start time 24 hours earlier than the End time. If BACK is specified without an End time then this 24-hour limit also applies (previously the End time was assigned the current date/time).

For example, if the current time is 12:30 then the BACK and SKIP log search start and end times would be:

Start time             End Time
BACK 90 FOR 30        11:00                  11:30
BACK 90               11:00                  Now     (Max 24 hours)
SKIP 90 FOR 30        10:30                  11:00
SKIP 90               11:00 Day before       11:00

This change also supports the specification of multiple categories for Supervisor EVALs of the METALOG context; see SUPERVISOR DNote 541.63 for more information.

Aug 2011 540.52 Allow METALOG context search beyond current log

The use of date and time ranges for Metalogic log file searches using the Supervisor METALOG context will now allow access to earlier log files other than the current active file.

Aug 2011 540.51 Provisional SHA256

Implements a fast SHA256 secure hash with this exported procedure:

Procedure Sha2(Sz,PIn,Shapht);

Value Sz, PIn;
Real Sz;
Pointer PIn;
Array Shapht[0];
Sz is input length in bits.
[47:1] says first call, [46:1] says last call.
If not last call, Sz mod 512 must be 0.
PIn contains the data to be hashed.
Shapht is a work array which gets the final hash. For speed, it
should be 32 words or more.

Jul 2011 540.50 GZ Hi Seg Array Error Fix

Internal change.

Jul 2011 540.49 Stream Tar

Allow a custom Tar parameter to Crypt_Zip to restart a deflate. Fix a recently introduced problem with small GZ High deflates.

Jul 2011 540.48 Internal change only

This change makes a small reduction in the overhead involved in changing permanent variables.

Jul 2011 540.47 Limit GZ Expand

Limit possible expansion in GZ high compression for AES+GZip compliance N.B. Only GZ High Compression satisfies AES+GZip requirements.

Jul 2011 540.46 Encrypted WinZip CRCs

Fix CRC check in Encrypted WinZip.

Jun 2011 540.45 SI

Add INSTALLDATA to PDSUBKINDLIST for *INSTALLDATAFILE/= files.

Jun 2011 540.44 Fix Ctr for WinZip

AES CTR mode has been modified for WinZip compatibility.

Jun 2011 540.43 AES Opt and WinZip

Crypt_Zip has a new CZHdrF value, DeflWZ, for handling WinZip files.

Some speed improvements have been made to AES encryption.

May 2011 540.42 ECB Encryption

Crypt_Zip now has AES 128/192/256 ECB and CTR Encryption.

May 2011 540.41 Seg Array in Mixed Dyn and Lit GZs

Fixes a low probability problem with mixed lit blks in InflateGZ.

May 2011 540.40 Meta_Zip to Crypt_Zip

Prepares for encryption and allows no header and no compress options. Fixes some problems with inflating literal blocks in Deflate format.

Jan 2011 540.39 Internal LOG HELP change

Minor internal change to HELP LOG contents.

Jan 2011 540.38 Fix a bug preventing the creation of a config file

Version 540.34 introduced a bug preventing the creation of a configurationdata file on a new installation. This change corrects the problem

Dec 2010 540.37 PTS

Internal Change.

Dec 2010 540.36 Protect against COFIGDATA corruption

If a copy of *METALOGIC/MAGUS/CONFIGURATIONDATA existed on FAMILY FRED and a config or perm change was made from FLEX or INSTALL when running with a FAMILY statement of FAMILY DISK = FRED OTHERWISE DISK then the live configurationdata file could be corrupted.

This problem only happened with Magus version 540.34 and later and has now been corrected.

Dec 2010 540.35 Consistent LOG command help

This change improves the handling of the HELP LOG command each used by SUPERVISOR, MAILLIB and TRIM. Instead of each product providing its own detailed help which is very similar for all the software, the MAGUS software will now retain up-to-date and complete HELP LOG information. Where relevant, the products will supply their own tailored information.

Currently, SUPERVISOR is the first software to use this mechanism as noted in DNote 540.99.

Dec 2010 540.34 Speed up updating perm variables

This change makes a significant improvement on the time taken to update a permanent variable. A side effect of this change is that wasted space can build up in the configurationdata file.

A new config variable CONFIG_STATUS can be interrogated to check on the state of the config file. It returns a string containing a list of three numbers. The first is the number of records in the file,the second is the number of invalid records in the file (Should always be 0) and last is the number of wasted records. EX. If in Supervisor TT / ($CONFIG_STATUS.CONFIG) returned 3064,0,909 That would indicate 3064 records 0 invalid records and 909 wasted records. Setting the variable to any non empty string causes the file to be rewritten. Eliminating the waste. Ex. TT / ($CONFIG_STATUS.CONFIG:="RESET")

The config variable CONFIG_OLDKEYS returns a string showing the number of magus versions for which keys are being held. Setting the variable to a lower number will keep keys for that number of magus versions and discard the rest, rewiting the file in the process.

Ex TT / ($CONFIG_OLDKEYS.CONFIG:="2")

The config variable PERMSTRINGS return a list of Permanent string variable names. The config variable PERMREALS returns a list of permanent real variable names.

EX.

TT / ($PERMREALS.CONFIG)

The config variables CONFIG_LOCKSTATUS and CONFIG_DUMP are intended for use by METALOGIC personnel only.

Lock handling for CONFIGLOCK has been improved. When the lock is not available, the mixnumber of the task currently holding the lock is now displayed.

Nov 2010 540.33 Small Compression Gain in High, for Small CPU Inc

This small patch trades off a small amount of extra CPU for a small gain in final size.

Nov 2010 540.32 Better High Compression in GZip

GZip high compression now uses the Dynamic Huffman format, which often reduces size e.g. -15%, at the cost of CPU consumption, e.g. +20%. This format is also used for Flex MZip ZM 2.

Nov 2010 540.31 MLFV

GetSubKind was checking for ALIGNED180, but an embedded METAFLAT is a VIRTUAL File and therefore always STREAM.

Nov 2010 540.30 MLF

Internal Change.

Nov 2010 540.29 Implement LOG CHECK for USDATES control

Previously, the Metalogic config variable SYS_USDATES was being checked by MAGUS for each LOG read or write request to determine the date format setting to be used for command validation and reporting. This behaviour has been changed to eliminate logging delays caused by the update of MAGUS permanent or configuration variables.

SYS_USDATES will now only be checked during MAGUS restarts and handling of the following special command from any MAIL, TRIM or SUPERVISOR log command:

LOG CHECK
--- Logging Date Check ---
System-wide US DATES setting is currently FALSE

Oct 2010 540.28 Change ASAP to SCHEDULING

Internal change supporting the new Advanced Scheduling component in SUPERVISOR previously known as ASAP.

Oct 2010 540.27 Err 35 Oflow Fix

Fixes a rare Err(35) dynamic table overflow in UNZIP of external gzips.

Oct 2010 540.26 PECOFF

Modify GetSubKindList to check if a file is PECOFF, and scan from the end of a datafile for the PKZIP signature.

Sep 2010 540.25 GZip Compliant Dynamic Huffman Inflate

Unzip will now accept files made with GZip on another OS, by allowing Dynamic Huffman table blocks. This makes the GZip/Unzip compliant with the standard (RFC1951).

Sep 2010 540.24 Increase Metalogic LOG file limits

The maximum size of all Metalogic LOG files has been increased from 15,000 to 50,000 records. Also, the number of records that can be read by any LOG command has been increased from 9,999 to 20,000 records.

Sep 2010 540.23 Fix log searching on non-DISK family

Log command searches that need to scan released Metalogic log files on disk families other than DISK now work correctly. Previously, such LOG commands would return 'No log files found'.

Aug 2010 540.22 Support for SUBKINDLIST attribute

This change supports the Opal PD attribute SUBKINDLIST as described in OPAL DNote 540.42.

Jul 2010 540.21 JobStarter

Support for Job Restart.

Jul 2010 540.20 Better MZip Errors

Improve error messages and handle faults more gracefully.

Jul 2010 540.19 End Inflate Early Error

Fixes an early termination during expands, and a length error in some disk farm gzips.

Jun 2010 540.18 More Inflate Problems

GZip and MZip improvements.

Jun 2010 540.17 Add ASCII Translate Option

The Meta_Zip request can now ask for character translation. The translation is done before compression to ASCII or after expansion to EBCDIC. When using GZip or ZLib, this will often slightly speed up the compression and improve the final size. Typically for a symbol file the file size will drop 2-3%.

A GZip expansion problem from the last change has been corrected.

Jun 2010 540.16 Small File Compression

This addresses problems with small file compression.

Output files for GZip or ZLib compressions are now EXTMODE=OCTETSTRING.

Jun 2010 540.15 Tab Back For High Compression

This change adds an entry to the hash table for long matches under high compression.

Some experiments in back links with 3 byte matches has resulted in improvements in CPU time and final sizes for GZip/ZLIb compression.

A FileLength attribute error has been removed.

Jun 2010 540.14 MZip out file ReleaseId has pre-zip size

If the zipped output goes to a file, the original file size in bytes is put into the ReleaseId attribute in EBCDIC decimal.

The ZLib Adler check sum is now correctly inserted.

Size errors are no longer provoked in SystemStatus on MCP 53.

The first call of the progress procedure is now passed the negative of the expanded file size on its first call.

The No Deflate call, originally used in debugging the implementation, has been deimplemented.

If an inflate call has output to file, but the input file was default tarred, Meta_Zip will now change the output to default tar.

A clearer explicit error message is now given if a file is requested input and its is not byte stream.

May 2010 540.13 Msg in EUt & DCPSYMBOL & Out Fam Chk

Output FileKind is now DCPSYMBOL for compressed data, and if output is not via the Tar procedure, the expanded file is CDATA. Meta_Zip now checks for input/output file availability and array size. Error messages are now returned in the output array. If an output procedure is supplied and output is requested to file or Tar, the procedure is called as a progress report. The first call is at 0, and the RDLenF result gives the number of MB before the next call, with a minimum of 1 MB.

May 2010 540.12 Higher Compression

Meta_Zip high compression is now more effective, but costs more CPU and memory, by using a second level hash table, smaller than the top one.

If output requests a file, but the input is from a default tar, Magus will now force output via the default tar procedure.

May 2010 540.11 GZip/ZLib Partial

Static Hufmann Inflate/Deflate now available in Meta_Zip.

May 2010 540.10 Support SITE logging

MAGUS now supports both ASAP and SITE log file logging,

May 2010 540.09 Support for ASAP and deimp PRINTSMITH

Internal change to remove PRINTSMITH support and enable ASAP licensing.

Apr 2010 540.08 Add MZIP to GetSubKindList

GetSubKindList can detect MZIPed files.

Mar 2010 540.07 Internal change

Internal Metalogic change.

Mar 2010 540.06 Internal change only

New PRIVILEGEDPROGRAM procedure.

Jan 2010 540.05 MZip Compression

A new Magus entry point, Meta_Zip, implements a lossless compression method, which compresses and expands quickly on the MCP systems architecture.

The compression is based on the back-link deflation algorithm, but uses byte-based links. The compressed file format has a header, 4"BA570xxx", where x are option bits. After the header are a sequence of characters or control codes. The control codes are bytes starting 4"1" or 4"B". All other bytes are just literals from the original source file. 4"B" codes are 3-byte back-links, 4"10"-4"1EE" are 2-byte back-links, 4"1EE" is a code to identify characters that would be interpreted as links. 4"1F0" to 4"1FC" are 2-byte back links for 3 byte matches, and 4"1FC1"-4"1FF" are 4-byte back links. Back links can be up to 32 kb away and match for up to 163 characters, for a theoretical maximum compression ration of 40:1. Symbol files typically compress 4:1.

The following Algol defines show the big-endian link format:

MZBLLenF   = [43:5] #, % 0-3 = 32-35
MZBLLen(Bt)= ((Bt).[43:5] & Real((Bt).[43:3] =0) [5:1])#,
MZBLDispF  = [38:15]#, % 0-32766
MZ2BLenF   = [35:4] #, % 0-3 = 16-19
MZ2BLen(Bt)= ((Bt).[35:4] & Real((Bt).[35:2] =0) [4:1])#,
MZ2BDispF  = [43:8] #, % 0-237
MZCharV    = 238#,     % 4"(1)ED" +1
MZCBHxd1F  = [36:1]#,
MZCHxd2F   = [35:4]#,
MZ23DispF  = [39:8]#,
MZ4BV      = 192#,     % 4"(1F)BF" +1
MZ4BLenF   = [37:7]#,  % 0-127 = 36-163
MZ4BDisPF  = [30:15]#; % 0-32766

Meta_Zip can compress or expand arrays, files, or data from thunks. In compression, it uses 3 memory sizes as requested in its parameter. Small, means use the least memory feasible, typically less than 200kW. Medium means do not exceed c. 1.2 MW. Big means use as much as is useful, which could be up to 17MW. If this parameter is set to Default, Meta-Zip chooses which model to use based on the current CU values. More memory will normally mean better compression and faster execution.

Another request field is set for higher compression. Typically this can improve compression by 5% for 12% more CPU time.

Jan 2010 540.04 MD5 speed improvements

The MD5 algorithm, described by DNote 540.02, has been improved and now runs with a typical 20% saving in CPU overhead for each message digest.

Jan 2010 540.03 Fix GETSTATUS errors for out of range LOG commands

Previously, any LOG command issued with a time range selection that gave a start point beyond the beginning of the initial log file would return multiple 'GETSTATUS harder #nn' entries in the response. This problem has been fixed: MAGUS will now just return the single message 'No log files found'.

Dec 2009 540.02 Support for MD5 Message Digests

This change supports the implementation of the MD5 message digest algorithm which is also available in the Unisys SDK. The Metalogic entrypoint, MD5P, is used to support MAILLIB's CRAM-MD5 SMTP authentication, as described in MAILLIB DNote 540.03.

Nov 2009 540.01 Update maximum valid MCP to 54

Mark Magus as valid for MCP 54.

Sep 2009 530.27 PDF MimeType in PDSUBKINDLIST

PDSUBKINDLIST will now recognize a PDF file.

Sep 2009 530.26 Further Post EOF Find Fixes

This corrects 2 cases where the :FIND target was found after EOF.

Sep 2009 530.25 No Find after EOF

Literal :FIND in Flex Inq. will no longer find things after the EOF.

Note that it could still find things in bad blocking holes.

Jul 2009 530.24 Check JAM RES errors for VSS2 disks

Previously, RESERVEDISK requests issued by JAMPACK would have failed with the error 'SEGMENT ADDR GREATER THAN MAXIMUM DISK ADDRESS' under the following circumstances:

1. The target disk unit was formatted as VSS-2.
2. The target disk had a capacity in sectors that was an odd-numbered
value.
3. The requested end sector address generated by the RESERVE exactly
matched the capacity of the drive.

This occurred for VSS-2 disk RESERVE requests because the MCP requires that the capacity of the disk must be allocated on 2-sector boundaries and the last sector of an odd-numbered capacity is discarded.

JAMPACK will now detect whether a disk is VSS-2 and will not include the last sector in RESERVE operations.

Jul 2009 530.23 Handle missing LOG files family

The Metalogic logging system, by default, uses the DL LOG family to store its own log files though this location, held in the SYS_LOGFAMILY configuration variable, can be changed by the INSTALL utility. If this family is subsequently removed from the system or the CONFIGURATIONDATA file is moved to a new system where the SYS_LOGFAMILY family does not exist, any Metalogic software using logging would halt on a REQUIRES FAMILY waiting entry.

In such circumstances, MAGUS will now detect that the family is unavailable and will revert to the current DL LOG family, updating SYS_LOGFAMILY at the same time, since this must be present. Several informational displays will be generated.

Apr 2009 530.22 Better handling of long METALOG records

Previously, any Metalogic log record longer than 990 characters was truncated. This behaviour has been changed; although only 15 records are still written to the log then, for longer log entries, the first 500 and the last 500 characters are combined into one log entry. The two components are connected by the character string '..'.

LOG commands that use 'HHMM FOR N MINS' will now only scan the relevant log file for N minutes instead of N+1 minutes.

Mar 2009 530.21 Correct LOG + n handling

The generic LOG command, used by MAILLIB, TRIM and SUPERVISOR, will now again correctly handle the '+ <num lines>' variant. Previously, the requested number of lines was ignored.

Also, the FIND modifier will now optionally accept quoted targets, allowing targets with embedded spaces to be specified. Either single or double quotes may be used. This change allows simpler checking of '+ <num lines>' modifiers to be appended. For example:

LOG FIND "TEST STRING" +40
LOG ODT FIND 'Test command'
LOG FIND TEST +100

A FIND target cannot be longer than 72 characters.

Mar 2009 530.20 Fix INVALID SESSION NUMBER with RESTRICT

On later releases of MCP 52.1 and 53.1 ICs, the Metalogic RESTRICT command mechanism caused all operator commands issued from SUPERVISOR sources associated with the ODTSECURITRY usercode to fail with the error 'INVALID SESSION NUMBER NNNN'(where NNNNN is SUPERVISOR's mix number).

These sources include:

- SUPERVISOR window with a TERM USER logged-in to the ODTSECURITY user
- Any commands issued from an active WHEN or DO running with a FOR
modifier set to the ODTSECURITY usercode

This problem is now fixed. Note that only SUPERVISOR installations with a valid ODTCONTROL key may use the RESTRICT implementation.

Feb 2009 530.19 Fix LOG binary search loop

The change applied by DNote 530.18 could, under certain circumstances, have caused any time-filtered LOG command to enter a processor loop. This problem has been resolved.

Feb 2009 530.18 Speed up Metalogic log file searches

Using date and time filters with the LOG command to search Metalogic log files is now performed significantly faster than earlier releases. MAGUS uses specific user-defined disk attributes in each file to provide information about the date and time range of the log; this allows MAGUS to rapidly identify the starting log.

The maximum total number of log reads for any filtered search has been increased from 15,000 to 20,000 records.

Jan 2009 530.17 Support METALOG context

This changes supports the new SUPERVISOR METALOG context described in SUPERVISOR DNote 531.21. The maximum number of lines occupied by a Metalogic log entry has been increased from 9 lines to 15; other enhancements log record handling s will be forthcoming.

Jan 2009 530.16 Support for SUPERVISOR SL context

This change supports the LIBRARYMIXLIST attribute in the new SL context recently implemented by Supervisor change 531.20.

Jan 2009 530.15 Support Record and CaseLess Find

Adds support for caseless finds, whole word finds, restricting finds to text fields, and respecting EOF.

Up to 30% less CPU used for small files and case less finds.

Several low probability bugs have been found and fixed.

Dec 2008 530.14 Better Find Err Msg & Minimal Zot

Error messages generated when using the Flex Find option have been improved.

Dec 2008 530.13 Implement Fast Find

Implements FOUNDINFILE Entry point.

Dec 2008 530.12 Fix INVISIBLE WAITS ONLY problem on 53.1

On MCP release 53.189.8271 (53.1 IC 40 or later) or 52.189.8786 (52.1 IC 152 or later), MAGUS will display the following warning message:

INVISIBLE WAITS: ZOTMESSAGE

This problem, which would cause the waiting entry messages generated by JAMPACK during RESERVEs to be deactivated, has now been resolved.

Nov 2008 530.11 MCPCopy for ML_LibMaint

MCPCopy interface for ML_LibMaint.

Jun 2008 530.10 Small Range CheckerBoard and JOBDESC

A CheckerBoard list problem which was likelier with small ranges is now fixed.

Non-open JOBCODE files were sometimes missed. This fix corrects some causes, but there are still indications that others exist.

Jun 2008 530.09 JobCode/Reserve vs Map

JamIt Map and ChkBd requests can now be done while RES is running.

The lower rows of open JOBCODE files are now more reliably identified.

Jun 2008 530.08 Optimize/Fix File Map

Due to fixes for some low probability glitches, JamPack now takes a little more CPU time, but a new optimization has significantly reduced elapsed time.

JamIt now handles larger file map requests, and has a retry bit if it ran over 2**20 row words. It still does not handle more than 6 MB of titles.

If a bad title is detected it returns a title of ">> Bad Title <<".

May 2008 530.07 Don't show graphics characters in logging reads

Previously, any logging command would have generated garbled screen output if any of the presented lines had embedded graphics characters such as 48"0C" (HOME). This behaviour has been corrected.

May 2008 530.06 CheckerBoard and JamPack fixes

The JamIt entry point now support the CheckerBoard request in JamPack.

The analysis of the areas now takes account of some small changes that have come about in the last few MCP releases, making the JamPack more effective.

The patch also fixes some low probability errors in handling FILEKIND JOBDESCFILE and large segmented headers.

Jan 2008 530.05 Fix SEG ARRAY with FIND and long pattern

If a pattern greater than 255 characters was specified with any logging FIND command, the calling process would fault with a STRING PROTECT at 28150650. This problem has been fixed.

The FIND command has been modified to allow dates to be specified without the requirement for a year component; if not present, the current year will be used.

Dec 2007 530.04 Create JSON Pack Space Map

Internal change.

Dec 2007 530.03 Internal change

Source code changes to use new INCLUDE/META

Nov 2007 530.02 General logging fixes and implement BACK/FOR

Various formatting modifications to the Metalogic logging mechanism have been applied presenting heading information more clearly. The keywords BACK and FOR have been implemented to provide an easier way to assign date and time ranges for the log search caller. Please see SUPERVISOR DNote 521.41 for more details.

This facility applies to all LOG commands for MAIL, TP and the forthcoming SUPERVISOR LOG command interface.

Nov 2007 530.01 Compatibility update for MCP 53.1 Field Test

This change provides initial support for MCP 53.1 which is currently only available as a Field Test version. In particular, a problem on MCP 53.1 emerged where the SUPERVISOR RESTRICT command was incorrectly restricting the wrong ODT command has now been fixed.

Oct 2007 520.28 Support for Flex FIND:-TOUCH

Adds a support function (AnnulFile) to FIND:-TOUCH in Flex Inquiry

Oct 2007 520.27 SubKindList

Add symbolic types to PDSubKindList.

Sep 2007 520.26 UnitDevice

Internal Change.

Sep 2007 520.25 Fix expired DBCONTROL restore capability

Previously, attempts to run DBCONTROL when its licence key was missing or had expired were permitted to allow restoration of DMSII database parameters that had been altered from earlier runs. Unfortunately, this mechanism did not work correctly if there was no valid Supervisor or TRIM key present, causing each DBCONTROL restore run to repeatedly fail with an INVALID OPERATOR @ 57560000 fault. This problem is now fixed, no Metalogic licence keys need to be present for restores to take place.

Sep 2007 520.24 LOG command extension

Any simple LOG command will now only return a single screen response for all variants; previously, LOG would unconditionally return up to 500 lines of output. The original behaviour can be restored by using the '+' within the command text. The '+' modifier will also accept an optional line count value to allow the user to specify the number of response lines.

Aug 2007 520.23 Correct full log handling

The change described by DNote 520.21 for logging control caused the release of full MAILLIB or TRIM log files to be mishandled. When a full log was detected, MAGUS would fail to both release the current log and open a new file. Further, warning messages would be written to the open log each time subsequent log entries were created. The problem, which could be detoured by a manual LC CLOSE command, has now been fixed.

When the system-wide option SYS_USDATES is set to TRUE, all dates in Metalogic LOG files will now be written in MM/DD/YYY format. Previously, any log time/date headers would have always been presented in DD/MM/YYYY format.

Aug 2007 520.22 NFTCopy ForgetCheck

On 5.2 MCP LMGuts creates instack arrays and only deallocates them at the end of the procedure. If CopyWrite was DSED while calling NFTCopy which calls LMGuts, those arrays were not deallocated and a FORGETCHECK Dump resulted. Now, the call of NFTCopy is protected from being DSED.

Jul 2007 520.21 Implement log INSUFFICIENT SPACE error handling

The logging facilities currently used by MAILLIB and TRIM will now automatically handle log writes that hit a SECTORS REQUIRED condition. Previously, this would cause the caller to wait indefinitely until the problem was resolved.

Now, if a log write fails because of disk space problems, the caller will issue a waiting entry e.g. 'FILE MAILLIB LOG: INSUFFICIENT SPACE ON LOGFAM' but will continue processing normally. Any messages that cannot be written in these circumstances will be discarded until the problem has been resolved.

By default, records from the *current* log only are now returned to the caller instead of a maximum of 500 records from multiple log files. This behaviour can be overridden by using the '+' modifier in any LOG command. Please refer to the on-line LOG command help for the relevant software from more information.

Jul 2007 520.20 McTAR,PNG,JPEG,GIF

Recognize a TAR without trailing zero blocks. Recognize PNG, JPEG and GIF files for PDSUBKINDLIST.

Jul 2007 520.19 Fix GRAPHLEAVES rare timing window

A very rare MCP READLOCKTIMEOUT fault could have occurred while DBCONTROL was executing MAGUS code to search for a specific database DMSUPPORT library. This problem is now fixed.

Jul 2007 520.18 No FILEKIND

The PDSUBKINDLIST will now check for embedded file systems irrespective of the FILEKIND attribute.

Jun 2007 520.17 PDSUBKINDLIST

Implementation for PDSUBKINDLIST.

Jun 2007 520.16 Fix for keys when ALT_CONFIG is set

Version 520.10 introduced a bug when installing keys on a system with an alternate config family specified. The keys would work until the config was switched back to the default family. At this time all keys would fail. This porblem has been corrected.

May 2007 520.15 Protect against corrupt config records

In some very rare circumstances a corrupt record in the configurationdata file could cause subsequent keys or variables to be ignored. This change protects against such corrupted records.

The code which could cause this particular corruption has also been corrected.

May 2007 520.14 Support for Supervisor PD context

This change supports the new Supervior PD context.

May 2007 520.13 Eliminate null characters from LOG headings

Previously, the date and time entries in all Metalogic software LOG files would have multiple null characters embedded in the text record. This caused some emulators and programs such as the Unisys EDITOR to show the files as corrupted. This problem is now fixed.

Apr 2007 520.12 Allow PERM variable names greater than 17 chars

SUPERVISOR's SHOW PERM command, implemented by MAGUS DNOte 520.11, will now correctly report permanent variables whose identifiers are longer than 17 characters.

Apr 2007 520.11 Implement new TAPELOG logging

This change supports the new TRIM log file implementation described in TAPELIBUPDATER DNote 520.05 and the SHOW PERM command available in SUPERVISOR.

Apr 2007 520.10 Keep keys for all valid systems in Config

Previously only keys for the system where META/INSTALL was run were stored in the Magus Configuarationdata file. This meant that migrating to another system meant having to run META/INSTALL KEYS, even if the new system was licensed.

This change allows all customer keys to be stored in the config file (normally *METALOGIC/MAGUS/CONFIGURATIONDATA) so that migrating to another system need no extra run of META/INSTALl, as long as the new system is licensed and the files *METALOGIC/MAUGS and *METALOGIC/MAGUS/CONFIGURATIONDATA are moved from the old system.

Apr 2007 520.09 Add CLOSE_METALOG entrypoint

Metalogic applications using the logging factilities in MAGUS will now automatically close the appropriate LOG file when the application is terminated. Previously, each LOG file would remain open while the MAGUS library was active.

Mar 2007 520.08 Return correct CONTROL file info for DBS calls

Previously, on 5.2 DMSII systems, it was possible for SUPERVISOR's DBSHANDLER task to hang on a NO FILE condition on a database CONTROL file when handling a DBS function call or a VDBS context request. This occurred because the CONTROL file family was incorrectly returned to SUPERVISOR by MAGUS when providing the necessary information to allow linkage to the database. This problem is now fixed.

Feb 2007 520.07 Increase record limit for time-based LOG commands

The change described by DNote 520.06 has been modified to increase the number of records returned by any LOG command to 10,000 (instead of 500) but *only* if a date and time range has been assigned to the command. If a LOG command is given with a very wide time range, perhaps covering many MAILLIB logs, the report generation may take some time because of this high limit.

Feb 2007 520.06 Fix LOG FIND lock hang

The MAILLIB LOG FIND command could have caused the caller (e.g. SUPERVISOR) to hang indefinitely after aulting with SEG ARRAY ERROR when handling a very long message entry from the MAILLIB log file. This was caused by incorrect recovery action after the fault was detected and is now resolved.

For any MAIL LOG command, only 500 records satisfying the selection criteria will be returned to the caller. Currently, the LOG command will not process more than 15,000 records in total from any MAILLIB logs; so using date/time ranges and wild-card text searching should be used for older log entries.

Feb 2007 520.05 Support for Metalogic LOG file implementation

This change implements a system-wide logging mechanism for various Metalogic software, initially MAILLIB followed by SUPERVISOR, TRIM and FLEX. A standard MAGUS interface is used to log commands, errors and information messages into log data files. The interface provides a command set allowing log searches by date/time range, wild-card text or category.

At this time, only MAILLIB logging is available but other software referred to above will be incorporated at a later date.

Dec 2006 520.04 Rollback MAGUS change 520.02

The change described by DNote 520.02 has been temporaily backed out until certain incompatibilities with Epsilon systems have been resolved.

Aug 2006 520.03 Internal Change only

Technical Detail

A new exported procedure, HasArchive, returns TRUE is the unit param has an active SYSTEM/ARCHIVE.

All code to support MCP 44.1 and before has been removed.

Jul 2006 520.02 Fix Orphan Code Log Entry

A timing hole when ODTControl was active could cause the MCP to complain about orphan code. This should no longer be possible.

Apr 2006 520.01 Handle 5.2 ACRLIBRARY process for DBS call

On DMSII 52.1, an additional process called <DBNAME>/ACRLIBRARY will be associated with the usual database stack. This process is now responsible for handling the opening and closing of database DBDATA files and NOT the main database stack, as before.

This change caused SUPERVISOR's OPAL DBS function and VDBS context programs to fail because the MAGUS would not be able to find the databases CONTROL file family and therefore be unable to link to the database. In the case of the DBS function, the error message 'UNABLE TO FIND CONTROL FILE INFO' would have been returned.

This problem has been addressed; the MAGUS entrypoint handling Visible database requests will now check if the ACRLIBRARY process is present as well as the DMSUPPORT library.

Apr 2006 510.10 Support for very large DBCONTROL core values

DBCONTROL will now recognise and support very large database memory integrals, in its ALLOWEDCORE tuning and statistics reporting, beyond its previous limit of 268,435,455 (2**28-1). Typically, these values have a maximum value of max integer (2**38-1); however, it should be noted that DBCONTROL can only show a maximum of 12-digit values in the statistics monitor windows.

With this change, it is now not possible to run earlier versions of DBCONTROL against this version of MAGUS; any attempt to do so will cause the calling DBCONTROL subtask to terminate with the error:

DBC/SETUP:MAGUS AND DBCONTROL ARE INCOMPATIBLE
Jan 2006 510.09 Correct system type for CS520s on early 49 MCP

In early versions of MCP 4.9 the system type returned for CS520 systems could have a random character at the end. This would cause metalogic keys to fail. The change detours the MCP bug.

Dec 2005 510.08 Protect critical RSVP checking

This changes fixes a fault in RSVP checking code that was erroneously being used by DBCONTROL in one specific operational situation where multiple waiting entries were active. This was seen as multiple DBCONTROL messages:

DBCONTROL: FAULTED IN GETSTATUS RSVP HANDLING

The faulting procedure has been fixed and its incorrect usage has been addressed by DBCONTROL change 510.06.

Aug 2005 510.07 Protect OPAL DBS and VDBS calls from DB Reorganisation

This change allows SUPERVISOR access to database stacks that are undergoing database reorganisations, enabling the SUPERVISOR Opal functions DBS and VDBS to be correctly handled. Previously, attempts to access databases during reorganisation would have failed with 'UNABLE TO LINK TO DMSUPPORT'.

Aug 2005 510.06 Support for standalone MAILLIB implementation

This change supports the implementation of the Metalogic MAILLIB library as a standalone product without the previous constraint that SUPERVISOR should be installed.

Jul 2005 510.05 PROTECT AGAINST NUL IN SYSTEM TYPE

In some versions of 4.9 MCP system types shorter that 6 characters (CS520) were null filled. This would invalidate key checking. This version of magus converts such badly formed system types to valid ones.

Apr 2005 510.04 SUPPORT OVERLAY RATES AS REAL VALUES IN DBCONTROL

This change us to support DBControl using real, instead of integer, values for system and database overlay rates.

Apr 2005 510.03 CONVERTHDR

Add ConvertDiskFileHeader to convert Version 2 and older Headers, which the MCP ConvertHeader function does not handle.

Feb 2005 510.02 GET GETSTR OR VARIABLE INTERROGATION

When interrogating Perm or Config variables it was possible for there to be old data beyond the end of file marker. If no other entry existed for a particular variable the old value was returned.

Ex. After $S.Perm:="X" $S.Perm would correctly return "X" but
After $S.perm:=Empty $S.Perm could in some cases return an invalid
value.

Feb 2005 510.01 FIX STACKLIMITS FOR MCP 5.1

This changes updates MAGUS to confirm MCP 5.1 (10.0) compatibility. The SUPERVISOR OPAL attribute INUSESTACKS will now work correctly on this MCP and later.

Jan 2005 500.10 DEALLOCATESB

Internal change.

Dec 2004 500.09 CHECK FOR OTHER RESERVES WHEN JAMPACK RUNS

Previously, JAMPACK did not check to see if RESERVEDDISK or SQUASH was already running in parallel against the same disk family. In such cases, it was possible for JAMPACK to fault with DIVIDE BY ZERO at 34038000 when processing the directory whilst a RESERVE was in progress or for JAMPACKs own RESERVE calls to fail with SYNTAX with an ALREADY RUNNING error generated by MCP.

Now, prior to processing a disk directory, JAMPACK will detect if a SQUASH or RESERVE is already active on the family and JAMPACK will gracefully terminate with the error message:

JAMPACK: RESERVE OR SQUASH IS ALREADY RUNNING ON <FAMILYNAME>

It should be noted that it is always undesirable for an ODT SQUASH or RESERVE command to be issued whilst JAMPACK is processing the same family.

Nov 2004 500.08 FIX INVALID OP IN DBCONTROL

Version 500.06 introduced a bug which could cause DBControl to fault if a task linked to a database has a stack number of 137.

Nov 2004 500.07 SUPPORT FOR DL JOBS CHECKING

This change supports DL JOB family determination

Oct 2004 500.06 SUPPORT FOR FI ATTRIBUTES

Internal Metalogic change supporting the new FI attributes

Oct 2004 500.05 SUPPORT META/INSTALL 500.07

TThis change support the changes made in META/INSTALL version 500.07

Sep 2004 500.04 SUPPORT INUSESTACKS AND MAXACTUALSTACKS ATTRIBUTES

This change supports the new SUPERVISOR attributes INUSESTACKS and MAXACTUALSTACKS,

Jul 2004 500.03 FIX POSSIBLE PROBLEM WHEN DELETING KEYS

When more than 9 sets of keys have accumulated in the Configurationdata file, the Install program offers an option to remove some. This process could corrupt the config file if a permanent variable had been stored where the length of the variable name plus the length of the data stored was 76 or 77 characters plus any multiple of 80. i.e. 76,77,156,157 etc.

The contents of the config file after such a variable would have been deleted.

This problem has been corrected.

May 2004 500.02 SENDTOLOG

CopyWrite logs Volume Directory Add records when sending a Tape Label Notice, for Tape Library recovery by LogReader.

Feb 2004 500.01 UPDATE FOR MCP 5.0

Updates Magus to confirm MCP 5.0 compatibility

Nov 2003 490.06 BIGCONFIG

A CONFIGURATIONDATA file with a large number of permanent variables caused a RESIZE fault during MAGUS initialization.

Nov 2003 490.05 TARGET

A WFL Copy statement which has TARGET > 0 Label Equated is sent to CopyWrite.

Oct 2003 490.04 SUPPORT FOR FLEX CONTAINER ATTRIBUTE

This patch supports the implementation of the Flex attribute CONTAINER

Sep 2003 490.03 REMOVE DEBUG CODE

Some debug code was left in the patch for 490.02. This code has been removed.

Sep 2003 490.02 ALLOW FOR CHANGE IN STYLE FOR CS7801

From MCP 49.1 CS7801 system are reported as CS180. This magus change will allow all users on CS7801 systems to move to MCP 49 without needing to get new keys.

Aug 2003 490.01 UPDATE FOR MCP 49.1

JAMPACK has now been updated for MCP 49.1 to relax the warning messages seen on earlier MCP versions.

Jul 2003 480.24 STARTERJACKET

Support for Starting Jobs.

Mar 2003 480.23 FIX FINDDMSUPPORT CONTROL FILE HANDLING

This patch addresses a problem using the fast DMSUPPORT handling introduced in 480.22, specifically in locating database CONTROL files.

This problem, which would have caused the Opal DBS function to fail in certain circumstances, has been fixed.

Feb 2003 480.22 FAST DMSUPPORT SEARCHING

This patch supports a new mechanism of fast searching for active DMSUPPORT libraries to be used by DBCONTROL and the new Opal DBS function.

Feb 2003 480.21 FIX DBCONTROL RSVP CHECKING

Previously, DBCONTROL may have given dumps by FAULTED IN GETSTATUS RSVP HANDLING during its checks on WORDS REQUIRED waiting entries. This behaviour, which occurred during memory shortages or jobs being scheduled by the MCP, has now been fixed.

Feb 2003 480.20 PROTECT II JOBDATA CALLS FROM ERRONEOUS MIXNUMBERS

Previously, from a SUPERVISOR OPAL program, if an integer larger than the current system mix limit (as set by the MAX MIXNUMBER operator command) was passed to the TASK or TASKSTR reference attribute, the OPAL would fault with an INVALID INDEX. The MAGUS entrypoints used by SUPERVISOR for this type of call are now protected.

Jan 2003 480.19 PROTECT AGAINST FAULT WHEN STORING LARGE OPAL VARIABLES

Magus could occasionally fault when a storing a large (>10000 characters) string into a permanent variable. This problem has been corrected.

Dec 2002 480.18 SUPPORT BUFFERS GREATER THAN 256

Previously, during DBCONTROL termination, DBCONTROL was not correctly restoring BUFFERS settings for databases that had system buffers specified greater than 256. Since the current limit is 262142 on MCP 48.1, this behaviour has been fixed and DBCONTROL will now restore all original BUFFER settings.

Nov 2002 480.17 GETHEADER

Support for CopyWrite to retrieve a Disk File Header.

Oct 2002 480.16 FTP ATT ERR

Avoid an Attribute Error on IPADDRESS and DOMAINNAME during an FTP when CopyWrite is installed.

Sep 2002 480.15 FIX FOR INVALID INDEX FAULT

Version 480.14 introduced a bug which could cause jampack to fault with an 'invalid index' on some families. This fault has been corrected.

Aug 2002 480.14 HANDLE PRE-46 SYSTEM DIRECTORIES

The change described in Dnote 480.10 causes JAMPACK to fail with the error UNREADABLE SYSDIR - CHECK ACCIDENTAL 'MA' if the pack family SYSTEMDIRECTORY had been created prior to MCP 46.1. Typically, such directory files had AREASIZE (row size) of 600 instead of the current settings of 2000 or 4000. The above error message has also been changed to better explain the reason for the JAMPACK abort. This problem is now fixed.

Aug 2002 480.13 ADDRESS MAX STACKS >4095 PROBLEMS 480.1

On certain larger Unisys systems e.g. NX6830s, it has been possible since MCP 47.1 to change the MAX STACKS system setting up to 32767 from the default 4095. Although Metalogic software support the MAX MIX an MAX SESSION implementations, this maximum stack number increase was not handled correctly.

Any increase in MAX STACKS beyond 4095 caused random faults to occur during Magus initialization routines (manifested as INAVLID OP) or, if the Magus library did start ok, then Supervisor was also prone to various INVALID OP faults. For example, Supervisor would fault executing a OPAL DISPLAY statement in a MX_based context; this case could also have led to a non-fatal MCP dump by BAD PCL GET/GIVE lock.

These problems are now resolved.

Jul 2002 480.12 FIX 47 IC 97 FATAL INCOMPATIBILITY

On MCP 47.1 IC 97, MAGUS dies with the following error:

MAGUS: FATAL MCP INCOMPATIBILITY:COMPILERINFO

This problem was caused by unexpected changes to an internal array in the MCP and has now been detoured.

Jul 2002 480.11 FIX CPU LOOP ON MCP 481.42 IC

This patch fixes a problem where MAGUS would enter a CPU loop during initialization code on MCP level 481.42 IC. It is believed that, at this time, only 48.1 MCP codefiles are affected.

Jul 2002 480.10 CORRECTION FOR RUNNING AGAINST VSS2 PACKS

This change supports Jampack when running on VSS2 packs. Previously warnings might be displayed when running on VSS packs.

Two bugs relating to running on the DL JOBDESC family have been fixed. If running on a system with mixnumbers > 9999 it was possible to ignore some inuse jobdesc rows, Occasionally a short block warning was incorrectly displayed.

Jul 2002 480.09 COPYWRITE LINKAGE

If the linkage to the CopyWrite Library fails and the COPY statement has OPTIONS=DEBUG set, then the result of the LINKLIBRARY function is displayed

Feb 2002 480.08 DISPATCHED_LIBMAINT

Due to 4.8 changes in WFLSUPPORT, MAGUS now checks a WFL statement for a HostName of LOCAL, no matter what the protocol, and if found the statement is passed to CopyWrite.

The NFTCOPY and DISPATCHED_LIBMAINT MCP procedures are now linked through MCPSUPPORT. These procedures are passed to CopyWrite via a jacket procedure which determines whether the call is a local or remote file transfer.

Jan 2002 480.07 FIX 48.1 INVALID UNIT MEM DUMPS AND JAMPACK COMPAT

The release of MCP release 48.1A9 caused several problems with Metalogic software. First, any Supervisor TT HO command or certain Flex :FLAT directory searches could cause a non-fatal dump by INVALID UNIT. Both programs would fault with INVALID OP.

Also, on the same MCP release, MAGUS would display the message JAMPACK RESOURCE UNAVAILABLE: STACKSTATUS. This would have affected JAMPACK's ability to suppress job summaries after DS-ing any RESERVEDISKs.

Both of these problems are now resolved.

Dec 2001 480.06 CREATEARCHIVE

Check if an archive is marked as bad before calling OpenArchive.

Dec 2001 480.05 CORRECT HO WITH FAMILY INDEX BEHAVIOUR

If the SUPERVISOR HO command was issued with a family index e.g. TT HO DEV #2, then the Magus entrypoint used for this call would erroneously return many files which had rows on that family index that were not necessarily open. This problem is now resolved.

Oct 2001 480.04 INVALID INDEX FOR CENSOR CHECK IF NOT KEYS

On new systems where a Magus Configurationdata file with no valid licence keys but the config variable LOCUM_CENSOR was present, INSTALL would fail with INVALID INDEX during a KEYS or normal install run. This problem is now fixed.

Oct 2001 480.03 BETTER COPYWRITE DELINKING

The Magus library performs some housekeeping code when the Library is thawed. On MCP 46 and later the time between Magus being thawed and the housekeeping code being executed, has increased significantly. It usually takes as least thirty seconds. The housekeeping procedures have been exported to allow the Install program to speed up this

Aug 2001480.02 DETECT CANDE MCS FOR CENSOR WHEN NETWORK ACTIVE

On certain MCP levels at sites where ODTCONTROL and Locum's CENSOR product were installed, MAGUS could fail to determine the CANDE MCS number if CENSOR-ODTCONTROL linkage was activated during system startup by an AI program. It is believed that by the time MAGUS checked for CANDE's MCS number, the MCP's internal MCS tables were not established.

This behaviour caused a recurrence of the problems described in Dnote 460.16. Now, MAGUS will only determine if the CANDE MCS number exists once a command from a valid MCS is processed.

Aug 2001 480.01 FIRST CHANGES FOR MCP 4.8 (HMP 7)

This change extends magus to be able to run on MCP 4.8. It accommodates changes in the MCP Jobdatavector, MCP Bindinfo and Flat directory structure

Jun 2001 470.12 MAGUS EOJ DURING CENSOR LINKAGE

On fast systems running the Locum CENSOR product and ODTCONTROL, it was possible for MAGUS to terminate prematurely before CENSOR had linked correctly. Now, MAGUS will ensure that the LINKER task remains active and linked while CENSOR is active

Jun 2001 470.11 SENDTOMCS

A CopyWrite COPY&CATALOG or COPY&BACKUP failed if Flex keys were not installed. CopyWrite provides Tape Library information to Supervisor for COPY&BACKUP and remote COPY&CATALOG

Mar 2001 470.10 OPENARCHIVE

Create a volume Archive if not present, for CopyWrite COPY&CATALOG to Disk Farms.

Mar 2001 470.09 IMPLEMENT MAIL PRODUCT

This patch provides implementation support for the new Metalogic Mail Library product, MAILLIB

Jan 2001 470.08 PRE46COPYWRITE

Compilation option for COPYWRITE on systems earlier than 4.6

Jan 2001 470.07 ALLOW MESSAGE LOGGING FOR ALL SOFTWARE

The message logging interface implemented in 470.03 was only operating correctly on systems with a valid ODTCONTROL license key. This restriction has now been lifted

Jan 2001 470.06 DECLARE_MCS CALLED BY PRINTSMITH/LIBRARY TASK

Allow PrintSmith to once again declare itself an MCS.

Nov 2000 470.05 FIX CENSOR LOCKING

Code to protect against simultaneous access to MAGUS-CENSOR entrypoints was accidentally deleted in earlier changes to support CENSOR on MCP 47.1.

This problem has been corrected.

Oct 2000 470.04 ODTCONTROL SECURITY ERROR DURING CENSOR LINK

Previously, it was possible for MAGUS to generate an internal SECURITY ERROR failure when Locum's CENSOR library attempted to use Metalogic's ODTCONTROL interface.

This problem, which was introduced by patch 470.02, occurred on systems where ODTCONTROL was the only installed Metalogic product.

Oct 2000 470.03 IMPLEMENT MESSAGE LOGGING

The MAGUS library now supports an entrypoint, available to Metalogic software, which permits the logging of display messages to the SUMLOG without generating an output message to the system. It is anticipated that Supervisor, TRIM and the new MAIL library will use this interface.

Sep 2000 470.02 47.1 UPDATES FOR CENSOR

This patch allows MAGUS to properly support ODTCONTROL/CENSOR environments on MCP 47.1.

Aug 2000 470.01 SUPPORT FOR MCP 4.7

This version is required if running on MCPs 4.7 or later. Versions of Flex/Library, Supervisor and DBControl less than 470.01 are not compatible with this Magus.

Jul 2000 460.16 ALWAYS DERESTRICT CANDE CONTROL COMMANDS

In an ODTCONTROL-CENSOR environment, if mix commands such as AX, HI, ST or DS were not automatically enabled by CENSOR for all users, then any such commands originating from a CANDE station would be restricted. This meant that such CANDE users would be unable to interact with their own jobs and tasks.

This problem has now been resolved.

Jul 2000 460.15 BURN

The MCP function BURN_CDR and access to CDR file attributes are now provided to CopyWrite, which will attempt to burn a CD image when CDCOPIES is greater than zero.

Jul 2000 460.14 CHECKCALLER

MAGUS access to some of the CopyWrite entrypoints is restricted to the CopyWrite service. CopyWrite is now marked as a service by MP +SERVICE COPYWRITE.

Jul 2000 460.13 BADASD

When a new version of MAGUS was installed, and a CopyWrite COPY job had been initiated by the previous MAGUS, a dump by BAD ASD could occur. The old MAGUS will now remain in the mix until all CopyWrite COPY jobs have been completed. The CopyWrite utility command STATUS reports the number of active CopyWrite jobs.

Jun 2000 460.12 JAMPACK SUPPORT FOR VSS2DISK

Previously, JAMPACK would not correctly search Unisys VSS2 disk packs because the SYSTEMDIRECTORY file has different blocking specifications on these families.

This problem, which caused JAMPACK to fail, is now fixed.

Jun 2000 460.11 SUPPORT FOR LX100 SYSTEMS

MAGUS now correctly supports licence keys on Unisys LX100 systems.

Jun 2000 460.10 SUPPORT FOR 5-DIGIT MIX NUMBERS

MAGUS now supports the Unisys MORETASKS implementation allowing the provision of mixnumbers up to 65535. This is achieved by setting the system options MORETASKS (OP+MORETASKS), halt-loading and changing the MAX command. In particular, MAGUS supports this implementation in both SUPERVISOR and DBCONTROL.

Jun 2000 460.09 ADD IOCW TO WAITIO

Prevent memory dump due to the addition in 4.6 of an IOCW parameter to WAITIO, which is used when reading a hybrid CD partition from a mounted CD.

Mar 2000 460.08 COPYWRITE NFT

Add support for the COPYWRITE Native File Transfer feature. On the originating host, MAGUS checks the COPYWRITEPROTOCOL configuration variable to determine whether to intercept a COPY, and calls COPYWRITE. On the destination host, MAGUS provides an environment for COPYWRITE.

Mar 2000 460.07 BAD DATE KEYS PROBLEM

A problem where MAGUS could display a BAD DATE warning during key validation at initialization time has been fixed. This only occurred if MAGUS was forced to restart on more than once on the same day and did not affect customers with permanent licences.

Oct 1999 460.06 46 ODTCONTROL LOG ENTRIES

MAGUS will now correctly write LOG SETSTATUS entries into the SUMLOG on 4.6 MCP when ODTCONTROL restricted commands are rejected. This allows Supervisor OPERATOR context WHENs to track or filter the usage of such restricted commands

Oct 1999 460.05 FIX FOR IC 45.1A.188 (45.189.8774)

Earlier versions of Magus were incompatible with the 45 versions of MCP from IC 45.1A.188. Jampack would fail with an invalid operator and sometimes cause a FileHandler memory dump.

Sep 1999 460.04 MAGUS LINKER TIMING PROBLEM

On systems where only ODTCONTROL was installed, it was possible for MAGUS to terminate prematurely during a CENSOR installation because of a timing window.

This problem is now fixed; the MAGUS/LINKER task will remain active during an installation of CENSOR.

Aug 1999 460.03 FIX CENSOR SESSION USERCODE HANDLING

Previously, it was possible for MAGUS to fault when returning security information to the CENSOR library.

This problem is now fixed.

Aug 1999 460.02 JAM ON PACKS > 2**24 SEGS

JAMPACK can now handle pack units with up to 2**32 segments, which is the SSR 45.1 MCP limit. The memory usage of JAMPACK will be somewhat larger due to this change, but the CPU consumption should normally be slightly less.

Some problems with JAMPACK running on SSR 46.1 have been fixed and the MAGUS Version message will now correctly give the compiling system serial number. Some code to avoid bugs in MCP 3.9.0 has been dropped. MAGUS is once again less than 10000 cards.

Aug 1999 460.01 CENSOR INTERFACE ENHANCEMENTS

This patch applies some minor enhancements to the ODTCONTROL-CENSOR interface which have been made to improve operability.

Aug 1999 450.12 FIX NEW CONFIG PROBLEMS

If METALOGIC software was being installed for the first time i.e. no CONFIGURATIONDATA file was present, MAGUS would display a series of uninformative and confusing messages when first linked by INSTALL. Further, INSTALL would not be informed that the CONFIG file was not present which would change the behaviour of the first installation.

These problems have been fixed.

Jul 1999 450.11 46.1 FIELD TEST COMPATIBILITY

This patch resolves several problems with the Flex suite and Jampack products when run on 46.143 Field Test MCP.

These problems have now been fixed.

May 1999 450.10 INTEGRATE LOCUM CENSOR WITH ODTCONTROL

The MAGUS library now has optional support for Locum's CENSOR product, allowing CENSOR much greater range of control of ODT commands from MARC, ODTs and DCKEYIN programs. Previously, CENSOR would only handle command validation from MARC.

The site must have valid software licence keys for both CENSOR and ODTCONTROL. Locum's SIMPLEINSTALL utility will control whether MAGUS will be activated to provide the additional security. Once active, both SIMPLEINSTALL and Metalogic's own INSTALL utility will automatically handle new software installations.

If SUPERVISOR is also running on the system, once CENSOR security has been triggered, SUPERVISOR's normal RESTRICT mechanism will be disabled until CENSOR support is subsequently deactivated. So, during upgrades or unavailability of CENSOR, SUPERVISOR's own RESTRICT mechanism can be used as backup control.

With regard to ODTCONTROL-only support, MAGUS will now allow commands that have been input from DCKEYIN or SETSTATUS programs and MARC sessions that are active under the ODTSECURITY usercode (as defined by SUPERVISOR's TT USE USER... FOR ODTSECURITY). Previously, only commands issued from SUPERVISOR COMS Windows sessions, with TERM USER set to the ODTSECURITY usercode, would have this capability.

Please contact either Locum or Metalogic for more information.

Mar 1999 450.09 ALLOW COMPILERTARGET RESTRICT

ODTCONTROL can now correctly RESTRICT the commands COMPILERTARGET, DO and SECOPT.

Jan 1999 450.08 INCLUDE 45 ODT COMMANDS:FAMA & SHARE

ODTCONTROL can now RESTRICT the 45.1 ODT commands FAMA & SHARE.

Jan 1999 450.07 UPDATE FOR COPYWRITE

This patch supports significant changes to the Metalogic COPYWRITE product; no other products are affected.

Jan 1999 450.06 FIX ODTCONTROL ON 432

On 432 MCP the Supervisor ODTSECURITY Usercode would not allow input of 'Restricted' commands.

This has now been corrected.