diff options
Diffstat (limited to 'debian/patches/0004-auth-remove-implicit-assumption-about-the-bootstrap-.patch')
-rw-r--r-- | debian/patches/0004-auth-remove-implicit-assumption-about-the-bootstrap-.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/debian/patches/0004-auth-remove-implicit-assumption-about-the-bootstrap-.patch b/debian/patches/0004-auth-remove-implicit-assumption-about-the-bootstrap-.patch new file mode 100644 index 00000000..02c2c804 --- /dev/null +++ b/debian/patches/0004-auth-remove-implicit-assumption-about-the-bootstrap-.patch @@ -0,0 +1,61 @@ +From 267fb2b2fcffe5ed09c18ee879193ad698223d65 Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Wed, 7 Jan 2015 16:00:06 +0100 +Subject: [PATCH hurd 04/11] auth: remove implicit assumption about the + bootstrap process + +The current code assumes that it can speak the startup protocol over +its bootstrap port. + +* auth/auth.c (main): Generalize by trying to use `/servers/startup' +before falling back to the bootstrap port. +--- + auth/auth.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/auth/auth.c b/auth/auth.c +index a7a188a..d5ef587 100644 +--- a/auth/auth.c ++++ b/auth/auth.c +@@ -25,6 +25,7 @@ + #include <pthread.h> + #include <hurd.h> + #include <hurd/startup.h> ++#include <hurd/paths.h> + #include <hurd/ports.h> + #include <hurd/ihash.h> + #include <idvec.h> +@@ -482,6 +483,7 @@ main (int argc, char **argv) + { + error_t err; + mach_port_t boot; ++ mach_port_t startup; + process_t proc; + mach_port_t hostpriv, masterdev; + struct authhandle *firstauth; +@@ -518,10 +520,21 @@ main (int argc, char **argv) + _hurd_port_set (&_hurd_ports[INIT_PORT_PROC], proc); + _hurd_proc_init (argv, NULL, 0); + ++ startup = file_name_lookup (_SERVERS_STARTUP, 0, 0); ++ if (! MACH_PORT_VALID (startup)) ++ { ++ error (0, errno, "%s", _SERVERS_STARTUP); ++ /* Fall back to using the bootstrap port as before. */ ++ startup = boot; ++ } ++ + /* Init knows intimately that we will be ready for messages + as soon as this returns. */ +- startup_essential_task (boot, mach_task_self (), MACH_PORT_NULL, "auth", ++ startup_essential_task (startup, mach_task_self (), MACH_PORT_NULL, "auth", + hostpriv); ++ ++ if (startup != boot) ++ mach_port_deallocate (mach_task_self (), startup); + mach_port_deallocate (mach_task_self (), boot); + mach_port_deallocate (mach_task_self (), hostpriv); + +-- +2.1.4 + |