source: trunk/server/testsuite/smbd/sec_ctx_utils.c

Last change on this file was 414, checked in by Herwig Bauernfeind, 15 years ago

Samba 3.5.0: Initial import

File size: 1.6 KB
Line 
1/*
2 Unix SMB/Netbios implementation.
3 Version 1.9.
4 Security context tests
5 Copyright (C) Tim Potter 2000
6
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.
11
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.
16
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/>.
19*/
20
21#include "includes.h"
22
23/* Keep linker happy */
24
25void exit_server(char *reason) {}
26
27/* Generate random list of groups */
28
29void get_random_grouplist(int *ngroups, gid_t **groups)
30{
31 int i;
32
33 *ngroups = random() % groups_max();
34 *groups = malloc(*ngroups * sizeof(gid_t));
35
36 if (!groups) {
37 printf("FAIL: malloc random grouplist\n");
38 return;
39 }
40
41 for (i = 0; i < *ngroups; i++) {
42 (*groups)[i] = random() % 32767;
43 }
44}
45
46/* Check a list of groups with current groups */
47
48BOOL verify_current_groups(int ngroups, gid_t *groups)
49{
50 int actual_ngroups;
51 gid_t *actual_groups;
52
53 actual_ngroups = getgroups(0, NULL);
54 actual_groups = (gid_t *)malloc(actual_ngroups * sizeof(gid_t));
55
56 getgroups(actual_ngroups, actual_groups);
57
58 if (actual_ngroups != ngroups) {
59 return False;
60 }
61
62 return memcmp(actual_groups, groups, actual_ngroups *
63 sizeof(gid_t)) == 0;
64}
Note: See TracBrowser for help on using the repository browser.