[launchd-changes] [23127] trunk/launchd/src

source_changes at macosforge.org source_changes at macosforge.org
Sat Mar 3 17:28:51 PST 2007


Revision: 23127
          http://trac.macosforge.org/projects/launchd/changeset/23127
Author:   zarzycki at apple.com
Date:     2007-03-03 17:28:51 -0800 (Sat, 03 Mar 2007)

Log Message:
-----------
<rdar://problem/4890134> private API (on behalf of seatbelt) request: do bootstrap lookup of X in user Y's context

Modified Paths:
--------------
    trunk/launchd/src/libbootstrap.c
    trunk/launchd/src/libbootstrap_private.h

Modified: trunk/launchd/src/libbootstrap.c
===================================================================
--- trunk/launchd/src/libbootstrap.c	2007-03-04 00:13:12 UTC (rev 23126)
+++ trunk/launchd/src/libbootstrap.c	2007-03-04 01:28:51 UTC (rev 23127)
@@ -27,6 +27,10 @@
 
 #include <mach/mach.h>
 #include <mach/vm_map.h>
+#include <sys/types.h>
+#include <sys/syslog.h>
+#include <sys/stat.h>
+#include <pthread.h>
 
 #include "protocol_vproc.h"
 
@@ -100,6 +104,28 @@
 }
 
 kern_return_t
+bootstrap_look_up_per_user(mach_port_t bp, name_t service_name, uid_t target_user, mach_port_t *sp)
+{
+	struct stat sb;
+	kern_return_t kr;
+	mach_port_t puc;
+
+	if (!pthread_main_np() && (stat("/AppleInternal", &sb) != -1)) {
+		_vproc_log(LOG_WARNING, "Please review the comments in 4890134.");
+	}
+
+	if ((kr = vproc_mig_lookup_per_user_context(bp, target_user, &puc)) != 0) {
+		return kr;
+	}
+
+	kr = vproc_mig_look_up2(puc, service_name, sp, 0, 0);
+	mach_port_deallocate(mach_task_self(), puc);
+
+	return kr;
+}
+
+
+kern_return_t
 bootstrap_look_up(mach_port_t bp, name_t service_name, mach_port_t *sp)
 {
 	return bootstrap_look_up2(bp, service_name, sp, 0, 0);

Modified: trunk/launchd/src/libbootstrap_private.h
===================================================================
--- trunk/launchd/src/libbootstrap_private.h	2007-03-04 00:13:12 UTC (rev 23126)
+++ trunk/launchd/src/libbootstrap_private.h	2007-03-04 01:28:51 UTC (rev 23127)
@@ -33,6 +33,8 @@
 
 kern_return_t bootstrap_look_up2(mach_port_t bp, name_t service_name, mach_port_t *sp, pid_t target_pid, uint64_t flags);
 
+kern_return_t bootstrap_look_up_per_user(mach_port_t bp, name_t service_name, uid_t target_user, mach_port_t *sp);
+
 #pragma GCC visibility pop
 
 __END_DECLS

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20070303/95d3d5af/attachment.html


More information about the launchd-changes mailing list