summaryrefslogtreecommitdiff
path: root/debian/patches/exec_filename_exec.patch
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-07 13:40:45 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-07 13:40:45 +0200
commitad478a50c981115e9d0e12bb7f2a838591d39b75 (patch)
tree7d78dcf1bbdf9ba8262071d0b29525e9b26af684 /debian/patches/exec_filename_exec.patch
parentafd266c9c00c99c87d14ef2bc4060413656f4448 (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.patch317
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)))
- {