X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Fmain.c;h=2848d41cd632418dc480edb5ef314773ecf492b3;hb=5b50bfcdd88784a6577bfc4847792882c33b9168;hp=0693a3da69425d212805b042f2b5c2c84233d018;hpb=2559e0776f70ab4a97e0edc08f5528ef221d86a3;p=doldaconnect.git diff --git a/daemon/main.c b/daemon/main.c index 0693a3d..2848d41 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -1,6 +1,6 @@ /* * Dolda Connect - Modular multiuser Direct Connect-style client - * Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com) + * Copyright (C) 2004 Fredrik Tolf * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -304,7 +304,7 @@ pid_t forksess(uid_t user, struct authhandle *auth, void (*ccbfunc)(pid_t, int, close(i); } } - setpgrp(); + setpgid(0, 0); signal(SIGHUP, SIG_IGN); errno = 0; #ifdef HAVE_KEYUTILS @@ -340,12 +340,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); }