]> granicus.if.org Git - shadow/commitdiff
Allow non numerical group identifier to be specified with useradd's -g
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 10 Nov 2007 15:51:38 +0000 (15:51 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Sat, 10 Nov 2007 15:51:38 +0000 (15:51 +0000)
option. Applied Debian patch 397_non_numerical_identifier. Thanks also to
Greg Schafer <gschafer@zip.com.au>.

ChangeLog
NEWS
src/useradd.c

index 2b56733d5e27a4b874db40773fc32cd52eac4fcf..50193bdcf39ec0e3338162408eae427e6d1b2788 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-10  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * NEWS, src/useradd.c: allow non numerical group identifier to be
+       specified with useradd's -g option. Applied Debian patch
+       397_non_numerical_identifier. Thanks also to Greg Schafer
+       <gschafer@zip.com.au>.
+
 2007-10-28  Nicolas François  <nicolas.francois@centraliens.net>
 
        * configure.in: Prepare the next release: 4.0.18.2. The gettext
diff --git a/NEWS b/NEWS
index 0288a723ff7be79193700209511ccb606f1e232e..69f16c5a5a42da44c8d7bc30caa7fd1001931ffb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,12 @@
 $Id: NEWS,v 1.492 2007/02/01 20:49:25 kloczek Exp $
 
+shadow-4.0.18.1 -> shadow-4.0.18.2                                     UNRELEASED
+
+*** general:
+- useradd: Allow non numerical group identifier to be specified with
+  useradd's -g option. Applied Debian patch 397_non_numerical_identifier.
+  Thanks also to Greg Schafer <gschafer@zip.com.au>.
+
 shadow-4.0.18.1 -> shadow-4.0.18.2                                     28-10-2007
 
 *** general:
index b47475d94649de98485a101b40991d913a01d048..eebe8e3d4b891b3a6484146dab47bff3429a5a82 100644 (file)
@@ -204,12 +204,8 @@ static struct group *getgr_nam_gid (const char *grname)
        char *errptr;
 
        gid = strtol (grname, &errptr, 10);
-       if (*errptr || errno == ERANGE || gid < 0) {
-               fprintf (stderr,
-                        _("%s: invalid numeric argument '%s'\n"), Prog,
-                        grname);
-               exit (E_BAD_ARG);
-       }
+       if (*grname != '\0' && *errptr == '\0' && errno != ERANGE && gid >= 0)
+               return getgrgid (gid);
        return getgrnam (grname);
 }