Spacer http://macenterprise.org MacResource.org - Mac OS X enterprise deployment project Spacer
Site Map Contact Us Top Background
 
Search
 
 
10.4.9 Client Extended Knowledgebase Article E-mail
Written by Philip Rinehart   
Thursday, 15 March 2007
Hot off the presses, here is the 10.4.9 Extended Knowledgebase article.

Download Information

Direct Download URL: 10.4.9 (Intel), 10.4.9 (PowerPC)
DMG Name: MacOSXUpd10.4.9Intel.dmg, MacOSXUpd10.4.9PPC.dmg
DMG Size: 163.9M (Intel), 74.7M (PowerPC)
SHA1 Hash: 80ce586b1f5640bd2fc191354013890b8f0c47dd (Intel), 380b0db5c8978a025cfc9b19e46845a51608d5be (PowerPC)
Release date: March 13, 2007

Installer Package Details

Intel

Distribution package: Yes
Distribution Filename: MacOSXUpd10.4.9Intel.dist
Size: 163.9 MB
Creation Date: March 8, 2007

PowerPC

Distribution package: Yes
Distribution Filename: MacOSXUpd10.4.8PPC.dist
Size: 74.7 MB
Creation Date: March 7, 2007

Apple Knowledgebase Info

This information is provided by Apple in Knowledgebase article 304821, Security information is in Knowledgebase article305214

The following improvements apply to both Intel- and PowerPC-based Macs unless otherwise noted:

.Mac

  • Improves automatic iDisk syncing for customers whose .Mac username contains a period (.).
  • Improves overall .Mac Sync performance.
  • Addresses an issue with automatic and periodic syncing as set in the .Mac System Preferences panel.
  • Reduces .Mac Sync timeouts when syncing large data sets.
  • Prevents large amounts of Address Book data from being changed without authorization.
  • Addresses an issue which could result in properly unregistering a computer.
  • Addresses issues related to syncing a large number of changes to .Mac
  • Prevents third-party syncing applications from presenting an extraneous initial sync alert.

Bluetooth

  • Addresses a wake-from-sleep issue for Kensington PilotMouse Mini Bluetooth devices when used with a MacBook.
  • Resolves issues in which Bluetooth-based devices might not respond after sleep on some computers.

iChat, iCal, and iSync

  • Resolves an issue in which iCal reminders may appear off to the side of the screen.
  • Resolves an issues in which some events added to particular dates may not display correctly.
  • Event notes are now synced between iCal and Nokia N70 phones.
  • Adds iSync support for more devices.
  • Includes iChat support for USB Video Class webcams.
Networking and modem
  • Addresses a permissions issue when copying a file with extended attributes from an AFP share of an Xsan volume, via the Finder.
  • Resolves an issue when using kerberos authentication with Active Directory if the user is a member of many groups.
  • Resolves performance issues with Intel-based iMacs that could occur when determining high-speed network switches.
  • Improves reliability when faxing in France or Belgium via an external Apple USB Modem.
  • Adds support for WPA2 encryption in Network Diagnostics.
  • Addresses an issue with automatic AirPort connections that use different authentication methods.
  • Addresses an issue in which Network Preferences may unexpectedly quit after disconnecting a network-aware USB device while Network Preferences is open.
  • Addresses an issue with iMac's maintaining manual duplex settings.
  • Internal Apple modem drivers now offer the same robustness as external Apple modem drivers.
  • External USB modems now report DLE-d for busy tone detection.
  • Adds modem support for Russia.
  • Fax receiving now works when the country code is set to France.
  • Resolves an issue with dialing a modem in pulse mode to an ISP.
  • Resolves an issue in the Open dialog when browsing AFP volumes within applications using Rosetta.
  • Resolves a printing issue that could occur with applications using Rosetta, while logged in as Active Directory User that has an SMB home directory.
Printing
  • Resolves a printing issue with applications using Rosetta while logged in as an Active Directory User with SMB home directory.
  • Resolves an issue in which temporary files might use excessive disk space when printing to some third-party printers.


Aperture

For information on the benefits this update includes for Aperture, see this article.


Third-party

  • Resolves issues for these third-party applications that use Rosetta: LEGO StarWars, Adobe InDesign, H&R Block TaxCut, Big Business' Big Business 5.1.0.
  • Resolves an issue in which Adobe Arno Pro Italics fonts might not install in Font Book.
  • Resolves an issue for Microsoft Word in which OpenType Fonts may not display correctly; this update also addresses OpenType font issues using Word 2004.

 Other

  • Improves the reliability of OpenGL-accelerated graphics in Blizzard's World of Warcraft.
  • Improves the reliability of OpenGL-based applications on Mac Pro computer with Nvidia graphics cards.
  • Includes updated security certificates.
  • Includes the Daylight Savings Time Update (released February 15, 2007) which contains the latest worldwide time zone and Daylight Saving Time (DST) rules as of January 8, 2007.
  • Resolves a toggling issue when zooming using the Command-Alt-8 key combination (Universal Access).
  • Resolves an issue in which some USB printers may stop printing in Classic.
  • Addresses an issue in Classic in which an iMac G5's built-in iSight camera might stop responding.
  • Improves validation of disk images.
  • Includes improved support for USB devices in Classic.
  • Improves support for files with ".ac3", ".m2v", and ".m4v" filename extensions.
  • Improves performance when transferring from a P2 USB reader in the Finder.
  • Resolves an issue in which DVD player might not play a track that's longer than 3 hours.
  • Addresses a display issue that could occur in X11.app running in 256-color mode on an Intel-based Mac.
  • Addresses EAP-FAST in PAC mode issue in a TLS session.
  • Addresses an issue in which incorrect encoding could be used for the files created by the “New Text File” Automator action on Intel-based Macs.
  • Includes recent Apple security updates.

Additional installation scripts

There are numerous scripts which updated various bits of functionality both before and after the installation takes place.

Preflight scripts

servicesfix_pre

Services fix. This shell script checks for enabled services, and records them to the temporary installation directory.

#!/bin/sh 

# 4665091

cd "$3/System/Library/LaunchDaemons"
ls | sed 's,\.plist$,,g' | while read
do
if [ -e "$3/System/Library/LaunchDaemons/${REPLY}.plist" ] ; then
var=`defaults read "$3/System/Library/LaunchDaemons/${REPLY}" Disabled 2>/dev/null`
if [ $? != 0 ] || [ "$var" == "0" ] ; then
/usr/bin/touch "${INSTALLER_TEMP}/${REPLY}.enabled"
fi
fi
done

createPatchToolSymLink

This creates a symbolic link to the patch tool

#!/bin/sh
# 4115067

TARG="$3"

if [ ! -e "$TARG/usr/bin/bspatch_apple" ] ; then
echo "restoring bspatch_apple symlink"
cd "$TARG/usr/bin"
/bin/ln -s bspatch bspatch_apple
fi

removeBrokenFontBook.sh

This script removes font book if the InfoPlist.strings file does not exist.
#!/bin/sh
if [ -e "$3/Applications/Font Book.app" ] && [ ! -e "$3/Applications/Font Book.app/Contents/Resources/English.lproj/InfoPlist.strings" ]; then
/bin/rm -rf "$3/Applications/Font Book.app"
fi
exit

createDNISymlink

This script creates a temporary directory to prevent installation
	#!/bin/sh
if [ -e "$3/var/run/DoNotInstall" ]; then
/bin/rm -f "$3/var/run/DoNotInstall"
fi
if [ "${INSTALLER_TEMP}" = "" ]; then
echo "Temporary directory not ready."
exit
fi
TEMPDIR=`/usr/bin/mktemp -d "${INSTALLER_TEMP}/DoNotInstall.XXXXXX"`
if [ $? = 0 ]; then
/bin/ln -s "${TEMPDIR}" "$3/var/run/DoNotInstall"
fi

prebindFix

This script only exists in the Intel version of the update. translate (Rosetta) needs to be prebound before update.

#!/bin/sh
# 4421824

# flush cache if installing to startup volume
if [ "$3" = "/" ]; then
/usr/libexec/oah/translate -prebindOAH
fi

Postflight scripts

servicefix_Post

This script re-enables any changed services.

#!/bin/bash 

# 4665091

cd "$3/System/Library/LaunchDaemons"
ls | sed 's,\.plist$,,g' | while read
do
if [ -e "${INSTALLER_TEMP}/${REPLY}.enabled" ] ; then
var=`defaults read "$3/System/Library/LaunchDaemons/${REPLY}" Disabled 2>/dev/null`
if [ "$var" == "1" ] ; then
"$1/Contents/Resources/PlistBuddy" -c "Delete Disabled" "$3/System/Library/LaunchDaemons/${REPLY}.plist"
fi
fi
done

tweakperms

This file only exists in the PowerPC update, it does not exist on the Intel update.

#!/bin/sh
# 4125468, 4125467, 4525305

/bin/chmod 755 "$3/System/Library/Caches"
/bin/chmod 755 "$3/Library/Widgets"

exit 0

activateEFI

reblesses the boot.efi file for system boot (Intel only)

#!/bin/sh
# 4428916

if [ -f "$3/usr/standalone/i386/boot.efi" ]; then
/usr/sbin/bless --folder "$3/System/Library/CoreServices" --bootinfo --bootefi
fi

hidefiles

rehides mach.sym if needed (Intel only)

#!/usr/bin/perl
# 4107497

system($ARGV[0] . "/Contents/Resources/SetFile","-a","V",$ARGV[2] . "/mach_kernel");

exit(0);

touchCoreTypes.sh

This script simply touches the CoreTypes bundle,
	#!/bin/sh
# 4724022
/usr/bin/touch "$3/System/Library/CoreServices/CoreTypes.bundle"

destroyDNISymlink

Destroys the do not install symbolic link created in preinstallation
#!/bin/sh
if [ -e "$3/var/run/DoNotInstall" ]; then
rm -f "$3/var/run/DoNotInstall"
fi

disable-samba-spinlocks

This script appears in both updates, stopping any service on the client, and finally updating the tdb databases.
	#! /bin/bash
TARGET=$3
LAUNCHCTL=/bin/launchctl
SERVERADMIN=/usr/sbin/serveradmin
GREP=/usr/bin/grep
XXD=/usr/bin/xxd
KILLALL=/usr/bin/killall
if [ "$TARGET" = "" ]; then
echo \$TARGET must be set
exit 1
fi
# If we are not installing to /, we don't need to suspend any services, but
# we still might have to fix up the TDB files.
if [ "$TARGET" != "/" ]; then
KILLALL=true
LAUNCHCTL=true
SERVERADMIN=true
else
if [ -x $SERVERADMIN ]; then
# On Server, the "smb" service handles both smbd and nmbd
SERVICES=smb
else
# On Desktop, we need separate service name for every launchd task
SERVICES="smbd nmbd swat"
fi
fi
RUNNING=""
stop_service()
{
service=$1
if [ -x $SERVERADMIN ]; then
$SERVERADMIN stop $service
else
$LAUNCHCTL stop org.samba.$service
$LAUNCHCTL unload /System/Library/LaunchDaemons/$service.plist
fi
}
start_service()
{
service=$1
if [ -x $SERVERADMIN ]; then
$SERVERADMIN start $1
else
$LAUNCHCTL load /System/Library/LaunchDaemons/$service.plist
fi
}
running_service()
{
service=$1
if [ -x $SERVERADMIN ]; then
# serveradmin output for a running process is
# smb:state = "RUNNING"
state=$(
$SERVERADMIN status $1 | \
perl -ne "/$service:state = \"(.+)\"/ && print \"\$1\n\";"
)
[[ "$state" = "RUNNING" ]]
else
# WARNING: The grep will hang unless launchctl is run as root.
$LAUNCHCTL list | $GREP -q org.samba.$service
fi
}
if [ "$TARGET" == "/" ]; then
for s in $SERVICES ; do
if running_service $s ; then
RUNNING="$RUNNING $s"
fi
done
for s in $RUNNING ; do
stop_service $s
done
# Irrespective of whether the tools said they were running, we need to
# make doubly sure that these processes are stopped.
for pass in 1 2 ; do
$KILLALL -TERM smbd nmbd swat
sleep 1
done
fi
find "$TARGET/var/db/samba" "$TARGET/var/samba" -name \*.tdb | while read tdb ; do
echo '0000028: 0000 0000' | $XXD -r - "$tdb"
done
if [ "$TARGET" == "/" ]; then
for s in $RUNNING ; do
start_service $s
done
fi

buildKeychains

This script rebuilds the system keychain if needed, including a reimport of X509 anchors.
	#!/bin/sh
# 4522269, 4137717, 4319347
# must be run chrooted to the target disk
DEVMOUNT_CALLED=0
SECURITYD_LAUNCHED=0
if [ "$3" != "/" ]; then
/sbin/mount_devfs devfs /dev
DEVMOUNT_CALLED=1
fi
if [ `/bin/ps auxww |/usr/bin/grep securityd |/usr/bin/grep -v grep | wc -l` == 0 ]; then
/usr/sbin/securityd -X
SECURITYD_LAUNCHED=1
fi
if [ ! -f /Library/Keychains/System.keychain ]; then
if [ ! -d /Library/Keychains ]; then
/bin/mkdir -p /Library/Keychains
/usr/sbin/chown root:admin /Library/Keychains
/bin/chmod 755 /Library/Keychains
fi
sleep 2 # give SecurityServer a chance to come up
/usr/sbin/systemkeychain -C
fi
if [ ! -f "/System/Library/Keychains/X509Anchors" ]; then
"/usr/bin/security" create-keychain -p X509Anchors "/System/Library/Keychains/X509Anchors"
fi
if [ ! -f "/System/Library/Keychains/X509Certificates" ]; then
"/usr/bin/security" create-keychain -p X509Certificates "/System/Library/Keychains/X509Certificates"
fi
if [ -d "/System/Library/Keychains/Anchors" ]; then
cd "/System/Library/Keychains/Anchors/"
"/usr/bin/security" add-certificate -k "/System/Library/Keychains/X509Anchors" *
/bin/rm -rf "/System/Library/Keychains/Anchors"
fi
if [ -d "/System/Library/Keychains/Certificates" ]; then
cd "/System/Library/Keychains/Certificates/"
"/usr/bin/security" add-certificate -k "/System/Library/Keychains/X509Certificates" *
/bin/rm -rf "/System/Library/Keychains/Certificates"
fi
if [ $SECURITYD_LAUNCHED -eq 1 ]; then
for SECURITY_PID in `/bin/ps auxww |/usr/bin/grep securityd |/usr/bin/grep -v grep|/usr/bin/awk '{print $2;}'`
do
/bin/kill $SECURITY_PID >/dev/null 2>&1
done>&
if [ $DEVMOUNT_CALLED -eq 1 ]; then
/sbin/umount /dev
fi

removeTransDaemon.sh

Remarkably, the daemon for running Rosetta appears to no longer be needed, as this shell script removes the translated daemon completely. (Intel only)
#!/bin/sh
# 4892533
if [ -e "$3/etc/mach_init.d/translated.plist" ]; then
/bin/rm -rf "$3/etc/mach_init.d/translated.plist"
fi
if [ -e "$3/usr/libexec/oah/translated" ]; then
/bin/rm -rf "$3/usr/libexec/oah/translated"
fi

fixSSHcfgs.pl

This script edits many of the settings in the standard ssh configuration, adding and changing many values. In particular it adds many options relating to the use of GSSAPI with ssh, adds logging by default, with a level of AUTHPRIV. Additionally, it adds many examples (most commented out), which can be uncommented, or used as templates for configuration of either ssh configuration file.
	#!/usr/bin/perl
my $TARGET = "$ARGV[2]";
my $SSH_FILE1 = "$TARGET/etc/ssh_config";
my $SSH_FILE2 = "$TARGET/etc/sshd_config";
my $TMP_FILE1 = "$ENV{'INSTALLER_TEMP'}/ssh_config";
my $TMP_FILE2 = "$ENV{'INSTALLER_TEMP'}/sshd_config";
open(AUTHFILE, "< $SSH_FILE1");
while( ) {
if( m/Tunnel\s+no/ ) {
$p1Exists = 1;
}
if( m/TunnelDevice\s+any:any/ ) {
$p2Exists = 1;
}
if( m/PermitLocalCommand\s+no/ ) {
$p3Exists = 1;
}
if( m/GSSAPIAuthentication/i ) {
$gs1Exists = 1;
}
if( m/GSSAPIDelegateCredentials/i ) {
$gs2Exists = 1;
}
if( m/GSSAPIKeyExchange/i ) {
$gs3Exists = 1;
}
if( m/GSSAPITrustDNS/i ) {
$gs4Exists = 1;
}
}
close (AUTHFILE);
open (AUTHFILE, "< $SSH_FILE1");
open(OUTFILE, "> $TMP_FILE1");
$doneBlock = 0;
$doneGS = 0;
while ( ) {
if (!$doneBlock && m/EscapeChar/i ) {
print OUTFILE $_;
if (!$p1Exists) {
print OUTFILE "# Tunnel no\n";
}
if (!$p2Exists) {
print OUTFILE "# TunnelDevice any:any\n";
}
if (!$p3Exists) {
print OUTFILE "# PermitLocalCommand no\n";
}
$doneBlock = 1;
}
elsif (!$doneGS && m/GSSAPIAuthentication/i ) {
print OUTFILE $_;
if (!$gs2Exists) {
print OUTFILE "# GSSAPIDelegateCredentials no\n";
}
if (!$gs3Exists) {
print OUTFILE "# GSSAPIKeyExchange yes\n";
}
if (!$gs4Exists) {
print OUTFILE "# GSSAPITrustDNS no\n";
}
$doneGS = 1;
}
elsif (!$doneGS && m/GSSAPIDelegateCredentials/i ) {
print OUTFILE $_;
if (!$gs1Exists) {
print OUTFILE "# GSSAPIAuthentication yes\n";
}
if (!$gs3Exists) {
print OUTFILE "# GSSAPIKeyExchange yes\n";
}
if (!$gs4Exists) {
print OUTFILE "# GSSAPITrustDNS no\n";
}
$doneGS = 1;
}
elsif (!$doneGS && m/GSSAPIKeyExchange/i ) {
print OUTFILE $_;
if (!$gs1Exists) {
print OUTFILE "# GSSAPIAuthentication yes\n";
}
if (!$gs2Exists) {
print OUTFILE "# GSSAPIDelegateCredentials no\n";
}
if (!$gs4Exists) {
print OUTFILE "# GSSAPITrustDNS no\n";
}
$doneGS = 1;
}
elsif (!$doneGS && m/GSSAPITrustDNS/i ) {
print OUTFILE $_;
if (!$gs1Exists) {
print OUTFILE "# GSSAPIAuthentication yes\n";
}
if (!$gs2Exists) {
print OUTFILE "# GSSAPIDelegateCredentials no\n";
}
if (!$gs3Exists) {
print OUTFILE "# GSSAPIKeyExchange yes\n";
}
$doneGS = 1;
}
elsif (!$doneGS && m/HostbasedAuthentication/i ) {
print OUTFILE $_;
if (!$gs1Exists) {
print OUTFILE "# GSSAPIAuthentication yes\n";
}
if (!$gs2Exists) {
print OUTFILE "# GSSAPIDelegateCredentials no\n";
}
if (!$gs3Exists) {
print OUTFILE "# GSSAPIKeyExchange yes\n";
}
if (!$gs4Exists) {
print OUTFILE "# GSSAPITrustDNS no\n";
}
$doneGS = 1;
}
else {
print OUTFILE $_;
}
}
if (!$doneGS) {
if (!$gs1Exists) {
print OUTFILE "# GSSAPIAuthentication yes\n";
}
if (!$gs2Exists) {
print OUTFILE "# GSSAPIDelegateCredentials no\n";
}
if (!$gs3Exists) {
print OUTFILE "# GSSAPIKeyExchange yes\n";
}
if (!$gs4Exists) {
print OUTFILE "# GSSAPITrustDNS no\n";
}
}
close(OUTFILE);
close(AUTHFILE);
open(AUTHFILE, "< $SSH_FILE2");
while( ) {
if( m/AddressFamily/i ) {
$p4Exists = 1;
}
if( m/\#\s*SyslogFacility\s+AUTH/i ) {
$p5Change = 1;
}
if( m/MaxAuthTries/i ) {
$p6Exists = 1;
}
if( m/\#\s*Compression\s+yes/i ) {
$p7Change = 1;
}
if( m/PermitTunnel/i ) {
$p8Exists = 1;
}
if( m/Example\s+of\s+overriding\s+settings\s+on\s+a\s+per-user\s+basis/i ) {
$p9Exists = 1;
}
if( m/GSSAPIAuthentication/i ) {
$gs5Exists = 1;
}
if( m/GSSAPICleanupCredentials/i ) {
$gs6Exists = 1;
}
if( m/GSSAPIStrictAcceptorCheck/i ) {
$gs7Exists = 1;
}
if( m/GSSAPIKeyExchange/i ) {
$gs8Exists = 1;
}
if( m/GSSAPI\s+options/i ) {
$gsOptExists = 1;
}
}
close (AUTHFILE);
open (AUTHFILE, "< $SSH_FILE2");
open(OUTFILE, "> $TMP_FILE2");
$doneGS = 0;
$done4 = 0;
$done5 = 0;
$done6 = 0;
$done7 = 0;
$done8 = 0;
$done9 = 0;
$gsOptExists = 0;
while ( ) {
if ( !$done4 && (m/Protocol/i)) {
print OUTFILE $_;
if (!$p4Exists) {
print OUTFILE "#AddressFamily any\n";
}
$done4 = 1;
}
elsif (!$done5 && m/SyslogFacility/i ) {
if ($p5Change) {
print OUTFILE "SyslogFacility AUTHPRIV\n";
}
else {
print OUTFILE $_;
}
$done5 = 1;
}
elsif (!$done6 && m/StrictModes/i ) {
print OUTFILE $_;
if (!$p6Exists) {
print OUTFILE "#MaxAuthTries 6\n";
}
$done6 = 1;
}
elsif (!$done7 && m/Compression/i ) {
if ($p7Change) {
print OUTFILE "#Compression delayed\n";
}
else {
print OUTFILE $_;
}
$done7 = 1;
}
elsif (!$done8 && m/MaxStartups/i ) {
print OUTFILE $_;
if (!$p8Exists) {
print OUTFILE "#PermitTunnel no\n";
}
$done8 = 1;
}
elsif ( !$doneGS && (m/GSSAPIAuthentication/i)) {
if (!$gsOptExists) {
print "\n";
print OUTFILE "# GSSAPI options\n";
}
print OUTFILE $_;
if (!$gs6Exists) {
print OUTFILE "#GSSAPICleanupCredentials yes\n";
}
if (!$gs7Exists) {
print OUTFILE "#GSSAPIStrictAcceptorCheck yes\n";
}
if (!$gs8Exists) {
print OUTFILE "#GSSAPIKeyExchange yes\n";
}
$doneGS = 1;
}
elsif ( !$doneGS && (m/GSSAPICleanupCredentials/i)) {
if (!$gsOptExists) {
print "\n";
print OUTFILE "# GSSAPI options\n";
}
print OUTFILE $_;
if (!$gs5Exists) {
print OUTFILE "#GSSAPIAuthentication yes\n";
}
if (!$gs7Exists) {
print OUTFILE "#GSSAPIStrictAcceptorCheck yes\n";
}
if (!$gs8Exists) {
print OUTFILE "#GSSAPIKeyExchange yes\n";
}
$doneGS = 1;
}
elsif ( !$doneGS && (m/GSSAPIStrictAcceptorCheck/i)) {
if (!$gsOptExists) {
print "\n";
print OUTFILE "# GSSAPI options\n";
}
print OUTFILE $_;
if (!$gs5Exists) {
print OUTFILE "#GSSAPIAuthentication yes\n";
}
if (!$gs6Exists) {
print OUTFILE "#GSSAPICleanupCredentials yes\n";
}
if (!$gs8Exists) {
print OUTFILE "#GSSAPIKeyExchange yes\n";
}
$doneGS = 1;
}
elsif ( !$doneGS && (m/GSSAPIKeyExchange/i)) {
if (!$gsOptExists) {
print "\n";
print OUTFILE "# GSSAPI options\n";
}
print OUTFILE $_;
if (!$gs5Exists) {
print OUTFILE "#GSSAPIAuthentication yes\n";
}
if (!$gs6Exists) {
print OUTFILE "#GSSAPICleanupCredentials yes\n";
}
if (!$gs7Exists) {
print OUTFILE "#GSSAPIStrictAcceptorCheck yes\n";
}
$doneGS = 1;
}
elsif ( !$doneGS && (m/KerberosGetAFSToken/i)) {
print OUTFILE $_;
if ((!$gs5Exists || !$gs6Exists || !$gs7Exists || !$gs8Exists) && !$gsOptExists) {
print OUTFILE "\n";
print OUTFILE "# GSSAPI options\n";
}
if (!$gs5Exists) {
print OUTFILE "#GSSAPIAuthentication yes\n";
}
if (!$gs6Exists) {
print OUTFILE "#GSSAPICleanupCredentials yes\n";
}
if (!$gs7Exists) {
print OUTFILE "#GSSAPIStrictAcceptorCheck yes\n";
}
if (!$gs8Exists) {
print OUTFILE "#GSSAPIKeyExchange yes\n";
}
$doneGS = 1;
}
else {
print OUTFILE $_;
}
}
if (!$doneGS) {
if (!$gsOptExists) {
print OUTFILE "# GSSAPI options\n";
}
if (!$gs5Exists) {
print OUTFILE "#GSSAPIAuthentication yes\n";
}
if (!$gs6Exists) {
print OUTFILE "#GSSAPICleanupCredentials yes\n";
}
if (!$gs7Exists) {
print OUTFILE "#GSSAPIStrictAcceptorCheck yes\n";
}
if (!$gs8Exists) {
print OUTFILE "#GSSAPIKeyExchange yes\n";
}
}
if (!$p9Exists) {
print OUTFILE "\n";
print OUTFILE "# Example of overriding settings on a per-user basis\n";
print OUTFILE "#Match User anoncvs\n";
print OUTFILE "# X11Forwarding no\n";
print OUTFILE "# AllowTcpForwarding no\n";
print OUTFILE "# ForceCommand cvs server\n";
}
close(OUTFILE);
close(AUTHFILE);
system("cp -f \"$TMP_FILE1\" \"$SSH_FILE1\"");
system("cp -f \"$TMP_FILE2\" \"$SSH_FILE2\"");
exit(0);

Additional interesting items

RunAtStartup

Typically this command/script is used to install new binaries which cannot be installed while the system is running. Note that the second line replacing the translate daemon (Rosetta), is not included in the PPC update.
	#!/bin/sh
cd /
mv /System/InstallAtStartup/usr/bin/sudo /usr/bin/sudo
mv /System/InstallAtStartup/usr/libexec/oah/translate /usr/libexec/oah/translate
/usr/libexec/oah/translate -installOAH

Analysis

The 10.4.9 client update is smaller PowerPC platforms, and is a larger update for the Intel platform. It applies a wide combination of system and user level updates.

Critical changes include:

Frameworks have seen a large update, including:
ApplicationService
AudioToolBox
Carbon
CoreData
CoreFoundation
CoreServices
CoreVideo
DirectoryService
DiscRecording (Intel)
DiscRecordingUI (Intel)
DVDPlayback
Foundation
FWAUserLib
InstantMessage
IOBluetooth
IOBluetoothUI
Kernel
OpenGL (Intel)
PCSC (Intel)
- Smart Card Reader framework Quartz
QuartzCore
Security
SyncServices
System
WebKit
In this update, only four frameworks are Intel specific, the remaining frameworks are included in both updates.

Private frameworks to receive an update:

AppleVA
ByteRangeLocking
CALCore
DesktopServicesPriv
DiskImages
DMNotification
DotMacLegacy
DotMacSyncManager
EAP8021X
Install
NetworkConfig
PlatformHardwareManagement (Intel)
SoftwareUpdate
SyncServicesUI
VideoConference
Unlike 10.4.8, the private frameworks that are updated are almost identical, except the Platform Hardware Management framework.

A major framework has been updated, the DiskImage framework. On mount, an improved behavior is used, attempting to repair any damaged disk images before mounting. It is documented in Apple knowledge base article, 305111

Some frameworks are also updated specifically to improve Aperture performance. It mostly improves performance by adding more RAW camera support, and improves Core Image for Spot & Patch adjustment. More information is found in Apple knowledgebase article 305121

Font Book, iCal, iChat, iSync, Preview, Bluetooth File Exchange, and ColorSync Utility receive an update in both versions of the update. Activity Monitor and Terminal receive an update in the Intel version of this update only.

Rosetta has been updated, and no longer requires a translated daemon. The associated knowledge base article is a little light on details, but it appears Rosetta performance has yet again been improved, as most applications using Rosetta appear to launch more quickly.

Low level items that include updates are mach_kernel, mach_init plists, and mach_init_per_user.d plists. mach_init plists updates the Apple Type Server (ATSServer), coreservice daemon (coreservicesd), and Online Certificate Status Protocol daemon (ocspd). In the Intel update only, the WindowServer has an updated plist, though it appears to be identical to earlier versions of 10.4. In the per user mach_init folder, only the Network Diagnostics item is updated, though again, it is identical to earlier versions of 10.4

Perl receives minor updates, mainly on the PowerPC side.  The DynaLoader module is updated in both updates, with the Devel, MIME, and Storable modules receiving updates on the PowerPC platform. File updates are more minor in this update, only updating msdos, ntfs and udf Filesystem drivers.

sudo
receives a major update in 10.4.9, to 1.6.8.p12. It was updated to address the following vulnerability Perl scripts run via sudo can be subverted. Additionally, sudo has fallen into line with the rest of the operating system, requiring users to be a member of the local NetInfo administrative group. If Open Directory is part of computer management, see the following post on the Apple OS X Server list: Admin user for managed clients which describes how to use Open Directory and nested groups to grant or revoke administrative access.

A major component of the 10.4.9 release is a myriad of Security updates, some of which appeared as part of the Month of Apple Bugs and Month of Kernel Bugs. Seven bugs are fixed from the month of kernel bugs, 3 from the DiskImages framework, 3 from the Kernel, and 1 from Networking. The Month of Apple Bugs are addressed with a total of 9 bugs receiving fixes. A bug in CoreGraphics, CrashReporter, 3 in DiskImages, HFS, Networking, QuickDraw Manager, Software Update are all addressed. OpenSSH receives a major update, moving from version 3.8 to version 4.5.
asr

receives a minor update, bumped to version 68. There are many, many updates to /sbin, manual pages, as well as host of other low levels items. For complete listings of both the PowerPC version, as well as the Intel version, please check the complete file listings.

rsync


is updated, but it is unclear if it fixes the same issues as listed for 10.4.9 server.

txt 10.4.9 Intel file listing 886.13 Kb

txt 10.4.9 ppc file listing 539.36 Kb

Man page listing

Note: Clicking on a link will open a Terminal window with the manual page for the command
CA.pl.1ssl
asn1parse.1ssl
c2ph
c_rehash.1ssl
ca.1ssl
ciphers.1ssl
cpan
createhomedir
crl.1ssl
crl2pkcs7.1ssl
dgst.1ssl
dhparam.1ssl
dprofpp
drutil
dsa.1ssl
dsaparam.1ssl
dyld
enc.1ssl
enc2xs
errstr.1ssl
find2perl
fsaclctl
gendsa.1ssl
genrsa.1ssl
gunzip
gzcat
gzexe
gzip
h2ph
h2xs
hdiutil
libnetcfg
md2.1ssl
md4.1ssl
md5.1ssl
mdc2.1ssl
mnthome
nseq.1ssl
ocsp.1ssl
openssl.1ssl
openssl_fips_fingerprint
passwd.1ssl
perlbug
perlcc
perlivp
php-config
php
phpize
piconv
pkcs12.1ssl
pkcs7.1ssl
pkcs8.1ssl
pl2pm
pmset
pod2html
pod2latex
pod2man
pod2text
pod2usage
podchecker
podselect
prove
psed
pstruct
rand.1ssl
req.1ssl
ripemd160.1ssl
rsa.1ssl
rsautl.1ssl
s2p
s_client.1ssl
s_server.1ssl
s_time.1ssl
scp
sess_id.1ssl
sftp
sha.1ssl
sha1.1ssl
smime.1ssl
speed.1ssl
spkac.1ssl
splain
ssh-add
ssh-agent
ssh-keygen
ssh-keyscan
ssh
verify.1ssl
version.1ssl
x509.1ssl
xsubpp
zcat
zcmp
zdiff
zegrep
zfgrep
zforce
zgrep
zless
zmore
znew
ASN1_OBJECT_free.3ssl
ASN1_OBJECT_new.3ssl
ASN1_STRING_cmp.3ssl
ASN1_STRING_data.3ssl
ASN1_STRING_dup.3ssl
ASN1_STRING_free.3ssl
ASN1_STRING_length.3ssl
ASN1_STRING_length_set.3ssl
ASN1_STRING_new.3ssl
ASN1_STRING_print_ex.3ssl
ASN1_STRING_print_ex_fp.3ssl
ASN1_STRING_set.3ssl
ASN1_STRING_type.3ssl
ASN1_STRING_type_new.3ssl
BF_cbc_encrypt.3ssl
BF_cfb64_encrypt.3ssl
BF_decrypt.3ssl
BF_ecb_encrypt.3ssl
BF_encrypt.3ssl
BF_ofb64_encrypt.3ssl
BF_options.3ssl
BF_set_key.3ssl
BUF_MEM_free.3ssl
BUF_MEM_grow.3ssl
BUF_MEM_new.3ssl
BUF_strdup.3ssl
CONF_modules_free.3ssl
CONF_modules_load.3ssl
CONF_modules_load_file.3ssl
CONF_modules_unload.3ssl
CRYPTO_destroy_dynlockid.3ssl
CRYPTO_get_ex_data.3ssl
CRYPTO_get_new_dynlockid.3ssl
CRYPTO_lock.3ssl
CRYPTO_num_locks.3ssl
CRYPTO_set_dynlock_create_callback.3ssl
CRYPTO_set_dynlock_destroy_callback.3ssl
CRYPTO_set_dynlock_lock_callback.3ssl
CRYPTO_set_ex_data.3ssl
CRYPTO_set_id_callback.3ssl
CRYPTO_set_locking_callback.3ssl
DES_cbc_cksum.3ssl
DES_cfb64_encrypt.3ssl
DES_cfb_encrypt.3ssl
DES_crypt.3ssl
DES_ecb2_encrypt.3ssl
DES_ecb3_encrypt.3ssl
DES_ecb_encrypt.3ssl
DES_ede2_cbc_encrypt.3ssl
DES_ede2_cfb64_encrypt.3ssl
DES_ede2_ofb64_encrypt.3ssl
DES_ede3_cbc_encrypt.3ssl
DES_ede3_cbcm_encrypt.3ssl
DES_ede3_cfb64_encrypt.3ssl
DES_ede3_ofb64_encrypt.3ssl
DES_enc_read.3ssl
DES_enc_write.3ssl
DES_fcrypt.3ssl
DES_is_weak_key.3ssl
DES_key_sched.3ssl
DES_ncbc_encrypt.3ssl
DES_ofb64_encrypt.3ssl
DES_ofb_encrypt.3ssl
DES_pcbc_encrypt.3ssl
DES_quad_cksum.3ssl
DES_random_key.3ssl
DES_set_key.3ssl
DES_set_key_checked.3ssl
DES_set_key_unchecked.3ssl
DES_set_odd_parity.3ssl
DES_string_to_2keys.3ssl
DES_string_to_key.3ssl
DES_xcbc_encrypt.3ssl
HMAC_Final.3ssl
HMAC_Init.3ssl
HMAC_Update.3ssl
HMAC_cleanup.3ssl
MD2.3ssl
MD2_Final.3ssl
MD2_Init.3ssl
MD2_Update.3ssl
MD4.3ssl
MD4_Final.3ssl
MD4_Init.3ssl
MD4_Update.3ssl
MD5_Final.3ssl
MD5_Init.3ssl
MD5_Update.3ssl
MDC2_Final.3ssl
MDC2_Init.3ssl
MDC2_Update.3ssl
NSModule
NSObjectFileImage
NSObjectFileImage_priv
OBJ_cleanup.3ssl
OBJ_cmp.3ssl
OBJ_create.3ssl
OBJ_dup.3ssl
OBJ_ln2nid.3ssl
OBJ_nid2ln.3ssl
OBJ_nid2obj.3ssl
OBJ_nid2sn.3ssl
OBJ_obj2nid.3ssl
OBJ_obj2txt.3ssl
OBJ_sn2nid.3ssl
OBJ_txt2nid.3ssl
OBJ_txt2obj.3ssl
OPENSSL_VERSION_NUMBER.3ssl
OPENSSL_config.3ssl
OPENSSL_load_builtin_modules.3ssl
OPENSSL_no_config.3ssl
OSAtomicAdd32
OSAtomicAdd64
OSAtomicAnd32
OSAtomicCompareAndSwap32
OSAtomicCompareAndSwap64
OSAtomicDecrement32
OSAtomicDecrement64
OSAtomicIncrement32
OSAtomicIncrement64
OSAtomicOr32
OSAtomicTestAndClear
OSAtomicTestAndSet
OSAtomicXor32
OSMemoryBarrier
OSSpinLockLock
OSSpinLockTry
OSSpinLockUnlock
OpenSSL_add_all_algorithms.3ssl
OpenSSL_add_all_ciphers.3ssl
OpenSSL_add_all_digests.3ssl
PKCS12_create.3ssl
PKCS12_parse.3ssl
PKCS7_decrypt.3ssl
PKCS7_encrypt.3ssl
PKCS7_sign.3ssl
PKCS7_verify.3ssl
RC4_set_key.3ssl
RIPEMD160.3ssl
RIPEMD160_Final.3ssl
RIPEMD160_Init.3ssl
RIPEMD160_Update.3ssl
SHA1.3ssl
SHA1_Final.3ssl
SHA1_Init.3ssl
SHA1_Update.3ssl
SMIME_read_PKCS7.3ssl
SMIME_write_PKCS7.3ssl
SSLeay.3ssl
SSLeay_version.3ssl
UI_OpenSSL.3ssl
UI_add_error_string.3ssl
UI_add_info_string.3ssl
UI_add_input_boolean.3ssl
UI_add_input_string.3ssl
UI_add_user_data.3ssl
UI_add_verify_string.3ssl
UI_construct_prompt.3ssl
UI_ctrl.3ssl
UI_dup_error_string.3ssl
UI_dup_info_string.3ssl
UI_dup_input_boolean.3ssl
UI_dup_input_string.3ssl
UI_dup_verify_string.3ssl
UI_free.3ssl
UI_get0_result.3ssl
UI_get0_user_data.3ssl
UI_get_default_method.3ssl
UI_get_method.3ssl
UI_new.3ssl
UI_new_method.3ssl
UI_process.3ssl
UI_set_default_method.3ssl
UI_set_method.3ssl
X509_NAME_ENTRY_create_by_NID.3ssl
X509_NAME_ENTRY_create_by_OBJ.3ssl
X509_NAME_ENTRY_create_by_txt.3ssl
X509_NAME_ENTRY_get_data.3ssl
X509_NAME_ENTRY_get_object.3ssl
X509_NAME_ENTRY_set_data.3ssl
X509_NAME_ENTRY_set_object.3ssl
X509_NAME_add_entry.3ssl
X509_NAME_add_entry_by_NID.3ssl
X509_NAME_add_entry_by_OBJ.3ssl
X509_NAME_add_entry_by_txt.3ssl
X509_NAME_delete_entry.3ssl
X509_NAME_entry_count.3ssl
X509_NAME_get_entry.3ssl
X509_NAME_get_index_by_NID.3ssl
X509_NAME_get_index_by_OBJ.3ssl
X509_NAME_get_text_by_NID.3ssl
X509_NAME_get_text_by_OBJ.3ssl
X509_NAME_oneline.3ssl
X509_NAME_print.3ssl
X509_NAME_print_ex.3ssl
X509_NAME_print_ex_fp.3ssl
X509_free.3ssl
X509_new.3ssl
_Exit
_longjmp
_rand48
_setjmp
a64l
abort
abs
acl
acl_add_flag_np
acl_add_perm
acl_clear_flags_np
acl_clear_perms
acl_copy_entry
acl_create_entry
acl_create_entry_np
acl_delete
acl_delete_entry
acl_delete_fd_np
acl_delete_file_np
acl_delete_flag_np
acl_delete_perm
acl_dup
acl_free
acl_from_text
acl_get
acl_get_entry
acl_get_fd
acl_get_fd_np
acl_get_file
acl_get_flagset_np
acl_get_perm_np
acl_get_permset
acl_get_qualifier
acl_get_tag_type
acl_init
acl_set
acl_set_fd
acl_set_fd_np
acl_set_file
acl_set_flagset_np
acl_set_permset
acl_set_qualifier
acl_set_tag_type
acl_to_text
acl_valid
acl_valid_fd_np
acl_valid_file_np
addr
addr2ascii
alarm
alloca
alphasort
arc4random
arc4random_addrandom
arc4random_stir
ascii2addr
asctime
asctime_r
asl
asl_add_log_file
asl_close
asl_free
asl_get
asl_key
asl_log
asl_new
asl_open
asl_remove_log_file
asl_search
asl_send
asl_set
asl_set_cutoff_level
asl_set_query
asl_unset
asl_vlog
aslresponse_free
aslresponse_next
asprintf
asprintf_l
atexit
atof
atof_l
atoi
atoi_l
atol
atol_l
atoll
atoll_l
atomic
barrier
basename
bcmp
bcopy
bio.3ssl
blowfish.3ssl
bn.3ssl
bn_internal.3ssl
bsd_signal
bsearch
bstring
btowc
btowc_l
btree
buffer.3ssl
byteorder
bzero
calloc
catclose
catgets
catopen
cfgetispeed
cfgetospeed
cfmakeraw
cfsetispeed
cfsetospeed
cfsetspeed
cgetcap
cgetclose
cgetent
cgetfirst
cgetmatch
cgetnext
cgetnum
cgetset
cgetstr
cgetustr
clearerr
clearerr_unlocked
clock
closedir
closelog
confstr
crypt
crypto.3ssl
ctermid
ctermid_r
ctime
ctime_r
ctype
ctype_l
daemon
db
dbm
dbm_clearerr
dbm_close
dbm_delete
dbm_dirnfo
dbm_error
dbm_fetch
dbm_firstkey
dbm_nextkey
dbm_open
dbm_store
dbopen
des.3ssl
des_cipher
des_read_2passwords.3ssl
des_read_password.3ssl
des_read_pw.3ssl
des_read_pw_string.3ssl
des_setkey
devname
dh.3ssl
difftime
digittoint
digittoint_l
directory
dirfd
dirname
div
dladdr
dlclose
dlerror
dlopen
dlsym
dn_comp
dn_expand
dn_skipname
drand48
dsa.3ssl
duplocale
dyld
ecvt
encrypt
endfsent
endgrent
endhostent
endnetent
endnetgrent
endprotoent
endpwent
endservent
endttyent
endusershell
endutxent
engine.3ssl
erand48
err
err.3ssl
err_set_exit
err_set_file
errc
errx
ether_addr
ether_aton
ether_hostton
ether_line
ether_ntoa
ether_ntohost
ethers
evp.3ssl
exec
execl
execle
execlp
execv
execvp
exit
fclose
fcvt
fdopen
feof
feof_unlocked
ferror
ferror_unlocked
fflagstostr
fflush
ffs
fgetc
fgetln
fgetpos
fgetrune
fgets
fgetwc
fgetwc_l
fgetws
fgetws_l
fileno
fileno_unlocked
flockfile
fmtcheck
fmtmsg
fnmatch
fopen
fparseln
fpclassify
fprintf
fprintf_l
fpurge
fputc
fputrune
fputs
fputwc
fputwc_l
fputws
fputws_l
fread
free
freeaddrinfo
freehostent
freeifaddrs
freelocale
freopen
fropen
fscanf
fscanf_l
fseek
fseeko
fsetpos
fstatvfs
ftell
ftello
ftime
ftok
ftrylockfile
fts
fts_children
fts_close
fts_open
fts_read
fts_set
ftw
fungetrune
funlockfile
funopen
fwide
fwopen
fwprintf
fwprintf_l
fwrite
fwscanf
fwscanf_l
gai_strerror
gcvt
getaddrinfo
getbsize
getc
getc_unlocked
getcap
getchar
getchar_unlocked
getcwd
getdate
getdomainname
getenv
getfsent
getfsfile
getfsspec
getfstype
getgrent
getgrgid
getgrnam
getgrouplist
gethostbyaddr
gethostbyname
gethostbyname2
gethostent
gethostid
gethostname
getifaddrs
getipnodebyaddr
getipnodebyname
getloadavg
getmntinfo
getmode
getnameinfo
getnetbyaddr
getnetbyname
getnetent
getnetgrent
getobjformat
getopt
getopt_long
getpagesize
getpass
getpeereid
getprogname
getprotobyname
getprotobynumber
getprotoent
getpwent
getpwnam
getpwuid
gets
getservbyname
getservbyport
getservent
getsubopt
getttyent
getttynam
getusershell
getutxent
getutxid
getutxline
getvfsbyname
getw
getwc
getwc_l
getwchar
getwchar_l
getwd
glob
globfree
gmtime
gmtime_r
grantpt
group_from_gid
hash
hcreate
hdestroy
heapsort
herror
hesiod
hmac.3ssl
hsearch
hstrerror
htonl
htons
if_freenameindex
if_indextoname
if_nameindex
if_nametoindex
imaxabs
imaxdiv
index
inet
inet6_option_alloc
inet6_option_append
inet6_option_find
inet6_option_init
inet6_option_next
inet6_option_space
inet6_rthdr_add
inet6_rthdr_getaddr
inet6_rthdr_getflags
inet6_rthdr_init
inet6_rthdr_lasthop
inet6_rthdr_reverse
inet6_rthdr_segments
inet6_rthdr_space
inet_addr
inet_aton
inet_lnaof
inet_makeaddr
inet_net
inet_net_ntop
inet_net_pton
inet_netof
inet_network
inet_ntoa
inet_ntop
inet_pton
initgroups
initstate
innetgr
insque
intro
iruserok
iruserok_sa
isalnum
isalnum_l
isalpha
isalpha_l
isascii
isatty
isblank
isblank_l
iscntrl
iscntrl_l
isdialuptty
isdigit
isdigit_l
isfinite
isgraph
isgraph_l
isgreater
isgreaterequal
ishexnumber
ishexnumber_l
isideogram
isideogram_l
isinf
isless
islessequal
islessgreater
islower
islower_l
isnan
isnettty
isnormal
isnumber
isnumber_l
isphonogram
isphonogram_l
isprint
isprint_l
ispunct
ispunct_l
isrune
isrune_l
isspace
isspace_l
isspecial
isspecial_l
isunordered
isupper
isupper_l
iswalnum
iswalnum_l
iswalpha
iswalpha_l
iswascii
iswblank
iswblank_l
iswcntrl
iswcntrl_l
iswctype
iswctype_l
iswdigit
iswdigit_l
iswgraph
iswgraph_l
iswhexnumber
iswhexnumber_l
iswideogram
iswideogram_l
iswlower
iswlower_l
iswnumber
iswnumber_l
iswphonogram
iswphonogram_l
iswprint
iswprint_l
iswpunct
iswpunct_l
iswrune
iswrune_l
iswspace
iswspace_l
iswspecial
iswspecial_l
iswupper
iswupper_l
iswxdigit
iswxdigit_l
isxdigit
isxdigit_l
jrand48
l64a
labs
lcong48
ldiv
lfind
lh_delete.3ssl
lh_doall.3ssl
lh_doall_arg.3ssl
lh_error.3ssl
lh_free.3ssl
lh_insert.3ssl
lh_new.3ssl
lh_node_stats.3ssl
lh_node_stats_bio.3ssl
lh_node_usage_stats.3ssl
lh_node_usage_stats_bio.3ssl
lh_retrieve.3ssl
lh_stats.3ssl
lh_stats_bio.3ssl
lhash.3ssl
link_addr
link_ntoa
linkaddr
llabs
lldiv
localeconv
localeconv_l
localtime
localtime_r
lockf
longjmp
longjmperr
longjmperror
lrand48
lsearch
malloc
malloc_good_size
malloc_size
mblen
mblen_l
mbmb
mbrlen
mbrlen_l
mbrrune
mbrtowc
mbrtowc_l
mbrune
mbsinit
mbsinit_l
mbsnrtowcs
mbsnrtowcs_l
mbsrtowcs
mbsrtowcs_l
mbstowcs
mbstowcs_l
mbtowc
mbtowc_l
md5.3ssl
mdc2.3ssl
memccpy
memchr
memcmp
memcpy
memmove
memory
memset
mergesort
mkdtemp
mkstemp
mkstemps
mktemp
mktime
mpool
mrand48
multibyte
network
newlocale
nextwctype
nextwctype_l
nftw
nice
nl_langinfo
nl_langinfo_l
nlist
nrand48
ns_get16
ns_get32
ns_put16
ns_put32
ntoa
ntohl
ntohs
opendev
opendir
openlog
pause
pclose
pem.3ssl
perror
popen
posix2time
posix_openpt
printf
printf_l
pselect
psignal
pthread
pthread_atfork
pthread_attr
pthread_attr_destroy
pthread_attr_getdetachstate
pthread_attr_getinheritsched
pthread_attr_getschedparam
pthread_attr_getschedpolicy
pthread_attr_getscope
pthread_attr_getstackaddr
pthread_attr_getstacksize
pthread_attr_init
pthread_attr_setdetachstate
pthread_attr_setinheritsched
pthread_attr_setschedparam
pthread_attr_setschedpolicy
pthread_attr_setscope
pthread_attr_setstackaddr
pthread_attr_setstacksize
pthread_cancel
pthread_cleanup_pop
pthread_cleanup_push
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_condattr
pthread_condattr_destroy
pthread_condattr_init
pthread_create
pthread_detach
pthread_equal
pthread_exit
pthread_getschedparam
pthread_getspecific
pthread_join
pthread_key_create
pthread_key_delete
pthread_mutex_destroy
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_trylock
pthread_mutex_unlock
pthread_mutexattr
pthread_mutexattr_destroy
pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol
pthread_mutexattr_gettype
pthread_mutexattr_init
pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol
pthread_mutexattr_settype
pthread_once
pthread_rwlock_destroy
pthread_rwlock_init
pthread_rwlock_rdlock
pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock
pthread_rwlock_unlock
pthread_rwlock_wrlock
pthread_rwlockattr_destroy
pthread_rwlockattr_getpshared
pthread_rwlockattr_init
pthread_rwlockattr_setpshared
pthread_self
pthread_setcancelstate
pthread_setcanceltype
pthread_setschedparam
pthread_setspecific
pthread_testcancel
ptsname
putc
putc_unlocked
putchar
putchar_unlocked
putenv
puts
pututxline
putw
putwc
putwc_l
putwchar
putwchar_l
pwcache
qsort
qsort_r
querylocale
radixsort
raise
rand
rand.3ssl
rand48
rand_r
random
rc4.3ssl
rcmd
rcmd_af
rcmdsh
readdir
readdir_r
readpassphrase
realloc
reallocf
realpath
recno
regcomp
regerror
regex
regexec
regfree
remove
remque
res_init
res_mkquery
res_query
res_search
res_send
resolver
rewind
rewinddir
rindex
ripemd.3ssl
rresvport
rresvport_af
rsa.3ssl
rune
ruserok
scandir
scanf
scanf_l
seed48
seekdir
setbuf
setbuffer
setdomainname
setenv
setfsent
setgrent
setgroupent
sethostent
sethostid
sethostname
setinvalidrune
setjmp
setkey
setlinebuf
setlocale
setlogmask
setmode
setnetent
setnetgrent
setpassent
setprogname
setprotoent
setpwent
setpwfile
setrgid
setruid
setrunelocale
setservent
setstate
setttyent
setusershell
setutxent
setvbuf
sgetrune
sha.3ssl
sigaddset
sigdelset
sigemptyset
sigfillset
siginterrupt
sigismember
siglongjmp
signal
signbit
sigsetjmp
sigsetops
sl_add
sl_find
sl_free
sl_init
sleep
snprintf
snprintf_l
spinlock
sprintf
sprintf_l
sputrune
srand
srand48
sranddev
srandom
srandomdev
sscanf
sscanf_l
ssl.3ssl
statvfs
stdio
stpcpy
strcasecmp
strcasecmp_l
strcasestr
strcasestr_l
strcat
strchr
strcmp
strcoll
strcoll_l
strcpy
strcspn
strdup
strerror
strerror_r
strfmon
strfmon_l
strftime
strftime_l
string
stringlist
strlcat
strlcpy
strlen
strmode
strncasecmp
strncasecmp_l
strncat
strncmp
strncpy
strnstr
strpbrk
strptime
strptime_l
strrchr
strsep
strsignal
strspn
strstr
strtod
strtod_l
strtof
strtof_l
strtofflags
strtoimax
strtoimax_l
strtok
strtok_r
strtol
strtol_l
strtold
strtold_l
strtoll
strtoll_l
strtoq
strtoq_l
strtoul
strtoul_l
strtoull
strtoull_l
strtoumax
strtoumax_l
strtouq
strtouq_l
strunvis
strunvisx
strvis
strvisx
strxfrm
strxfrm_l
swab
swprintf
swprintf_l
swscanf
swscanf_l
sys_errlist
sys_nerr
sys_siglist
sys_signame
sysconf
sysctl
sysctlbyname
sysctlnametomib
sysexits
syslog
system
tcdrain
tcflow
tcflush
tcgetattr
tcgetpgrp
tcgetsid
tcsendbreak
tcsetattr
tcsetpgrp
tdelete
telldir
tempnam
tfind
threads.3ssl
time
time2posix
timegm
timelocal
times
timezone
tmpfile
tmpnam
toascii
tolower
tolower_l
toupper
toupper_l
towctrans
towctrans_l
towlower
towlower_l
towupper
towupper_l
tsearch
ttyname
ttyslot
twalk
tzset
tzsetwall
ualarm
ui.3ssl
ui_compat.3ssl
ulimit
uname
ungetc
ungetwc
ungetwc_l
unlockpt
unsetenv
unvis
uselocale
user_from_uid
usleep
utime
uuid
uuid_clear
uuid_compare
uuid_copy
uuid_generate
uuid_is_null
uuid_parse
uuid_unparse
valloc
vasprintf
vasprintf_l
verr
verrc
verrx
vfprintf
vfprintf_l
vfscanf
vfscanf_l
vfwprintf
vfwprintf_l
vfwscanf
vfwscanf_l
vis
vprintf
vprintf_l
vscanf
vscanf_l
vsnprintf
vsnprintf_l
vsprintf
vsprintf_l
vsscanf
vsscanf_l
vswprintf
vswprintf_l
vswscanf
vswscanf_l
vsyslog
vwarn
vwarnc
vwarnx
vwprintf
vwprintf_l
vwscanf
vwscanf_l
warn
warnc
warnx
wcrtomb
wcrtomb_l
wcscat
wcschr
wcscmp
wcscoll
wcscoll_l
wcscpy
wcscspn
wcsftime
wcsftime_l
wcslcat
wcslcpy
wcslen
wcsncat
wcsncmp
wcsncpy
wcsnrtombs
wcsnrtombs_l
wcspbrk
wcsrchr
wcsrtombs
wcsrtombs_l
wcsspn
wcsstr
wcstod
wcstod_l
wcstof
wcstof_l
wcstoimax
wcstoimax_l
wcstok
wcstol
wcstol_l
wcstold
wcstold_l
wcstoll
wcstoll_l
wcstombs
wcstombs_l
wcstoul
wcstoul_l
wcstoull
wcstoull_l
wcstoumax
wcstoumax_l
wcswidth
wcswidth_l
wcsxfrm
wcsxfrm_l
wctob
wctob_l
wctomb
wctomb_l
wctrans
wctrans_l
wctype
wctype_l
wcwidth
wcwidth_l
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wordexp
wprintf
wprintf_l
wscanf
wscanf_l
xlocale
yp_all
yp_bind
yp_first
yp_get_default_domain
yp_master
yp_match
yp_next
yp_order<