diff options
Diffstat (limited to 'librpc/ndr')
-rw-r--r-- | librpc/ndr/libndr.h | 25 | ||||
-rw-r--r-- | librpc/ndr/ndr.c | 56 | ||||
-rw-r--r-- | librpc/ndr/ndr_compression.c | 8 | ||||
-rw-r--r-- | librpc/ndr/ndr_drsuapi.c | 4 | ||||
-rw-r--r-- | librpc/ndr/ndr_drsuapi.h | 2 | ||||
-rw-r--r-- | librpc/ndr/ndr_frsrpc.c | 4 | ||||
-rw-r--r-- | librpc/ndr/ndr_frsrpc.h | 1 | ||||
-rw-r--r-- | librpc/ndr/ndr_krb5pac.c | 16 | ||||
-rw-r--r-- | librpc/ndr/ndr_ntlmssp.c | 10 | ||||
-rw-r--r-- | librpc/ndr/ndr_ntlmssp.h | 2 | ||||
-rw-r--r-- | librpc/ndr/ndr_schannel.c | 4 | ||||
-rw-r--r-- | librpc/ndr/ndr_sec_helper.c | 20 | ||||
-rw-r--r-- | librpc/ndr/ndr_spoolss_buf.c | 42 | ||||
-rw-r--r-- | librpc/ndr/ndr_spoolss_buf.h | 24 | ||||
-rw-r--r-- | librpc/ndr/uuid.c | 4 |
15 files changed, 93 insertions, 129 deletions
diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h index 72e8d21ba4..133a119069 100644 --- a/librpc/ndr/libndr.h +++ b/librpc/ndr/libndr.h @@ -60,8 +60,6 @@ struct ndr_pull { uint32_t data_size; uint32_t offset; - struct smb_iconv_convenience *iconv_convenience; - uint32_t relative_highest_offset; uint32_t relative_base_offset; struct ndr_token_list *relative_base_list; @@ -97,8 +95,6 @@ struct ndr_push { /* this is used to ensure we generate unique reference IDs */ uint32_t ptr_count; - - struct smb_iconv_convenience *iconv_convenience; }; /* structure passed to functions that print IDL structures */ @@ -106,7 +102,6 @@ struct ndr_print { uint32_t flags; /* LIBNDR_FLAG_* */ uint32_t depth; struct ndr_token_list *switch_list; - struct smb_iconv_convenience *iconv_convenience; void (*print)(struct ndr_print *, const char *, ...) PRINTF_ATTRIBUTE(2,3); void *private_data; }; @@ -381,10 +376,10 @@ size_t ndr_size_dom_sid0(const struct dom_sid *sid, int flags); void ndr_print_ipv4_addr(struct ndr_print *ndr, const char *name, const struct in_addr *_ip); void ndr_print_GUID(struct ndr_print *ndr, const char *name, const struct GUID *guid); bool ndr_syntax_id_equal(const struct ndr_syntax_id *i1, const struct ndr_syntax_id *i2); -enum ndr_err_code ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, const void *p, ndr_push_flags_fn_t fn); -enum ndr_err_code ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, uint32_t level, ndr_push_flags_fn_t fn); -size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t push, struct smb_iconv_convenience *); -size_t ndr_size_union(const void *p, int flags, uint32_t level, ndr_push_flags_fn_t push, struct smb_iconv_convenience *); +enum ndr_err_code ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, const void *p, ndr_push_flags_fn_t fn); +enum ndr_err_code ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, uint32_t level, ndr_push_flags_fn_t fn); +size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t push); +size_t ndr_size_union(const void *p, int flags, uint32_t level, ndr_push_flags_fn_t push); uint32_t ndr_push_get_relative_base_offset(struct ndr_push *ndr); void ndr_push_restore_relative_base_offset(struct ndr_push *ndr, uint32_t offset); enum ndr_err_code ndr_push_setup_relative_base_offset1(struct ndr_push *ndr, const void *p, uint32_t offset); @@ -402,9 +397,9 @@ enum ndr_err_code ndr_pull_relative_ptr1(struct ndr_pull *ndr, const void *p, ui enum ndr_err_code ndr_pull_relative_ptr2(struct ndr_pull *ndr, const void *p); enum ndr_err_code ndr_pull_relative_ptr_short(struct ndr_pull *ndr, uint16_t *v); size_t ndr_align_size(uint32_t offset, size_t n); -struct ndr_pull *ndr_pull_init_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience); +struct ndr_pull *ndr_pull_init_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx); enum ndr_err_code ndr_pull_advance(struct ndr_pull *ndr, uint32_t size); -struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience); +struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx); DATA_BLOB ndr_push_blob(struct ndr_push *ndr); enum ndr_err_code ndr_push_expand(struct ndr_push *ndr, uint32_t extra_size); void ndr_print_debug_helper(struct ndr_print *ndr, const char *format, ...) PRINTF_ATTRIBUTE(2,3); @@ -459,10 +454,10 @@ enum ndr_err_code ndr_print_set_switch_value(struct ndr_print *ndr, const void * uint32_t ndr_push_get_switch_value(struct ndr_push *ndr, const void *p); uint32_t ndr_pull_get_switch_value(struct ndr_pull *ndr, const void *p); uint32_t ndr_print_get_switch_value(struct ndr_print *ndr, const void *p); -enum ndr_err_code ndr_pull_struct_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, ndr_pull_flags_fn_t fn); -enum ndr_err_code ndr_pull_struct_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, ndr_pull_flags_fn_t fn); -enum ndr_err_code ndr_pull_union_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, uint32_t level, ndr_pull_flags_fn_t fn); -enum ndr_err_code ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, uint32_t level, ndr_pull_flags_fn_t fn); +enum ndr_err_code ndr_pull_struct_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, ndr_pull_flags_fn_t fn); +enum ndr_err_code ndr_pull_struct_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, ndr_pull_flags_fn_t fn); +enum ndr_err_code ndr_pull_union_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, uint32_t level, ndr_pull_flags_fn_t fn); +enum ndr_err_code ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, uint32_t level, ndr_pull_flags_fn_t fn); /* from libndr_basic.h */ #define NDR_SCALAR_PROTO(name, type) \ diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c index 90be787526..1600d51c1c 100644 --- a/librpc/ndr/ndr.c +++ b/librpc/ndr/ndr.c @@ -58,7 +58,7 @@ _PUBLIC_ size_t ndr_align_size(uint32_t offset, size_t n) /* initialise a ndr parse structure from a data blob */ -_PUBLIC_ struct ndr_pull *ndr_pull_init_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience) +_PUBLIC_ struct ndr_pull *ndr_pull_init_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx) { struct ndr_pull *ndr; @@ -68,7 +68,6 @@ _PUBLIC_ struct ndr_pull *ndr_pull_init_blob(const DATA_BLOB *blob, TALLOC_CTX * ndr->data = blob->data; ndr->data_size = blob->length; - ndr->iconv_convenience = talloc_reference(ndr, iconv_convenience); return ndr; } @@ -102,7 +101,7 @@ static enum ndr_err_code ndr_pull_set_offset(struct ndr_pull *ndr, uint32_t ofs) } /* create a ndr_push structure, ready for some marshalling */ -_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience) +_PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx) { struct ndr_push *ndr; @@ -117,7 +116,6 @@ _PUBLIC_ struct ndr_push *ndr_push_init_ctx(TALLOC_CTX *mem_ctx, struct smb_icon if (!ndr->data) { return NULL; } - ndr->iconv_convenience = talloc_reference(ndr, iconv_convenience); return ndr; } @@ -256,14 +254,6 @@ _PUBLIC_ void ndr_print_function_debug(ndr_print_function_t fn, const char *name ndr->depth = 1; ndr->flags = 0; - /* this is a s4 hack until we build up the courage to pass - * this all the way down - */ -#if _SAMBA_BUILD_ == 4 - ndr->iconv_convenience = smb_iconv_convenience_reinit(talloc_autofree_context(), - "ASCII", "UTF-8", true, NULL); -#endif - fn(ndr, name, flags, ptr); talloc_free(ndr); } @@ -286,14 +276,6 @@ _PUBLIC_ char *ndr_print_struct_string(TALLOC_CTX *mem_ctx, ndr_print_fn_t fn, c ndr->depth = 1; ndr->flags = 0; - /* this is a s4 hack until we build up the courage to pass - * this all the way down - */ -#if _SAMBA_BUILD_ == 4 - ndr->iconv_convenience = smb_iconv_convenience_reinit(talloc_autofree_context(), - "ASCII", "UTF-8", true, NULL); -#endif - fn(ndr, name, ptr); ret = talloc_steal(mem_ctx, (char *)ndr->private_data); failed: @@ -555,7 +537,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_subcontext_start(struct ndr_pull *ndr, subndr->data = ndr->data + ndr->offset; subndr->offset = 0; subndr->data_size = r_content_size; - subndr->iconv_convenience = talloc_reference(subndr, ndr->iconv_convenience); if (force_le) { ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN); @@ -591,7 +572,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_subcontext_start(struct ndr_push *ndr, { struct ndr_push *subndr; - subndr = ndr_push_init_ctx(ndr, ndr->iconv_convenience); + subndr = ndr_push_init_ctx(ndr); NDR_ERR_HAVE_NO_MEMORY(subndr); subndr->flags = ndr->flags & ~LIBNDR_FLAG_NDR64; @@ -852,11 +833,11 @@ _PUBLIC_ uint32_t ndr_print_get_switch_value(struct ndr_print *ndr, const void * /* pull a struct from a blob using NDR */ -_PUBLIC_ enum ndr_err_code ndr_pull_struct_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, +_PUBLIC_ enum ndr_err_code ndr_pull_struct_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, ndr_pull_flags_fn_t fn) { struct ndr_pull *ndr; - ndr = ndr_pull_init_blob(blob, mem_ctx, iconv_convenience); + ndr = ndr_pull_init_blob(blob, mem_ctx); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK_FREE(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); talloc_free(ndr); @@ -867,12 +848,11 @@ _PUBLIC_ enum ndr_err_code ndr_pull_struct_blob(const DATA_BLOB *blob, TALLOC_CT pull a struct from a blob using NDR - failing if all bytes are not consumed */ _PUBLIC_ enum ndr_err_code ndr_pull_struct_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *iconv_convenience, void *p, ndr_pull_flags_fn_t fn) { struct ndr_pull *ndr; uint32_t highest_ofs; - ndr = ndr_pull_init_blob(blob, mem_ctx, iconv_convenience); + ndr = ndr_pull_init_blob(blob, mem_ctx); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK_FREE(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); if (ndr->offset > ndr->relative_highest_offset) { @@ -896,11 +876,11 @@ _PUBLIC_ enum ndr_err_code ndr_pull_struct_blob_all(const DATA_BLOB *blob, TALLO pull a union from a blob using NDR, given the union discriminator */ _PUBLIC_ enum ndr_err_code ndr_pull_union_blob(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *iconv_convenience, void *p, + void *p, uint32_t level, ndr_pull_flags_fn_t fn) { struct ndr_pull *ndr; - ndr = ndr_pull_init_blob(blob, mem_ctx, iconv_convenience); + ndr = ndr_pull_init_blob(blob, mem_ctx); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK_FREE(ndr_pull_set_switch_value(ndr, p, level)); NDR_CHECK_FREE(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); @@ -913,12 +893,12 @@ _PUBLIC_ enum ndr_err_code ndr_pull_union_blob(const DATA_BLOB *blob, TALLOC_CTX failing if all bytes are not consumed */ _PUBLIC_ enum ndr_err_code ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *iconv_convenience, void *p, + void *p, uint32_t level, ndr_pull_flags_fn_t fn) { struct ndr_pull *ndr; uint32_t highest_ofs; - ndr = ndr_pull_init_blob(blob, mem_ctx, iconv_convenience); + ndr = ndr_pull_init_blob(blob, mem_ctx); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK_FREE(ndr_pull_set_switch_value(ndr, p, level)); NDR_CHECK_FREE(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); @@ -942,10 +922,10 @@ _PUBLIC_ enum ndr_err_code ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC /* push a struct to a blob using NDR */ -_PUBLIC_ enum ndr_err_code ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, const void *p, ndr_push_flags_fn_t fn) +_PUBLIC_ enum ndr_err_code ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, const void *p, ndr_push_flags_fn_t fn) { struct ndr_push *ndr; - ndr = ndr_push_init_ctx(mem_ctx, iconv_convenience); + ndr = ndr_push_init_ctx(mem_ctx); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p)); @@ -960,11 +940,11 @@ _PUBLIC_ enum ndr_err_code ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem /* push a union to a blob using NDR */ -_PUBLIC_ enum ndr_err_code ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, void *p, +_PUBLIC_ enum ndr_err_code ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p, uint32_t level, ndr_push_flags_fn_t fn) { struct ndr_push *ndr; - ndr = ndr_push_init_ctx(mem_ctx, iconv_convenience); + ndr = ndr_push_init_ctx(mem_ctx); NDR_ERR_HAVE_NO_MEMORY(ndr); NDR_CHECK(ndr_push_set_switch_value(ndr, p, level)); @@ -980,7 +960,7 @@ _PUBLIC_ enum ndr_err_code ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ /* generic ndr_size_*() handler for structures */ -_PUBLIC_ size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t push, struct smb_iconv_convenience *iconv_convenience) +_PUBLIC_ size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t push) { struct ndr_push *ndr; enum ndr_err_code status; @@ -989,7 +969,7 @@ _PUBLIC_ size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t pu /* avoid recursion */ if (flags & LIBNDR_FLAG_NO_NDR_SIZE) return 0; - ndr = ndr_push_init_ctx(NULL, iconv_convenience); + ndr = ndr_push_init_ctx(NULL); if (!ndr) return 0; ndr->flags |= flags | LIBNDR_FLAG_NO_NDR_SIZE; status = push(ndr, NDR_SCALARS|NDR_BUFFERS, discard_const(p)); @@ -1005,7 +985,7 @@ _PUBLIC_ size_t ndr_size_struct(const void *p, int flags, ndr_push_flags_fn_t pu /* generic ndr_size_*() handler for unions */ -_PUBLIC_ size_t ndr_size_union(const void *p, int flags, uint32_t level, ndr_push_flags_fn_t push, struct smb_iconv_convenience *iconv_convenience) +_PUBLIC_ size_t ndr_size_union(const void *p, int flags, uint32_t level, ndr_push_flags_fn_t push) { struct ndr_push *ndr; enum ndr_err_code status; @@ -1014,7 +994,7 @@ _PUBLIC_ size_t ndr_size_union(const void *p, int flags, uint32_t level, ndr_pus /* avoid recursion */ if (flags & LIBNDR_FLAG_NO_NDR_SIZE) return 0; - ndr = ndr_push_init_ctx(NULL, iconv_convenience); + ndr = ndr_push_init_ctx(NULL); if (!ndr) return 0; ndr->flags |= flags | LIBNDR_FLAG_NO_NDR_SIZE; diff --git a/librpc/ndr/ndr_compression.c b/librpc/ndr/ndr_compression.c index c73c3bb6fa..d291df5ad8 100644 --- a/librpc/ndr/ndr_compression.c +++ b/librpc/ndr/ndr_compression.c @@ -391,7 +391,7 @@ enum ndr_err_code ndr_pull_compression_start(struct ndr_pull *subndr, bool last = false; z_stream z; - ndrpush = ndr_push_init_ctx(subndr, subndr->iconv_convenience); + ndrpush = ndr_push_init_ctx(subndr); NDR_ERR_HAVE_NO_MEMORY(ndrpush); switch (compression_alg) { @@ -431,8 +431,6 @@ enum ndr_err_code ndr_pull_compression_start(struct ndr_pull *subndr, comndr->data_size = uncompressed.length; comndr->offset = 0; - comndr->iconv_convenience = talloc_reference(comndr, subndr->iconv_convenience); - *_comndr = comndr; return NDR_ERR_SUCCESS; } @@ -465,7 +463,7 @@ enum ndr_err_code ndr_push_compression_start(struct ndr_push *subndr, compression_alg); } - uncomndr = ndr_push_init_ctx(subndr, subndr->iconv_convenience); + uncomndr = ndr_push_init_ctx(subndr); NDR_ERR_HAVE_NO_MEMORY(uncomndr); uncomndr->flags = subndr->flags; @@ -492,8 +490,6 @@ enum ndr_err_code ndr_push_compression_end(struct ndr_push *subndr, ndrpull->data_size = uncomndr->offset; ndrpull->offset = 0; - ndrpull->iconv_convenience = talloc_reference(ndrpull, subndr->iconv_convenience); - switch (compression_alg) { case NDR_COMPRESSION_MSZIP: ZERO_STRUCT(z); diff --git a/librpc/ndr/ndr_drsuapi.c b/librpc/ndr/ndr_drsuapi.c index e9888fdf85..0cc3e5236c 100644 --- a/librpc/ndr/ndr_drsuapi.c +++ b/librpc/ndr/ndr_drsuapi.c @@ -258,9 +258,9 @@ enum ndr_err_code ndr_push_drsuapi_DsGetNCChangesXPRESSCtr6(struct ndr_push *ndr return NDR_ERR_SUCCESS; } -_PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags) +_PUBLIC_ size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, int flags) { - return ndr_size_struct((const struct drsuapi_DsReplicaObjectIdentifier3 *)r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3, ic); + return ndr_size_struct((const struct drsuapi_DsReplicaObjectIdentifier3 *)r, flags, (ndr_push_flags_fn_t)ndr_push_drsuapi_DsReplicaObjectIdentifier3); } _PUBLIC_ void ndr_print_drsuapi_SecBufferType(struct ndr_print *ndr, const char *name, enum drsuapi_SecBufferType r) diff --git a/librpc/ndr/ndr_drsuapi.h b/librpc/ndr/ndr_drsuapi.h index 43c6c18bd7..9d1d371b60 100644 --- a/librpc/ndr/ndr_drsuapi.h +++ b/librpc/ndr/ndr_drsuapi.h @@ -28,7 +28,7 @@ void ndr_print_drsuapi_DsReplicaObjectListItem(struct ndr_print *ndr, const char void ndr_print_drsuapi_DsReplicaObjectListItemEx(struct ndr_print *ndr, const char *name, const struct drsuapi_DsReplicaObjectListItemEx *r); -size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, struct smb_iconv_convenience *ic, int flags); +size_t ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(const struct drsuapi_DsReplicaObjectIdentifier3Binary *r, int flags); #endif /* _LIBRPC_NDR_NDR_DRSUAPI_H */ diff --git a/librpc/ndr/ndr_frsrpc.c b/librpc/ndr/ndr_frsrpc.c index e0c7f1cd75..96d34687bc 100644 --- a/librpc/ndr/ndr_frsrpc.c +++ b/librpc/ndr/ndr_frsrpc.c @@ -84,11 +84,9 @@ enum ndr_err_code ndr_pull_frsrpc_CommPktChunkCtr(struct ndr_pull *ndr, } size_t ndr_size_frsrpc_CommPktChunkCtr(const struct frsrpc_CommPktChunkCtr *r, - struct smb_iconv_convenience *ic, int flags) { flags |= LIBNDR_FLAG_NOALIGN; return ndr_size_struct(r, flags, - (ndr_push_flags_fn_t)ndr_push_frsrpc_CommPktChunkCtr, - ic); + (ndr_push_flags_fn_t)ndr_push_frsrpc_CommPktChunkCtr); } diff --git a/librpc/ndr/ndr_frsrpc.h b/librpc/ndr/ndr_frsrpc.h index e8dc76959b..9e5ac92d6c 100644 --- a/librpc/ndr/ndr_frsrpc.h +++ b/librpc/ndr/ndr_frsrpc.h @@ -29,7 +29,6 @@ enum ndr_err_code ndr_pull_frsrpc_CommPktChunkCtr(struct ndr_pull *ndr, int ndr_flags, struct frsrpc_CommPktChunkCtr *r); size_t ndr_size_frsrpc_CommPktChunkCtr(const struct frsrpc_CommPktChunkCtr *r, - struct smb_iconv_convenience *ic, int flags); #endif /* _LIBRPC_NDR_NDR_FRSRPC_H */ diff --git a/librpc/ndr/ndr_krb5pac.c b/librpc/ndr/ndr_krb5pac.c index 34a2ef88a7..237c0b65d4 100644 --- a/librpc/ndr/ndr_krb5pac.c +++ b/librpc/ndr/ndr_krb5pac.c @@ -23,9 +23,9 @@ #include "includes.h" #include "librpc/gen_ndr/ndr_krb5pac.h" -static size_t _ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) +static size_t _ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, int flags) { - size_t s = ndr_size_PAC_INFO(r, level, ic, flags); + size_t s = ndr_size_PAC_INFO(r, level, flags); switch (level) { case PAC_TYPE_LOGON_INFO: return NDR_ROUND(s,8); @@ -34,9 +34,9 @@ static size_t _ndr_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, struct } } -static size_t _subcontext_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) +static size_t _subcontext_size_PAC_INFO(const union PAC_INFO *r, uint32_t level, int flags) { - size_t s = ndr_size_PAC_INFO(r, level, ic, flags); + size_t s = ndr_size_PAC_INFO(r, level, flags); return NDR_ROUND(s,8); } @@ -45,7 +45,7 @@ enum ndr_err_code ndr_push_PAC_BUFFER(struct ndr_push *ndr, int ndr_flags, const if (ndr_flags & NDR_SCALARS) { NDR_CHECK(ndr_push_align(ndr, 4)); NDR_CHECK(ndr_push_PAC_TYPE(ndr, NDR_SCALARS, r->type)); - NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_PAC_INFO(r->info,r->type,ndr->iconv_convenience,0))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_PAC_INFO(r->info,r->type,0))); { uint32_t _flags_save_PAC_INFO = ndr->flags; ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN8); @@ -62,10 +62,10 @@ enum ndr_err_code ndr_push_PAC_BUFFER(struct ndr_push *ndr, int ndr_flags, const 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, _subcontext_size_PAC_INFO(r->info,r->type,ndr->iconv_convenience, 0))); + NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_info, 0, _subcontext_size_PAC_INFO(r->info,r->type,0))); NDR_CHECK(ndr_push_set_switch_value(_ndr_info, r->info, r->type)); NDR_CHECK(ndr_push_PAC_INFO(_ndr_info, NDR_SCALARS|NDR_BUFFERS, r->info)); - NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, _subcontext_size_PAC_INFO(r->info,r->type,ndr->iconv_convenience,0))); + NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_info, 0, _subcontext_size_PAC_INFO(r->info,r->type,0))); } NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->info)); } @@ -128,7 +128,7 @@ void ndr_print_PAC_BUFFER(struct ndr_print *ndr, const char *name, const struct ndr_print_struct(ndr, name, "PAC_BUFFER"); ndr->depth++; ndr_print_PAC_TYPE(ndr, "type", r->type); - ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_PAC_INFO(r->info,r->type,ndr->iconv_convenience,0):r->_ndr_size); + ndr_print_uint32(ndr, "_ndr_size", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?_ndr_size_PAC_INFO(r->info,r->type,0):r->_ndr_size); ndr_print_ptr(ndr, "info", r->info); ndr->depth++; if (r->info) { diff --git a/librpc/ndr/ndr_ntlmssp.c b/librpc/ndr/ndr_ntlmssp.c index 4808aa5f5f..02fc3c2cc7 100644 --- a/librpc/ndr/ndr_ntlmssp.c +++ b/librpc/ndr/ndr_ntlmssp.c @@ -108,7 +108,6 @@ _PUBLIC_ enum ndr_err_code ndr_pull_AV_PAIR_LIST(struct ndr_pull *ndr, int ndr_f } _PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *ic, const DATA_BLOB *nt_response, bool ntlmv2) { @@ -117,7 +116,7 @@ _PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx, if (ntlmv2) { struct NTLMv2_RESPONSE nt; if (nt_response->length > 24) { - ndr_err = ndr_pull_struct_blob(nt_response, mem_ctx, ic, &nt, + ndr_err = ndr_pull_struct_blob(nt_response, mem_ctx, &nt, (ndr_pull_flags_fn_t)ndr_pull_NTLMv2_RESPONSE); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NDR_PRINT_DEBUG(NTLMv2_RESPONSE, &nt); @@ -126,7 +125,7 @@ _PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx, } else { struct NTLM_RESPONSE nt; if (nt_response->length == 24) { - ndr_err = ndr_pull_struct_blob(nt_response, mem_ctx, ic, &nt, + ndr_err = ndr_pull_struct_blob(nt_response, mem_ctx, &nt, (ndr_pull_flags_fn_t)ndr_pull_NTLM_RESPONSE); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NDR_PRINT_DEBUG(NTLM_RESPONSE, &nt); @@ -136,7 +135,6 @@ _PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx, } _PUBLIC_ void ndr_print_ntlmssp_lm_response(TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *ic, const DATA_BLOB *lm_response, bool ntlmv2) { @@ -145,7 +143,7 @@ _PUBLIC_ void ndr_print_ntlmssp_lm_response(TALLOC_CTX *mem_ctx, if (ntlmv2) { struct LMv2_RESPONSE lm; if (lm_response->length == 24) { - ndr_err = ndr_pull_struct_blob(lm_response, mem_ctx, ic, &lm, + ndr_err = ndr_pull_struct_blob(lm_response, mem_ctx, &lm, (ndr_pull_flags_fn_t)ndr_pull_LMv2_RESPONSE); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NDR_PRINT_DEBUG(LMv2_RESPONSE, &lm); @@ -154,7 +152,7 @@ _PUBLIC_ void ndr_print_ntlmssp_lm_response(TALLOC_CTX *mem_ctx, } else { struct LM_RESPONSE lm; if (lm_response->length == 24) { - ndr_err = ndr_pull_struct_blob(lm_response, mem_ctx, ic, &lm, + ndr_err = ndr_pull_struct_blob(lm_response, mem_ctx, &lm, (ndr_pull_flags_fn_t)ndr_pull_LM_RESPONSE); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NDR_PRINT_DEBUG(LM_RESPONSE, &lm); diff --git a/librpc/ndr/ndr_ntlmssp.h b/librpc/ndr/ndr_ntlmssp.h index b574f15495..e07ff15cf6 100644 --- a/librpc/ndr/ndr_ntlmssp.h +++ b/librpc/ndr/ndr_ntlmssp.h @@ -24,11 +24,9 @@ _PUBLIC_ uint32_t ndr_ntlmssp_negotiated_string_flags(uint32_t negotiate_flags); _PUBLIC_ enum ndr_err_code ndr_push_AV_PAIR_LIST(struct ndr_push *ndr, int ndr_flags, const struct AV_PAIR_LIST *r); _PUBLIC_ enum ndr_err_code ndr_pull_AV_PAIR_LIST(struct ndr_pull *ndr, int ndr_flags, struct AV_PAIR_LIST *r); _PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *ic, const DATA_BLOB *nt_response, bool ntlmv2); _PUBLIC_ void ndr_print_ntlmssp_lm_response(TALLOC_CTX *mem_ctx, - struct smb_iconv_convenience *ic, const DATA_BLOB *lm_response, bool ntlmv2); _PUBLIC_ void ndr_print_ntlmssp_Version(struct ndr_print *ndr, const char *name, const union ntlmssp_Version *r); diff --git a/librpc/ndr/ndr_schannel.c b/librpc/ndr/ndr_schannel.c index b610429211..9bbc628a29 100644 --- a/librpc/ndr/ndr_schannel.c +++ b/librpc/ndr/ndr_schannel.c @@ -85,7 +85,7 @@ void dump_NL_AUTH_SIGNATURE(TALLOC_CTX *mem_ctx, switch (signature_algorithm) { case NL_SIGN_HMAC_MD5: { struct NL_AUTH_SIGNATURE r; - ndr_err = ndr_pull_struct_blob(blob, mem_ctx, NULL, &r, + ndr_err = ndr_pull_struct_blob(blob, mem_ctx, &r, (ndr_pull_flags_fn_t)ndr_pull_NL_AUTH_SIGNATURE); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NDR_PRINT_DEBUG(NL_AUTH_SIGNATURE, &r); @@ -94,7 +94,7 @@ void dump_NL_AUTH_SIGNATURE(TALLOC_CTX *mem_ctx, } case NL_SIGN_HMAC_SHA256: { struct NL_AUTH_SHA2_SIGNATURE r; - ndr_err = ndr_pull_struct_blob(blob, mem_ctx, NULL, &r, + ndr_err = ndr_pull_struct_blob(blob, mem_ctx, &r, (ndr_pull_flags_fn_t)ndr_pull_NL_AUTH_SHA2_SIGNATURE); if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { NDR_PRINT_DEBUG(NL_AUTH_SHA2_SIGNATURE, &r); diff --git a/librpc/ndr/ndr_sec_helper.c b/librpc/ndr/ndr_sec_helper.c index abc805c8ef..af6ca0936f 100644 --- a/librpc/ndr/ndr_sec_helper.c +++ b/librpc/ndr/ndr_sec_helper.c @@ -30,13 +30,13 @@ /* return the wire size of a security_ace */ -size_t ndr_size_security_ace(const struct security_ace *ace, struct smb_iconv_convenience *ic, int flags) +size_t ndr_size_security_ace(const struct security_ace *ace, int flags) { size_t ret; if (!ace) return 0; - ret = 8 + ndr_size_dom_sid(&ace->trustee, ic, flags); + ret = 8 + ndr_size_dom_sid(&ace->trustee, flags); switch (ace->type) { case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: @@ -91,14 +91,14 @@ enum ndr_err_code ndr_pull_security_ace(struct ndr_pull *ndr, int ndr_flags, str /* return the wire size of a security_acl */ -size_t ndr_size_security_acl(const struct security_acl *theacl, struct smb_iconv_convenience *ic, int flags) +size_t ndr_size_security_acl(const struct security_acl *theacl, int flags) { size_t ret; int i; if (!theacl) return 0; ret = 8; for (i=0;i<theacl->num_aces;i++) { - ret += ndr_size_security_ace(&theacl->aces[i], ic, flags); + ret += ndr_size_security_ace(&theacl->aces[i], flags); } return ret; } @@ -106,23 +106,23 @@ size_t ndr_size_security_acl(const struct security_acl *theacl, struct smb_iconv /* return the wire size of a security descriptor */ -size_t ndr_size_security_descriptor(const struct security_descriptor *sd, struct smb_iconv_convenience *ic, int flags) +size_t ndr_size_security_descriptor(const struct security_descriptor *sd, int flags) { size_t ret; if (!sd) return 0; ret = 20; - ret += ndr_size_dom_sid(sd->owner_sid, ic, flags); - ret += ndr_size_dom_sid(sd->group_sid, ic, flags); - ret += ndr_size_security_acl(sd->dacl, ic, flags); - ret += ndr_size_security_acl(sd->sacl, ic, flags); + ret += ndr_size_dom_sid(sd->owner_sid, flags); + ret += ndr_size_dom_sid(sd->group_sid, flags); + ret += ndr_size_security_acl(sd->dacl, flags); + ret += ndr_size_security_acl(sd->sacl, flags); return ret; } /* return the wire size of a dom_sid */ -size_t ndr_size_dom_sid(const struct dom_sid *sid, struct smb_iconv_convenience *ic, int flags) +size_t ndr_size_dom_sid(const struct dom_sid *sid, int flags) { if (!sid) return 0; return 8 + 4*sid->num_auths; diff --git a/librpc/ndr/ndr_spoolss_buf.c b/librpc/ndr/ndr_spoolss_buf.c index e15591633d..2fd9d95d2b 100644 --- a/librpc/ndr/ndr_spoolss_buf.c +++ b/librpc/ndr/ndr_spoolss_buf.c @@ -60,7 +60,7 @@ }\ if (r->in.buffer) {\ DATA_BLOB _data_blob_info;\ - _ndr_info = ndr_push_init_ctx(ndr, ndr->iconv_convenience);\ + _ndr_info = ndr_push_init_ctx(ndr);\ NDR_ERR_HAVE_NO_MEMORY(_ndr_info);\ _ndr_info->flags= ndr->flags;\ if (r->out.info) {\ @@ -137,7 +137,7 @@ if (_r.out.info) {\ struct ndr_pull *_ndr_info;\ NDR_PULL_ALLOC(ndr, *r->out.info);\ - _ndr_info = ndr_pull_init_blob(_r.out.info, *r->out.info, ndr->iconv_convenience);\ + _ndr_info = ndr_pull_init_blob(_r.out.info, *r->out.info);\ NDR_ERR_HAVE_NO_MEMORY(_ndr_info);\ _ndr_info->flags= ndr->flags;\ if (r->in.offered != _ndr_info->data_size) {\ @@ -181,7 +181,7 @@ #define NDR_SPOOLSS_SIZE_ENUM_LEVEL(fn) do { \ struct __##fn __r;\ DATA_BLOB _data_blob_info;\ - struct ndr_push *_ndr_info = ndr_push_init_ctx(mem_ctx, iconv_convenience);\ + struct ndr_push *_ndr_info = ndr_push_init_ctx(mem_ctx);\ if (!_ndr_info) return 0;\ _ndr_info->flags|=LIBNDR_FLAG_NO_NDR_SIZE;\ __r.in.level = level;\ @@ -196,7 +196,7 @@ #define NDR_SPOOLSS_SIZE_ENUM(fn) do { \ struct __##fn __r;\ DATA_BLOB _data_blob_info;\ - struct ndr_push *_ndr_info = ndr_push_init_ctx(mem_ctx, iconv_convenience);\ + struct ndr_push *_ndr_info = ndr_push_init_ctx(mem_ctx);\ if (!_ndr_info) return 0;\ _ndr_info->flags|=LIBNDR_FLAG_NO_NDR_SIZE;\ __r.in.count = count;\ @@ -234,7 +234,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumPrinters_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_PrinterInfo *info) +uint32_t ndr_size_spoolss_EnumPrinters_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrinterInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumPrinters); } @@ -270,7 +270,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumJobs(struct ndr_pull *ndr, int flags, str return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumJobs_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_JobInfo *info) +uint32_t ndr_size_spoolss_EnumJobs_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_JobInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumJobs); } @@ -302,7 +302,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumPrinterDrivers_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_DriverInfo *info) +uint32_t ndr_size_spoolss_EnumPrinterDrivers_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_DriverInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumPrinterDrivers); } @@ -330,7 +330,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumForms(struct ndr_pull *ndr, int flags, st return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumForms_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_FormInfo *info) +uint32_t ndr_size_spoolss_EnumForms_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_FormInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumForms); } @@ -358,7 +358,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumPorts(struct ndr_pull *ndr, int flags, st return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumPorts_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_PortInfo *info) +uint32_t ndr_size_spoolss_EnumPorts_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PortInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumPorts); } @@ -386,7 +386,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumMonitors_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_MonitorInfo *info) +uint32_t ndr_size_spoolss_EnumMonitors_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_MonitorInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumMonitors); } @@ -418,7 +418,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumPrintProcessors_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, +uint32_t ndr_size_spoolss_EnumPrintProcessors_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrintProcessorInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumPrintProcessors); @@ -451,7 +451,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumPrintProcDataTypes_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, +uint32_t ndr_size_spoolss_EnumPrintProcDataTypes_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrintProcDataTypesInfo *info) { NDR_SPOOLSS_SIZE_ENUM_LEVEL(spoolss_EnumPrintProcDataTypes); @@ -481,7 +481,7 @@ enum ndr_err_code ndr_push_spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int f _r.out.info = data_blob(NULL, 0); if (r->in.offered >= *r->out.needed) { struct __spoolss_EnumPrinterDataEx __r; - _ndr_info = ndr_push_init_ctx(ndr, ndr->iconv_convenience); + _ndr_info = ndr_push_init_ctx(ndr); NDR_ERR_HAVE_NO_MEMORY(_ndr_info); _ndr_info->flags= ndr->flags; __r.in.count = *r->out.count; @@ -531,7 +531,7 @@ enum ndr_err_code ndr_pull_spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int f if (_r.out.info.length) { struct ndr_pull *_ndr_info; NDR_PULL_ALLOC(ndr, *r->out.info); - _ndr_info = ndr_pull_init_blob(&_r.out.info, *r->out.info, ndr->iconv_convenience); + _ndr_info = ndr_pull_init_blob(&_r.out.info, *r->out.info); NDR_ERR_HAVE_NO_MEMORY(_ndr_info); _ndr_info->flags= ndr->flags; if (r->in.offered != _ndr_info->data_size) { @@ -551,25 +551,25 @@ enum ndr_err_code ndr_pull_spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int f return NDR_ERR_SUCCESS; } -uint32_t ndr_size_spoolss_EnumPrinterDataEx_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, +uint32_t ndr_size_spoolss_EnumPrinterDataEx_info(TALLOC_CTX *mem_ctx, uint32_t count, struct spoolss_PrinterEnumValues *info) { NDR_SPOOLSS_SIZE_ENUM(spoolss_EnumPrinterDataEx); } -uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, struct smb_iconv_convenience *ic, uint32_t flags) +uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, uint32_t flags) { if (!devmode) return 0; - return ndr_size_spoolss_DeviceMode(devmode,ic,flags); + return ndr_size_spoolss_DeviceMode(devmode, flags); } -_PUBLIC_ size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r, struct smb_iconv_convenience *ic, int flags) +_PUBLIC_ size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r, int flags) { if (!r) { return 4; } - return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_StringArray, ic); + return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_StringArray); } /* hand marshall as pidl cannot (yet) generate a relative pointer to a fixed array of @@ -1114,12 +1114,12 @@ void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, const unio } } -_PUBLIC_ size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, struct smb_iconv_convenience *ic, int flags) +_PUBLIC_ size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, int flags) { if (!r) { return 0; } - return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData, ic); + return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData); } void ndr_print_spoolss_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r) diff --git a/librpc/ndr/ndr_spoolss_buf.h b/librpc/ndr/ndr_spoolss_buf.h index 89dcb4617c..9db187dc7d 100644 --- a/librpc/ndr/ndr_spoolss_buf.h +++ b/librpc/ndr/ndr_spoolss_buf.h @@ -14,40 +14,40 @@ enum ndr_err_code ndr_push_spoolss_EnumPrinters(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinters *r); enum ndr_err_code ndr_pull_spoolss_EnumPrinters(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinters *r); -uint32_t ndr_size_spoolss_EnumPrinters_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_PrinterInfo *info); +uint32_t ndr_size_spoolss_EnumPrinters_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrinterInfo *info); enum ndr_err_code ndr_push_spoolss_EnumJobs(struct ndr_push *ndr, int flags, const struct spoolss_EnumJobs *r); enum ndr_err_code ndr_pull_spoolss_EnumJobs(struct ndr_pull *ndr, int flags, struct spoolss_EnumJobs *r); -uint32_t ndr_size_spoolss_EnumJobs_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_JobInfo *info); +uint32_t ndr_size_spoolss_EnumJobs_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_JobInfo *info); enum ndr_err_code ndr_push_spoolss_EnumPrinterDrivers(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterDrivers *r); enum ndr_err_code ndr_pull_spoolss_EnumPrinterDrivers(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterDrivers *r); -uint32_t ndr_size_spoolss_EnumPrinterDrivers_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_DriverInfo *info); +uint32_t ndr_size_spoolss_EnumPrinterDrivers_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_DriverInfo *info); enum ndr_err_code ndr_push_spoolss_EnumForms(struct ndr_push *ndr, int flags, const struct spoolss_EnumForms *r); enum ndr_err_code ndr_pull_spoolss_EnumForms(struct ndr_pull *ndr, int flags, struct spoolss_EnumForms *r); -uint32_t ndr_size_spoolss_EnumForms_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_FormInfo *info); +uint32_t ndr_size_spoolss_EnumForms_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_FormInfo *info); enum ndr_err_code ndr_push_spoolss_EnumPorts(struct ndr_push *ndr, int flags, const struct spoolss_EnumPorts *r); enum ndr_err_code ndr_pull_spoolss_EnumPorts(struct ndr_pull *ndr, int flags, struct spoolss_EnumPorts *r); -uint32_t ndr_size_spoolss_EnumPorts_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_PortInfo *info); +uint32_t ndr_size_spoolss_EnumPorts_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PortInfo *info); enum ndr_err_code ndr_push_spoolss_EnumMonitors(struct ndr_push *ndr, int flags, const struct spoolss_EnumMonitors *r); enum ndr_err_code ndr_pull_spoolss_EnumMonitors(struct ndr_pull *ndr, int flags, struct spoolss_EnumMonitors *r); -uint32_t ndr_size_spoolss_EnumMonitors_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, uint32_t level, uint32_t count, union spoolss_MonitorInfo *info); +uint32_t ndr_size_spoolss_EnumMonitors_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_MonitorInfo *info); enum ndr_err_code ndr_push_spoolss_EnumPrintProcessors(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrintProcessors *r); enum ndr_err_code ndr_pull_spoolss_EnumPrintProcessors(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrintProcessors *r); -uint32_t ndr_size_spoolss_EnumPrintProcessors_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, +uint32_t ndr_size_spoolss_EnumPrintProcessors_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrintProcessorInfo *info); enum ndr_err_code ndr_push_spoolss_EnumPrintProcDataTypes(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrintProcDataTypes *r); enum ndr_err_code ndr_pull_spoolss_EnumPrintProcDataTypes(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrintProcDataTypes *r); -uint32_t ndr_size_spoolss_EnumPrintProcDataTypes_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, +uint32_t ndr_size_spoolss_EnumPrintProcDataTypes_info(TALLOC_CTX *mem_ctx, uint32_t level, uint32_t count, union spoolss_PrintProcDataTypesInfo *info); enum ndr_err_code ndr_push_spoolss_EnumPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_EnumPrinterDataEx *r); enum ndr_err_code ndr_pull_spoolss_EnumPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterDataEx *r); -uint32_t ndr_size_spoolss_EnumPrinterDataEx_info(TALLOC_CTX *mem_ctx, struct smb_iconv_convenience *iconv_convenience, +uint32_t ndr_size_spoolss_EnumPrinterDataEx_info(TALLOC_CTX *mem_ctx, uint32_t count, struct spoolss_PrinterEnumValues *info); -uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, struct smb_iconv_convenience *ic, uint32_t flags); -size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r, struct smb_iconv_convenience *ic, int flags); +uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, uint32_t flags); +size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r, int flags); _PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo101(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo101 *r); _PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo101(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo101 *r); void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, const union spoolss_Field *r); -size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, struct smb_iconv_convenience *ic, int flags); +size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, int flags); void ndr_print_spoolss_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r); enum ndr_err_code ndr_pull_spoolss_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r); enum ndr_err_code ndr_push_spoolss_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r); diff --git a/librpc/ndr/uuid.c b/librpc/ndr/uuid.c index 1899afbbca..5b6053167a 100644 --- a/librpc/ndr/uuid.c +++ b/librpc/ndr/uuid.c @@ -31,7 +31,7 @@ _PUBLIC_ NTSTATUS GUID_to_ndr_blob(const struct GUID *guid, TALLOC_CTX *mem_ctx, DATA_BLOB *b) { enum ndr_err_code ndr_err; - ndr_err = ndr_push_struct_blob(b, mem_ctx, NULL, guid, + ndr_err = ndr_push_struct_blob(b, mem_ctx, guid, (ndr_push_flags_fn_t)ndr_push_GUID); return ndr_map_error2ntstatus(ndr_err); } @@ -48,7 +48,7 @@ _PUBLIC_ NTSTATUS GUID_from_ndr_blob(const DATA_BLOB *b, struct GUID *guid) mem_ctx = talloc_new(NULL); NT_STATUS_HAVE_NO_MEMORY(mem_ctx); - ndr_err = ndr_pull_struct_blob_all(b, mem_ctx, NULL, guid, + ndr_err = ndr_pull_struct_blob_all(b, mem_ctx, guid, (ndr_pull_flags_fn_t)ndr_pull_GUID); talloc_free(mem_ctx); return ndr_map_error2ntstatus(ndr_err); |