Revision: 23692 http://trac.macosforge.org/projects/launchd/changeset/23692 Author: dsorresso@apple.com Date: 2008-08-22 15:06:26 -0700 (Fri, 22 Aug 2008) Log Message: ----------- Merging in changes for rdar://problem/5923864 Modified Paths: -------------- trunk/launchd/src/launchd_core_logic.c trunk/launchd/src/rc.netboot Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2008-08-22 22:03:45 UTC (rev 23691) +++ trunk/launchd/src/launchd_core_logic.c 2008-08-22 22:06:26 UTC (rev 23692) @@ -475,6 +475,7 @@ static bool job_setup_machport(job_t j); static void job_setup_fd(job_t j, int target_fd, const char *path, int flags); static void job_postfork_become_user(job_t j); +static void job_enable_audit_for_user(job_t j, uid_t u, char *name); static void job_postfork_test_user(job_t j); static void job_log_pids_with_weird_uids(job_t j); static void job_force_sampletool(job_t j); @@ -3355,6 +3356,8 @@ desired_gid = gre->gr_gid; } + job_enable_audit_for_user(j, desired_uid, loginname); + if (!job_assumes(j, setlogin(loginname) != -1)) { _exit(EXIT_FAILURE); } @@ -3391,6 +3394,28 @@ } void +job_enable_audit_for_user(job_t j, uid_t u, char *name) +{ + auditinfo_t auinfo = { + .ai_auid = u, + .ai_asid = j->p, + }; + long au_cond; + + if (!job_assumes(j, auditon(A_GETCOND, &au_cond, sizeof(long)) == 0)) { + _exit(EXIT_FAILURE); + } + + if (au_cond != AUC_NOAUDIT) { + if (!job_assumes(j, au_user_mask(name, &auinfo.ai_mask) == 0)) { + _exit(EXIT_FAILURE); + } else if (!job_assumes(j, setaudit(&auinfo) == 0)) { + _exit(EXIT_FAILURE); + } + } +} + +void job_setup_attributes(job_t j) { struct limititem *li; @@ -4176,11 +4201,7 @@ return; } - if( strncmp(LAUNCHD_TRUSTED_FD_ENV, key, sizeof(LAUNCHD_TRUSTED_FD_ENV) - 1) ) { - envitem_new(j, key, launch_data_get_string(obj), j->importing_global_env); - } else { - job_log(j, LOG_WARNING, "Ignoring reserved environmental variable: %s", key); - } + envitem_new(j, key, launch_data_get_string(obj), j->importing_global_env); } bool Modified: trunk/launchd/src/rc.netboot =================================================================== --- trunk/launchd/src/rc.netboot 2008-08-22 22:03:45 UTC (rev 23691) +++ trunk/launchd/src/rc.netboot 2008-08-22 22:06:26 UTC (rev 23692) @@ -1,6 +1,6 @@ #!/bin/sh ## -# Copyright 2002 Apple Computer, Inc. +# Copyright 2002-2008 Apple Inc. # # This script configures NetBoot ## @@ -105,7 +105,11 @@ return 1 fi case "${mount_from}" in - afp:*) fstype=afp;; + afp:*) + fstype=afp + kextload /System/Library/Filesystems/AppleShare/asp_tcp.kext + kextload /System/Library/Filesystems/AppleShare/afpfs.kext + ;; nfs:*) fstype=nfs;; *) echo "unknown network filesystem mount from ${mount_from}" return 1
participants (1)
-
source_changes@macosforge.org