Patch Name: PHNE_28762 Patch Description: s700_800 11.11 bootpd(1M)/DHCP, tftp(1) and tftpd(1M) patch Creation Date: 04/05/05 Post Date: 04/07/20 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: InternetSrvcs.INETSVCS-BOOT,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP InternetSrvcs.INET-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHNE_28762: MEMORY_LEAK ABORT Category Tags: defect_repair general_release critical halts_system memory_leak Path Name: /hp-ux_patches/s700_800/11.X/PHNE_28762 Symptoms: PHNE_28762: 1) CR JAGad39835 / SR 8606170571 : The dhcpclient does not start when the number of physical and virtual LAN interfaces is greater than 36. 2) CR JAGad52870 / SR 8606183657 : bootpd dumps core with signal 11 when a DHCP client sends a duplicate request for lease. 3) CR JAGad97772 / SR 8606228718 : Under certain circumstances, bootpd dumps core with signal 11 during a dynamic DNS update. 4) CR JAGae16142 / SR 8606249756 : bootpd does not relay the request for group relay entries using the hardware address mask. 5) CR JAGae30333 / SR 8606266080 : bootpd dumps core with signal 11 under certain circumstances. 6) CR JAGae49090 / SR 8606285149 : The T176 option in the /etc/dhcptab file is limited to 61 characters of data. 7) CR JAGae49874 / SR 8606285933 : bootpd leaks memory for every processed packet. 8) CR JAGae50734 / SR 8606286795 : bootpd releases the declined IP address. 9) CR JAGae71679 / SR 8606308645 : bootpd leaks memory during DHCPOFFER. 10) CR JAGae73843 / SR 8606310985 : PXE clients fail to boot up when they receive the class identifier option (Option 60) from the DHCP server. 11) CR JAGaf07529 / SR 8606346705: During DHCP discovery, the bootpd server does not send the configured lease value to the client but sends an infinite lease value in its OFFER packet. 12) CR JAGad25107 / SR 8606155794 : tftpd does not function properly in a service guard environment. 13) CR JAGae60488 / SR 8606296939: Under certain circumstances, tftpd can cause performance problem. 14) CR JAGae80695 / SR 8606318163 : tftpd exits under certain circumstances. Defect Description: PHNE_28762: 1) CR JAGad39835 / SR 8606170571 : Description: The static buffer size of the dhcpclient is 15 KB and it can accommodate interface details of only 36 LAN interfaces. Therefore, the interface list is truncated when the number of LAN interfaces exceeds 36. The dhcpclient exits when it does not find a specified LAN interface in the interface list. Resolution: The dynamically allocated buffer is now used to store the interface details when the static buffer size of 15 KB is not sufficient. 2) CR JAGad52870 / SR 8606183657 : Description: When a DHCP client sends a duplicate request for lease, bootpd tries to insert the duplicate entry in the internal hash table. When bootpd fails to insert the duplicate entry, it wrongly tries to free the static structure instead of the dynamically allocated structure, and dumps core with signal 11. Resolution: bootpd now frees the dynamically allocated structure instead of the static structure. 3) CR JAGad97772 / SR 8606228718 : Description: During a dynamic DNS update, bootpd uses an incorrect pointer and dumps core with signal 11. Resolution: bootpd now handles dynamic DNS updates properly. 4) CR JAGae16142 / SR 8606249756 : Description: bootpd attempts to store the hardware address mask in an improper variable type which results in overflow of the hardware address mask and improper functioning of bootpd. Resolution: bootpd now parses and stores the hardware address mask properly. 5) CR JAGae30333 / SR 8606266080 : Description: bootpd dumps core with signal 11 under certain circumstances. Resolution: bootpd code has been modified to fix the problem. 6) CR JAGae49090 / SR 8606285149 : Description: bootpd limits the T176 option in the /etc/dhcptab file to 61 characters of data. Resolution: The T176 option can now contain 255 characters of data. 7) CR JAGae49874 / SR 8606285933 : Description: bootpd dynamically allocates memory for certain fields in the host information structure. But, the memory is not freed after the host information is processed. Resolution: bootpd now frees the dynamically allocated memory for individual fields, after processing the host information. 8) CR JAGae50734 / SR 8606286795 : Description: bootpd releases declined leases under certain circumstances. Resolution: Code has been modified to rectify the problem. 9) CR JAGae71679 / SR 8606308645 : Description: During DHCPOFFER, bootpd dynamically allocates memory for the hostname but does not free the memory after processing the hostname. Resolution: bootpd now frees the dynamically allocated memory for the hostname. 10) CR JAGae73843 / SR 8606310985 : Description: When a PXE client receives a class identifier option from the DHCP server, the PXE client tries to boot up using the Proxy DHCP server. In absence of an appropriate Proxy DHCP server, the PXE client fails to boot up. Resolution: A configuration option 'ncid' is now available in the /etc/dhcptab file that instructs bootpd to drop the class identifier option in the reply message. This helps PXE clients to boot up using the normal DHCP server instead of the Proxy DHCP server. 11) CR JAGaf07529 / SR 8606346705: Defect Description: The bootp server does not properly initialize the lease time with the configured lease value before sending the OFFER packet to the client. Resolution: The bootp server code has been modified to properly initialize the lease time with the configured lease value before sending the OFFER packet to the client. 12) CR JAGad25107 / SR 8606155794 : Description: When a request is sent to an alias IP address in a Service-Guard environment, tftpd replies with the primary IP address in the source IP address field. Certain tftp clients reject such a reply. Resolution: A new option "-s" has been added to enable tftpd to function properly in service guard environment. However, inetd.sec feature may not work properly when Service-Guard fix is enabled using "-s" option. 13) CR JAGae60488 / SR 8606296939: Description: Under certain circumstances, tftpd can cause performance problems. Resolution: The tftpd performance problem has now been rectified. 14) CR JAGae80695 / SR 8606318163 : Description: tftpd exits under certain circumstances. Resolution: tftpd now functions properly. Enhancement: No SR: 8606170571 8606183657 8606228718 8606249756 8606266080 8606285149 8606285933 8606286795 8606308645 8606310985 8606346705 8606155794 8606296939 8606318163 Patch Files: InternetSrvcs.INETSVCS-BOOT,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: /usr/lbin/bootpd /usr/lbin/dhcpclient /usr/sbin/dhcptools /usr/lib/libdhcp.1 /usr/newconfig/etc/dhcptab /usr/lbin/tftpd InternetSrvcs.INET-ENG-A-MAN,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: /usr/share/man/man1m.Z/bootpd.1m /usr/share/man/man1m.Z/tftpd.1m what(1) Output: InternetSrvcs.INETSVCS-BOOT,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: /usr/lbin/bootpd: bootpd 2.4 PHNE_28762 : Mon Apr 30 05:52:48 GMT 2004 Copyright (c) 1995-7 by Hewlett-Packard Copyright (c) 1988 by Carnegie Mellon /usr/lbin/dhcpclient: $Revision: PHNE_28762 Fri Nov 28 11:57:08 IST 2003 $ /usr/sbin/dhcptools: $Revision: PHNE_28762 Fri Nov 28 11:54:01 IST 2003 $ /usr/lib/libdhcp.1: $Revision: PHNE_28762 Fri Nov 28 11:53:06 IST 2003 $ /usr/newconfig/etc/dhcptab: dhcptab PHNE_28762 $Revision: 1.1.214.2 $ $Date: 03/ 11/25 18:10:50 $ /usr/lbin/tftpd: $Copyright (c) 1983 Regents of the University of Cal ifornia. All rights reserved.$ $Revision: 1.4.214.2 PHNE_28762 $ $Date: 11/25/2003 10:24:15 $ InternetSrvcs.INET-ENG-A-MAN,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: /usr/share/man/man1m.Z/bootpd.1m: None /usr/share/man/man1m.Z/tftpd.1m: None cksum(1) Output: InternetSrvcs.INETSVCS-BOOT,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: 1733892169 188416 /usr/lbin/bootpd 1031202715 90112 /usr/lbin/dhcpclient 1130995305 65536 /usr/sbin/dhcptools 1961568623 73728 /usr/lib/libdhcp.1 4097235581 13247 /usr/newconfig/etc/dhcptab 197528571 36864 /usr/lbin/tftpd InternetSrvcs.INET-ENG-A-MAN,fr=B.11.11, fa=HP-UX_B.11.11_32/64,v=HP: 1939814993 19897 /usr/share/man/man1m.Z/bootpd.1m 699556591 3755 /usr/share/man/man1m.Z/tftpd.1m Patch Conflicts: None Patch Dependencies: s700: 11.11: PHNE_23645 s800: 11.11: PHNE_23645 Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 270 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 PHNE_28762 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_28762.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_28762. 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 PHNE_28762.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_28762.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_28762.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: 1) This patch stops bootpd, but it does not restart after patch installation, since it is usually invoked by inetd. Therefore, if bootpd is running in standalone mode (started manually), customers are advised to manually restart bootpd after the patch installation. 2) As this patch does not stop the dhcpclient, customers are advised to restart dhcpclient manually to activate the patched binary. i. ps -efx | grep dhcpclient ii. Kill dhcpclient. iii. Execute dhcpclient with parameters obtained from step i. 3) To enable the tftpd service guard fix(CR JAGad25107 / SR 8606155794), add the "-s" option to the tftp entry in the "/etc/inetd.conf" file as specified below: tftp dgram udp wait root /usr/lbin/tftpd tftpd -s Then, reconfigure inetd using the "inetd -c" command. The transport patch PHNE_23645 must be installed for proper functioning of the tftpd service guard fix. 4) To enable the fix for JAGae73843 (SR 8606310985), include "ncid" tag under the the desired DHCP_DEVICE_GROUP in /etc/dhcptab configuration file. Note that this tag should be used for PXE clients ONLY. It SHOULD NOT be used for normal DHCP clients.