This is an automated email from the git hooks/post-receive script. sthibault pushed a commit to branch master in repository hurd.
commit 330c4a378da7fa5d7628f4275dabafdac2d5ecc0 Author: Kalle Olavi Niemitalo <[email protected]> Date: Fri Aug 26 20:04:19 2016 +0200 rpctrace: Pass prefixed_name to _hurd_exec_file_name Closes: Bug#835513 --- debian/changelog | 8 ++++ debian/patches/exec_filename_rpctrace.patch | 61 +++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 70 insertions(+) diff --git a/debian/changelog b/debian/changelog index 121dd94..1ade7c0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +hurd (1:0.8.git20160826-2) UNRELEASED; urgency=medium + + [ Kalle Olavi Niemitalo ] + * patches/exec_filename_rpctrace.patch: rpctrace: Pass prefixed_name to + _hurd_exec_file_name. Closes: Bug#835513. + + -- Samuel Thibault <[email protected]> Fri, 26 Aug 2016 19:55:57 +0200 + hurd (1:0.8.git20160826-1) unstable; urgency=medium * New upstream snapshot, fixes loading small pic programs. diff --git a/debian/patches/exec_filename_rpctrace.patch b/debian/patches/exec_filename_rpctrace.patch new file mode 100644 index 0000000..d15f9bf --- /dev/null +++ b/debian/patches/exec_filename_rpctrace.patch @@ -0,0 +1,61 @@ +From: Kalle Olavi Niemitalo <[email protected]> +To: [email protected] +Date: Fri, 26 Aug 2016 17:23:28 +0300 +Subject: [PATCH] rpctrace: Pass prefixed_name to _hurd_exec_file_name. + +This fixes the following test case: + + mkdir testy + echo '#! /bin/bash' > testy/prog + echo 'printf "%s\n" "$0"' >> testy/prog + chmod +x testy/prog + PATH=$(pwd)/testy /bin/rpctrace -E PATH=/usr/bin:/bin -o /dev/null prog + +Before this patch, the output is: + + /bin/bash: prog: No such file or directory + +After this patch, the output is similar to: + + /home/kalle/testy/prog + +* utils/rpctrace.c (traced_spawn): Get prefixed_name from +file_name_path_lookup and pass it to _hurd_exec_file_name. + +diff --git a/utils/rpctrace.c b/utils/rpctrace.c +index 95ff124..10843bc 100644 +--- a/utils/rpctrace.c ++++ b/utils/rpctrace.c +@@ -1622,8 +1622,9 @@ traced_spawn (char **argv, char **envp) + task_t traced_task; + struct sender_info *ti; + struct receiver_info *receive_ti; ++ char *prefixed_name; + file_t file = file_name_path_lookup (argv[0], getenv ("PATH"), +- O_EXEC, 0, 0); ++ O_EXEC, 0, &prefixed_name); + + if (file == MACH_PORT_NULL) + error (1, errno, "command not found: %s", argv[0]); +@@ -1664,7 +1665,8 @@ traced_spawn (char **argv, char **envp) + the actual task, so the RPCs to map in the program itself do not get + traced. Could have an option to use TASK_WRAPPER here instead. */ + #ifdef HAVE__HURD_EXEC_FILE_NAME +- err = _hurd_exec_file_name (traced_task, file, *argv, argv, envp); ++ err = _hurd_exec_file_name (traced_task, file, prefixed_name ?: *argv, ++ argv, envp); + #else + err = _hurd_exec (traced_task, file, argv, envp); + #endif +@@ -1675,6 +1677,7 @@ traced_spawn (char **argv, char **envp) + cannot die and hence our TRACED_TASK ref cannot have been released. */ + mach_port_deallocate (mach_task_self (), task_wrapper); + ++ free (prefixed_name); + return pid; + } + +-- +2.6.4 + + diff --git a/debian/patches/series b/debian/patches/series index 4198bd7..6380222 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -28,3 +28,4 @@ crash-logging.patch using_std.patch netdde_log.patch libports-iterate-refcount.patch +exec_filename_rpctrace.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hurd/hurd.git
