ndr->depth--;
}
+static enum ndr_err_code ndr_push_winbind_trust_level(struct ndr_push *ndr, int ndr_flags, enum winbind_trust_level r)
+{
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_winbind_trust_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_trust_level *r)
+{
+ uint32_t v;
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+ *r = v;
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_winbind_trust_level(struct ndr_print *ndr, const char *name, enum winbind_trust_level r)
+{
+ const char *val = NULL;
+
+ switch (r) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST: val = "WINBIND_TRUST_LEVEL_COMPAT_LIST"; break;
+ }
+ ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_STRUCT_winbind_domain_info_compat(struct ndr_push *ndr, int ndr_flags, const struct winbind_domain_info_compat *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
+ NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
+ if (r->sid == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_ref_ptr(ndr));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_native_mode));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_active_directory));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_primary));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->dns_name) {
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
+ }
+ NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_STRUCT_winbind_domain_info_compat(struct ndr_pull *ndr, int ndr_flags, struct winbind_domain_info_compat *r)
+{
+ uint32_t _ptr_dns_name;
+ TALLOC_CTX *_mem_save_dns_name_0;
+ uint32_t _ptr_sid;
+ TALLOC_CTX *_mem_save_sid_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
+ if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
+ }
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t), CH_UTF8));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
+ if (_ptr_dns_name) {
+ NDR_PULL_ALLOC(ndr, r->dns_name);
+ } else {
+ r->dns_name = NULL;
+ }
+ NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_sid));
+ if (_ptr_sid) {
+ NDR_PULL_ALLOC(ndr, r->sid);
+ } else {
+ r->sid = NULL;
+ }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_native_mode));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_active_directory));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_primary));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->dns_name) {
+ _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
+ if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
+ }
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t), CH_UTF8));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
+ }
+ _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0);
+ NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0);
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_STRUCT_winbind_domain_info_compat(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat *r)
+{
+ ndr_print_struct(ndr, name, "winbind_domain_info_compat");
+ ndr->depth++;
+ ndr_print_string(ndr, "netbios_name", r->netbios_name);
+ ndr_print_ptr(ndr, "dns_name", r->dns_name);
+ ndr->depth++;
+ if (r->dns_name) {
+ ndr_print_string(ndr, "dns_name", r->dns_name);
+ }
+ ndr->depth--;
+ ndr_print_ptr(ndr, "sid", r->sid);
+ ndr->depth++;
+ ndr_print_dom_sid(ndr, "sid", r->sid);
+ ndr->depth--;
+ ndr_print_uint32(ndr, "is_native_mode", r->is_native_mode);
+ ndr_print_uint32(ndr, "is_active_directory", r->is_active_directory);
+ ndr_print_uint32(ndr, "is_primary", r->is_primary);
+ ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_STRUCT_winbind_domain_info_compat_array(struct ndr_push *ndr, int ndr_flags, const struct winbind_domain_info_compat_array *r)
+{
+ uint32_t cntr_domains_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_domains));
+ for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
+ NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->domains[cntr_domains_0]));
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
+ NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->domains[cntr_domains_0]));
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_STRUCT_winbind_domain_info_compat_array(struct ndr_pull *ndr, int ndr_flags, struct winbind_domain_info_compat_array *r)
+{
+ uint32_t cntr_domains_0;
+ TALLOC_CTX *_mem_save_domains_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_domains));
+ NDR_PULL_ALLOC_N(ndr, r->domains, r->num_domains);
+ _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+ for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
+ NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->domains[cntr_domains_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ _mem_save_domains_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->domains, 0);
+ for (cntr_domains_0 = 0; cntr_domains_0 < r->num_domains; cntr_domains_0++) {
+ NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat(ndr, NDR_BUFFERS, &r->domains[cntr_domains_0]));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domains_0, 0);
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_STRUCT_winbind_domain_info_compat_array(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat_array *r)
+{
+ uint32_t cntr_domains_0;
+ ndr_print_struct(ndr, name, "winbind_domain_info_compat_array");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "num_domains", r->num_domains);
+ ndr->print(ndr, "%s: ARRAY(%d)", "domains", r->num_domains);
+ ndr->depth++;
+ for (cntr_domains_0=0;cntr_domains_0<r->num_domains;cntr_domains_0++) {
+ char *idx_0=NULL;
+ if (asprintf(&idx_0, "[%d]", cntr_domains_0) != -1) {
+ ndr_print_STRUCT_winbind_domain_info_compat(ndr, "domains", &r->domains[cntr_domains_0]);
+ free(idx_0);
+ }
+ }
+ ndr->depth--;
+ ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_winbind_trust_req(struct ndr_push *ndr, int ndr_flags, const union winbind_trust_req *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, level));
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST:
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_winbind_trust_req(struct ndr_pull *ndr, int ndr_flags, union winbind_trust_req *r)
+{
+ int level;
+ uint32_t _level;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+ if (_level != level) {
+ return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+ }
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST:
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_winbind_trust_req(struct ndr_print *ndr, const char *name, const union winbind_trust_req *r)
+{
+ int level;
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "winbind_trust_req");
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST:
+ break;
+
+ default:
+ break;
+
+ }
+}
+
+static enum ndr_err_code ndr_push_winbind_trust_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_trust_rep *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, level));
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
+ NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat_array(ndr, NDR_SCALARS, &r->compat_trusts));
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST:
+ NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat_array(ndr, NDR_BUFFERS, &r->compat_trusts));
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_winbind_trust_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_trust_rep *r)
+{
+ int level;
+ uint32_t _level;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+ if (_level != level) {
+ return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+ }
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST: {
+ NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat_array(ndr, NDR_SCALARS, &r->compat_trusts));
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST:
+ NDR_CHECK(ndr_pull_STRUCT_winbind_domain_info_compat_array(ndr, NDR_BUFFERS, &r->compat_trusts));
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_winbind_trust_rep(struct ndr_print *ndr, const char *name, const union winbind_trust_rep *r)
+{
+ int level;
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "winbind_trust_rep");
+ switch (level) {
+ case WINBIND_TRUST_LEVEL_COMPAT_LIST:
+ ndr_print_STRUCT_winbind_domain_info_compat_array(ndr, "compat_trusts", &r->compat_trusts);
+ break;
+
+ default:
+ break;
+
+ }
+}
+
static enum ndr_err_code ndr_push_winbind_lookup_level(struct ndr_push *ndr, int ndr_flags, enum winbind_lookup_level r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
ndr->depth++;
for (cntr_rids_0=0;cntr_rids_0<r->num_rids;cntr_rids_0++) {
char *idx_0=NULL;
- asprintf(&idx_0, "[%d]", cntr_rids_0);
- if (idx_0) {
+ if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) {
ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]);
free(idx_0);
}
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_LOOKUP_LEVEL_SID2NAME:
+ case WINBIND_LOOKUP_LEVEL_SID2NAME: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
- break;
+ break; }
- case WINBIND_LOOKUP_LEVEL_NAME2SID:
+ case WINBIND_LOOKUP_LEVEL_NAME2SID: {
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->name, CH_UTF8)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
- break;
+ break; }
- case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+ case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
- break;
+ break; }
- default:
- break;
+ default: {
+ break; }
}
}
ndr->depth++;
for (cntr_names_0=0;cntr_names_0<r->num_names;cntr_names_0++) {
char *idx_0=NULL;
- asprintf(&idx_0, "[%d]", cntr_names_0);
- if (idx_0) {
+ if (asprintf(&idx_0, "[%d]", cntr_names_0) != -1) {
ndr_print_STRUCT_winbind_lookup_name_info(ndr, "names", &r->names[cntr_names_0]);
free(idx_0);
}
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_lookup_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_LOOKUP_LEVEL_SID2NAME:
+ case WINBIND_LOOKUP_LEVEL_SID2NAME: {
NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->name_info));
- break;
+ break; }
- case WINBIND_LOOKUP_LEVEL_NAME2SID:
+ case WINBIND_LOOKUP_LEVEL_NAME2SID: {
NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
- break;
+ break; }
- case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+ case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
- break;
+ break; }
- default:
- break;
+ default: {
+ break; }
}
}
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_IDMAP_LEVEL_SID_TO_UID:
+ case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
- break;
+ break; }
- case WINBIND_IDMAP_LEVEL_SID_TO_GID:
+ case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
- break;
+ break; }
- case WINBIND_IDMAP_LEVEL_UID_TO_SID:
+ case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
- break;
+ break; }
- case WINBIND_IDMAP_LEVEL_GID_TO_SID:
+ case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
- break;
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_get_idmap_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_IDMAP_LEVEL_SID_TO_UID:
+ case WINBIND_IDMAP_LEVEL_SID_TO_UID: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
- break;
+ break; }
- case WINBIND_IDMAP_LEVEL_SID_TO_GID:
+ case WINBIND_IDMAP_LEVEL_SID_TO_GID: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
- break;
+ break; }
- case WINBIND_IDMAP_LEVEL_UID_TO_SID:
+ case WINBIND_IDMAP_LEVEL_UID_TO_SID: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
- break;
+ break; }
- case WINBIND_IDMAP_LEVEL_GID_TO_SID:
+ case WINBIND_IDMAP_LEVEL_GID_TO_SID: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid));
- break;
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
- break;
+ case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
+ break; }
- case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
- break;
+ case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
+ break; }
- case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+ case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
NDR_CHECK(ndr_push_id_map(ndr, NDR_SCALARS, &r->mapping));
- break;
+ break; }
- case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+ case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->hwm));
- break;
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+ case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
- break;
+ break; }
- case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+ case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
- break;
+ break; }
- case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
- break;
+ case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
+ break; }
- case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
- break;
+ case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
}
}
-static enum ndr_err_code ndr_push_STRUCT_winbind_domain_info_compat(struct ndr_push *ndr, int ndr_flags, const struct winbind_domain_info_compat *r)
-{
- if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->netbios_name, CH_UTF8)));
- NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->netbios_name, ndr_charset_length(r->netbios_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->dns_name));
- if (r->sid == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_ref_ptr(ndr));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_native_mode));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_active_directory));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->is_primary));
- }
- if (ndr_flags & NDR_BUFFERS) {
- if (r->dns_name) {
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->dns_name, CH_UTF8)));
- NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->dns_name, ndr_charset_length(r->dns_name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
- }
- NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
- }
- return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_STRUCT_winbind_domain_info_compat(struct ndr_pull *ndr, int ndr_flags, struct winbind_domain_info_compat *r)
-{
- uint32_t _ptr_dns_name;
- TALLOC_CTX *_mem_save_dns_name_0;
- uint32_t _ptr_sid;
- TALLOC_CTX *_mem_save_sid_0;
- if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_array_size(ndr, &r->netbios_name));
- NDR_CHECK(ndr_pull_array_length(ndr, &r->netbios_name));
- if (ndr_get_array_length(ndr, &r->netbios_name) > ndr_get_array_size(ndr, &r->netbios_name)) {
- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->netbios_name), ndr_get_array_length(ndr, &r->netbios_name));
- }
- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t)));
- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->netbios_name, ndr_get_array_length(ndr, &r->netbios_name), sizeof(uint8_t), CH_UTF8));
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dns_name));
- if (_ptr_dns_name) {
- NDR_PULL_ALLOC(ndr, r->dns_name);
- } else {
- r->dns_name = NULL;
- }
- NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_sid));
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->sid);
- }
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_native_mode));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_active_directory));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->is_primary));
- }
- if (ndr_flags & NDR_BUFFERS) {
- if (r->dns_name) {
- _mem_save_dns_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->dns_name, 0);
- NDR_CHECK(ndr_pull_array_size(ndr, &r->dns_name));
- NDR_CHECK(ndr_pull_array_length(ndr, &r->dns_name));
- if (ndr_get_array_length(ndr, &r->dns_name) > ndr_get_array_size(ndr, &r->dns_name)) {
- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->dns_name), ndr_get_array_length(ndr, &r->dns_name));
- }
- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t)));
- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->dns_name, ndr_get_array_length(ndr, &r->dns_name), sizeof(uint8_t), CH_UTF8));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dns_name_0, 0);
- }
- _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->sid, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC);
- }
- return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_STRUCT_winbind_domain_info_compat(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat *r)
-{
- ndr_print_struct(ndr, name, "winbind_domain_info_compat");
- ndr->depth++;
- ndr_print_string(ndr, "netbios_name", r->netbios_name);
- ndr_print_ptr(ndr, "dns_name", r->dns_name);
- ndr->depth++;
- if (r->dns_name) {
- ndr_print_string(ndr, "dns_name", r->dns_name);
- }
- ndr->depth--;
- ndr_print_ptr(ndr, "sid", r->sid);
- ndr->depth++;
- ndr_print_dom_sid(ndr, "sid", r->sid);
- ndr->depth--;
- ndr_print_uint32(ndr, "is_native_mode", r->is_native_mode);
- ndr_print_uint32(ndr, "is_active_directory", r->is_active_directory);
- ndr_print_uint32(ndr, "is_primary", r->is_primary);
- ndr->depth--;
-}
-
static enum ndr_err_code ndr_push_winbind_domain_info_level(struct ndr_push *ndr, int ndr_flags, enum winbind_domain_info_level r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_domain_info_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_DOMAIN_INFO_LEVEL_COMPAT:
+ case WINBIND_DOMAIN_INFO_LEVEL_COMPAT: {
NDR_CHECK(ndr_push_STRUCT_winbind_domain_info_compat(ndr, NDR_SCALARS, &r->compat));
- break;
+ break; }
- case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM:
+ case WINBIND_DOMAIN_INFO_LEVEL_SEQNUM: {
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->seqnum));
- break;
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
- break;
+ case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
+ break; }
- case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
+ case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
- break;
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_winbind_dc_info_level(ndr, NDR_SCALARS, level));
switch (level) {
- case WINBIND_DC_INFO_LEVEL_COMPAT_NT4:
+ case WINBIND_DC_INFO_LEVEL_COMPAT_NT4: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
- break;
+ break; }
- case WINBIND_DC_INFO_LEVEL_COMPAT_DS:
+ case WINBIND_DC_INFO_LEVEL_COMPAT_DS: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
- break;
+ break; }
default:
return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
ndr->depth--;
}
-static enum ndr_err_code ndr_push_winbind_list_trustdom(struct ndr_push *ndr, int flags, const struct winbind_list_trustdom *r)
+static enum ndr_err_code ndr_push_winbind_trust(struct ndr_push *ndr, int flags, const struct winbind_trust *r)
{
if (flags & NDR_IN) {
+ if (r->in.level == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_winbind_trust_level(ndr, NDR_SCALARS, *r->in.level));
+ NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
+ NDR_CHECK(ndr_push_winbind_trust_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
}
if (flags & NDR_OUT) {
+ if (r->out.rep == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->in.level));
+ NDR_CHECK(ndr_push_winbind_trust_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
}
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_winbind_list_trustdom(struct ndr_pull *ndr, int flags, struct winbind_list_trustdom *r)
+static enum ndr_err_code ndr_pull_winbind_trust(struct ndr_pull *ndr, int flags, struct winbind_trust *r)
{
+ TALLOC_CTX *_mem_save_level_0;
+ TALLOC_CTX *_mem_save_rep_0;
if (flags & NDR_IN) {
+ ZERO_STRUCT(r->out);
+
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.level);
+ }
+ _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_winbind_trust_level(ndr, NDR_SCALARS, r->in.level));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
+ NDR_CHECK(ndr_pull_winbind_trust_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
+ NDR_PULL_ALLOC(ndr, r->out.rep);
+ ZERO_STRUCTP(r->out.rep);
}
if (flags & NDR_OUT) {
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.rep);
+ }
+ _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->in.level));
+ NDR_CHECK(ndr_pull_winbind_trust_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
}
return NDR_ERR_SUCCESS;
}
-_PUBLIC_ void ndr_print_winbind_list_trustdom(struct ndr_print *ndr, const char *name, int flags, const struct winbind_list_trustdom *r)
+_PUBLIC_ void ndr_print_winbind_trust(struct ndr_print *ndr, const char *name, int flags, const struct winbind_trust *r)
{
- ndr_print_struct(ndr, name, "winbind_list_trustdom");
+ ndr_print_struct(ndr, name, "winbind_trust");
ndr->depth++;
if (flags & NDR_SET_VALUES) {
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
}
if (flags & NDR_IN) {
- ndr_print_struct(ndr, "in", "winbind_list_trustdom");
+ ndr_print_struct(ndr, "in", "winbind_trust");
ndr->depth++;
+ ndr_print_ptr(ndr, "level", r->in.level);
+ ndr->depth++;
+ ndr_print_winbind_trust_level(ndr, "level", *r->in.level);
+ ndr->depth--;
+ ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
+ ndr_print_winbind_trust_req(ndr, "req", &r->in.req);
ndr->depth--;
}
if (flags & NDR_OUT) {
- ndr_print_struct(ndr, "out", "winbind_list_trustdom");
+ ndr_print_struct(ndr, "out", "winbind_trust");
ndr->depth++;
+ ndr_print_ptr(ndr, "rep", r->out.rep);
+ ndr->depth++;
+ ndr_print_set_switch_value(ndr, r->out.rep, *r->in.level);
+ ndr_print_winbind_trust_rep(ndr, "rep", r->out.rep);
+ ndr->depth--;
ndr_print_winbind_status(ndr, "result", r->out.result);
ndr->depth--;
}
false,
},
{
- "winbind_list_trustdom",
- sizeof(struct winbind_list_trustdom),
- (ndr_push_flags_fn_t) ndr_push_winbind_list_trustdom,
- (ndr_pull_flags_fn_t) ndr_pull_winbind_list_trustdom,
- (ndr_print_function_t) ndr_print_winbind_list_trustdom,
+ "winbind_trust",
+ sizeof(struct winbind_trust),
+ (ndr_push_flags_fn_t) ndr_push_winbind_trust,
+ (ndr_pull_flags_fn_t) ndr_pull_winbind_trust,
+ (ndr_print_function_t) ndr_print_winbind_trust,
false,
},
{