aboutsummaryrefslogtreecommitdiffstats
path: root/main/gross/gross-1.0.1-user.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/gross/gross-1.0.1-user.patch')
-rw-r--r--main/gross/gross-1.0.1-user.patch72
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();