2 Unix SMB/CIFS implementation.
6 Copyright (C) Guenther Deschner 2008
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 3 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, see <http://www.gnu.org/licenses/>.
24 #include "../librpc/gen_ndr/ndr_netlogon.h"
25 #include "../librpc/ndr/libndr.h"
26 #include "lib/param/loadparm.h"
28 static void ndr_print_ads_auth_flags(struct ndr_print
*ndr
, const char *name
, uint32_t r
)
30 ndr_print_uint32(ndr
, name
, r
);
32 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_DISABLE_KERBEROS", ADS_AUTH_DISABLE_KERBEROS
, r
);
33 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_NO_BIND", ADS_AUTH_NO_BIND
, r
);
34 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_ANON_BIND", ADS_AUTH_ANON_BIND
, r
);
35 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_SIMPLE_BIND", ADS_AUTH_SIMPLE_BIND
, r
);
36 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_ALLOW_NTLMSSP", ADS_AUTH_ALLOW_NTLMSSP
, r
);
37 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_SASL_SIGN", ADS_AUTH_SASL_SIGN
, r
);
38 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_SASL_SEAL", ADS_AUTH_SASL_SEAL
, r
);
39 ndr_print_bitmap_flag(ndr
, sizeof(uint32_t), "ADS_AUTH_SASL_FORCE", ADS_AUTH_SASL_FORCE
, r
);
43 void ndr_print_ads_struct(struct ndr_print
*ndr
, const char *name
, const struct ads_struct
*r
)
45 ndr_print_struct(ndr
, name
, "ads_struct");
47 ndr_print_bool(ndr
, "is_mine", r
->is_mine
);
48 ndr_print_struct(ndr
, name
, "server");
50 ndr_print_string(ndr
, "realm", r
->server
.realm
);
51 ndr_print_string(ndr
, "workgroup", r
->server
.workgroup
);
52 ndr_print_string(ndr
, "ldap_server", r
->server
.ldap_server
);
53 ndr_print_bool(ndr
, "foreign", r
->server
.foreign
);
55 ndr_print_struct(ndr
, name
, "auth");
57 ndr_print_string(ndr
, "realm", r
->auth
.realm
);
59 ndr_print_string(ndr
, "password", r
->auth
.password
);
61 ndr_print_string(ndr
, "password", "(PASSWORD ommited)");
63 ndr_print_string(ndr
, "user_name", r
->auth
.user_name
);
64 ndr_print_string(ndr
, "kdc_server", r
->auth
.kdc_server
);
65 ndr_print_ads_auth_flags(ndr
, "flags", r
->auth
.flags
);
66 ndr_print_uint32(ndr
, "time_offset", r
->auth
.time_offset
);
67 ndr_print_time_t(ndr
, "tgt_expire", r
->auth
.tgt_expire
);
68 ndr_print_time_t(ndr
, "tgs_expire", r
->auth
.tgs_expire
);
69 ndr_print_time_t(ndr
, "renewable", r
->auth
.renewable
);
71 ndr_print_struct(ndr
, name
, "config");
73 ndr_print_netr_DsR_DcFlags(ndr
, "flags", r
->config
.flags
);
74 ndr_print_string(ndr
, "realm", r
->config
.realm
);
75 ndr_print_string(ndr
, "bind_path", r
->config
.bind_path
);
76 ndr_print_string(ndr
, "ldap_server_name", r
->config
.ldap_server_name
);
77 ndr_print_string(ndr
, "server_site_name", r
->config
.server_site_name
);
78 ndr_print_string(ndr
, "client_site_name", r
->config
.client_site_name
);
79 ndr_print_time_t(ndr
, "current_time", r
->config
.current_time
);
80 ndr_print_string(ndr
, "schema_path", r
->config
.schema_path
);
81 ndr_print_string(ndr
, "config_path", r
->config
.config_path
);
84 ndr_print_struct(ndr
, name
, "ldap");
86 ndr_print_ptr(ndr
, "ld", r
->ldap
.ld
);
87 ndr_print_sockaddr_storage(ndr
, "ss", &r
->ldap
.ss
);
88 ndr_print_time_t(ndr
, "last_attempt", r
->ldap
.last_attempt
);
89 ndr_print_uint32(ndr
, "port", r
->ldap
.port
);
90 ndr_print_uint16(ndr
, "wrap_type", r
->ldap
.wrap_type
);
91 #ifdef HAVE_LDAP_SASL_WRAPPING
92 ndr_print_ptr(ndr
, "sbiod", r
->ldap
.sbiod
);
93 #endif /* HAVE_LDAP_SASL_WRAPPING */
94 ndr_print_ptr(ndr
, "mem_ctx", r
->ldap
.mem_ctx
);
95 ndr_print_ptr(ndr
, "wrap_ops", r
->ldap
.wrap_ops
);
96 ndr_print_ptr(ndr
, "wrap_private_data", r
->ldap
.wrap_private_data
);
97 ndr_print_struct(ndr
, name
, "in");
99 ndr_print_uint32(ndr
, "ofs", r
->ldap
.in
.ofs
);
100 ndr_print_uint32(ndr
, "needed", r
->ldap
.in
.needed
);
101 ndr_print_uint32(ndr
, "left", r
->ldap
.in
.left
);
102 ndr_print_uint32(ndr
, "max_wrapped", r
->ldap
.in
.max_wrapped
);
103 ndr_print_uint32(ndr
, "min_wrapped", r
->ldap
.in
.min_wrapped
);
104 ndr_print_uint32(ndr
, "size", r
->ldap
.in
.size
);
105 ndr_print_array_uint8(ndr
, "buf", r
->ldap
.in
.buf
, r
->ldap
.in
.size
);
107 ndr_print_struct(ndr
, name
, "out");
109 ndr_print_uint32(ndr
, "ofs", r
->ldap
.out
.ofs
);
110 ndr_print_uint32(ndr
, "left", r
->ldap
.out
.left
);
111 ndr_print_uint32(ndr
, "max_unwrapped", r
->ldap
.out
.max_unwrapped
);
112 ndr_print_uint32(ndr
, "sig_size", r
->ldap
.out
.sig_size
);
113 ndr_print_uint32(ndr
, "size", r
->ldap
.out
.size
);
114 ndr_print_array_uint8(ndr
, "buf", r
->ldap
.out
.buf
, r
->ldap
.out
.size
);
117 #endif /* HAVE_LDAP */