diff options
Diffstat (limited to 'main/gross/gross-1.0.1-user.patch')
-rw-r--r-- | main/gross/gross-1.0.1-user.patch | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/main/gross/gross-1.0.1-user.patch b/main/gross/gross-1.0.1-user.patch deleted file mode 100644 index a20279f003..0000000000 --- a/main/gross/gross-1.0.1-user.patch +++ /dev/null @@ -1,72 +0,0 @@ -Index: src/gross.c -=================================================================== ---- a/src/gross.c (revision 491) -+++ b/src/gross.c (working copy) -@@ -553,7 +553,7 @@ - void - usage(void) - { -- printf("Usage: grossd [-CDdhnPprV] [-f configfile]\n"); -+ printf("Usage: grossd [-CDdhnPpruV] [-f configfile]\n"); - printf(" -C create statefile and exit\n"); - printf(" -D Enable debug logging (insane verbosity with -DD)\n"); - printf(" -d Run grossd as a foreground process\n"); -@@ -563,6 +563,7 @@ - printf(" -p file write the process id in a pidfile\n"); - printf(" -P file same as -p, but pid file must not exist\n"); - printf(" -r disable replication\n"); -+ printf(" -u user run gross as user\n"); - printf(" -V version information\n"); - exit(EXIT_USAGE); - } -@@ -612,6 +613,7 @@ - pool_limits_t limits; - sigset_t mask, oldmask; - struct passwd *pwd; -+ char *user = "nobody"; - - #ifdef DNSBL - dns_check_info_t *dns_check_info; -@@ -623,7 +625,7 @@ - daemon_shutdown(EXIT_FATAL, "Couldn't initialize context"); - - /* command line arguments */ -- while ((c = getopt(argc, argv, ":drf:VCDnp:P:")) != -1) { -+ while ((c = getopt(argc, argv, ":drf:VCDnp:P:u:")) != -1) { - switch (c) { - case 'd': - ctx->config.flags |= FLG_NODAEMON; -@@ -663,6 +665,9 @@ - ctx->config.flags |= FLG_CHECK_PIDFILE; - ctx->config.flags |= FLG_CREATE_PIDFILE; - break; -+ case 'u': -+ user = optarg; -+ break; - case 'h': - usage(); - break; -@@ -675,16 +680,16 @@ - - /* grossd doesn't need to be running as root */ - if (geteuid() == 0) { -- logstr(GLOG_DEBUG, "Running as root: setuid() to 'nobody'"); -- pwd = getpwnam("nobody"); -+ logstr(GLOG_DEBUG, "Running as root: setuid() to '%s'", user); -+ pwd = getpwnam(user); - if (NULL == pwd) -- daemon_shutdown(EXIT_FATAL, "Running as root: can't find user 'nobody'"); -+ daemon_shutdown(EXIT_FATAL, "Running as root: can't find user '%s'", user); - if (setgid(pwd->pw_gid) != 0) -- daemon_shutdown(EXIT_FATAL, "Running as root: can't setgid(%d) to 'nobody': %s", -- pwd->pw_gid, strerror(errno)); -+ daemon_shutdown(EXIT_FATAL, "Running as root: can't setgid(%d) to '%s': %s", -+ pwd->pw_gid, user, strerror(errno)); - if (setuid(pwd->pw_uid) != 0) -- daemon_shutdown(EXIT_FATAL, "Running as root: can't setuid(%d) to 'nobody': %s", -- pwd->pw_uid, strerror(errno)); -+ daemon_shutdown(EXIT_FATAL, "Running as root: can't setuid(%d) to '%s': %s", -+ pwd->pw_uid, user, strerror(errno)); - } - - config = default_config(); |