*
* %W% (Berkeley) %G%
*
- * $Id: homedir.c,v 1.5.2.8 2002/05/03 21:23:40 ib42 Exp $
+ * $Id: homedir.c,v 1.5.2.9 2002/06/23 01:39:04 ib42 Exp $
*
* HLFSD was written at Columbia University Computer Science Department, by
* Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@cs.columbia.edu>
*
*/
am_set_mypid(); /* for logging routines */
- if ((old_groupid = setegid(groupid)) < 0) {
- plog(XLOG_WARNING, "could not setegid to %d: %m", groupid);
+ if ((old_groupid = setgid(groupid)) < 0) {
+ plog(XLOG_WARNING, "could not setgid to %d: %m", groupid);
return linkval;
}
if ((old_userid = seteuid(userid)) < 0) {
plog(XLOG_WARNING, "could not seteuid to %d: %m", userid);
- setegid(old_groupid);
+ setgid(old_groupid);
return linkval;
}
if (hlfsd_stat(linkval, &homestat) < 0) {
/* don't use recursive mkdirs here */
if (mkdir(linkval, PERS_SPOOLMODE) < 0) {
seteuid(old_userid);
- setegid(old_groupid);
+ setgid(old_groupid);
plog(XLOG_WARNING, "can't make directory %s: %m", linkval);
return alt_spooldir;
}
/* fall through to testing the disk space / quota */
} else { /* the home dir itself must not exist then */
seteuid(old_userid);
- setegid(old_groupid);
+ setgid(old_groupid);
plog(XLOG_WARNING, "bad link to %s: %m", linkval);
return alt_spooldir;
}
*/
if (hlfsd_diskspace(linkval) < 0) {
seteuid(old_userid);
- setegid(old_groupid);
+ setgid(old_groupid);
plog(XLOG_WARNING, "no more space in %s: %m", linkval);
return alt_spooldir;
} else {
seteuid(old_userid);
- setegid(old_groupid);
+ setgid(old_groupid);
return linkval;
}
}