version 1.18.2.1, 2009/02/22 21:56:44 |
version 1.19, 2008/07/31 16:44:03 |
|
|
#endif /* HAVE_EXTENDED_GLOB */ |
#endif /* HAVE_EXTENDED_GLOB */ |
|
|
#ifndef lint |
#ifndef lint |
__unused static const char rcsid[] = "$Sudo: parse.c,v 1.160.2.15 2007/12/04 15:26:40 millert Exp $"; |
__unused static const char rcsid[] = "$Sudo: parse.c,v 1.160.2.16 2008/02/09 14:44:48 millert Exp $"; |
#endif /* lint */ |
#endif /* lint */ |
|
|
/* |
/* |
|
|
/* |
/* |
* User was granted access to cmnd on host as user. |
* User was granted access to cmnd on host as user. |
*/ |
*/ |
|
#ifdef HAVE_SELINUX |
|
/* Set role and type if not specified on command line. */ |
|
if (user_role == NULL) { |
|
if (match[top-1].role != NULL) |
|
user_role = match[top-1].role; |
|
else |
|
user_role = def_role; |
|
} |
|
if (user_type == NULL) { |
|
if (match[top-1].type != NULL) |
|
user_type = match[top-1].type; |
|
else |
|
user_type = def_type; |
|
} |
|
#endif |
set_perms(PERM_ROOT); |
set_perms(PERM_ROOT); |
return(VALIDATE_OK | |
return(VALIDATE_OK | |
(no_passwd == TRUE ? FLAG_NOPASS : 0) | |
(no_passwd == TRUE ? FLAG_NOPASS : 0) | |
|
|
/* |
/* |
* If the user has a supplementary group vector, check it first. |
* If the user has a supplementary group vector, check it first. |
*/ |
*/ |
if (strcmp(user, user_name) == 0) { |
for (i = 0; i < user_ngroups; i++) { |
for (i = 0; i < user_ngroups; i++) { |
if (grp->gr_gid == user_groups[i]) |
if (grp->gr_gid == user_groups[i]) |
return(TRUE); |
return(TRUE); |
|
} |
|
} |
} |
if (grp->gr_mem != NULL) { |
if (grp->gr_mem != NULL) { |
for (cur = grp->gr_mem; *cur; cur++) { |
for (cur = grp->gr_mem; *cur; cur++) { |