summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/misc.idl2
-rw-r--r--source4/librpc/idl/samr.idl13
-rw-r--r--source4/librpc/ndr/ndr.c2
3 files changed, 12 insertions, 5 deletions
diff --git a/source4/librpc/idl/misc.idl b/source4/librpc/idl/misc.idl
index 7b41f45980..fca8fe876e 100644
--- a/source4/librpc/idl/misc.idl
+++ b/source4/librpc/idl/misc.idl
@@ -28,6 +28,7 @@ interface misc
typedef [public] struct {
uint8 type; /* xxxx_xxxx_ACE_TYPE - e.g allowed / denied etc */
uint8 flags; /* xxxx_INHERIT_xxxx - e.g OBJECT_INHERIT_ACE */
+ [value(ndr_size_security_ace(r))] uint16 size;
uint32 access_mask;
#if 0
@@ -44,6 +45,7 @@ interface misc
typedef [public] struct {
uint16 revision;
+ [value(ndr_size_security_acl(r))] uint16 size;
uint32 num_aces;
security_ace aces[num_aces];
} security_acl;
diff --git a/source4/librpc/idl/samr.idl b/source4/librpc/idl/samr.idl
index bbf1e40086..1226d1f770 100644
--- a/source4/librpc/idl/samr.idl
+++ b/source4/librpc/idl/samr.idl
@@ -31,16 +31,21 @@
/******************/
/* Function: 0x02 */
- NTSTATUS samr_SetSecurity ();
-
- /******************/
- /* Function: 0x03 */
typedef struct {
[value(ndr_size_security_descriptor(r->sd))] uint32 sd_size;
[subcontext(4)] security_descriptor *sd;
} samr_SdBuf;
+ NTSTATUS samr_SetSecurity (
+ [in,ref] policy_handle *handle,
+ [in] uint32 sec_info,
+ [in,ref] samr_SdBuf *sdbuf
+ );
+
+ /******************/
+ /* Function: 0x03 */
+
NTSTATUS samr_QuerySecurity (
[in,ref] policy_handle *handle,
[in] uint32 sec_info,
diff --git a/source4/librpc/ndr/ndr.c b/source4/librpc/ndr/ndr.c
index a1e5fe538f..2af63c7676 100644
--- a/source4/librpc/ndr/ndr.c
+++ b/source4/librpc/ndr/ndr.c
@@ -708,7 +708,7 @@ NTSTATUS ndr_push_relative(struct ndr_push *ndr, int ndr_flags, const void *p,
if (ndr->relative_list == NULL) {
ndr->relative_list_end = NULL;
}
- NDR_CHECK(ndr_push_align(ndr, 8));
+ NDR_CHECK(ndr_push_align(ndr, 4));
ndr_push_save(ndr, &save);
ndr->offset = ofs->offset;
NDR_CHECK(ndr_push_uint32(ndr, save.offset - ndr->ofs_list->offset));