2 Unix SMB/CIFS implementation.
4 local testing of SDDL parsing
6 Copyright (C) Andrew Tridgell 2005
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 #include "librpc/gen_ndr/ndr_security.h"
30 static BOOL
test_sddl(TALLOC_CTX
*mem_ctx
, const char *sddl
)
32 struct security_descriptor
*sd
;
33 sd
= sddl_decode(mem_ctx
, sddl
);
35 printf("Failed to decode '%s'\n", sddl
);
38 NDR_PRINT_DEBUG(security_descriptor
, sd
);
43 static const char *examples
[] = {
44 "D:(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;;RPLCLORC;;;AU)"
47 /* test a set of example SDDL strings */
48 BOOL
torture_local_sddl(void)
52 TALLOC_CTX
*mem_ctx
= talloc_new(NULL
);
54 for (i
=0;i
<ARRAY_SIZE(examples
);i
++) {
55 ret
&= test_sddl(mem_ctx
, examples
[i
]);