[devel] [PATCH hasher-priv v2 0/6] hasher-privd
Arseny Maslennikov
arseny на altlinux.org
Чт Окт 22 14:43:37 MSK 2020
This series is essentially [1], but squashed.
Additional fixes not included in [1]:
* The listening unix-domain endpoints are now located at
drwx--x--- root hashman /run/hasher-priv.
* Minor code style adjustments.
Known issues:
On Thu, Sep 17, 2020 at 04:09:35PM +0300, Arseny Maslennikov wrote:
> There's an issue when hasher-privd tries to fulfill a chrootuid{1,2}
> request: the (eventually) unprivileged task executor process
> successfully invokes waitpid() or the likes on a child process,
> select()s on I/O descriptors, but gets CHLD later — and it looks like
> the inherited signal handler causes it to wait again. Ultimately the
> task executor stops forwarding standard I/O of the task to/from the
> caller and hangs.
See also: devel@ discussion of v1[2].
[1] http://git.altlinux.org/people/arseny/packages/?p=hasher-priv.git;a=shortlog;h=refs/heads/legion-daemon-v1-p
[2] https://lists.altlinux.org/pipermail/devel/2020-September/211871.html
Alexey Gladkov (3):
Turn hasher-priv into a daemon
Add systemd and sysvinit service files
Add preliminary cgroup support
Arseny Maslennikov (3):
Link with libsetproctitle by Dmitry V. Levin
daemon: set titles for subprocesses
Install hasher-priv without set ugids
hasher-priv/.gitignore | 1 +
hasher-priv/DESIGN | 281 +++++++++++++--------
hasher-priv/Makefile | 37 ++-
hasher-priv/caller.c | 81 +++---
hasher-priv/caller_server.c | 385 +++++++++++++++++++++++++++++
hasher-priv/caller_task.c | 226 +++++++++++++++++
hasher-priv/cgroup.c | 119 +++++++++
hasher-priv/cmdline.c | 27 +-
hasher-priv/communication.c | 394 ++++++++++++++++++++++++++++++
hasher-priv/communication.h | 79 ++++++
hasher-priv/config.c | 150 +++++++++++-
hasher-priv/epoll.c | 39 +++
hasher-priv/epoll.h | 18 ++
hasher-priv/hasher-priv.c | 78 ++++++
hasher-priv/hasher-priv.spec | 12 +-
hasher-priv/hasher-privd.c | 381 +++++++++++++++++++++++++++++
hasher-priv/hasher-privd.service | 14 ++
hasher-priv/hasher-privd.sysvinit | 103 ++++++++
hasher-priv/io_log.c | 2 +-
hasher-priv/io_x11.c | 2 +-
hasher-priv/killuid.c | 2 +-
hasher-priv/logging.c | 71 ++++++
hasher-priv/logging.h | 55 +++++
hasher-priv/main.c | 75 ------
hasher-priv/pass.c | 117 ++++++++-
hasher-priv/pidfile.c | 129 ++++++++++
hasher-priv/pidfile.h | 44 ++++
hasher-priv/priv.h | 35 ++-
hasher-priv/server.conf | 22 ++
hasher-priv/sockets.c | 183 ++++++++++++++
hasher-priv/sockets.h | 32 +++
hasher-priv/x11.c | 1 +
32 files changed, 2945 insertions(+), 250 deletions(-)
create mode 100644 hasher-priv/caller_server.c
create mode 100644 hasher-priv/caller_task.c
create mode 100644 hasher-priv/cgroup.c
create mode 100644 hasher-priv/communication.c
create mode 100644 hasher-priv/communication.h
create mode 100644 hasher-priv/epoll.c
create mode 100644 hasher-priv/epoll.h
create mode 100644 hasher-priv/hasher-priv.c
create mode 100644 hasher-priv/hasher-privd.c
create mode 100644 hasher-priv/hasher-privd.service
create mode 100755 hasher-priv/hasher-privd.sysvinit
create mode 100644 hasher-priv/logging.c
create mode 100644 hasher-priv/logging.h
delete mode 100644 hasher-priv/main.c
create mode 100644 hasher-priv/pidfile.c
create mode 100644 hasher-priv/pidfile.h
create mode 100644 hasher-priv/server.conf
create mode 100644 hasher-priv/sockets.c
create mode 100644 hasher-priv/sockets.h
--
2.25.4
Подробная информация о списке рассылки Devel