diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-07 13:40:45 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-04-07 13:40:45 +0200 |
commit | ad478a50c981115e9d0e12bb7f2a838591d39b75 (patch) | |
tree | 7d78dcf1bbdf9ba8262071d0b29525e9b26af684 /debian/patches/exec_filename_exec.patch | |
parent | afd266c9c00c99c87d14ef2bc4060413656f4448 (diff) |
remove exec_filename_*patch, add exec_filename.patch, refresh other patches
Diffstat (limited to 'debian/patches/exec_filename_exec.patch')
-rw-r--r-- | debian/patches/exec_filename_exec.patch | 317 |
1 files changed, 0 insertions, 317 deletions
diff --git a/debian/patches/exec_filename_exec.patch b/debian/patches/exec_filename_exec.patch deleted file mode 100644 index 40452608..00000000 --- a/debian/patches/exec_filename_exec.patch +++ /dev/null @@ -1,317 +0,0 @@ -From 011df9d35eb68132cdb14a0f55e2435375e2cfce Mon Sep 17 00:00:00 2001 -From: Emilio Pozuelo Monfort <pochu27@gmail.com> -Date: Wed, 26 May 2010 00:15:37 +0200 -Subject: [PATCH 1/3] Add a new exec_exec_file_name RPC - -* hurd/exec.defs (exec_exec_file_name): New RPC. -(exec_exec): Label as deprecated. -* doc/hurd.texi: Updated. -* exec/exec.c (S_exec_exec_file_name): New function. -(S_exec_exec): Label as deprecated. -(do_exec): Add argument. -* exec/hashexec.c (check_hashbang): Add argument. -Don't guess the file name if file_name_exec is set. -* exec/priv.h (check_hashbang): Add argument. ---- - doc/hurd.texi | 8 ++++---- - exec/exec.c | 50 +++++++++++++++++++++++++++++++++++++++++++++----- - exec/hashexec.c | 18 ++++++++++++------ - exec/priv.h | 4 +++- - hurd/exec.defs | 19 +++++++++++++++++-- - 5 files changed, 81 insertions(+), 18 deletions(-) - ---- 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, --2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. -+2004, 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. - - @quotation - Permission is granted to make and distribute verbatim copies of -@@ -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 --@code{exec_exec}. -+@code{exec_exec_file_name}. - - The server then needs to open a new port onto the executed file which - will not share any file pointers with the port the user passed in, - opened with @code{O_READ}. Finally, all the information (mutated - appropriately for setuid/setgid) should be sent to the execserver with --@code{exec_exec}. Whatever error code @code{exec_exec} returns should --returned to the caller of @code{file_exec}. -+@code{exec_exec_file_name}. Whatever error code @code{exec_exec_file_name} -+returns should be returned to the caller of @code{file_exec}. - - @node File Locking - @subsection File Locking ---- 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 -- Free Software Foundation, Inc. -+ Copyright (C) 1992 ,1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -+ 2002, 2004, 2010 Free Software Foundation, Inc. - Written by Roland McGrath. - - Can exec ELF format directly. -@@ -738,6 +738,7 @@ static error_t - do_exec (file_t file, - task_t oldtask, - int flags, -+ char *filename, - 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, -@@ -796,7 +797,7 @@ do_exec (file_t file, - { - /* Check for a #! executable file. */ - check_hashbang (&e, -- file, oldtask, flags, -+ file, oldtask, flags, filename, - argv, argvlen, argv_copy, - envp, envplen, envp_copy, - dtable, dtablesize, dtable_copy, -@@ -1356,6 +1357,7 @@ do_exec (file_t file, - return e.error; - } - -+/* Deprecated. */ - kern_return_t - S_exec_exec (struct trivfs_protid *protid, - file_t file, -@@ -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) - { -+ return S_exec_exec_file_name (protid, -+ file, -+ oldtask, -+ flags, -+ "", -+ argv, argvlen, argv_copy, -+ envp, envplen, envp_copy, -+ dtable, dtablesize, -+ dtable_copy, -+ portarray, nports, -+ portarray_copy, -+ intarray, nints, -+ intarray_copy, -+ deallocnames, ndeallocnames, -+ destroynames, ndestroynames); -+} -+ -+kern_return_t -+S_exec_exec_file_name (struct trivfs_protid *protid, -+ file_t file, -+ task_t oldtask, -+ int flags, -+ char *filename, -+ 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, -+ boolean_t dtable_copy, -+ mach_port_t *portarray, mach_msg_type_number_t nports, -+ boolean_t portarray_copy, -+ int *intarray, mach_msg_type_number_t nints, -+ boolean_t intarray_copy, -+ mach_port_t *deallocnames, -+ mach_msg_type_number_t ndeallocnames, -+ mach_port_t *destroynames, -+ mach_msg_type_number_t ndestroynames) -+{ - if (! protid) - return EOPNOTSUPP; - - /* There were no user-specified exec servers, - or none of them could be found. */ - -- return do_exec (file, oldtask, flags, -+ return do_exec (file, oldtask, flags, filename, - argv, argvlen, argv_copy, - envp, envplen, envp_copy, - dtable, dtablesize, dtable_copy, ---- 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. -+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2010 -+ Free Software Foundation, Inc. - Written by Roland McGrath. - - This file is part of the GNU Hurd. -@@ -35,6 +36,7 @@ check_hashbang (struct execdata *e, - file_t file, - task_t oldtask, - int flags, -+ char *file_name_exec, - 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 @@ check_hashbang (struct execdata *e, - file_name = NULL; - else if (! (flags & EXEC_SECURE)) - { -- /* Try to figure out the file's name. We guess that if ARGV[0] -- contains a slash, it might be the name of the file; and that -- if it contains no slash, looking for files named by ARGV[0] in -- the `PATH' environment variable might find it. */ -+ /* Try to figure out the file's name. If FILE_NAME_EXEC -+ is not NULL, then it's the file's name. Otherwise we -+ guess that if ARGV[0] contains a slash, it might be -+ the name of the file; and that if it contains no slash, -+ looking for files named by ARGV[0] in the `PATH' -+ environment variable might find it. */ - - error_t error; - char *name; -@@ -278,7 +282,9 @@ check_hashbang (struct execdata *e, - else - name = argv; - -- if (strchr (name, '/') != NULL) -+ if (file_name_exec && file_name_exec[0] != '\0') -+ error = lookup (name = file_name_exec, 0, &name_file); -+ else if (strchr (name, '/') != NULL) - error = lookup (name, 0, &name_file); - else if ((error = hurd_catch_signal - (sigmask (SIGBUS) | sigmask (SIGSEGV), ---- 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. -+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2002, 2004, -+ 2010 Free Software Foundation, Inc. - Written by Roland McGrath. - - This file is part of the GNU Hurd. -@@ -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" -+#include "exec_experimental_S.h" - - - #ifndef exec_priv_h -@@ -134,6 +136,7 @@ void check_hashbang (struct execdata *e, - file_t file, - task_t oldtask, - int flags, -+ char *filename, - 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, ---- 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. -+ Copyright (C) 1991, 1992, 1993, 1994, 1995, 2001, 2010 -+ Free Software Foundation, Inc. - - This file is part of the GNU Hurd. - -@@ -29,6 +30,7 @@ EXEC_IMPORTS - - INTR_INTERFACE - -+/* Deprecated: use exec_exec_file_name instead. */ - routine exec_exec ( - execserver: file_t; - file: mach_port_send_t; ---- /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 -+ Free Software Foundation, Inc. -+ -+This file is part of the GNU Hurd. -+ -+The GNU Hurd is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License as published by -+the Free Software Foundation; either version 2, or (at your option) -+any later version. -+ -+The GNU Hurd is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+GNU General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with the GNU Hurd; see the file COPYING. If not, write to -+the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -+ -+/* Written by Michael I. Bushnell and Roland McGrath. */ -+ -+subsystem exec_experimental 434242; -+ -+#include <hurd/hurd_types.defs> -+ -+#ifdef EXEC_IMPORTS -+EXEC_IMPORTS -+#endif -+ -+INTR_INTERFACE -+ -+routine exec_exec_file_name ( -+ execserver: file_t; -+ file: mach_port_send_t; -+ oldtask: task_t; -+ flags: int; -+ filename: string_t; -+ argv: data_t SCP; -+ envp: data_t SCP; -+ dtable: portarray_t SCP; -+ portarray: portarray_t SCP; -+ intarray: intarray_t SCP; -+ deallocnames: mach_port_name_array_t; -+ destroynames: mach_port_name_array_t); -+ ---- 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 \ -- execServer.o exec_startupServer.o -+ execServer.o exec_startupServer.o exec_experimentalServer.o - - target = exec - #targets = exec exec.static -@@ -30,7 +30,8 @@ HURDLIBS = trivfs fshelp iohelp ports ih - OTHERLIBS = -lpthread - - exec-MIGSFLAGS = -imacros $(srcdir)/execmutations.h - exec_startup-MIGSFLAGS = -imacros $(srcdir)/execmutations.h -+exec_experimental-MIGSFLAGS = -imacros $(srcdir)/execmutations.h - - include ../Makeconf - ---- 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))) - { |