]> granicus.if.org Git - sudo/commitdiff
Add support to user_in_group() for treating group names that begin with
authorTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 29 Mar 2011 15:29:43 +0000 (11:29 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Tue, 29 Mar 2011 15:29:43 +0000 (11:29 -0400)
a '#' as gids.

plugins/sudoers/pwutil.c

index b9c7a18571d773028abc5fae3de6ab500cd86db4..ac0d34ac404244f2931a8f6805d460501e0a5ded 100644 (file)
@@ -652,7 +652,9 @@ user_in_group(struct passwd *pw, const char *group)
 #ifdef HAVE_SETAUTHDB
     aix_setauthdb(pw->pw_name);
 #endif
-    grp = sudo_getgrnam(group);
+    /* A group name that begins with a '#' may be a gid. */
+    if ((grp = sudo_getgrnam(group)) == NULL && *group == '#')
+       grp = sudo_getgrgid(atoi(group + 1));
 #ifdef HAVE_SETAUTHDB
     aix_restoreauthdb();
 #endif