diff options
Diffstat (limited to 'debian/patches/shutdown0001-startup-implement-bits-of-the-fs-and-io-protocols.patch')
-rw-r--r-- | debian/patches/shutdown0001-startup-implement-bits-of-the-fs-and-io-protocols.patch | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/debian/patches/shutdown0001-startup-implement-bits-of-the-fs-and-io-protocols.patch b/debian/patches/shutdown0001-startup-implement-bits-of-the-fs-and-io-protocols.patch deleted file mode 100644 index 1e8a868c..00000000 --- a/debian/patches/shutdown0001-startup-implement-bits-of-the-fs-and-io-protocols.patch +++ /dev/null @@ -1,120 +0,0 @@ -From deb2ac133799e2e5e46ba8ea9204286124cae46c Mon Sep 17 00:00:00 2001 -From: Justus Winter <justus@gnupg.org> -Date: Sat, 23 Apr 2016 17:52:33 +0200 -Subject: [PATCH hurd 1/3] startup: implement bits of the fs and io protocols - -* startup/Makefile: Build fs and io server with default -implementations. -* startup/startup.c (demuxer): Add new protocols. -(S_file_check_access): New function. -(S_io_restrict_auth): Likewise. ---- - startup/Makefile | 4 +++- - startup/startup.c | 45 ++++++++++++++++++++++++++++++++++++++++----- - 2 files changed, 43 insertions(+), 6 deletions(-) - -diff --git a/startup/Makefile b/startup/Makefile -index ee2ecdd5..67b0be5 100644 ---- a/startup/Makefile -+++ b/startup/Makefile -@@ -21,13 +21,15 @@ makemode := server - SRCS = startup.c - OBJS = $(SRCS:.c=.o) \ - startupServer.o notifyServer.o startup_replyUser.o msgServer.o \ -- startup_notifyUser.o fsysServer.o -+ startup_notifyUser.o fsysServer.o fsServer.o ioServer.o - target = startup - HURDLIBS = shouldbeinlibc - - # startup does not use libports. Disable the default payload to port - # conversion. - MIGSFLAGS="-DHURD_DEFAULT_PAYLOAD_TO_PORT=1" -+fsServer-CFLAGS="-DMIG_EOPNOTSUPP=EOPNOTSUPP" -+ioServer-CFLAGS="-DMIG_EOPNOTSUPP=EOPNOTSUPP" - - include ../Makeconf - -diff --git a/startup/startup.c b/startup/startup.c -index 9c45f4b..05b623d 100644 ---- a/startup/startup.c -+++ b/startup/startup.c -@@ -51,6 +51,7 @@ - #include <version.h> - #include <argp.h> - #include <pids.h> -+#include <idvec.h> - - #include "startup_notify_U.h" - #include "startup_reply_U.h" -@@ -58,6 +59,8 @@ - #include "notify_S.h" - #include "mung_msg_S.h" - -+#include "io_S.h" -+ - /* host_reboot flags for when we crash. */ - static int crash_flags = RB_AUTOBOOT; - -@@ -498,18 +501,21 @@ run_for_real (char *filename, char *args, int arglen, mach_port_t ctty, - - /** Main program and setup **/ - -+#include "notify_S.h" -+#include "msg_S.h" -+#include "fsys_S.h" -+#include "startup_S.h" -+ - static int - demuxer (mach_msg_header_t *inp, - mach_msg_header_t *outp) - { -- extern int notify_server (mach_msg_header_t *, mach_msg_header_t *); -- extern int startup_server (mach_msg_header_t *, mach_msg_header_t *); -- extern int msg_server (mach_msg_header_t *, mach_msg_header_t *); -- extern int fsys_server (mach_msg_header_t *, mach_msg_header_t *); -- -+ error (0, 0, "msgid %d", inp->msgh_id); - return (notify_server (inp, outp) || - msg_server (inp, outp) || - fsys_server (inp, outp) || -+ fs_server (inp, outp) || -+ io_server (inp, outp) || - startup_server (inp, outp)); - } - -@@ -1703,3 +1709,32 @@ S_fsys_forward (mach_port_t server, mach_port_t requestor, - { - return EOPNOTSUPP; - } -+ -+error_t -+S_file_check_access (mach_port_t server, -+ int *allowed) -+{ -+ if (server != startup) -+ return EOPNOTSUPP; -+ *allowed = 0; -+} -+ -+error_t -+S_io_restrict_auth (mach_port_t server, -+ mach_port_t *newport, -+ mach_msg_type_name_t *newporttype, -+ uid_t *uids, size_t nuids, -+ uid_t *gids, size_t ngids) -+{ -+ struct idvec user = { uids, (unsigned) nuids, (unsigned) nuids }; -+ -+ if (server != startup) -+ return EOPNOTSUPP; -+ -+ if (! idvec_contains (&user, 0)) -+ return EPERM; -+ -+ *newport = server; -+ *newporttype = MACH_MSG_TYPE_COPY_SEND; -+ return 0; -+} --- -2.1.4 - |