diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/exec_filename_exec.patch | 103 |
1 files changed, 45 insertions, 58 deletions
diff --git a/debian/patches/exec_filename_exec.patch b/debian/patches/exec_filename_exec.patch index 1e937b45..c90473ec 100644 --- a/debian/patches/exec_filename_exec.patch +++ b/debian/patches/exec_filename_exec.patch @@ -20,11 +20,9 @@ Don't guess the file name if file_name_exec is set. hurd/exec.defs | 19 +++++++++++++++++-- 5 files changed, 81 insertions(+), 18 deletions(-) -Index: hurd-debian/doc/hurd.texi -=================================================================== ---- hurd-debian.orig/doc/hurd.texi 2012-06-03 20:17:54.000000000 +0000 -+++ hurd-debian/doc/hurd.texi 2012-06-05 04:32:07.000000000 +0000 -@@ -102,7 +102,7 @@ +--- a/doc/hurd.texi ++++ b/doc/hurd.texi +@@ -102,7 +102,7 @@ This file documents the GNU Hurd kernel documentation was last updated for version @value{VERSION} of the Hurd. Copyright @copyright{} 1994, 1996, 1998, 1999, 2000, 2001, 2002, 2003, @@ -33,7 +31,7 @@ Index: hurd-debian/doc/hurd.texi @quotation Permission is granted to make and distribute verbatim copies of -@@ -2770,14 +2770,14 @@ +@@ -2766,14 +2766,14 @@ If the setuid/setgid transformation adds authentication handle that was not previously present (as opposed to merely reordering them), then the @code{EXEC_SECURE} and @code{EXEC_NEWTASK} flags should both be added in the call to @@ -51,10 +49,8 @@ Index: hurd-debian/doc/hurd.texi @node File Locking @subsection File Locking -Index: hurd-debian/exec/exec.c -=================================================================== ---- hurd-debian.orig/exec/exec.c 2012-06-03 17:08:36.000000000 +0000 -+++ hurd-debian/exec/exec.c 2012-06-05 04:19:51.000000000 +0000 +--- a/exec/exec.c ++++ b/exec/exec.c @@ -1,6 +1,6 @@ /* GNU Hurd standard exec server. - Copyright (C) 1992,93,94,95,96,98,99,2000,01,02,04 @@ -64,7 +60,7 @@ Index: hurd-debian/exec/exec.c Written by Roland McGrath. Can exec ELF format directly. -@@ -1357,6 +1357,7 @@ +@@ -738,6 +738,7 @@ static error_t do_exec (file_t file, task_t oldtask, int flags, @@ -72,7 +68,7 @@ Index: hurd-debian/exec/exec.c char *argv, mach_msg_type_number_t argvlen, boolean_t argv_copy, char *envp, mach_msg_type_number_t envplen, boolean_t envp_copy, mach_port_t *dtable, mach_msg_type_number_t dtablesize, -@@ -1452,7 +1453,7 @@ +@@ -796,7 +797,7 @@ do_exec (file_t file, { /* Check for a #! executable file. */ check_hashbang (&e, @@ -81,7 +77,7 @@ Index: hurd-debian/exec/exec.c argv, argvlen, argv_copy, envp, envplen, envp_copy, dtable, dtablesize, dtable_copy, -@@ -2055,6 +2056,7 @@ +@@ -1356,6 +1357,7 @@ do_exec (file_t file, return e.error; } @@ -89,7 +85,7 @@ Index: hurd-debian/exec/exec.c kern_return_t S_exec_exec (struct trivfs_protid *protid, file_t file, -@@ -2071,6 +2073,44 @@ +@@ -1372,13 +1374,51 @@ S_exec_exec (struct trivfs_protid *proti mach_port_t *deallocnames, mach_msg_type_number_t ndeallocnames, mach_port_t *destroynames, mach_msg_type_number_t ndestroynames) { @@ -134,7 +130,6 @@ Index: hurd-debian/exec/exec.c if (! protid) return EOPNOTSUPP; -@@ -2158,7 +2198,7 @@ /* There were no user-specified exec servers, or none of them could be found. */ @@ -143,10 +138,8 @@ Index: hurd-debian/exec/exec.c argv, argvlen, argv_copy, envp, envplen, envp_copy, dtable, dtablesize, dtable_copy, -Index: hurd-debian/exec/hashexec.c -=================================================================== ---- hurd-debian.orig/exec/hashexec.c 2012-06-03 17:08:36.000000000 +0000 -+++ hurd-debian/exec/hashexec.c 2012-06-05 04:32:38.000000000 +0000 +--- a/exec/hashexec.c ++++ b/exec/hashexec.c @@ -1,5 +1,6 @@ /* GNU Hurd standard exec server, #! script execution support. - Copyright (C) 1995,96,97,98,99,2000,02 Free Software Foundation, Inc. @@ -155,7 +148,7 @@ Index: hurd-debian/exec/hashexec.c Written by Roland McGrath. This file is part of the GNU Hurd. -@@ -35,6 +36,7 @@ +@@ -35,6 +36,7 @@ check_hashbang (struct execdata *e, file_t file, task_t oldtask, int flags, @@ -163,7 +156,7 @@ Index: hurd-debian/exec/hashexec.c char *argv, u_int argvlen, boolean_t argv_copy, char *envp, u_int envplen, boolean_t envp_copy, mach_port_t *dtable, u_int dtablesize, boolean_t dtable_copy, -@@ -225,10 +227,12 @@ +@@ -225,10 +227,12 @@ check_hashbang (struct execdata *e, file_name = NULL; else if (! (flags & EXEC_SECURE)) { @@ -180,7 +173,7 @@ Index: hurd-debian/exec/hashexec.c error_t error; char *name; -@@ -278,7 +282,9 @@ +@@ -278,7 +282,9 @@ check_hashbang (struct execdata *e, else name = argv; @@ -191,10 +184,8 @@ Index: hurd-debian/exec/hashexec.c error = lookup (name, 0, &name_file); else if ((error = hurd_catch_signal (sigmask (SIGBUS) | sigmask (SIGSEGV), -Index: hurd-debian/exec/priv.h -=================================================================== ---- hurd-debian.orig/exec/priv.h 2012-06-03 17:08:36.000000000 +0000 -+++ hurd-debian/exec/priv.h 2012-06-05 03:36:44.000000000 +0000 +--- a/exec/priv.h ++++ b/exec/priv.h @@ -1,5 +1,6 @@ /* GNU Hurd standard exec server, private declarations. - Copyright (C) 1992,93,94,95,96,99,2000,02, 04 Free Software Foundation, Inc. @@ -203,7 +194,7 @@ Index: hurd-debian/exec/priv.h Written by Roland McGrath. This file is part of the GNU Hurd. -@@ -36,6 +37,7 @@ +@@ -32,6 +33,7 @@ the Free Software Foundation, 675 Mass A #include <link.h> /* This gives us the ElfW macro. */ #include <fcntl.h> #include "exec_S.h" @@ -211,7 +202,7 @@ Index: hurd-debian/exec/priv.h #ifndef exec_priv_h -@@ -171,6 +173,7 @@ +@@ -134,6 +136,7 @@ void check_hashbang (struct execdata *e, file_t file, task_t oldtask, int flags, @@ -219,10 +210,8 @@ Index: hurd-debian/exec/priv.h char *argv, u_int argvlen, boolean_t argv_copy, char *envp, u_int envplen, boolean_t envp_copy, mach_port_t *dtable, u_int dtablesize, -Index: hurd-debian/hurd/exec.defs -=================================================================== ---- hurd-debian.orig/hurd/exec.defs 2012-06-03 17:08:36.000000000 +0000 -+++ hurd-debian/hurd/exec.defs 2012-06-03 20:17:55.000000000 +0000 +--- a/hurd/exec.defs ++++ b/hurd/exec.defs @@ -1,5 +1,6 @@ /* Interface definitions for the exec servers. - Copyright (C) 1991,92,93,94,95,2001 Free Software Foundation, Inc. @@ -231,7 +220,7 @@ Index: hurd-debian/hurd/exec.defs This file is part of the GNU Hurd. -@@ -29,6 +30,7 @@ +@@ -29,6 +30,7 @@ EXEC_IMPORTS INTR_INTERFACE @@ -239,10 +228,8 @@ Index: hurd-debian/hurd/exec.defs routine exec_exec ( execserver: file_t; file: mach_port_send_t; -Index: hurd-debian/hurd/exec_experimental.defs -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ hurd-debian/hurd/exec_experimental.defs 2012-06-03 20:17:55.000000000 +0000 +--- /dev/null ++++ b/hurd/exec_experimental.defs @@ -0,0 +1,46 @@ +/* Interface definitions for the exec servers. + Copyright (C) 1991, 1992, 1993, 1994, 1995, 2001, 2010, 2012 @@ -290,11 +277,9 @@ Index: hurd-debian/hurd/exec_experimental.defs + deallocnames: mach_port_name_array_t; + destroynames: mach_port_name_array_t); + -Index: hurd-debian/exec/Makefile -=================================================================== ---- hurd-debian.orig/exec/Makefile 2012-06-03 17:08:36.000000000 +0000 -+++ hurd-debian/exec/Makefile 2012-06-05 03:39:06.000000000 +0000 -@@ -23,7 +23,7 @@ +--- a/exec/Makefile ++++ b/exec/Makefile +@@ -22,7 +22,7 @@ makemode := server SRCS = exec.c main.c hashexec.c hostarch.c OBJS = main.o hostarch.o exec.o hashexec.o \ @@ -303,7 +288,7 @@ Index: hurd-debian/exec/Makefile target = exec #targets = exec exec.static -@@ -37,6 +37,7 @@ +@@ -30,6 +30,7 @@ HURDLIBS = trivfs fshelp iohelp ports ih OTHERLIBS = -lpthread exec-MIGSFLAGS = -imacros $(srcdir)/execmutations.h @@ -311,19 +296,21 @@ Index: hurd-debian/exec/Makefile include ../Makeconf -Index: hurd-debian/exec/main.c -=================================================================== ---- hurd-debian.orig/exec/main.c 2012-06-03 17:08:36.000000000 +0000 -+++ hurd-debian/exec/main.c 2012-06-05 01:28:09.000000000 +0000 -@@ -58,9 +58,11 @@ - exec_demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp) - { - extern int exec_server (mach_msg_header_t *inp, mach_msg_header_t *outp); -+ extern int exec_experimental_server (mach_msg_header_t *inp, mach_msg_header_t *outp); - extern int exec_startup_server (mach_msg_header_t *, mach_msg_header_t *); - return (exec_startup_server (inp, outp) || - exec_server (inp, outp) || -+ exec_experimental_server (inp, outp) || - trivfs_demuxer (inp, outp)); - } +--- a/exec/main.c ++++ b/exec/main.c +@@ -47,6 +47,7 @@ char **save_argv; + + #include "exec_S.h" ++#include "exec_experimental_S.h" + #include "exec_startup_S.h" + + static int +@@ -54,6 +55,7 @@ exec_demuxer (mach_msg_header_t *inp, ma + { + mig_routine_t routine; + if ((routine = exec_server_routine (inp)) || ++ (routine = exec_experimental_server_routine (inp)) || + (routine = NULL, trivfs_demuxer (inp, outp)) || + (routine = exec_startup_server_routine (inp))) + { |