Patch Name: PHCO_29036 Patch Description: s700_800 11.11 cumulative patch for syslogd(1M) Creation Date: 03/10/26 Post Date: 03/11/06 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair enhancement general_release manual_dependencies Path Name: /hp-ux_patches/s700_800/11.X/PHCO_29036 Symptoms: PHCO_29036: ( SR:8606304604 CR:JAGae67946 ) If Domain Name Server(DNS) is down, syslogd(1M) blocks for a short period while logging a remote message. PHCO_28248: ( SR:8606286432 CR:JAGae50371 ) syslogd(1M) sometimes not logging the duplicate messages in correct sequence. ( SR:8606298153 CR:JAGae61653 ) When syslogd daemon is started using /sbin/init.d/syslogd script, it is killing all the processes that has the string "syslogd" in its name. PHCO_27772: ( SR:8606271716 CR:JAGae35908 ) syslogd(1M) is splitting the kernel messages in some conditions during logging. PHCO_27663: ( SR:8606271716 CR:JAGae35908 ) syslogd(1M) is splitting the kernel messages while logging. PHCO_26522: ( SR:8606241692 CR:JAGae08950 ) PHCO_23413 breaks syslogd's -a option. ( SR:8606241693 CR:JAGae08951 ) syslogd -v option introduced in PHCO_23413 is not documented. PHCO_24287: ( SR:8606200197 CR:JAGad69381 ) syslogd(1M) to support IPv6. PHCO_23413: ( SR:8606165810 CR:JAGad35101 ) syslogd(1M) does not provide an option to log priority and facility information. ( SR:8606135842 CR:JAGad04974 ) syslogd does not support Unix domain socket on /dev/log.un. Defect Description: PHCO_29036: ( SR:8606304604 CR:JAGae67946 ) While logging a remote message, syslogd(1M) attempts to resolve the remote hostname. If DNS is down, it is unable to resolve it and timeouts after a short period. Resolution: A new option '-s' is provided with syslogd(1M), to disable the remote hostname resolution and instead log the IP address for the remote messages. PHCO_28248: ( SR:8606286432 CR:JAGae50371 ) syslogd(1M) sometimes not logging the duplicate message in correct sequence. This was happening because the recency flag associated with the buffer, that stores the messages were not updated correctly. Resolution: Recency flag associated with each buffer has been updated correctly so that duplicate messages will get logged in correct sequence. ( SR:8606298153 CR:JAGae61653 ) /sbin/init.d/syslogd script is killing all the processes with the string "syslogd" in its name. Steps to reproduce the problem : $ cat abcsyslogdxyz #!/usr/bin/ksh while : do sleep 20 done $ chmod +x abcsyslogdxyz $ { ./abcsyslogdxyz & } 1>/dev/null 2>&1 $ ps PID TTY TIME COMMAND 2177 pts/1 0:00 sleep 1993 pts/1 0:00 ksh 1991 pts/1 0:00 rlogind 2176 pts/1 0:00 abcsyslogdxyz 2178 pts/1 0:00 ps $ /sbin/init.d/syslogd start System message logger started $ ps PID TTY TIME COMMAND 1993 pts/1 0:00 ksh 2209 pts/1 0:00 ps 1991 pts/1 0:00 rlogind In the above case we see that the process "abcsyslogdxyz" is also killed by /sbin/init.d/syslogd script. This is happening because the script uses "~" in awk(1) for comparing the process name with "syslogd". This will match any process which has the string "syslogd" in its name. Resolution: /sbin/init.d/syslogd script has been corrected so that it kills only the processes with the name exactly matching "syslogd". PHCO_27772: ( SR:8606271716 CR:JAGae35908 ) syslogd(1M) is splitting the kernel messages into separate messages. This happens when command buffer reading a chunk from kernel log and this chunk is having incomplete last message. Example from the log file(/var/adm/syslog/syslog.log) ... LINE1>May 3 04:30:29 whale vmunix: Testing syslogd problem. LINE2>May 3 04:30:29 whale vmunix: Testing sys LINE3>May 3 04:30:30 whale vmunix: logd problem. LINE4>May 3 04:30:30 whale vmunix: [7][0] HELLO!! ... In the above example the message "Testing syslogd problem." has been split to two lines i.e LINE2 and LINE3. This is happening because syslogd(1M) is not checking whether the message is complete or not before logging them. Resolution: syslogd(1M) has been modified to check for the completeness of the message before logging them. If the message is not complete then it will not log the message immediately, instead it will wait for the message from the next read of /dev/klog to get the complete message and then log's it. PHCO_27663: ( SR:8606271716 CR:JAGae35908 ) syslogd(1M) is sometimes splitting the kernel messages into multiple line while logging the message to the log file. Example from the log file(/var/adm/syslog/syslog.log) ... LINE1>May 3 04:30:29 whale vmunix: Testing syslogd problem. LINE2>May 3 04:30:29 whale vmunix: Testing sys LINE3>May 3 04:30:30 whale vmunix: logd problem. LINE4>May 3 04:30:30 whale vmunix: [7][0] HELLO!! ... In the above example the message "Testing syslogd problem." has been split to two lines i.e LINE2 and LINE3. This is happening because syslogd(1M) is not checking whether the message is complete or not before logging them. Resolution: syslogd(1M) has been modified to check for the completeness of the message before logging them. If the message is not complete then it will not log the message immediately, instead it will wait for the message from the next read of /dev/klog to get the complete message and then log's it. PHCO_26522: ( SR:8606241692 CR:JAGae08950 ) PHCO_23413 breaks syslogd's -a option. With PHCO_23413 installed, syslogd(1M) expects an argument when invoked with '-a' option and if no argument is specified, exits with usage message. e.g : Before installation of PHCO_23413: ------------------------------------------------- # /usr/sbin/syslogd -D -a # ------------------------------------------------- After installation of PHCO_23413: -------------------------------------------------- # /usr/sbin/syslogd -D -a /usr/sbin/syslogd: option requires an argument --a usage: syslogd [-a] [-d] [-D] [-m markinterval] [-p path] [-f conffile] [-r] [-N] -------------------------------------------------- Resolution: The optstring passed to getopt(3C) is corrected so that it does not expect an argument with '-a' option. ( SR:8606241693 CR:JAGae08951 ) syslogd -v option introduced in PHCO_23413 is not documented. e.g : ----------------------------------------------- # /usr/sbin/syslogd junk usage: syslogd [-a] [-d] [-D] [-m markinterval] [-p path] [-f conffile] [-r] [-N] ----------------------------------------------- Resolution: The code is modified to show the -v option in its usage message. Also the man-page has been modified to reflect the same. PHCO_24287: ( SR:8606200197 CR:JAGad69381 ) Syslogd only supports IPv4. Resolution: Code changes are done to support IPv6. PHCO_23413: ( SR:8606165810 CR:JAGad35101 ) syslog(3C) API supports "Priority and Facility" information. But syslogd(1M) does not support logging of "Priority and Facility" information in the specified log file. Resolution: Now, we are providing this facility to syslogd(1M) without disturbing the existing behavior. Introduced "-v" option to support the priority and facility information. This is not mandatory. Only interested users can log "Priority and Facility" along with syslogd message. By default, "Priority and Facility" will not be logged with syslogd message. ( SR:8606135842 CR:JAGad04974 ) syslogd(1M) does not support Unix domain sockets on /dev/log.un. Resolution: Code is changed to support Unix domain sockets on /dev/log.un. Enhancement: No (superseded patches contained enhancements) PHCO_27772: Enhancements were delivered in a patch this one has superseded. Please review the Defect Description text for more information. SR: 8606135842 8606165810 8606200197 8606241692 8606241693 8606271716 8606286432 8606298153 8606304604 Patch Files: OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /usr/share/man/man1m.Z/syslogd.1m OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /sbin/init.d/syslogd /usr/newconfig/etc/rc.config.d/syslogd /usr/sbin/syslogd what(1) Output: OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: /usr/share/man/man1m.Z/syslogd.1m: None OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /sbin/init.d/syslogd: syslogd $Date: 2003/03/07 08:51:17 $Revision: r11.11 /5 PATCH_11.11 (PHCO_28248) /usr/newconfig/etc/rc.config.d/syslogd: syslogd $Date: 2002/07/30 03:11:20 $Revision: r11.11 /3 PATCH_11.11 (PHCO_26522) /usr/sbin/syslogd: syslogd.c $Date: 2003/10/20 00:14:41 $Revision: r11. 11/14 PATCH_11.11 (PHCO_29036) $Revision: @(#) syslogd R11.11_BL2003_1026_1 PATCH_1 1.11 PHCO_29036 Sun Oct 26 23:13:34 PST 2003 $ Copyright (c) 1983 Regents of the University of Cali fornia. cksum(1) Output: OS-Core.CORE-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64, v=HP: 2257784042 4364 /usr/share/man/man1m.Z/syslogd.1m OS-Core.UX-CORE,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 1634900185 3047 /sbin/init.d/syslogd 1816807078 492 /usr/newconfig/etc/rc.config.d/syslogd 3470737190 32768 /usr/sbin/syslogd Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: For additional information about priority and facility as described in 8606165810 please refer to syslog(3C) man page which is available in libc manpage patch : PHCO_23251. Supersedes: PHCO_28248 PHCO_27772 PHCO_27663 PHCO_26522 PHCO_24287 PHCO_23413 Equivalent Patches: None Patch Package Size: 90 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHCO_29036 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_29036.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_29036. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHCO_29036.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_29036.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_29036.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None