[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Thu Feb 18 07:57:37 MST 2010
The branch, master has been updated
via 0a8011a... spoolss: use ndr_push_spoolss_PrinterInfo2 hand-marshalled version (moves devmode relative pointer down to sd).
via 2881742... spoolss: add spoolss_security_descriptor.
via 70f8b34... s3: re-run make samba3-idl.
via f10a2d7... security: make two bitmaps public.
via 8c4ff98... spoolss: make two bitmaps public.
via 8f52957... spoolss: make all security descriptors and devicemodes 4 byte aligned and add missing subcontexts.
via 6d0a397... spoolss: set NDR_RELATIVE_REVERSE flag for various unions that have relative pointers.
via 2059a16... ndr_spoolss_buf: use LIBNDR_FLAG_NO_NDR_SIZE in NDR_SPOOLSS_SIZE_*
via a4c3aeb... spoolss: use subcontext in NDR_SPOOLSS_PUSH_ENUM_OUT macro.
via 8310f02... libndr: fix ndr_size_* calculation with relative reverse buffers
via 4a76d29... libndr: for now align reverse relative pointers to 2 bytes by default.
via 31c7780... libndr: implement LIBNDR_RELATIVE_REVERSE handling
via 0534775... libndr: store a subcontext buffer size in ndr_push_subcontext_start.
via b5f9c44... libndr: give an error when ndr_push_relative_ptr2_start()/_end() is used with the RELATIVE_REVERSE flag
via a2c3429... libndr: add LIBNDR_FLAG_NO_RELATIVE_REVERSE so that relative reverse processing can be disabled for single structure elements.
via ee13a51... libndr: add LIBNDR_FLAG_RELATIVE_REVERSE flag.
via c9fa97b... libndr: change subcontext buffer allocation to allocate on subcontext_start.
via 98e143c... librpc/ndr: make ndr_push_relative_ptr2() static
via e035911... librpc/ndr_krb5pac: use ndr_push_relative_ptr2_start()/_end()
via b423bd2... librpc/ndr_drsblobs: use ndr_push_relative_ptr2_start()/_end()
via bfd6edb... spoolss: fix relative pointers in ndr_push_spoolss_DriverInfo101.
via c869328... s3: re-run make full_idl.
via a049d75... pidl: use ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
via bc20d34... libndr: add ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
from 4948197... s3-docs: Remove trailing whitespaces and fix a typo.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 0a8011aa98ccaa81dc6ba2d30672ef4856fc31d8
Author: Günther Deschner <gd at samba.org>
Date: Sat Feb 13 03:45:25 2010 +0100
spoolss: use ndr_push_spoolss_PrinterInfo2 hand-marshalled version (moves devmode relative pointer down to sd).
Guenther
commit 28817424935e5b6eaf465fe993dedc2b0a0cf177
Author: Günther Deschner <gd at samba.org>
Date: Tue Feb 16 02:48:01 2010 +0100
spoolss: add spoolss_security_descriptor.
Guenther
commit 70f8b34f513ceeb736061d79e9d44dda39b51642
Author: Günther Deschner <gd at samba.org>
Date: Tue Feb 9 16:47:32 2010 +0100
s3: re-run make samba3-idl.
Guenther
commit f10a2d773d141f67319e19b45c40101bb9cb6cf4
Author: Günther Deschner <gd at samba.org>
Date: Tue Feb 16 10:46:07 2010 +0100
security: make two bitmaps public.
Guenther
commit 8c4ff98ea11ff06e20bea73596e9643d8194a890
Author: Günther Deschner <gd at samba.org>
Date: Sat Feb 13 04:27:05 2010 +0100
spoolss: make two bitmaps public.
Guenther
commit 8f52957369bf8ce7591d5d9a1436ccb7e384c612
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 18 15:36:08 2010 +0100
spoolss: make all security descriptors and devicemodes 4 byte aligned and add missing subcontexts.
Guenther
commit 6d0a39741dacd81e33b25a91fa28cdf983d10d84
Author: Günther Deschner <gd at samba.org>
Date: Mon Dec 14 17:22:39 2009 +0100
spoolss: set NDR_RELATIVE_REVERSE flag for various unions that have relative pointers.
Guenther
commit 2059a165ee6f4d231aa4075d8ddea70b8df8944f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 18 15:17:42 2010 +0100
ndr_spoolss_buf: use LIBNDR_FLAG_NO_NDR_SIZE in NDR_SPOOLSS_SIZE_*
metze
commit a4c3aeb79306190b09e284a6a28e3b40fbc5823b
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Dec 23 15:52:39 2009 +0100
spoolss: use subcontext in NDR_SPOOLSS_PUSH_ENUM_OUT macro.
metze
commit 8310f02414efd3b792857ed20c636c4c114e1ba2
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 18 15:13:20 2010 +0100
libndr: fix ndr_size_* calculation with relative reverse buffers
metze
commit 4a76d29374769ba4c075b8d5767498848d2e17d6
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Feb 18 13:40:44 2010 +0100
libndr: for now align reverse relative pointers to 2 bytes by default.
This is just a hack and we should let the callers use FLAG_ALIGN2
explicit in future.
metze
commit 31c7780c16651b284009874cf3da04587dc36d19
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 17 21:24:40 2010 +0100
libndr: implement LIBNDR_RELATIVE_REVERSE handling
This is based on Guenther's initial code.
metze
commit 05347754ee61f06466d6d9b7f390001992f793ce
Author: Günther Deschner <gd at samba.org>
Date: Mon Dec 14 15:33:32 2009 +0100
libndr: store a subcontext buffer size in ndr_push_subcontext_start.
Guenther
commit b5f9c44da55abb28222441a7e064a2a25891981f
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 17 20:27:08 2010 +0100
libndr: give an error when ndr_push_relative_ptr2_start()/_end() is used with the RELATIVE_REVERSE flag
metze
commit a2c34296fa6ca2ffb69cb69698a9b5f81803e8a8
Author: Günther Deschner <gd at samba.org>
Date: Tue Feb 9 18:27:37 2010 +0100
libndr: add LIBNDR_FLAG_NO_RELATIVE_REVERSE so that relative reverse processing
can be disabled for single structure elements.
Guenther
commit ee13a51b0514ec3ac4ca9c532c2b101a08ec9784
Author: Günther Deschner <gd at samba.org>
Date: Mon Dec 14 15:09:00 2009 +0100
libndr: add LIBNDR_FLAG_RELATIVE_REVERSE flag.
Guenther
commit c9fa97b01774d767acfabaf1eec7a6aad1510440
Author: Günther Deschner <gd at samba.org>
Date: Wed Dec 16 22:54:02 2009 +0100
libndr: change subcontext buffer allocation to allocate on subcontext_start.
Guenther
commit 98e143cd31fe10a039a4110f4d3755dee62ee826
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 17 20:00:36 2010 +0100
librpc/ndr: make ndr_push_relative_ptr2() static
metze
commit e03591111a1b9c2f05c29a7afac4641f23f455f4
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 17 20:00:04 2010 +0100
librpc/ndr_krb5pac: use ndr_push_relative_ptr2_start()/_end()
metze
commit b423bd2115e006f9af5d40cf5b651e03739d53a0
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Feb 17 19:59:19 2010 +0100
librpc/ndr_drsblobs: use ndr_push_relative_ptr2_start()/_end()
metze
commit bfd6edb3e9339d602eb6514ff50c3bb6c671174e
Author: Günther Deschner <gd at samba.org>
Date: Thu Feb 11 18:54:31 2010 +0100
spoolss: fix relative pointers in ndr_push_spoolss_DriverInfo101.
Guenther
commit c869328b1642043480f9600c88bcce9da37959b1
Author: Günther Deschner <gd at samba.org>
Date: Mon Dec 14 14:17:05 2009 +0100
s3: re-run make full_idl.
Guenther
commit a049d75193b284fe9efb28d303ea46ba407e5a7a
Author: Günther Deschner <gd at samba.org>
Date: Mon Dec 14 14:09:22 2009 +0100
pidl: use ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
Guenther
commit bc20d3446aa6de9f1d21d167c384e9eb4edd55eb
Author: Günther Deschner <gd at samba.org>
Date: Mon Dec 14 14:08:34 2009 +0100
libndr: add ndr_push_relative_ptr2_start and ndr_push_relative_ptr2_end.
Guenther
-----------------------------------------------------------------------
Summary of changes:
librpc/gen_ndr/ndr_drsblobs.c | 24 +-
librpc/gen_ndr/ndr_krb5pac.c | 3 +-
librpc/gen_ndr/ndr_ntlmssp.c | 30 +-
librpc/gen_ndr/ndr_security.c | 20 +-
librpc/gen_ndr/ndr_security.h | 4 +
librpc/gen_ndr/ndr_spoolss.c | 3366 ++++++++++++++++--------------
librpc/gen_ndr/ndr_spoolss.h | 4 +
librpc/gen_ndr/ndr_svcctl.c | 24 +-
librpc/gen_ndr/spoolss.h | 39 +-
librpc/idl/idl_types.h | 3 +
librpc/idl/security.idl | 4 +-
librpc/idl/spoolss.idl | 45 +-
librpc/ndr/libndr.h | 10 +-
librpc/ndr/ndr.c | 137 ++-
librpc/ndr/ndr_drsblobs.c | 6 +-
librpc/ndr/ndr_krb5pac.c | 3 +-
librpc/ndr/ndr_spoolss_buf.c | 332 +++-
librpc/ndr/ndr_spoolss_buf.h | 3 +
pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 6 +-
19 files changed, 2411 insertions(+), 1652 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/gen_ndr/ndr_drsblobs.c b/librpc/gen_ndr/ndr_drsblobs.c
index 4290ce5..807d15f 100644
--- a/librpc/gen_ndr/ndr_drsblobs.c
+++ b/librpc/gen_ndr/ndr_drsblobs.c
@@ -534,8 +534,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo1(struct ndr_push *ndr, int ndr_fl
}
if (ndr_flags & NDR_BUFFERS) {
if (r->other_info) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->other_info));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
NDR_CHECK(ndr_push_repsFromTo1OtherInfo(ndr, NDR_SCALARS, r->other_info));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
}
}
ndr->flags = _flags_save_STRUCT;
@@ -660,8 +661,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->dns_name1) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dns_name1));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name1));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name1));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name1));
}
ndr->flags = _flags_save_string;
}
@@ -669,8 +671,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2OtherInfo(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->dns_name2) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dns_name2));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dns_name2));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dns_name2));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dns_name2));
}
ndr->flags = _flags_save_string;
}
@@ -814,8 +817,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_repsFromTo2(struct ndr_push *ndr, int ndr_fl
}
if (ndr_flags & NDR_BUFFERS) {
if (r->other_info) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->other_info));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->other_info));
NDR_CHECK(ndr_push_repsFromTo2OtherInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->other_info));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->other_info));
}
}
ndr->flags = _flags_save_STRUCT;
@@ -1909,13 +1913,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosString(struct ndr_push
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_REMAINING);
if (r->string) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->string));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->string));
{
struct ndr_push *_ndr_string;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_string, 0, 2 * strlen_m(r->string)));
NDR_CHECK(ndr_push_string(_ndr_string, NDR_SCALARS, r->string));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_string, 0, 2 * strlen_m(r->string)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->string));
}
ndr->flags = _flags_save_string;
}
@@ -2010,13 +2015,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey3(struct ndr_push *n
uint32_t _flags_save_DATA_BLOB = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
if (r->value) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
{
struct ndr_push *_ndr_value;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
}
ndr->flags = _flags_save_DATA_BLOB;
}
@@ -2239,13 +2245,14 @@ static enum ndr_err_code ndr_push_package_PrimaryKerberosKey4(struct ndr_push *n
uint32_t _flags_save_DATA_BLOB = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
if (r->value) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value));
{
struct ndr_push *_ndr_value;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_value, 0, (r->value?r->value->length:0)));
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_value, NDR_SCALARS, *r->value));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_value, 0, (r->value?r->value->length:0)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value));
}
ndr->flags = _flags_save_DATA_BLOB;
}
@@ -3125,8 +3132,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_trustCurrentPasswords(struct ndr_push *ndr,
if (ndr_flags & NDR_BUFFERS) {
for (cntr_current_0 = 0; cntr_current_0 < r->count; cntr_current_0++) {
if (r->current[cntr_current_0]) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->current[cntr_current_0]));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->current[cntr_current_0]));
NDR_CHECK(ndr_push_AuthenticationInformation(ndr, NDR_SCALARS, r->current[cntr_current_0]));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->current[cntr_current_0]));
}
}
}
diff --git a/librpc/gen_ndr/ndr_krb5pac.c b/librpc/gen_ndr/ndr_krb5pac.c
index 1307be4..3991064 100644
--- a/librpc/gen_ndr/ndr_krb5pac.c
+++ b/librpc/gen_ndr/ndr_krb5pac.c
@@ -535,13 +535,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_PAC_BUFFER_RAW(struct ndr_push *ndr, int ndr
uint32_t _flags_save_DATA_BLOB_REM = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8);
if (r->info) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->info));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->info));
{
struct ndr_push *_ndr_info;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
NDR_CHECK(ndr_push_DATA_BLOB_REM(_ndr_info, NDR_SCALARS, r->info));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, NDR_ROUND(r->ndr_size, 8)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info));
}
ndr->flags = _flags_save_DATA_BLOB_REM;
}
diff --git a/librpc/gen_ndr/ndr_ntlmssp.c b/librpc/gen_ndr/ndr_ntlmssp.c
index 150cc54..1e59bcd 100644
--- a/librpc/gen_ndr/ndr_ntlmssp.c
+++ b/librpc/gen_ndr/ndr_ntlmssp.c
@@ -286,13 +286,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM));
if (r->DomainName) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->DomainName));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->DomainName));
{
struct ndr_push *_ndr_DomainName;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_DomainName, 0, strlen(r->DomainName)));
NDR_CHECK(ndr_push_string(_ndr_DomainName, NDR_SCALARS, r->DomainName));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_DomainName, 0, strlen(r->DomainName)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->DomainName));
}
ndr->flags = _flags_save_string;
}
@@ -300,13 +301,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_NEGOTIATE_MESSAGE(struct ndr_push *ndr, int
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(NTLMSSP_NEGOTIATE_OEM));
if (r->Workstation) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->Workstation));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->Workstation));
{
struct ndr_push *_ndr_Workstation;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Workstation, 0, strlen(r->Workstation)));
NDR_CHECK(ndr_push_string(_ndr_Workstation, NDR_SCALARS, r->Workstation));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Workstation, 0, strlen(r->Workstation)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->Workstation));
}
ndr->flags = _flags_save_string;
}
@@ -1012,24 +1014,26 @@ _PUBLIC_ enum ndr_err_code ndr_push_CHALLENGE_MESSAGE(struct ndr_push *ndr, int
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags));
if (r->TargetName) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->TargetName));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->TargetName));
{
struct ndr_push *_ndr_TargetName;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_TargetName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName)));
NDR_CHECK(ndr_push_string(_ndr_TargetName, NDR_SCALARS, r->TargetName));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_TargetName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->TargetName)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->TargetName));
}
ndr->flags = _flags_save_string;
}
if (r->TargetInfo) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->TargetInfo));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->TargetInfo));
{
struct ndr_push *_ndr_TargetInfo;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_TargetInfo, 0, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags)));
NDR_CHECK(ndr_push_AV_PAIR_LIST(_ndr_TargetInfo, NDR_SCALARS|NDR_BUFFERS, r->TargetInfo));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_TargetInfo, 0, ndr_size_AV_PAIR_LIST(r->TargetInfo, ndr->iconv_convenience, ndr->flags)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->TargetInfo));
}
NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version));
}
@@ -1676,7 +1680,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i
}
if (ndr_flags & NDR_BUFFERS) {
if (r->LmChallengeResponse) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->LmChallengeResponse));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->LmChallengeResponse));
{
struct ndr_push *_ndr_LmChallengeResponse;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen));
@@ -1684,9 +1688,10 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i
NDR_CHECK(ndr_push_ntlmssp_LM_RESPONSE(_ndr_LmChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->LmChallengeResponse));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_LmChallengeResponse, 0, r->LmChallengeResponseLen));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->LmChallengeResponse));
}
if (r->NtChallengeResponse) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->NtChallengeResponse));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->NtChallengeResponse));
{
struct ndr_push *_ndr_NtChallengeResponse;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_NtChallengeResponse, 0, r->NtChallengeResponseLen));
@@ -1694,18 +1699,20 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i
NDR_CHECK(ndr_push_ntlmssp_NTLM_RESPONSE(_ndr_NtChallengeResponse, NDR_SCALARS|NDR_BUFFERS, r->NtChallengeResponse));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_NtChallengeResponse, 0, r->NtChallengeResponseLen));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->NtChallengeResponse));
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags));
if (r->DomainName) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->DomainName));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->DomainName));
{
struct ndr_push *_ndr_DomainName;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_DomainName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName)));
NDR_CHECK(ndr_push_string(_ndr_DomainName, NDR_SCALARS, r->DomainName));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_DomainName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->DomainName)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->DomainName));
}
ndr->flags = _flags_save_string;
}
@@ -1713,13 +1720,14 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags));
if (r->UserName) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->UserName));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->UserName));
{
struct ndr_push *_ndr_UserName;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_UserName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName)));
NDR_CHECK(ndr_push_string(_ndr_UserName, NDR_SCALARS, r->UserName));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_UserName, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->UserName)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->UserName));
}
ndr->flags = _flags_save_string;
}
@@ -1727,24 +1735,26 @@ _PUBLIC_ enum ndr_err_code ndr_push_AUTHENTICATE_MESSAGE(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, ndr_ntlmssp_negotiated_string_flags(r->NegotiateFlags));
if (r->Workstation) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->Workstation));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->Workstation));
{
struct ndr_push *_ndr_Workstation;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_Workstation, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation)));
NDR_CHECK(ndr_push_string(_ndr_Workstation, NDR_SCALARS, r->Workstation));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_Workstation, 0, ndr_ntlmssp_string_length(r->NegotiateFlags, r->Workstation)));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->Workstation));
}
ndr->flags = _flags_save_string;
}
if (r->EncryptedRandomSessionKey) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->EncryptedRandomSessionKey));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->EncryptedRandomSessionKey));
{
struct ndr_push *_ndr_EncryptedRandomSessionKey;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKey->length));
NDR_CHECK(ndr_push_DATA_BLOB(_ndr_EncryptedRandomSessionKey, NDR_SCALARS, *r->EncryptedRandomSessionKey));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_EncryptedRandomSessionKey, 0, r->EncryptedRandomSessionKey->length));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->EncryptedRandomSessionKey));
}
NDR_CHECK(ndr_push_ntlmssp_Version(ndr, NDR_BUFFERS, &r->Version));
}
diff --git a/librpc/gen_ndr/ndr_security.c b/librpc/gen_ndr/ndr_security.c
index 081b8cb..7abb5e8 100644
--- a/librpc/gen_ndr/ndr_security.c
+++ b/librpc/gen_ndr/ndr_security.c
@@ -552,13 +552,13 @@ _PUBLIC_ void ndr_print_security_acl(struct ndr_print *ndr, const char *name, co
ndr->depth--;
}
-static enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
+_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r)
{
NDR_CHECK(ndr_push_enum_uint8(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r)
{
uint8_t v;
NDR_CHECK(ndr_pull_enum_uint8(ndr, NDR_SCALARS, &v));
@@ -576,13 +576,13 @@ _PUBLIC_ void ndr_print_security_descriptor_revision(struct ndr_print *ndr, cons
ndr_print_enum(ndr, name, "ENUM", val, r);
}
-static enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
+_PUBLIC_ enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r)
{
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r)
{
uint16_t v;
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &v));
@@ -630,20 +630,24 @@ _PUBLIC_ enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, in
}
if (ndr_flags & NDR_BUFFERS) {
if (r->owner_sid) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->owner_sid));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
}
if (r->group_sid) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->group_sid));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
}
if (r->sacl) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sacl));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
}
if (r->dacl) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dacl));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
}
}
ndr->flags = _flags_save_STRUCT;
diff --git a/librpc/gen_ndr/ndr_security.h b/librpc/gen_ndr/ndr_security.h
index b900d54..e1f943d 100644
--- a/librpc/gen_ndr/ndr_security.h
+++ b/librpc/gen_ndr/ndr_security.h
@@ -33,7 +33,11 @@ enum ndr_err_code ndr_push_security_acl(struct ndr_push *ndr, int ndr_flags, con
enum ndr_err_code ndr_pull_security_acl(struct ndr_pull *ndr, int ndr_flags, struct security_acl *r);
void ndr_print_security_acl(struct ndr_print *ndr, const char *name, const struct security_acl *r);
size_t ndr_size_security_acl(const struct security_acl *r, struct smb_iconv_convenience *ic, int flags);
+enum ndr_err_code ndr_push_security_descriptor_revision(struct ndr_push *ndr, int ndr_flags, enum security_descriptor_revision r);
+enum ndr_err_code ndr_pull_security_descriptor_revision(struct ndr_pull *ndr, int ndr_flags, enum security_descriptor_revision *r);
void ndr_print_security_descriptor_revision(struct ndr_print *ndr, const char *name, enum security_descriptor_revision r);
+enum ndr_err_code ndr_push_security_descriptor_type(struct ndr_push *ndr, int ndr_flags, uint16_t r);
+enum ndr_err_code ndr_pull_security_descriptor_type(struct ndr_pull *ndr, int ndr_flags, uint16_t *r);
void ndr_print_security_descriptor_type(struct ndr_print *ndr, const char *name, uint16_t r);
enum ndr_err_code ndr_push_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r);
enum ndr_err_code ndr_pull_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r);
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index fb93aaf..112e993 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -228,13 +228,13 @@ _PUBLIC_ void ndr_print_spoolss_MinorVersion(struct ndr_print *ndr, const char *
ndr_print_enum(ndr, name, "ENUM", val, r);
}
-static enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
{
uint32_t v;
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
@@ -358,8 +358,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
}
ndr->flags = _flags_save_string;
}
@@ -367,8 +368,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo0(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->servername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
}
ndr->flags = _flags_save_string;
}
@@ -1246,13 +1248,13 @@ _PUBLIC_ void ndr_print_spoolss_EnumPrinterFlags(struct ndr_print *ndr, const ch
ndr->depth--;
}
-static enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
{
uint32_t v;
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
@@ -1313,8 +1315,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->description) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
}
ndr->flags = _flags_save_string;
}
@@ -1322,8 +1325,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name));
}
ndr->flags = _flags_save_string;
}
@@ -1331,8 +1335,9 @@ _PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo1(struct ndr_push *ndr, i
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->comment) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment));
}
ndr->flags = _flags_save_string;
}
@@ -1479,210 +1484,6 @@ _PUBLIC_ size_t ndr_size_spoolss_PrinterInfo1(const struct spoolss_PrinterInfo1
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo1, ic);
}
-_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo2(struct ndr_push *ndr, int ndr_flags, const struct spoolss_PrinterInfo2 *r)
-{
- if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_push_align(ndr, 5));
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
- ndr->flags = _flags_save_string;
- }
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
- ndr->flags = _flags_save_string;
- }
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sharename));
- ndr->flags = _flags_save_string;
- }
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
- ndr->flags = _flags_save_string;
- }
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->drivername));
- ndr->flags = _flags_save_string;
- }
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
- ndr->flags = _flags_save_string;
- }
- {
- uint32_t _flags_save_string = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->location));
--
Samba Shared Repository
More information about the samba-cvs
mailing list