The branch, master has been updated via 7a59e6c222595df7dbd345b468b46bdab845cbf0 (commit) via 5c07c7eac24ab891bdc90b1624afc804657cc1e1 (commit) via 0227697bf42081db6db1a8257922edc2a36f85fc (commit) via bf0855e8e3626027709f5060a57d1cb682aa365f (commit) via 45a237ce88613dca0eaff43500a205d2ad94ef09 (commit) from 9eb78be4a670615b4e6a722f121f0f0e585b8d6b (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 7a59e6c222595df7dbd345b468b46bdab845cbf0 Author: Andrew Tridgell <tri...@samba.org> Date: Fri Oct 2 15:11:02 2009 +1000 idl: rebuilt the IDL for the build farm commit 5c07c7eac24ab891bdc90b1624afc804657cc1e1 Author: Andrew Tridgell <tri...@samba.org> Date: Fri Oct 2 15:09:59 2009 +1000 s4-libnet: give sane error messages when functional levels don't match It is nice to tell the user why their command failed :-) commit 0227697bf42081db6db1a8257922edc2a36f85fc Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de> Date: Wed Sep 30 20:34:35 2009 +0200 s4:dsdb/common/sidmap - Remove As metze pointed out - this seems to be completely dead code. I too didn't find any dependencies in other code parts. Therefore remove it. commit bf0855e8e3626027709f5060a57d1cb682aa365f Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de> Date: Tue Sep 29 10:50:45 2009 +0200 s4:provision - Change the default forest/domain function level back to Windows 2003 Native commit 45a237ce88613dca0eaff43500a205d2ad94ef09 Author: Matthias Dieter Wallnöfer <mwallnoe...@yahoo.de> Date: Fri Sep 25 10:44:19 2009 +0200 s4:libnet_become_dc - add checks for valid domain/forest function levels Add checks to make sure that we join only supported AD domains (we agreed that those are >= (Windows) 2003 Native per default - this is changeable with the "ads:function level" option). Add also checks to make sure that we cannot join domains which have a bigger function level than our DC capable function level (e.g. a (Windows) 2008 DC cannot join a (Windows) 2008 R2 domain). ----------------------------------------------------------------------- Summary of changes: librpc/gen_ndr/nbt.h | 5 +- librpc/gen_ndr/ndr_dcerpc.c | 46 ++ librpc/gen_ndr/ndr_dfs.c | 60 +++ librpc/gen_ndr/ndr_drsblobs.c | 87 ++++ librpc/gen_ndr/ndr_drsuapi.c | 206 +++++++++ librpc/gen_ndr/ndr_dssetup.c | 6 + librpc/gen_ndr/ndr_echo.c | 18 + librpc/gen_ndr/ndr_epmapper.c | 66 +++ librpc/gen_ndr/ndr_eventlog.c | 14 + librpc/gen_ndr/ndr_krb5pac.c | 20 + librpc/gen_ndr/ndr_lsa.c | 126 ++++++ librpc/gen_ndr/ndr_misc.c | 8 + librpc/gen_ndr/ndr_named_pipe_auth.c | 12 + librpc/gen_ndr/ndr_nbt.c | 70 +++- librpc/gen_ndr/ndr_netlogon.c | 142 ++++++- librpc/gen_ndr/ndr_ntlmssp.c | 26 ++ librpc/gen_ndr/ndr_ntsvcs.c | 2 + librpc/gen_ndr/ndr_samr.c | 130 ++++++ librpc/gen_ndr/ndr_schannel.c | 8 + librpc/gen_ndr/ndr_security.c | 11 + librpc/gen_ndr/ndr_spoolss.c | 158 +++++++ 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 | 112 +++++ librpc/gen_ndr/ndr_xattr.c | 22 + librpc/gen_ndr/netlogon.h | 6 +- source4/dsdb/common/sidmap.c | 612 --------------------------- source4/dsdb/config.mk | 1 - source4/libnet/libnet_become_dc.c | 66 +++- source4/scripting/python/samba/provision.py | 2 +- source4/setup/provision | 2 +- 32 files changed, 1693 insertions(+), 631 deletions(-) delete mode 100644 source4/dsdb/common/sidmap.c Changeset truncated at 500 lines: diff --git a/librpc/gen_ndr/nbt.h b/librpc/gen_ndr/nbt.h index ec234e1..dc39a5c 100644 --- a/librpc/gen_ndr/nbt.h +++ b/librpc/gen_ndr/nbt.h @@ -411,7 +411,10 @@ struct nbt_sockaddr { #define NBT_SERVER_NDNC ( 0x00000400 ) #define NBT_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 ) #define NBT_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 ) -#define NBT_SERVER_DNS_FOREST ( 0x01000000 ) +#define NBT_SERVER_ADS_WEB_SERVICE ( 0x00002000 ) +#define NBT_SERVER_HAS_DNS_NAME ( 0x20000000 ) +#define NBT_SERVER_IS_DEFAULT_NC ( 0x40000000 ) +#define NBT_SERVER_FOREST_ROOT ( 0x80000000 ) /* bitmap netlogon_nt_version_flags */ #define NETLOGON_NT_VERSION_1 ( 0x00000001 ) 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..367b688 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) { @@ -718,6 +730,7 @@ static enum ndr_err_code ndr_push_dfs_Info5(struct ndr_push *ndr, int ndr_flags, NDR_CHECK(ndr_push_dfs_PropertyFlags(ndr, NDR_SCALARS, r->flags)); NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pktsize)); 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) { @@ -762,6 +775,7 @@ static enum ndr_err_code ndr_pull_dfs_Info5(struct ndr_pull *ndr, int ndr_flags, NDR_CHECK(ndr_pull_dfs_PropertyFlags(ndr, NDR_SCALARS, &r->flags)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pktsize)); NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_stores)); -- Samba Shared Repository