Java: Hopefully working HubListeners.
[doldaconnect.git] / daemon / main.c
index 3737270..58d1c6c 100644 (file)
@@ -30,6 +30,7 @@
 #include <sys/wait.h>
 #include <stdarg.h>
 #include <fcntl.h>
+#include <sys/select.h>
 
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -340,12 +341,12 @@ pid_t forksess(uid_t user, struct authhandle *auth, void (*ccbfunc)(pid_t, int,
                    flog(LOG_WARNING, "could not setuid: %s", strerror(errno));
                    exit(127);
                }
+               putenv(sprintf2("HOME=%s", pwent->pw_dir));
+               putenv(sprintf2("SHELL=%s", pwent->pw_shell));
+               putenv(sprintf2("PATH=%s/bin:/usr/local/bin:/bin:/usr/bin", pwent->pw_dir));
            }
-           putenv(sprintf2("HOME=%s", pwent->pw_dir));
-           putenv(sprintf2("SHELL=%s", pwent->pw_shell));
            putenv(sprintf2("USER=%s", pwent->pw_name));
            putenv(sprintf2("LOGNAME=%s", pwent->pw_name));
-           putenv(sprintf2("PATH=%s/bin:/usr/local/bin:/bin:/usr/bin", pwent->pw_dir));
            chdir(pwent->pw_dir);
            return(0);
        }
@@ -390,7 +391,7 @@ int main(int argc, char **argv)
     syslogfac = LOG_DAEMON;
     configfile = NULL;
     pidfile = NULL;
-    while((c = getopt(argc, argv, "p:C:f:hns")) != -1)
+    while((c = getopt(argc, argv, "p:C:f:hnsV")) != -1)
     {
        switch(c)
        {
@@ -436,11 +437,14 @@ int main(int argc, char **argv)
        case 's':
            immsyslog = 1;
            break;
+       case 'V':
+           printf("%s", RELEASEINFO);
+           exit(0);
        case 'h':
        case ':':
        case '?':
        default:
-           printf("usage: doldacond [-hns] [-C configfile] [-p pidfile] [-f facility]\n");
+           printf("usage: doldacond [-hnsV] [-C configfile] [-p pidfile] [-f facility]\n");
            exit(c != 'h');
        }
     }