Dear SCO Customer, Support Level Supplement (SLS) PTF7034A, the Year 2000 Supplement for UnixWare 7.0.0 and 7.0.1, provides the following fixes and features: 1. CMOS RAM byte 0x32 (or 0x37 on PS/2) is defined to hold the century (as binary coded decimal). UNIX does not use that byte, and has not maintained it in the past, but a few machines have a BIOS that does make use it. On such a machine, changing the year from 19YY to 20YY (or the reverse) under UNIX, then running System Setup, DOS or Windows on reboot, can cause the system date to be reset incorrectly. The UNIX Real Time Clock (MC146818) driver in this SLS maintains the CMOS century byte consistent with the year, in order to avoid such problems as much as possible; some such problems may reside in the machine's BIOS itself. 2. For compatibility with System Setup, DOS or Windows, UNIX maintains the Real Time Clock in local time, so it must be adjusted when entering or leaving Daylight Savings Time. If you arbitrarily set your system date forward or backward (as you might when testing Year 2000 issues), into or out of Daylight Savings Time, then /stand/boot TZ_OFFSET may lose sync with the date. This causes the hour to advance or go back each time UNIX is rebooted. The dst_sync program in this SLS keeps /stand/boot TZ_OFFSET, and the kernel's difference between UNIX system time and Real Time Clock, in sync with the local time according to /etc/TIMEZONE TZ. It is run at startup and shutdown, and by daily cron(1M) job. The at(1) job is no longer used. /usr/lib/dstime/dst_sync could also be run by a privileged user to synchronize it after changing the date or Time Zone, but the daily cron job or shutdown script will soon make the necessary correction automatically. 3. at(1) permitted the date "Feb 29" only when the current year was a leap year, regardless of the year for the at(1) job itself. At one point, it did not treat the year 2000 as a leap year, scheduling jobs for Mar 1, 2000 to Dec 31, 2000 a day early. But neither of these errors occurred when using the "-t time" syntax, nor when using the environment variable DATEMSK (typically DATEMSK=/etc/datemsk) to parse the date. 4. Accounting programs acctcms(1M), acctcon(1M) and acctcon1, acctprc(1M) and acctprc1, divide time spent into prime time and non-prime time (off-hours or holiday), according to entries inserted by the administrator in /etc/acct/holidays. Year 2000 was accepted, but years 2001 onward were rejected. The daily "LAST LOGIN" report could never advance from a 99-MM-DD login to a 00-MM-DD login, fixed and sorted. However, 00-00-00 accounts that never logged in are now omitted. 5. NetWare server's Directory Services Repair program which showed year 20YY as 1YY, now shows YY. NetWare UNIX client's NetWare_Access program which showed login year 20YY as 191YY, now shows 20YY. 6. lp/model banners, and sv .437 locales, showed year 20YY as 19YY. lp/model scripts all have a regular expression fix from the standard interface script. 7. ftp(1tcp) "newer" ignored "modtime" century, and often misjudged whether is was actually newer. ftp(1tcp) "newer" and "modtime" now allow for an uncorrected ftpd(1Mtcp) modtime response, correcting its 191YY to 20YY. 8. uustat(1bnu) -t processed /var/uucp/.Admin/perflog times as if year 99 came after year 00. It now recognizes year 99 as being before year 00. 9. auditrpt(1M) -s and -h rejected time YY 00-69, where it now rejects 38-69. auditrpt(1M) incorrectly warned of mismatch between log and map files. 10. prs(1) -d:Dy: showed delta year 20YY as 1YY. It now shows it as YY. 11. sar(1M) header line showed year 20YY as 1YY. It now shows it as YY. 12. clock(1tcl) scan interpreted YY 00-68 as 19YY. It now interprets it as 20YY. 13. mailx(1) interpreted mail header YY 00-69 as 19YY. It now interprets it as 20YY. 14. pine(1) inserted an extra 1 into the message identifier in year 20YY, and miscalculated leap years in several places. 15. A date-parsing function in mail's c-client library rejected YY 00, causing imap SEARCH commands SENTBEFORE, SENTON and SENTSINCE to fail. Four other fixes to mail's c-client library, and the several mail programs built from it, were also included in this SLS to correct these problems: a possibility of buffer overflow; two POSIX2 testsuite failures; and mailbox not opening if the string Sun, Mon, Tue, Wed, Thu, Fri or Sat occurred in the user's name or address on a "From " line. Contents -------- /etc/conf/pack.d/psm_mc146818/Driver.o /etc/imapd /etc/init.d/dstsync /etc/mail/slocal /etc/popper /etc/rc0.d/K10dstsync /etc/rc1.d/S10dstsync /etc/rc2.d/S10dstsync /etc/security/audit/auditrpt/auditrptv1 /etc/security/audit/auditrpt/auditrptv4 /usr/X/bin/NetWare_Access /usr/bin/at /usr/bin/ftp /usr/bin/mailcheck /usr/bin/mailx /usr/bin/mfck /usr/bin/pine /usr/bin/uustat /usr/ccs/bin/prs /usr/lib/acct/acctcms /usr/lib/acct/acctcon /usr/lib/acct/acctcon1 /usr/lib/acct/acctprc /usr/lib/acct/acctprc1 /usr/lib/acct/lastlogin /usr/lib/dstime/dst_sync /usr/lib/libc-client.a /usr/lib/libc-client.so /usr/lib/libnds.so /usr/lib/libtcl7.6.a /usr/lib/libtcl7.6.so /usr/lib/locale/sv_FI.437/LC_MESSAGES/Xopen_info /usr/lib/locale/sv_FI.437/LC_TIME /usr/lib/locale/sv_SE.437/LC_MESSAGES/Xopen_info /usr/lib/locale/sv_SE.437/LC_TIME /usr/lib/lp/model/B2.banntrail /usr/lib/lp/model/PS /usr/lib/lp/model/PS-j /usr/lib/lp/model/dosmodel /usr/lib/lp/model/standard /usr/sbin/dsrepair /usr/sbin/sar /usr/src/uts/psm/toolkits/psm_mc146818/psm_mc146818.c SLS PTF7034A addresses these SCO problem tracking numbers: 500598 500615 500721 500752 500762 500824 500825 500858 710349 710477 710656 ul96-07901 ul97-17605 ul97-30203 ul97-33703 ul98-01623 ul98-02601 ul98-08612 ul98-11103 ul98-14113 ul98-18014 ul98-25001 ul98-25120 ul98-25202 ul98-27802 ul98-28008 ul98-29504 ul98-29507 ul98-29508 ul98-32121 ul98-32124 ul98-32203 ul99-00613 ul99-01927 ul99-02516 ul99-03306 Software Notes and Recommendations ---------------------------------- SLS PTF7034A should only be installed on: UnixWare 7.0.0 with the Release Supplement (uw7rs) applied UnixWare 7.0.1 SLS PTF7034A patches several packages, including: audit base cmds inet jale lp ls merge nuc nwsrvr psk tcldev tclrun uccs A fix is only installed from SLS PTF7034A if that file is already installed on the system. A fix is not installed from PTF7034A if another SLS has already provided that fix to a file. If any of the packages listed above, or update701, is installed on UnixWare 7 after PTF7034A, then PTF7034A must be reinstalled. If any of the packages listed above is installed on UnixWare 7.0.1 after PTF7034A, update701 and then PTF7034A must be reinstalled. UnixWare 7 shows a further Year 2000 problem, not fixed by PTF7034A, where digital clock widget /usr/X/bin/dclock displays the year incorrectly. The fix to this xcontrib problem will be available at a later date. Installation Instructions ------------------------- 1. Download the ptf7034a.Z file to the /tmp directory on your machine. 2. As root, uncompress the file and add the SLS package to your system using these commands: $ su Password: # uncompress /tmp/ptf7034a.Z # pkgadd -d /tmp/ptf7034a # rm /tmp/ptf7034a 3. Reboot the system after installing this SLS package. The release notes displayed prior to installation can be found in: /var/sadm/pkg/ptf7034/install/ptf7034.txt Removal Instructions -------------------- 1. As root, remove the SLS package using these commands: $ su Password: # pkgrm ptf7034 2. Reboot the system after removing this SLS package. If you have questions regarding this SLS, or the product on which it is installed, please contact your software supplier.