Skip to content

Commit cab1704

Browse files
committed
Before genereting the gidNumber, make sure we can't reuse the uidNumber.
We'd prefer to have the user and group object with the same uid/gid number.
1 parent 5a35a91 commit cab1704

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

tables/user_add-save.inc

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,18 @@ if(pql_templates_check_attribute($template_attribs, pql_get_define("PQL_ATTR_QMA
138138
if($uidnr > 0)
139139
$entry[pql_get_define("PQL_ATTR_QMAILUID")] = $uidnr;
140140

141-
// Get a free GroupID number
142-
$gidnr = pql_get_next_ugidnumber('gid', $_REQUEST["rootdn"]);
143-
if($gidnr > 0)
144-
$entry[pql_get_define("PQL_ATTR_QMAILGID")] = $gidnr;
141+
// Can we reuse the same uidNumber as gidNumber - i.e., is there a group with this number?
142+
foreach($_SESSION["BASE_DN"] as $dn) {
143+
$results = $_pql->search($dn, pql_get_define("PQL_ATTR_QMAILGID")."=$uidnr");
144+
if(is_array($results)) {
145+
// Exists - get a free GroupID number
146+
$gidnr = pql_get_next_ugidnumber('gid', $_REQUEST["rootdn"]);
147+
if($gidnr > 0) {
148+
$entry[pql_get_define("PQL_ATTR_QMAILGID")] = $gidnr;
149+
break;
150+
}
151+
}
152+
}
145153

146154
// Gecos is needed to do PAM/NSS LDAP login
147155
if(!empty($_REQUEST["surname"]) and !empty($_REQUEST["name"]) and

0 commit comments

Comments
 (0)