• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.0.25b/examples/libmsrpc/test/reg/
1/*tests cac_RegSetKeySecurity()*/
2
3#include "libmsrpc.h"
4#include "test_util.h"
5
6int main(int argc, char **argv) {
7   CacServerHandle *hnd = NULL;
8   TALLOC_CTX *mem_ctx  = NULL;
9
10   fstring tmp;
11
12   mem_ctx = talloc_init("regsetval");
13
14   hnd = cac_NewServerHandle(True);
15
16   cac_SetAuthDataFn(hnd, cactest_GetAuthDataFn);
17
18   cac_parse_cmd_line(argc, argv, hnd);
19
20   if(!cac_Connect(hnd, NULL)) {
21      fprintf(stderr, "Could not connect to server %s. Error: %s\n", hnd->server, nt_errstr(hnd->status));
22      exit(-1);
23   }
24
25   struct RegOpenKey rok;
26   ZERO_STRUCT(rok);
27
28   printf("enter key to query: ");
29   cactest_readline(stdin, tmp);
30
31   rok.in.name = talloc_strdup(mem_ctx, tmp);
32   rok.in.access = REG_KEY_ALL;
33
34   if(!cac_RegOpenKey(hnd, mem_ctx, &rok)) {
35      fprintf(stderr, "Could not open key %s. Error %s\n", rok.in.name, nt_errstr(hnd->status));
36      exit(-1);
37   }
38
39   struct RegGetKeySecurity rks;
40   ZERO_STRUCT(rks);
41
42   rks.in.key = rok.out.key;
43   rks.in.info_type = ALL_SECURITY_INFORMATION;
44
45   if(!cac_RegGetKeySecurity(hnd, mem_ctx, &rks)) {
46      fprintf(stderr, "Could not query security for %s.  Error: %s\n", rok.in.name, nt_errstr(hnd->status));
47      goto done;
48   }
49
50   printf("resetting key security...\n");
51
52   struct RegSetKeySecurity rss;
53   ZERO_STRUCT(rss);
54
55   rss.in.key = rok.out.key;
56   rss.in.info_type = ALL_SECURITY_INFORMATION;
57   rss.in.size = rks.out.size;
58   rss.in.descriptor = rks.out.descriptor;
59
60   if(!cac_RegSetKeySecurity(hnd, mem_ctx, &rss)) {
61      fprintf(stderr, "Could not set security. Error %s\n", nt_errstr(hnd->status));
62   }
63
64done:
65   cac_RegClose(hnd, mem_ctx, rok.out.key);
66
67   cac_FreeHandle(hnd);
68
69   talloc_destroy(mem_ctx);
70
71   return 0;
72}
73
74
75