diff options
author | comex | 2015-02-28 21:23:36 -0500 |
---|---|---|
committer | comex | 2015-02-28 21:23:36 -0500 |
commit | 3295b45d5fc2a1288aeca7e744d7bc003fa7a5a1 (patch) | |
tree | 8b03bfff67d8dc7664391451a8874fe0cb004900 /darwin-bootstrap | |
parent | Add substituted and fix things up to use it. Still untested. (diff) | |
download | substitute-3295b45d5fc2a1288aeca7e744d7bc003fa7a5a1.tar.gz |
add substituted launchd plist; move helpers to separate directory
Diffstat (limited to 'darwin-bootstrap')
-rw-r--r-- | darwin-bootstrap/com.ex.substituted.plist | 18 | ||||
-rw-r--r-- | darwin-bootstrap/inject-into-launchd.c | 2 | ||||
-rw-r--r-- | darwin-bootstrap/posixspawn-hook.c | 6 |
3 files changed, 22 insertions, 4 deletions
diff --git a/darwin-bootstrap/com.ex.substituted.plist b/darwin-bootstrap/com.ex.substituted.plist new file mode 100644 index 0000000..4f30051 --- /dev/null +++ b/darwin-bootstrap/com.ex.substituted.plist @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>ProcessType</key> + <string>Interactive</string> + <key>MachServices</key> + <dict> + <key>com.ex.substituted</key> + <true/> + </dict> + <key>Label</key> + <string>com.ex.substituted</string> + <key>Program</key> + <string>/Library/Substitute/Helpers/substituted</string> +</dict> +</plist> + diff --git a/darwin-bootstrap/inject-into-launchd.c b/darwin-bootstrap/inject-into-launchd.c index 539b1a2..cfe8927 100644 --- a/darwin-bootstrap/inject-into-launchd.c +++ b/darwin-bootstrap/inject-into-launchd.c @@ -67,7 +67,7 @@ int main(UNUSED int argc, char **argv) { ib_log("mach_port_allocate: %x", kr); return 0; } - const char *lib = "/Library/Substitute/posixspawn-hook.dylib"; + const char *lib = "/Library/Substitute/Helpers/posixspawn-hook.dylib"; struct shuttle shuttle = { .type = SUBSTITUTE_SHUTTLE_MACH_PORT, .u.mach.right_type = MACH_MSG_TYPE_MAKE_SEND, diff --git a/darwin-bootstrap/posixspawn-hook.c b/darwin-bootstrap/posixspawn-hook.c index e948b16..b467ca5 100644 --- a/darwin-bootstrap/posixspawn-hook.c +++ b/darwin-bootstrap/posixspawn-hook.c @@ -52,7 +52,7 @@ static bool advance(char **strp, const char *template) { } static bool spawn_unrestrict(pid_t pid, bool should_resume, bool is_exec) { - const char *prog = "/Library/Substitute/unrestrict"; + const char *prog = "/Library/Substitute/Helpers/unrestrict"; char pid_s[32]; sprintf(pid_s, "%ld", (long) pid); const char *should_resume_s = should_resume ? "1" : "0"; @@ -169,9 +169,9 @@ static int hook_posix_spawn_generic(__typeof__(posix_spawn) *old, static const char bl_dylib[] = - "/Library/Substitute/bundle-loader.dylib"; + "/Library/Substitute/Helpers/bundle-loader.dylib"; static const char psh_dylib[] = - "/Library/Substitute/posixspawn-hook.dylib"; + "/Library/Substitute/Helpers/posixspawn-hook.dylib"; /* which dylib should we add, if any? */ const char *dylib_to_add; |