--- suX/src/sux.c 2013/04/09 08:17:40 1.3.2.1 +++ suX/src/sux.c 2013/04/09 08:29:20 1.3.2.2 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ - * $Id: sux.c,v 1.3.2.1 2013/04/09 08:17:40 misho Exp $ + * $Id: sux.c,v 1.3.2.2 2013/04/09 08:29:20 misho Exp $ * *************************************************************************/ #include "global.h" @@ -50,9 +50,9 @@ initProg() { char d[MAXPATHLEN]; - proc.proc_uid = getuid(); - proc.proc_gid = getgid(); - proc.proc_prio = getpriority(PRIO_PROCESS, 0); + AIT_SET_I16(&proc.proc_uid, getuid()); + AIT_SET_I16(&proc.proc_gid, getgid()); + AIT_SET_I32(&proc.proc_prio, getpriority(PRIO_PROCESS, 0)); getcwd(d, sizeof d); AIT_SET_STR(&proc.proc_dir, d); @@ -93,9 +93,9 @@ setUIDGID(char flg, const char *name) } if (!(flg & 1)) - proc.proc_uid = sb.st_uid; + AIT_SET_I16(&proc.proc_uid, sb.st_uid); if (!(flg & 2)) - proc.proc_gid = sb.st_gid; + AIT_SET_I16(&proc.proc_gid, sb.st_gid); return 0; } @@ -106,7 +106,7 @@ SetClass() login_cap_t *cap; struct passwd *pass; - pass = getpwuid(proc.proc_uid); + pass = getpwuid(AIT_GET_I16(&proc.proc_uid)); if (!pass) { Err("Error:: User with this UID %d not found", proc.proc_uid); endpwent(); @@ -121,7 +121,7 @@ SetClass() return -1; } - if (setusercontext(cap, pass, proc.proc_uid, LOGIN_SETALL)) { + if (setusercontext(cap, pass, AIT_GET_I16(&proc.proc_uid), LOGIN_SETALL)) { Err("Error:: Cant set login class %s", AIT_GET_STR(&proc.proc_class)); login_close(cap); endpwent(); @@ -167,7 +167,7 @@ LoadCfgData(char flg) if (!(flg & 4)) { str = cfg_getAttribute(&cfg, "global", "priority"); if (str) - proc.proc_prio = strtol(str, NULL, 10); + AIT_SET_I32(&proc.proc_prio, strtol(str, NULL, 10)); } /* find associate extension */ @@ -302,14 +302,14 @@ main(int argc, char **argv) flg |= 8; break; case 'p': - proc.proc_prio = strtol(optarg, NULL, 0); + AIT_SET_I32(&proc.proc_prio, strtol(optarg, NULL, 0)); flg |= 4; break; case 'g': setgrent(); grp = getgrnam(optarg); if (grp) { - proc.proc_gid = grp->gr_gid; + AIT_SET_I16(&proc.proc_gid, grp->gr_gid); flg |= 2; } else Err("Error:: Group not found!"); @@ -319,7 +319,7 @@ main(int argc, char **argv) setpwent(); pass = getpwnam(optarg); if (pass) { - proc.proc_uid = pass->pw_uid; + AIT_SET_I16(&proc.proc_uid, pass->pw_uid); flg |= 1; } else Err("Error:: User not found!");