mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-10-12 17:51:11 -04:00
Say it with me: the pidfile and its parent directories should only be writable by root unless you use supervise-daemon ;) With `checkpath -o someuser:someuser $pidfile` in start_pre(), it can cause DOS attacks because the now unprivelaged process can replace the pidfile with some other pid number in it like pid 1 and cause the host machine to crash when the daemon finally stops. Supervise-daemon can supervise without the daemon creating a pidfile so don't export the variable at all. That assumes the scripts *are* using supervise-daemon, if supervise-daemon fails to start (due to maybe some incorrect config option *wink wink*) then OpenRC falls back to the older start-stop-daemon and that *does* use the $pidfile. If thats the case then the daemon will simply fail to start (yes I haven't tested if any these packages work without $pidfile which they should since they are specifying `supervisor=supervise-daemon`). IMO failing to start is better than running in a potentially vulnerable configuration. Merges: https://codeberg.org/gentoo/guru/pulls/92 Part-off: https://codeberg.org/gentoo/guru/pulls/92 Signed-off-by: zyxhere💭 <zyx@envs.net>
26 lines
559 B
Plaintext
26 lines
559 B
Plaintext
#!/sbin/openrc-run
|
|
# shellcheck shell=sh
|
|
#
|
|
# Copyright 2025-2026 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
description="Translate TCP to SOCKS5 or HTTP proxy"
|
|
supervisor="supervise-daemon"
|
|
command="/usr/bin/graftcp-local"
|
|
command_args="\
|
|
-config ${GRAFTCP_CONFIG:-/etc/graftcp-local/graftcp-local.conf} \
|
|
-syslog \
|
|
-pipepath /run/graftcp/${RC_SVCNAME}.fifo \
|
|
${GRAFTCP_OPTS}
|
|
"
|
|
: "${command_user=graftcp:graftcp}"
|
|
|
|
depend() {
|
|
need net
|
|
use logger
|
|
}
|
|
|
|
start_pre() {
|
|
checkpath -d -o "${command_user}" /run/graftcp
|
|
}
|