=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/sudo/Attic/ldap.c,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** src/usr.bin/sudo/Attic/ldap.c 2007/07/26 16:10:16 1.1 --- src/usr.bin/sudo/Attic/ldap.c 2007/09/05 23:55:57 1.2 *************** *** 65,71 **** #include "parse.h" #ifndef lint ! __unused static const char rcsid[] = "$Sudo: ldap.c,v 1.11.2.15 2007/07/18 11:13:50 millert Exp $"; #endif /* lint */ #ifndef LINE_MAX --- 65,71 ---- #include "parse.h" #ifndef lint ! __unused static const char rcsid[] = "$Sudo: ldap.c,v 1.11.2.16 2007/09/04 14:58:46 millert Exp $"; #endif /* lint */ #ifndef LINE_MAX *************** *** 219,230 **** * what the user specified on the command line. */ if (!v) ! ret = !strcasecmp(*user_runas, def_runas_default); /* walk through values returned, looking for a match */ for (p = v; p && *p && !ret; p++) { ! if (!strcasecmp(*p, *user_runas) || !strcasecmp(*p, "ALL")) ! ret = TRUE; DPRINTF(("ldap sudoRunAs '%s' ... %s", *p, ret ? "MATCH!" : "not"), 2); } --- 219,248 ---- * what the user specified on the command line. */ if (!v) ! ret = !strcasecmp(runas_pw->pw_name, def_runas_default); /* walk through values returned, looking for a match */ for (p = v; p && *p && !ret; p++) { ! switch (*p[0]) { ! case '+': ! if (netgr_matches(*p, NULL, NULL, runas_pw->pw_name)) ! ret = TRUE; ! break; ! case '%': ! if (usergr_matches(*p, runas_pw->pw_name, runas_pw)) ! ret = TRUE; ! break; ! case 'A': ! if (strcmp(*p, "ALL") == 0) { ! ret = TRUE; ! break; ! } ! /* FALLTHROUGH */ ! default: ! if (strcasecmp(*p, runas_pw->pw_name) == 0) ! ret = TRUE; ! break; ! } DPRINTF(("ldap sudoRunAs '%s' ... %s", *p, ret ? "MATCH!" : "not"), 2); }