X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fmain.c;h=58d1c6c21721e3088c5838808ad652d8390ac142;hb=e304af884e72b62818f375bb99fbbdd8f06cfb2e;hp=37372703cb8d2820c3eb6e551558e26088629a08;hpb=302a260054ea38d3cb97be6d1a3010082c09265d;p=doldaconnect.git diff --git a/daemon/main.c b/daemon/main.c index 3737270..58d1c6c 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -30,6 +30,7 @@ #include #include #include +#include #ifdef HAVE_CONFIG_H #include @@ -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'); } }