Lines Matching refs:lc

75 	login_cap_t *lc;  in login_getclass()  local
87 if ((lc = malloc(sizeof(login_cap_t))) == NULL) { in login_getclass()
92 lc->lc_cap = 0; in login_getclass()
93 lc->lc_style = 0; in login_getclass()
98 if ((lc->lc_class = strdup(class)) == NULL) { in login_getclass()
100 free(lc); in login_getclass()
110 return(lc); in login_getclass()
112 if ((res = cgetent(&lc->lc_cap, classfiles, lc->lc_class)) != 0) { in login_getclass()
113 lc->lc_cap = 0; in login_getclass()
117 lc->lc_class); in login_getclass()
120 if (strcmp(lc->lc_class, LOGIN_DEFCLASS) == 0) in login_getclass()
121 return (lc); in login_getclass()
122 syslog(LOG_ERR, "%s: unknown class", lc->lc_class); in login_getclass()
126 lc->lc_class); in login_getclass()
130 lc->lc_class); in login_getclass()
134 lc->lc_class); in login_getclass()
137 free(lc->lc_class); in login_getclass()
138 free(lc); in login_getclass()
141 return (lc); in login_getclass()
154 login_getcapstr(login_cap_t *lc, const char *cap, char *def, char *e) in login_getcapstr() argument
163 if (!lc || !lc->lc_cap) in login_getcapstr()
166 switch (status = cgetstr(lc->lc_cap, cap, &res)) { in login_getcapstr()
173 lc->lc_class, cap); in login_getcapstr()
181 lc->lc_class, cap); in login_getcapstr()
189 login_getcaptime(login_cap_t *lc, const char *cap, quad_t def, quad_t e) in login_getcaptime() argument
199 if (!lc || !lc->lc_cap) in login_getcaptime()
202 switch (status = cgetstr(lc->lc_cap, cap, &res)) { in login_getcaptime()
209 lc->lc_class, cap); in login_getcaptime()
218 lc->lc_class, cap); in login_getcaptime()
238 lc->lc_class, cap, sres); in login_getcaptime()
275 login_getcapnum(login_cap_t *lc, const char *cap, quad_t def, quad_t e) in login_getcapnum() argument
285 if (!lc || !lc->lc_cap) in login_getcapnum()
288 switch (status = cgetstr(lc->lc_cap, cap, &res)) { in login_getcapnum()
295 lc->lc_class, cap); in login_getcapnum()
304 lc->lc_class, cap); in login_getcapnum()
319 lc->lc_class, cap, res); in login_getcapnum()
329 login_getcapsize(login_cap_t *lc, const char *cap, quad_t def, quad_t e) in login_getcapsize() argument
340 if (!lc || !lc->lc_cap) in login_getcapsize()
343 switch (status = cgetstr(lc->lc_cap, cap, &res)) { in login_getcapsize()
350 lc->lc_class, cap); in login_getcapsize()
359 lc->lc_class, cap); in login_getcapsize()
371 lc->lc_class, cap, res); in login_getcapsize()
381 login_getcapbool(login_cap_t *lc, const char *cap, u_int def) in login_getcapbool() argument
386 if (!lc || !lc->lc_cap) in login_getcapbool()
389 return (cgetcap(lc->lc_cap, cap, ':') != NULL); in login_getcapbool()
393 login_close(login_cap_t *lc) in login_close() argument
396 if (lc) { in login_close()
397 if (lc->lc_class) in login_close()
398 free(lc->lc_class); in login_close()
399 if (lc->lc_cap) in login_close()
400 free(lc->lc_cap); in login_close()
401 if (lc->lc_style) in login_close()
402 free(lc->lc_style); in login_close()
403 free(lc); in login_close()
432 gsetrl(login_cap_t *lc, int what, const char *name, int type) in gsetrl() argument
454 r.rlim_cur = login_getcaptime(lc, name, RCUR, RCUR); in gsetrl()
455 r.rlim_max = login_getcaptime(lc, name, RMAX, RMAX); in gsetrl()
456 rl.rlim_cur = login_getcaptime(lc, name_cur, RCUR, RCUR); in gsetrl()
457 rl.rlim_max = login_getcaptime(lc, name_max, RMAX, RMAX); in gsetrl()
460 r.rlim_cur = login_getcapsize(lc, name, RCUR, RCUR); in gsetrl()
461 r.rlim_max = login_getcapsize(lc, name, RMAX, RMAX); in gsetrl()
462 rl.rlim_cur = login_getcapsize(lc, name_cur, RCUR, RCUR); in gsetrl()
463 rl.rlim_max = login_getcapsize(lc, name_max, RMAX, RMAX); in gsetrl()
466 r.rlim_cur = login_getcapnum(lc, name, RCUR, RCUR); in gsetrl()
467 r.rlim_max = login_getcapnum(lc, name, RMAX, RMAX); in gsetrl()
468 rl.rlim_cur = login_getcapnum(lc, name_cur, RCUR, RCUR); in gsetrl()
469 rl.rlim_max = login_getcapnum(lc, name_max, RMAX, RMAX); in gsetrl()
473 lc->lc_class, type, name); in gsetrl()
479 lc->lc_class, name); in gsetrl()
495 setuserenv(login_cap_t *lc, envfunc_t senv, void *envp) in setuserenv() argument
501 char *str = login_getcapstr(lc, "setenv", NULL, NULL); in setuserenv()
549 login_cap_t *lc; in setclasscontext() local
554 lc = login_getclass(class); in setclasscontext()
555 ret = lc ? setusercontext(lc, NULL, 0, flags) : -1; in setclasscontext()
556 login_close(lc); in setclasscontext()
561 setusercontext(login_cap_t *lc, struct passwd *pwd, uid_t uid, u_int flags) in setusercontext() argument
572 if (!lc) in setusercontext()
573 flc = lc = login_getclass(pwd ? pwd->pw_class : NULL); in setusercontext()
590 (void)gsetrl(lc, r_list[i].what, r_list[i].name, in setusercontext()
594 p = login_getcapnum(lc, "priority", (quad_t)0, (quad_t)0); in setusercontext()
597 syslog(LOG_ERR, "%s: setpriority: %m", lc->lc_class); in setusercontext()
601 p = login_getcapnum(lc, "umask", (quad_t) LOGIN_DEFUMASK, in setusercontext()
712 setuserenv(lc, envset, NULL); in setusercontext()
715 setuserpath(lc, pwd ? pwd->pw_dir : "", envset, NULL); in setusercontext()
733 setuserpath(login_cap_t *lc, const char *home, envfunc_t senv, void *envp) in setuserpath() argument
745 p = path = login_getcapstr(lc, "path", NULL, NULL); in setuserpath()