Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > fe05f9b8a4b69161d10fda7f57c79fe8 > files > 8

shadow-utils-4.1.4.2-8.fc13.src.rpm

diff -up shadow-4.1.4.2/libmisc/find_new_gid.c.uflg shadow-4.1.4.2/libmisc/find_new_gid.c
--- shadow-4.1.4.2/libmisc/find_new_gid.c.uflg	2010-05-21 11:31:36.069929199 +0200
+++ shadow-4.1.4.2/libmisc/find_new_gid.c	2010-05-21 11:31:47.600963338 +0200
@@ -61,7 +61,7 @@ int find_new_gid (bool sys_group,
 		gid_min = (gid_t) getdef_ulong ("GID_MIN", 500UL);
 		gid_max = (gid_t) getdef_ulong ("GID_MAX", 60000UL);
 	} else {
-		gid_min = (gid_t) getdef_ulong ("SYS_GID_MIN", 201UL);
+		gid_min = (gid_t) getdef_ulong ("SYS_GID_MIN", 1UL);
 		gid_max = (gid_t) getdef_ulong ("GID_MIN", 500UL) - 1;
 		gid_max = (gid_t) getdef_ulong ("SYS_GID_MAX", (unsigned long) gid_max);
 	}
@@ -79,7 +79,11 @@ int find_new_gid (bool sys_group,
 		*gid = *preferred_gid;
 		return 0;
 	}
-
+	
+	/* if we did not find free preffered system gid, we start to look for 
+	 * one in the range assigned to dynamic system IDs */
+	if (sys_group)
+		gid_min = (gid_t) getdef_ulong ("SYS_GID_MIN", 201UL);
 
 	/*
 	 * Search the entire group file,