[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] Hurd branch, master, updated. v0.9-122-g104f312
From: |
Samuel Thibault |
Subject: |
[SCM] Hurd branch, master, updated. v0.9-122-g104f312 |
Date: |
Mon, 8 Jan 2018 19:13:21 -0500 (EST) |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hurd".
The branch, master has been updated
via 104f3121f8005b426d4df77b2420cfe5837033d1 (commit)
via 9d3ba19ddc56ad929f673af23eb87ab07ae30631 (commit)
via 16eff1b637f13f90ea3f00d7f1dd0d99945611f6 (commit)
via 5dbe5dfd27633ebf2cc0e37fa7036fb1a689ef81 (commit)
via f7c3556e627bd6ede22255defb55084d21e4dca6 (commit)
via 4152b0ca04f4703a6c6f33e59ba0e7bd95837069 (commit)
via 67fa50fb8f0a6894e5ed6534936afb8044e66613 (commit)
from 6868c17b7def25beb69e7b685496e078340d8b12 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 104f3121f8005b426d4df77b2420cfe5837033d1
Author: Samuel Thibault <address@hidden>
Date: Mon Jan 8 23:00:37 2018 +0100
Implement /proc/<pid>/exe
by adding proc_set/get_exe to the proc server, making
exec call proc_set_exe, and libps call proc_get_exe. procfs can then just
retrieve the information to make the "exe" symlink.
* hurd/process.defs (proc_set_exe, proc_get_exe): New RPCs.
* hurd/process_request.defs: Likewise.
* hurd/process_reply.defs: Add skips for proc_set_exe and proc_get_exe RPCs.
* proc/proc.h (struct proc): Add `exe' field.
* proc/info.c (S_proc_set_exe, S_proc_get_exe): New functions.
* proc/mgt.c (process_has_exited): Free p->exe.
(S_proc_child): Duplicate parent `exe' into child's `exe'.
* exec/exec.c (do_exec): Call proc_set_exe when a filename is available.
* libps/ps.h (struct proc_stat): Add `exe_vm_alloced', `exe', and `exe_len'
field.
(PSTAT_EXE): New macro.
(PSTAT_USER_BASE): Change value to make room.
(proc_stat_exe, proc_stat_exe_len): New macros.
* libps/procstat.c (proc_stat_set_flags): Handle PSTAT_EXE case by calling
proc_get_exe.
* libps/spec.c (ps_get_exe): New function.
(ps_exe_getter): New structure.
(ps_fmt_spec): Add "Exe" specification.
* procfs/process.c (process_file_symlink_make_node, process_file_gc_exe):
New
functions.
(procfs_dir_entry): Add "exe" entry.
* startup/startup.c (launch_core_servers): Set exe paths for startup, auth,
proc, and fs servers.
(frob_kernel_process): Set exe path for kernel task.
(S_startup_essential_task): Set exe path for exec server.
commit 9d3ba19ddc56ad929f673af23eb87ab07ae30631
Author: Samuel Thibault <address@hidden>
Date: Mon Jan 8 22:56:23 2018 +0100
Add support for $ORIGIN rpath expansion
* exec/exec.c (do_exec): When abspath is absolute, record its dirname
into the LD_ORIGIN_PATH environment variable.
commit 16eff1b637f13f90ea3f00d7f1dd0d99945611f6
Author: Justus Winter <address@hidden>
Date: Mon Jan 8 22:54:27 2018 +0100
Fix exec_paths through fakeroot or chroot
If file_name_exec is not given, check_hashbang will try to locate the
file. If argv[0] contains a '/', the file path is assumed to be
absolute and it will try to open the file. Otherwise, the file is
searched in the PATH. In either case, the resulting file identity port
is compared to the identity port of the original file handle passed to
check_hashbang.
exec_paths_exec.patch explicitly provides the script files path in
file_name_exec. According to the comment, if this path is provided, it
is assumed to be the path to the script file and no attempt at
locating the script file is done. However, the identity ports are
still compared. This cannot succeed if fakeroot or chroot is used,
because the process doing the exec and thus the initial file lookup is
running in the chrooted environment, while the exec server is not.
Fix this by skipping the identity test if file_name_exec is provided.
* exec/hashexec.c (check_hashbang): Skip the file identity test if the
file_name_exec is provided.
commit 5dbe5dfd27633ebf2cc0e37fa7036fb1a689ef81
Author: Kalle Olavi Niemitalo <address@hidden>
Date: Fri Aug 26 17:23:28 2016 +0300
rpctrace: Pass prefixed_name to _hurd_exec_paths.
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_paths.
commit f7c3556e627bd6ede22255defb55084d21e4dca6
Author: Emilio Pozuelo Monfort <address@hidden>
Date: Wed May 26 23:32:16 2010 +0200
Use the new _hurd_exec_file_name function
* configure.in: Check for _hurd_exec_paths.
* utils/fakeauth.c: Call _hurd_exec_paths instead of
_hurd_exec if it's available.
* utils/shd.c: Likewise.
* utils/rpctrace.c: Get prefixed_name from file_name_path_lookup and pass
it to
_hurd_exec_paths instead of calling _hurd_exec.
commit 4152b0ca04f4703a6c6f33e59ba0e7bd95837069
Author: Emilio Pozuelo Monfort <address@hidden>
Date: Wed May 26 01:27:40 2010 +0200
Add a file_exec_file_name RPC
* hurd/fs.defs (file_exec): Deprecate in favor of...
(file_exec_paths): ...this new RPC.
* TODO: Update.
* doc/hurd.texi: Update RPC name.
* hurd/hurd_types.h: Update RPC name.
* libdiskfs/boot-start.c: Update RPC name.
* configure.ac: Check for presence of RPC stubs file_exec_paths
exec_exec_paths.
* exec/hashexec.c (check_hashbang): When file_exec_paths is available, use
it
instead of file_exec.
* startup/startup.c (run, run_for_real, start_child): Likewise.
* utils/login.c (main): Likewise.
* libfshelp/start-translator-long.c (fshelp_start_translator_long):
Likewise.
* libdiskfs/file-exec.c (diskfs_S_file_exec): Move code to
new function diskfs_S_file_exec_paths and call it.
(diskfs_S_file_exec_paths): New function, use exec_exec_paths when available
instead of exec_exec
* libnetfs/file-exec.c (netfs_S_file_exec, netfs_S_file_exec_paths):
Likewise.
* trans/fakeroot.c (netfs_S_file_exec, netfs_S_file_exec_paths): Likewise.
* libtrivfs/file-exec.c (trivfs_S_file_exec_paths): New function.
commit 67fa50fb8f0a6894e5ed6534936afb8044e66613
Author: Emilio Pozuelo Monfort <address@hidden>
Date: Wed May 26 00:15:37 2010 +0200
Add a new exec_exec_paths RPC
* hurd/exec.defs (exec_exec): Label as deprecated.
(exec_exec_paths): New RPC.
* doc/hurd.texi: Update accordingly.
* exec/hashexec.c (check_hashbang): Add file_name_exec argument.
Don't guess the file name if file_name_exec is set.
* exec/priv.h (check_hashbang): Add path argument.
* exec/exec.c (S_exec_exec): Label as deprecated.
(S_exec_exec_paths): New function.
(do_exec): Add path and abspath arguments, pass path to check_hashbang.
-----------------------------------------------------------------------
Summary of changes:
TODO | 2 +-
configure.ac | 2 +
doc/hurd.texi | 22 +++---
exec/exec.c | 141 +++++++++++++++++++++++++++++++++++---
exec/hashexec.c | 129 +++++++++++++++++++++-------------
exec/priv.h | 4 +-
hurd/exec.defs | 19 ++++-
hurd/fs.defs | 29 ++++++--
hurd/hurd_types.h | 9 +--
hurd/process.defs | 12 +++-
libdiskfs/boot-start.c | 2 +-
libdiskfs/file-exec.c | 79 +++++++++++++++++----
libfshelp/start-translator-long.c | 23 +++++--
libnetfs/file-exec.c | 71 ++++++++++++++++---
libps/procstat.c | 17 +++++
libps/ps.h | 11 ++-
libps/spec.c | 10 +++
libtrivfs/file-exec.c | 28 +++++++-
proc/info.c | 41 +++++++++++
proc/mgt.c | 4 ++
proc/proc.h | 1 +
procfs/process.c | 32 +++++++++
startup/startup.c | 94 ++++++++++++++++++-------
trans/fakeroot.c | 97 +++++++++++++++++++-------
utils/fakeauth.c | 9 ++-
utils/login.c | 25 +++++--
utils/rpctrace.c | 9 ++-
utils/shd.c | 9 ++-
28 files changed, 760 insertions(+), 171 deletions(-)
hooks/post-receive
--
Hurd
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] Hurd branch, master, updated. v0.9-122-g104f312,
Samuel Thibault <=