*
* This program is a free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public
- * License (version 3) as published by the FSF - Free Software
+ * License (version 2) as published by the FSF - Free Software
* Foundation
*/
int Privsep_GetUser(char * name)
{
int os_uid = -1;
-
+
struct passwd *pw;
pw = getpwnam(name);
if(pw == NULL)
return(OS_INVALID);
os_uid = (int)pw->pw_uid;
- endpwent();
-
+ endpwent();
+
return(os_uid);
}
int Privsep_GetGroup(char * name)
{
int os_gid = -1;
-
+
struct group *grp;
grp = getgrnam(name);
if(grp == NULL)
return(OS_INVALID);
os_gid = (int)grp->gr_gid;
- endgrent();
-
+ endgrent();
+
return(os_gid);
}
int Privsep_SetGroup(gid_t gid)
{
if (setgroups(1, &gid) == -1)
- return(OS_INVALID);
-
+ return(OS_INVALID);
+
#ifndef HPUX
if(setegid(gid) < 0)
return(OS_INVALID);
#endif
-
+
if(setgid(gid) < 0)
return(OS_INVALID);
-
+
return(OS_SUCCESS);
}
{
if(chdir(path) < 0)
return(OS_INVALID);
-
+
if(chroot(path) < 0)
return(OS_INVALID);
-
+
chdir("/");
-
+
return(OS_SUCCESS);
}