2012-03-20 16:39:28 +00:00
|
|
|
diff -up shadow-4.1.5/libmisc/find_new_gid.c.uflg shadow-4.1.5/libmisc/find_new_gid.c
|
|
|
|
--- shadow-4.1.5/libmisc/find_new_gid.c.uflg 2011-07-30 01:10:27.000000000 +0200
|
|
|
|
+++ shadow-4.1.5/libmisc/find_new_gid.c 2012-03-19 12:51:46.090554116 +0100
|
|
|
|
@@ -68,7 +68,7 @@ int find_new_gid (bool sys_group,
|
|
|
|
return -1;
|
|
|
|
}
|
2011-05-23 12:58:07 +00:00
|
|
|
} else {
|
|
|
|
- gid_min = (gid_t) getdef_ulong ("SYS_GID_MIN", 101UL);
|
|
|
|
+ gid_min = (gid_t) 1;
|
|
|
|
gid_max = (gid_t) getdef_ulong ("GID_MIN", 1000UL) - 1;
|
|
|
|
gid_max = (gid_t) getdef_ulong ("SYS_GID_MAX", (unsigned long) gid_max);
|
2012-03-20 16:39:28 +00:00
|
|
|
if (gid_max < gid_min) {
|
|
|
|
@@ -100,6 +100,10 @@ int find_new_gid (bool sys_group,
|
2011-05-23 12:58:07 +00:00
|
|
|
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", 101UL);
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Search the entire group file,
|