freebsd-ports/news/nntp/files/patch-server-main.c
Dirk Meyer 3ff37e385b - reorder patches
- use DIRENT
- honor CFLAGS
- fix missing includes
2002-11-04 05:00:14 +00:00

82 lines
1.6 KiB
C

--- server/main.c.orig Thu Nov 17 19:15:19 1994
+++ server/main.c Mon Nov 4 05:34:17 2002
@@ -35,8 +35,10 @@
#endif
#ifdef SETPROCTITLE
+#ifndef HAVE_PROCTITLE
char **Argv = NULL; /* pointer to argument vector */
char *LastArgv = NULL; /* end of argv */
+#endif
#endif /* SETPROCTITLE */
int
@@ -81,6 +83,22 @@
#ifndef EXCELAN
sockt = get_socket(); /* should be fd 4 or 5 */
+ if ( getuid() == 0 ) { /* Running as root */
+
+ if (setgid((gid_t) NEWS_GID) == -1) {
+#ifdef SYSLOG
+ syslog(LOG_ERR, "setgid: %m");
+#endif
+ exit(1);
+ }
+
+ if (setuid((uid_t) NEWS_UID) == -1) {
+#ifdef SYSLOG
+ syslog(LOG_ERR, "setuid: %m");
+#endif
+ exit(1);
+ }
+ }
#ifdef USG
(void) signal(SIGCLD, SIG_IGN);
#else /* !USG */
@@ -101,6 +119,7 @@
#endif /* EXCELAN */
#ifdef SETPROCTITLE
+#ifndef HAVE_PROCTITLE
/*
* Save start and extent of argv for setproctitle.
*/
@@ -113,6 +132,7 @@
envp++;
LastArgv = envp[-1] + strlen(envp[-1]);
#endif /*SDD*/
+#endif
#endif /* SETPROCTITLE */
#if defined(LOAD) && defined(SETPROCTITLE)
/* If LOAD and SETPROCTITLE, display load before first accept() */
@@ -243,6 +263,7 @@
}
#endif /* LOAD */
#ifdef SETPROCTITLE
+#ifndef HAVE_PROCTITLE
/*
* Save start and extent of argv for setproctitle.
*/
@@ -255,6 +276,7 @@
envp++;
LastArgv = envp[-1] + strlen(envp[-1]);
#endif /*SDD*/
+#endif
#endif /* SETPROCTITLE */
#ifdef USG
@@ -271,6 +293,7 @@
* stolen from sendmail
*/
#ifdef SETPROCTITLE
+#ifndef HAVE_PROCTITLE
#if defined(sun) || defined(hpux)
/*VARARGS*/
void
@@ -330,4 +353,5 @@
*p++ = ' ';
}
#endif /* hpux */
+#endif
#endif /* SETPROCTITLE */