@@ -115,82 +115,62 @@ public function getDefUserShell()
115
115
//
116
116
// ID Number selection functions
117
117
//
118
- public function getNextUIDNumber ($ UnitySQL )
118
+ public function getNextUIDNumber (UnitySQL $ UnitySQL ): int
119
119
{
120
- $ max_uid = $ UnitySQL ->getSiteVar ('MAX_UID ' );
121
- $ new_uid = $ max_uid + 1 ;
122
-
123
- while ($ this ->UIDNumInUse ($ new_uid )) {
124
- $ new_uid ++;
120
+ $ new_id = $ UnitySQL ->getSiteVar ('MAX_UID ' ) + 1 ;
121
+ while ($ this ->IDNumInUse ($ new_id )) {
122
+ $ new_id ++;
125
123
}
126
-
127
- $ UnitySQL ->updateSiteVar ('MAX_UID ' , $ new_uid );
128
-
129
- return $ new_uid ;
124
+ $ UnitySQL ->updateSiteVar ('MAX_UID ' , $ new_id );
125
+ return $ new_id ;
130
126
}
131
127
132
- public function getNextPiGIDNumber ($ UnitySQL )
128
+ public function getNextPiGIDNumber (UnitySQL $ UnitySQL ): int
133
129
{
134
130
$ max_pigid = $ UnitySQL ->getSiteVar ('MAX_PIGID ' );
135
131
$ new_pigid = $ max_pigid + 1 ;
136
-
137
- while ($ this ->PIGIDNumInUse ($ new_pigid )) {
132
+ while ($ this ->IDNumInUse ($ new_pigid )) {
138
133
$ new_pigid ++;
139
134
}
140
-
141
135
$ UnitySQL ->updateSiteVar ('MAX_PIGID ' , $ new_pigid );
142
-
143
136
return $ new_pigid ;
144
137
}
145
138
146
- public function getNextOrgGIDNumber ($ UnitySQL )
139
+ public function getNextOrgGIDNumber (UnitySQL $ UnitySQL ): int
147
140
{
148
141
$ max_gid = $ UnitySQL ->getSiteVar ('MAX_GID ' );
149
142
$ new_gid = $ max_gid + 1 ;
150
-
151
- while ($ this ->GIDNumInUse ($ new_gid )) {
143
+ while ($ this ->IDNumInUse ($ new_gid )) {
152
144
$ new_gid ++;
153
145
}
154
-
155
146
$ UnitySQL ->updateSiteVar ('MAX_GID ' , $ new_gid );
156
-
157
147
return $ new_gid ;
158
148
}
159
149
160
- private function UIDNumInUse ( $ id )
150
+ private function IDNumInUse ( int $ id ): bool
161
151
{
152
+ // id reserved for debian packages
153
+ if (($ id >= 100 && $ id <= 999 ) || ($ id >= 60000 && $ id <= 64999 )){
154
+ return true ;
155
+ }
162
156
$ users = $ this ->userOU ->getChildrenArray (true );
163
157
foreach ($ users as $ user ) {
164
158
if ($ user ["uidnumber " ][0 ] == $ id ) {
165
159
return true ;
166
160
}
167
161
}
168
-
169
- return false ;
170
- }
171
-
172
- private function PIGIDNumInUse ($ id )
173
- {
174
162
$ pi_groups = $ this ->pi_groupOU ->getChildrenArray (true );
175
163
foreach ($ pi_groups as $ pi_group ) {
176
164
if ($ pi_group ["gidnumber " ][0 ] == $ id ) {
177
165
return true ;
178
166
}
179
167
}
180
-
181
- return false ;
182
- }
183
-
184
- private function GIDNumInUse ($ id )
185
- {
186
168
$ groups = $ this ->groupOU ->getChildrenArray (true );
187
169
foreach ($ groups as $ group ) {
188
170
if ($ group ["gidnumber " ][0 ] == $ id ) {
189
171
return true ;
190
172
}
191
173
}
192
-
193
- return false ;
194
174
}
195
175
196
176
public function getUnassignedID ($ uid , $ UnitySQL )
@@ -208,7 +188,7 @@ public function getUnassignedID($uid, $UnitySQL)
208
188
209
189
if ($ uid == $ netid_match || $ netid == $ netid_match ) {
210
190
// found a match
211
- if (!$ this ->UIDNumInUse ( $ uid_match ) && ! $ this -> GIDNumInUse ($ uid_match )) {
191
+ if (!$ this ->IDNumInUse ($ uid_match )) {
212
192
return $ uid_match ;
213
193
}
214
194
}
0 commit comments