The branch, v3-5-test has been updated
       via  f805e94... Make samba3-idl to fix the build. Jeremy.
       via  dba206a... Merge branch 'v3-5-test' of 
ssh://[email protected]/data/git/samba into v3-5-test
       via  eea15d8... tdr: teach TDR about uint1632 enums
       via  99afc72... pidl: update PIDL tests for uint1632 enums (cherry 
picked from commit 7816f9d7abf5203537c3bb7afb9511b00d2d974f)
       via  0724f58... pidl: get the alignment right for uint1632 enums (NDR64)
      from  8e0c9e4... s3-lsa: fill in some more info levels in 
_lsa_QueryInfoPolicy().

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test


- Log -----------------------------------------------------------------
commit f805e9472936a24eee90eeadb26ee7f6fa8bc2a9
Author: Jeremy Allison <[email protected]>
Date:   Tue Nov 3 14:20:21 2009 -0800

    Make samba3-idl to fix the build.
    Jeremy.

commit dba206a0b506a3a89cfa140eb079856abd9ce2e3
Merge: eea15d8f117e07d3e121e087d23e50d94a7c6355 
8e0c9e40278265a1da959542178276bc042df006
Author: Jeremy Allison <[email protected]>
Date:   Tue Nov 3 13:41:22 2009 -0800

    Merge branch 'v3-5-test' of ssh://[email protected]/data/git/samba into 
v3-5-test

commit eea15d8f117e07d3e121e087d23e50d94a7c6355
Author: Andrew Tridgell <[email protected]>
Date:   Wed Oct 7 06:39:03 2009 +1100

    tdr: teach TDR about uint1632 enums
    
    TDB doesn't have NDR64, but it needs to know how to map the new types
    from pidl
    (cherry picked from commit 1d0fb1e0fba3cf4d04d4602ed4e717912804e5de)

commit 99afc728ebe156d8a3c966d2afed2b63dd5082ec
Author: Andrew Tridgell <[email protected]>
Date:   Tue Oct 6 20:49:14 2009 +1100

    pidl: update PIDL tests for uint1632 enums
    (cherry picked from commit 7816f9d7abf5203537c3bb7afb9511b00d2d974f)

commit 0724f58489edb9fa25bcc593cbd5483450b5937f
Author: Andrew Tridgell <[email protected]>
Date:   Tue Oct 6 20:47:09 2009 +1100

    pidl: get the alignment right for uint1632 enums (NDR64)
    
    The default enum in NDR63 is 32 bits, not 16 bits. We need a uint1632
    type to get the alignment right.
    (cherry picked from commit 2bf8a7485cf0733c808bc97a399a1c73bb988414)

-----------------------------------------------------------------------

Summary of changes:
 lib/tdr/tdr.c                        |   10 ++
 librpc/gen_ndr/ndr_dcerpc.c          |   46 +++++++
 librpc/gen_ndr/ndr_dfs.c             |   64 +++++++++-
 librpc/gen_ndr/ndr_drsblobs.c        |  107 +++++++++++++--
 librpc/gen_ndr/ndr_drsuapi.c         |  212 +++++++++++++++++++++++++++++-
 librpc/gen_ndr/ndr_dssetup.c         |   28 +++--
 librpc/gen_ndr/ndr_echo.c            |   22 +++-
 librpc/gen_ndr/ndr_epmapper.c        |   66 +++++++++
 librpc/gen_ndr/ndr_eventlog.c        |   18 +++-
 librpc/gen_ndr/ndr_krb5pac.c         |   20 +++
 librpc/gen_ndr/ndr_lsa.c             |  144 +++++++++++++++++++--
 librpc/gen_ndr/ndr_misc.c            |   12 ++-
 librpc/gen_ndr/ndr_named_pipe_auth.c |   12 ++
 librpc/gen_ndr/ndr_nbt.c             |   65 +++++++++
 librpc/gen_ndr/ndr_netlogon.c        |  158 ++++++++++++++++++++--
 librpc/gen_ndr/ndr_ntlmssp.c         |   30 ++++-
 librpc/gen_ndr/ndr_ntsvcs.c          |    2 +
 librpc/gen_ndr/ndr_samr.c            |  158 ++++++++++++++++++++--
 librpc/gen_ndr/ndr_schannel.c        |   24 +++-
 librpc/gen_ndr/ndr_security.c        |   15 ++-
 librpc/gen_ndr/ndr_spoolss.c         |  162 ++++++++++++++++++++++-
 librpc/gen_ndr/ndr_srvsvc.c          |  246 ++++++++++++++++++++++++++++++++++
 librpc/gen_ndr/ndr_svcctl.c          |   20 +++
 librpc/gen_ndr/ndr_winreg.c          |   14 ++
 librpc/gen_ndr/ndr_wkssvc.c          |  124 ++++++++++++++++-
 librpc/gen_ndr/ndr_xattr.c           |   22 +++
 librpc/ndr/libndr.h                  |    3 +
 librpc/ndr/ndr_basic.c               |   78 +++++++++--
 pidl/lib/Parse/Pidl/NDR.pm           |    2 +
 pidl/lib/Parse/Pidl/Samba4/TDR.pm    |    6 +-
 pidl/lib/Parse/Pidl/Typelist.pm      |    4 +-
 pidl/tests/typelist.pl               |    2 +-
 32 files changed, 1793 insertions(+), 103 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/tdr/tdr.c b/lib/tdr/tdr.c
index 293436e..ce67003 100644
--- a/lib/tdr/tdr.c
+++ b/lib/tdr/tdr.c
@@ -92,6 +92,11 @@ NTSTATUS tdr_pull_uint16(struct tdr_pull *tdr, TALLOC_CTX 
*ctx, uint16_t *v)
        return NT_STATUS_OK;
 }
 
+NTSTATUS tdr_pull_uint1632(struct tdr_pull *tdr, TALLOC_CTX *ctx, uint16_t *v)
+{
+       return tdr_pull_uint16(tdr, ctx, v);
+}
+
 NTSTATUS tdr_push_uint16(struct tdr_push *tdr, const uint16_t *v)
 {
        TDR_PUSH_NEED_BYTES(tdr, 2);
@@ -100,6 +105,11 @@ NTSTATUS tdr_push_uint16(struct tdr_push *tdr, const 
uint16_t *v)
        return NT_STATUS_OK;
 }
 
+NTSTATUS tdr_push_uint1632(struct tdr_push *tdr, const uint16_t *v)
+{
+       return tdr_push_uint16(tdr, v);
+}
+
 NTSTATUS tdr_print_uint16(struct tdr_print *tdr, const char *name, uint16_t *v)
 {
        tdr->print(tdr, "%-25s: 0x%02x (%u)", name, *v, *v);
diff --git a/librpc/gen_ndr/ndr_dcerpc.c b/librpc/gen_ndr/ndr_dcerpc.c
index 6b2b139..37f6d54 100644
--- a/librpc/gen_ndr/ndr_dcerpc.c
+++ b/librpc/gen_ndr/ndr_dcerpc.c
@@ -15,6 +15,7 @@ static enum ndr_err_code ndr_push_dcerpc_ctx_list(struct 
ndr_push *ndr, int ndr_
                for (cntr_transfer_syntaxes_0 = 0; cntr_transfer_syntaxes_0 < 
r->num_transfer_syntaxes; cntr_transfer_syntaxes_0++) {
                        NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, 
&r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -37,6 +38,7 @@ static enum ndr_err_code ndr_pull_dcerpc_ctx_list(struct 
ndr_pull *ndr, int ndr_
                        NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, 
&r->transfer_syntaxes[cntr_transfer_syntaxes_0]));
                }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_transfer_syntaxes_0, 0);
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -88,6 +90,7 @@ static enum ndr_err_code ndr_push_dcerpc_bind(struct ndr_push 
*ndr, int ndr_flag
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -123,6 +126,7 @@ static enum ndr_err_code ndr_pull_dcerpc_bind(struct 
ndr_pull *ndr, int ndr_flag
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -157,6 +161,7 @@ static enum ndr_err_code ndr_push_dcerpc_empty(struct 
ndr_push *ndr, int ndr_fla
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -167,6 +172,7 @@ static enum ndr_err_code ndr_pull_dcerpc_empty(struct 
ndr_pull *ndr, int ndr_fla
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -278,6 +284,7 @@ static enum ndr_err_code ndr_push_dcerpc_request(struct 
ndr_push *ndr, int ndr_f
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->stub_and_verifier));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -305,6 +312,7 @@ static enum ndr_err_code ndr_pull_dcerpc_request(struct 
ndr_pull *ndr, int ndr_f
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->stub_and_verifier));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -332,6 +340,7 @@ static enum ndr_err_code ndr_push_dcerpc_ack_ctx(struct 
ndr_push *ndr, int ndr_f
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->result));
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reason));
                NDR_CHECK(ndr_push_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -345,6 +354,7 @@ static enum ndr_err_code ndr_pull_dcerpc_ack_ctx(struct 
ndr_pull *ndr, int ndr_f
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->result));
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reason));
                NDR_CHECK(ndr_pull_ndr_syntax_id(ndr, NDR_SCALARS, &r->syntax));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -387,6 +397,7 @@ static enum ndr_err_code ndr_push_dcerpc_bind_ack(struct 
ndr_push *ndr, int ndr_
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -424,6 +435,7 @@ static enum ndr_err_code ndr_pull_dcerpc_bind_ack(struct 
ndr_pull *ndr, int ndr_
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -465,6 +477,7 @@ static enum ndr_err_code 
ndr_push_dcerpc_bind_nak_versions(struct ndr_push *ndr,
                for (cntr_versions_0 = 0; cntr_versions_0 < r->num_versions; 
cntr_versions_0++) {
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
r->versions[cntr_versions_0]));
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -485,6 +498,7 @@ static enum ndr_err_code 
ndr_pull_dcerpc_bind_nak_versions(struct ndr_pull *ndr,
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, 
&r->versions[cntr_versions_0]));
                }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_versions_0, 0);
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -591,6 +605,7 @@ static enum ndr_err_code ndr_push_dcerpc_bind_nak(struct 
ndr_push *ndr, int ndr_
                NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->reject_reason));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->versions, 
r->reject_reason));
                NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, 
NDR_SCALARS, &r->versions));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_dcerpc_bind_nak_versions_ctr(ndr, 
NDR_BUFFERS, &r->versions));
@@ -605,6 +620,7 @@ static enum ndr_err_code ndr_pull_dcerpc_bind_nak(struct 
ndr_pull *ndr, int ndr_
                NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->reject_reason));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->versions, 
r->reject_reason));
                NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, 
NDR_SCALARS, &r->versions));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_dcerpc_bind_nak_versions_ctr(ndr, 
NDR_BUFFERS, &r->versions));
@@ -641,6 +657,7 @@ static enum ndr_err_code ndr_push_dcerpc_response(struct 
ndr_push *ndr, int ndr_
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->stub_and_verifier));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -666,6 +683,7 @@ static enum ndr_err_code ndr_pull_dcerpc_response(struct 
ndr_pull *ndr, int ndr_
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->stub_and_verifier));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -698,6 +716,7 @@ static enum ndr_err_code ndr_push_dcerpc_fault(struct 
ndr_push *ndr, int ndr_fla
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->_pad));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -718,6 +737,7 @@ static enum ndr_err_code ndr_pull_dcerpc_fault(struct 
ndr_pull *ndr, int ndr_fla
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->_pad));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -813,6 +833,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth(struct 
ndr_push *ndr, int ndr_fl
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->credentials));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -834,6 +855,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth(struct 
ndr_pull *ndr, int ndr_fl
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->credentials));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -864,6 +886,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_auth3(struct 
ndr_push *ndr, int ndr_f
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -881,6 +904,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_auth3(struct 
ndr_pull *ndr, int ndr_f
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -907,6 +931,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_orphaned(struct 
ndr_push *ndr, int nd
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -924,6 +949,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_orphaned(struct 
ndr_pull *ndr, int nd
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -950,6 +976,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_co_cancel(struct 
ndr_push *ndr, int n
                        NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, 
r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -967,6 +994,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_co_cancel(struct 
ndr_pull *ndr, int n
                        NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, 
&r->auth_info));
                        ndr->flags = _flags_save_DATA_BLOB;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -988,6 +1016,7 @@ _PUBLIC_ enum ndr_err_code 
ndr_push_dcerpc_cl_cancel(struct ndr_push *ndr, int n
                NDR_CHECK(ndr_push_align(ndr, 4));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1000,6 +1029,7 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_dcerpc_cl_cancel(struct ndr_pull *ndr, int n
                NDR_CHECK(ndr_pull_align(ndr, 4));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1022,6 +1052,7 @@ _PUBLIC_ enum ndr_err_code 
ndr_push_dcerpc_cancel_ack(struct ndr_push *ndr, int
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->version));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->id));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
r->server_is_accepting));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1035,6 +1066,7 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_dcerpc_cancel_ack(struct ndr_pull *ndr, int
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->version));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->id));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, 
&r->server_is_accepting));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1066,6 +1098,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_fack(struct 
ndr_push *ndr, int ndr_fl
                for (cntr_selack_0 = 0; cntr_selack_0 < r->selack_size; 
cntr_selack_0++) {
                        NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 
r->selack[cntr_selack_0]));
                }
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1092,6 +1125,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_fack(struct 
ndr_pull *ndr, int ndr_fl
                        NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, 
&r->selack[cntr_selack_0]));
                }
                NDR_PULL_SET_MEM_CTX(ndr, _mem_save_selack_0, 0);
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1127,6 +1161,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ack(struct 
ndr_push *ndr, int ndr_fla
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1137,6 +1172,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ack(struct 
ndr_pull *ndr, int ndr_fla
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1154,6 +1190,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_ping(struct 
ndr_push *ndr, int ndr_fl
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1164,6 +1201,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_ping(struct 
ndr_pull *ndr, int ndr_fl
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1181,6 +1219,7 @@ _PUBLIC_ enum ndr_err_code 
ndr_push_dcerpc_shutdown(struct ndr_push *ndr, int nd
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1191,6 +1230,7 @@ _PUBLIC_ enum ndr_err_code 
ndr_pull_dcerpc_shutdown(struct ndr_pull *ndr, int nd
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1208,6 +1248,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_dcerpc_working(struct 
ndr_push *ndr, int ndr
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1218,6 +1259,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_dcerpc_working(struct 
ndr_pull *ndr, int ndr
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -1701,6 +1743,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_ncacn_packet(struct 
ndr_push *ndr, int ndr_f
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->call_id));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype));
                NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
@@ -1722,6 +1765,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_ncacn_packet(struct 
ndr_pull *ndr, int ndr_f
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->call_id));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype));
                NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
@@ -1771,6 +1815,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_ncadg_packet(struct 
ndr_push *ndr, int ndr_f
                NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->serial_low));
                NDR_CHECK(ndr_push_set_switch_value(ndr, &r->u, r->ptype));
                NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_push_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
@@ -1803,6 +1848,7 @@ _PUBLIC_ enum ndr_err_code ndr_pull_ncadg_packet(struct 
ndr_pull *ndr, int ndr_f
                NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->serial_low));
                NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->u, r->ptype));
                NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_SCALARS, &r->u));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
        }
        if (ndr_flags & NDR_BUFFERS) {
                NDR_CHECK(ndr_pull_dcerpc_payload(ndr, NDR_BUFFERS, &r->u));
diff --git a/librpc/gen_ndr/ndr_dfs.c b/librpc/gen_ndr/ndr_dfs.c
index 108eed7..62f42ba 100644
--- a/librpc/gen_ndr/ndr_dfs.c
+++ b/librpc/gen_ndr/ndr_dfs.c
@@ -35,6 +35,7 @@ static enum ndr_err_code ndr_push_dfs_Info0(struct ndr_push 
*ndr, int ndr_flags,
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 1));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -45,6 +46,7 @@ static enum ndr_err_code ndr_pull_dfs_Info0(struct ndr_pull 
*ndr, int ndr_flags,
 {
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_pull_align(ndr, 1));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
        }
        if (ndr_flags & NDR_BUFFERS) {
        }
@@ -63,6 +65,7 @@ static enum ndr_err_code ndr_push_dfs_Info1(struct ndr_push 
*ndr, int ndr_flags,
        if (ndr_flags & NDR_SCALARS) {
                NDR_CHECK(ndr_push_align(ndr, 5));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->path));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -87,6 +90,7 @@ static enum ndr_err_code ndr_pull_dfs_Info1(struct ndr_pull 
*ndr, int ndr_flags,
                } else {
                        r->path = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -153,6 +157,7 @@ static enum ndr_err_code ndr_push_dfs_Info2(struct ndr_push 
*ndr, int ndr_flags,
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
                NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -193,6 +198,7 @@ static enum ndr_err_code ndr_pull_dfs_Info2(struct ndr_pull 
*ndr, int ndr_flags,
                }
                NDR_CHECK(ndr_pull_dfs_VolumeState(ndr, NDR_SCALARS, 
&r->state));
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_stores));
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -275,6 +281,7 @@ static enum ndr_err_code ndr_push_dfs_StorageInfo(struct 
ndr_push *ndr, int ndr_
                NDR_CHECK(ndr_push_dfs_StorageState(ndr, NDR_SCALARS, 
r->state));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->server));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->share));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->server) {
@@ -314,6 +321,7 @@ static enum ndr_err_code ndr_pull_dfs_StorageInfo(struct 
ndr_pull *ndr, int ndr_
                } else {
                        r->share = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->server) {
@@ -374,6 +382,7 @@ static enum ndr_err_code ndr_push_dfs_Info3(struct ndr_push 
*ndr, int ndr_flags,
                NDR_CHECK(ndr_push_dfs_VolumeState(ndr, NDR_SCALARS, r->state));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->stores));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -433,6 +442,7 @@ static enum ndr_err_code ndr_pull_dfs_Info3(struct ndr_pull 
*ndr, int ndr_flags,
                } else {
                        r->stores = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -531,6 +541,7 @@ static enum ndr_err_code ndr_push_dfs_Info4(struct ndr_push 
*ndr, int ndr_flags,
                NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid));
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_stores));
                NDR_CHECK(ndr_push_unique_ptr(ndr, r->stores));
+               NDR_CHECK(ndr_push_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {
@@ -592,6 +603,7 @@ static enum ndr_err_code ndr_pull_dfs_Info4(struct ndr_pull 
*ndr, int ndr_flags,
                } else {
                        r->stores = NULL;
                }
+               NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
        }
        if (ndr_flags & NDR_BUFFERS) {
                if (r->path) {


-- 
Samba Shared Repository

Reply via email to