summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr/ndr_lsa.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-12 05:34:21 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-12 05:34:21 +0000
commit6714815f014ae1b31d0675214d023e3afe2389f0 (patch)
tree386065e7ba271b3fad572d0fab4605bdd7878fca /source4/librpc/ndr/ndr_lsa.c
parent6735b72a8d0a8e0be274208c84b65db2fa33d2a0 (diff)
downloadsamba-6714815f014ae1b31d0675214d023e3afe2389f0.tar.gz
samba-6714815f014ae1b31d0675214d023e3afe2389f0.tar.bz2
samba-6714815f014ae1b31d0675214d023e3afe2389f0.zip
lsa_PrivilegeSet seems to be a very strange beast indeed. It has a
constant sized array of size 1 at the end? (This used to be commit 2cc354bd82456cb5598eb4acb40a5ada1459d08d)
Diffstat (limited to 'source4/librpc/ndr/ndr_lsa.c')
-rw-r--r--source4/librpc/ndr/ndr_lsa.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/librpc/ndr/ndr_lsa.c b/source4/librpc/ndr/ndr_lsa.c
index 4a7ee4e5ca..e62107a3e8 100644
--- a/source4/librpc/ndr/ndr_lsa.c
+++ b/source4/librpc/ndr/ndr_lsa.c
@@ -1498,6 +1498,7 @@ buffers:
if (!(ndr_flags & NDR_BUFFERS)) goto done;
NDR_ALLOC_N_SIZE(ndr, r->set, r->count, sizeof(r->set[0]));
NDR_CHECK(ndr_pull_array(ndr, ndr_flags, (void **)r->set, sizeof(r->set[0]), r->count, (ndr_pull_flags_fn_t)ndr_pull_lsa_LUIDAttribute));
+ NDR_CHECK(ndr_pull_const_array_uint32(ndr, r->unknown, 1));
done:
return NT_STATUS_OK;
}
@@ -1511,6 +1512,10 @@ void ndr_print_lsa_PrivilegeSet(struct ndr_print *ndr, const char *name, struct
ndr->depth++;
ndr_print_array(ndr, "set", r->set, sizeof(r->set[0]), r->count, (ndr_print_fn_t)ndr_print_lsa_LUIDAttribute);
ndr->depth--;
+ ndr_print_ptr(ndr, "unknown", r->unknown);
+ ndr->depth++;
+ ndr_print_array_uint32(ndr, "unknown", r->unknown, 1);
+ ndr->depth--;
ndr->depth--;
}
@@ -1533,7 +1538,6 @@ NTSTATUS ndr_pull_lsa_EnumPrivsAccount(struct ndr_pull *ndr, struct lsa_EnumPriv
if (r->out.privs) {
NDR_CHECK(ndr_pull_lsa_PrivilegeSet(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.privs));
}
- NDR_CHECK(ndr_pull_uint32(ndr, &r->out.unknown));
NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
return NT_STATUS_OK;