Skip to content

Commit c90607b

Browse files
committed
fix: rename rc.conf user variable to avoid rc.subr conflict
rc.subr interprets ${name}_user as a magic variable and runs the entire command as that user before daemon(8) gets invoked. This caused daemon to fail writing the pidfile to /var/run/. Rename to epithet_server_runas so daemon starts as root, writes the pidfile, then drops to the epithet user via -u.
1 parent 811de25 commit c90607b

2 files changed

Lines changed: 5 additions & 5 deletions

File tree

contrib/freebsd/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ pkg add ./epithet-*.pkg
5555
|---|---|---|
5656
| `epithet_server_enable` | `NO` | Enable the server service |
5757
| `epithet_server_config` | `/usr/local/etc/epithet/server.yaml` | Config file path |
58-
| `epithet_server_user` | `epithet` | User to run as |
58+
| `epithet_server_runas` | `epithet` | User to run as |
5959
| `epithet_server_logfile` | `/var/log/epithet_server.log` | Log file path |
6060

6161
Server settings like `listen` and `ca-key` are configured in the YAML config file, not in `rc.conf`.

contrib/freebsd/rc.d/epithet_server

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
# Set it to YES to enable epithet server.
1111
# epithet_server_config (path): Path to config file.
1212
# Default: /usr/local/etc/epithet/server.yaml
13-
# epithet_server_user (str): User to run as.
14-
# Default: epithet
1513
# epithet_server_logfile (path): Path to log file.
1614
# Default: /var/log/epithet_server.log
15+
# epithet_server_runas (str): User to run as.
16+
# Default: epithet
1717

1818
. /etc/rc.subr
1919

@@ -24,12 +24,12 @@ load_rc_config $name
2424

2525
: ${epithet_server_enable:="NO"}
2626
: ${epithet_server_config:="/usr/local/etc/epithet/server.yaml"}
27-
: ${epithet_server_user:="epithet"}
2827
: ${epithet_server_logfile:="/var/log/epithet_server.log"}
28+
: ${epithet_server_runas:="epithet"}
2929

3030
pidfile="/var/run/${name}.pid"
3131
procname="/usr/local/bin/epithet"
3232
command="/usr/sbin/daemon"
33-
command_args="-f -P ${pidfile} -u ${epithet_server_user} ${procname} --config ${epithet_server_config} --log-file ${epithet_server_logfile} server"
33+
command_args="-f -P ${pidfile} -u ${epithet_server_runas} ${procname} --config ${epithet_server_config} --log-file ${epithet_server_logfile} server"
3434

3535
run_rc_command "$1"

0 commit comments

Comments
 (0)