2 Unix SMB/Netbios implementation.
5 Copyright (C) Tim Potter 2000
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>.
23 /* Keep linker happy */
25 void exit_server(char *reason
) {}
27 /* Generate random list of groups */
29 void get_random_grouplist(int *ngroups
, gid_t
**groups
)
33 *ngroups
= random() % setgroups_max();
34 *groups
= malloc(*ngroups
* sizeof(gid_t
));
37 printf("FAIL: malloc random grouplist\n");
41 for (i
= 0; i
< *ngroups
; i
++) {
42 (*groups
)[i
] = random() % 32767;
46 /* Check a list of groups with current groups */
48 BOOL
verify_current_groups(int ngroups
, gid_t
*groups
)
53 actual_ngroups
= getgroups(0, NULL
);
54 actual_groups
= (gid_t
*)malloc(actual_ngroups
* sizeof(gid_t
));
56 getgroups(actual_ngroups
, actual_groups
);
58 if (actual_ngroups
!= ngroups
) {
62 return memcmp(actual_groups
, groups
, actual_ngroups
*