diff options
-rw-r--r-- | src/shutdown/s6-linux-init-hpr.c | 12 | ||||
-rw-r--r-- | src/shutdown/s6-linux-init-shutdown.c | 4 |
2 files changed, 7 insertions, 9 deletions
diff --git a/src/shutdown/s6-linux-init-hpr.c b/src/shutdown/s6-linux-init-hpr.c index fe8a77d..7f3d457 100644 --- a/src/shutdown/s6-linux-init-hpr.c +++ b/src/shutdown/s6-linux-init-hpr.c @@ -71,14 +71,7 @@ int main (int argc, char const *const *argv) if (!what) strerr_dief1x(100, "one of the -h, -p or -r options must be given") ; - if (geteuid()) - { - errno = EPERM ; - strerr_dief1sys(100, "nice try, peon") ; - } - if (doconfirm) hpr_confirm_hostname() ; - if (force) { if (dosync) sync() ; @@ -87,6 +80,11 @@ int main (int argc, char const *const *argv) } if (!tain_now_g()) strerr_warnw1sys("get current time") ; + if (!hpr_send("", 0)) + { + errno = EPERM ; + strerr_diefu1sys(100, "talk to shutdownd") ; + } if (dowtmp) { struct utmpx utx = diff --git a/src/shutdown/s6-linux-init-shutdown.c b/src/shutdown/s6-linux-init-shutdown.c index 2e81c3b..011abef 100644 --- a/src/shutdown/s6-linux-init-shutdown.c +++ b/src/shutdown/s6-linux-init-shutdown.c @@ -291,10 +291,10 @@ int main (int argc, char const *const *argv) if (what == 1) what = subwhat ; else strerr_dieusage(100, USAGE) ; } - if (geteuid()) + if (!hpr_send("", 0)) { errno = EPERM ; - strerr_diefu1sys(111, "shutdown") ; + strerr_diefu1sys(111, "talk to shutdownd") ; } if (doactl) access_control() ; if (doconfirm) hpr_confirm_hostname() ; |