From f9ca9e46ad24036bf00cb361a6cef4b2e7e98d7d Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 9 May 2010 17:20:01 +0200 Subject: Finish removal of iconv_convenience in public API's. --- librpc/idl/drsblobs.idl | 22 ++++++++--------- librpc/idl/drsuapi.idl | 10 ++++---- librpc/idl/epmapper.idl | 2 +- librpc/idl/frsrpc.idl | 2 +- librpc/idl/named_pipe_auth.idl | 4 +-- librpc/idl/nbt.idl | 2 +- librpc/idl/netlogon.idl | 2 +- librpc/idl/ntlmssp.idl | 4 +-- librpc/idl/security.idl | 6 ++--- librpc/idl/spoolss.idl | 32 ++++++++++++------------ librpc/ndr/libndr.h | 25 ++++++++----------- librpc/ndr/ndr.c | 56 ++++++++++++++---------------------------- librpc/ndr/ndr_compression.c | 8 ++---- librpc/ndr/ndr_drsuapi.c | 4 +-- librpc/ndr/ndr_drsuapi.h | 2 +- librpc/ndr/ndr_frsrpc.c | 4 +-- librpc/ndr/ndr_frsrpc.h | 1 - librpc/ndr/ndr_krb5pac.c | 16 ++++++------ librpc/ndr/ndr_ntlmssp.c | 10 +++----- librpc/ndr/ndr_ntlmssp.h | 2 -- librpc/ndr/ndr_schannel.c | 4 +-- librpc/ndr/ndr_sec_helper.c | 20 +++++++-------- librpc/ndr/ndr_spoolss_buf.c | 42 +++++++++++++++---------------- librpc/ndr/ndr_spoolss_buf.h | 24 +++++++++--------- librpc/ndr/uuid.c | 4 +-- librpc/rpc/binding.c | 6 ++--- librpc/tools/ndrdump.c | 8 +++--- 27 files changed, 143 insertions(+), 179 deletions(-) (limited to 'librpc') diff --git a/librpc/idl/drsblobs.idl b/librpc/idl/drsblobs.idl index 89b5760823..1b4649cff9 100644 --- a/librpc/idl/drsblobs.idl +++ b/librpc/idl/drsblobs.idl @@ -92,13 +92,13 @@ interface drsblobs { typedef [public,gensize,flag(NDR_PAHEX)] struct { /* this includes the 8 bytes of the repsFromToBlob header */ - [value(ndr_size_repsFromTo1(this, ndr->iconv_convenience, ndr->flags)+8)] uint32 blobsize; + [value(ndr_size_repsFromTo1(this, ndr->flags)+8)] uint32 blobsize; uint32 consecutive_sync_failures; NTTIME_1sec last_success; NTTIME_1sec last_attempt; WERROR result_last_attempt; [relative] repsFromTo1OtherInfo *other_info; - [value(ndr_size_repsFromTo1OtherInfo(other_info, ndr->iconv_convenience, ndr->flags))] uint32 other_info_length; + [value(ndr_size_repsFromTo1OtherInfo(other_info, ndr->flags))] uint32 other_info_length; drsuapi_DrsOptions replica_flags; uint8 schedule[84]; [value(0)] uint32 reserved; @@ -109,7 +109,7 @@ interface drsblobs { } repsFromTo1; typedef [public,relative_base,gensize] struct { - [value(ndr_size_repsFromTo2OtherInfo(this,ndr->iconv_convenience, ndr->flags))] + [value(ndr_size_repsFromTo2OtherInfo(this,ndr->flags))] uint32 __ndr_size; [relative] nstring *dns_name1; uint32 unknown1; @@ -119,13 +119,13 @@ interface drsblobs { typedef [public,gensize,flag(NDR_PAHEX)] struct { /* this includes the 8 bytes of the repsFromToBlob header */ - [value(ndr_size_repsFromTo2(this, ndr->iconv_convenience, ndr->flags)+8)] uint32 blobsize; + [value(ndr_size_repsFromTo2(this, ndr->flags)+8)] uint32 blobsize; uint32 consecutive_sync_failures; NTTIME_1sec last_success; NTTIME_1sec last_attempt; WERROR result_last_attempt; [relative] repsFromTo2OtherInfo *other_info; - [value(ndr_size_repsFromTo2OtherInfo(other_info, ndr->iconv_convenience, ndr->flags))] uint32 other_info_length; + [value(ndr_size_repsFromTo2OtherInfo(other_info, ndr->flags))] uint32 other_info_length; drsuapi_DrsOptions replica_flags; uint8 schedule[84]; [value(0)] uint32 reserved; @@ -209,7 +209,7 @@ interface drsblobs { typedef [public,gensize] struct { uint32 num_entries; - [value(ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->iconv_convenience, ndr->flags))] uint32 __ndr_size; + [value(ndr_size_drsuapi_MSPrefixMap_Ctr(r, ndr->flags))] uint32 __ndr_size; drsuapi_MSPrefixMap_Entry entries[num_entries]; } drsuapi_MSPrefixMap_Ctr; @@ -255,7 +255,7 @@ interface drsblobs { NTTIME time; uint32 u2; uint32 u3; - [value(ndr_size_ldapControlDirSyncExtra(&extra, extra.uptodateness_vector.version, ndr->iconv_convenience, 0))] + [value(ndr_size_ldapControlDirSyncExtra(&extra, extra.uptodateness_vector.version, 0))] uint32 extra_length; drsuapi_DsReplicaHighWaterMark highwatermark; GUID guid1; @@ -316,7 +316,7 @@ interface drsblobs { typedef [public] struct { [value(0)] uint32 unknown1; - [value(ndr_size_supplementalCredentialsSubBlob(&sub, ndr->iconv_convenience, ndr->flags))] uint32 __ndr_size; + [value(ndr_size_supplementalCredentialsSubBlob(&sub, ndr->flags))] uint32 __ndr_size; [value(0)] uint32 unknown2; [subcontext(0),subcontext_size(__ndr_size)] supplementalCredentialsSubBlob sub; [value(0)] uint8 unknown3; @@ -499,8 +499,8 @@ interface drsblobs { uint8 confounder[512]; [subcontext(0),subcontext_size(outgoing_size)] trustCurrentPasswords outgoing; [subcontext(0),subcontext_size(incoming_size)] trustCurrentPasswords incoming; - [value(ndr_size_trustCurrentPasswords(&outgoing, ndr->iconv_convenience, ndr->flags))] uint32 outgoing_size; - [value(ndr_size_trustCurrentPasswords(&incoming, ndr->iconv_convenience, ndr->flags))] uint32 incoming_size; + [value(ndr_size_trustCurrentPasswords(&outgoing, ndr->flags))] uint32 outgoing_size; + [value(ndr_size_trustCurrentPasswords(&incoming, ndr->flags))] uint32 incoming_size; } trustDomainPasswords; [nopython] void decode_trustDomainPasswords( @@ -631,7 +631,7 @@ interface drsblobs { } ForestTrustInfoRecord; typedef [flag(NDR_NOALIGN)] struct { - [value(ndr_size_ForestTrustInfoRecord(&record, ndr->iconv_convenience, ndr->flags))] uint32 record_size; + [value(ndr_size_ForestTrustInfoRecord(&record, ndr->flags))] uint32 record_size; ForestTrustInfoRecord record; } ForestTrustInfoRecordArmor; diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl index 97ae9641f0..ef6ffef4b3 100644 --- a/librpc/idl/drsuapi.idl +++ b/librpc/idl/drsuapi.idl @@ -186,7 +186,7 @@ interface drsuapi /*****************/ /* Function 0x02 */ typedef [public,gensize] struct { - [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->iconv_convenience, ndr->flags)-4)] uint32 __ndr_size; + [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags)-4)] uint32 __ndr_size; [value(ndr_size_dom_sid28(&sid, ndr->flags))] uint32 __ndr_size_sid; GUID guid; dom_sid28 sid; @@ -532,7 +532,7 @@ interface drsuapi /* DN String values */ typedef [public,gensize] struct { - [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->iconv_convenience, ndr->flags))] uint32 __ndr_size; + [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags))] uint32 __ndr_size; [value(ndr_size_dom_sid28(&sid,ndr->flags))] uint32 __ndr_size_sid; GUID guid; dom_sid28 sid; @@ -541,7 +541,7 @@ interface drsuapi } drsuapi_DsReplicaObjectIdentifier3; typedef [public] struct { - [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->iconv_convenience, ndr->flags))] uint32 __ndr_size; + [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r, ndr->flags))] uint32 __ndr_size; [value(ndr_size_dom_sid28(&sid,ndr->flags))] uint32 __ndr_size_sid; GUID guid; dom_sid28 sid; @@ -604,7 +604,7 @@ interface drsuapi drsuapi_DsExtendedError extended_ret; /* w2k sends the nc_object_count value here */ uint32 object_count; /* this +55 is sometimes +56, so I don't know where this comes from... --metze */ - [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] uint32 __ndr_size; + [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->flags)+55)] uint32 __ndr_size; drsuapi_DsReplicaObjectListItemEx *first_object; boolean32 more_data; } drsuapi_DsGetNCChangesCtr1; @@ -638,7 +638,7 @@ interface drsuapi drsuapi_DsExtendedError extended_ret; uint32 object_count; /* this +55 is sometimes +56, so I don't know where this comes from... --metze */ - [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] uint32 __ndr_size; + [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->flags)+55)] uint32 __ndr_size; drsuapi_DsReplicaObjectListItemEx *first_object; boolean32 more_data; uint32 nc_object_count; /* estimated amount of objects in the whole NC */ diff --git a/librpc/idl/epmapper.idl b/librpc/idl/epmapper.idl index 3d9113892b..25b9517a8e 100644 --- a/librpc/idl/epmapper.idl +++ b/librpc/idl/epmapper.idl @@ -216,7 +216,7 @@ interface epmapper } epm_tower; typedef struct { - [value(ndr_size_epm_tower(&tower, ndr->iconv_convenience, ndr->flags))] uint32 tower_length; + [value(ndr_size_epm_tower(&tower, ndr->flags))] uint32 tower_length; [subcontext(4)] epm_tower tower; } epm_twr_t; diff --git a/librpc/idl/frsrpc.idl b/librpc/idl/frsrpc.idl index 996c375aa8..e85042c27c 100644 --- a/librpc/idl/frsrpc.idl +++ b/librpc/idl/frsrpc.idl @@ -338,7 +338,7 @@ interface frsrpc [value(1)] uint32 cs_id; [value(pkt_len+12)] uint32 memory_len; [value(ndr_size_frsrpc_CommPktChunkCtr(r->ctr, - ndr->iconv_convenience, ndr->flags))] + ndr->flags))] [range(0, 262144)] uint32 pkt_len; [value(0)] uint32 upk_len; diff --git a/librpc/idl/named_pipe_auth.idl b/librpc/idl/named_pipe_auth.idl index 43db989327..e2928515ba 100644 --- a/librpc/idl/named_pipe_auth.idl +++ b/librpc/idl/named_pipe_auth.idl @@ -48,7 +48,7 @@ interface named_pipe_auth typedef [public,gensize] struct { [flag(NDR_BIG_ENDIAN), - value(ndr_size_named_pipe_auth_req(r,ndr->iconv_convenience,ndr->flags)-4)] + value(ndr_size_named_pipe_auth_req(r,ndr->flags)-4)] uint32 length; [charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4]; uint32 level; @@ -76,7 +76,7 @@ interface named_pipe_auth typedef [public,gensize] struct { [flag(NDR_BIG_ENDIAN), - value(ndr_size_named_pipe_auth_rep(r,ndr->iconv_convenience,ndr->flags)-4)] + value(ndr_size_named_pipe_auth_rep(r,ndr->flags)-4)] uint32 length; [charset(DOS),value(NAMED_PIPE_AUTH_MAGIC)] uint8 magic[4]; uint32 level; diff --git a/librpc/idl/nbt.idl b/librpc/idl/nbt.idl index 6d9f9b5557..897abb26e4 100644 --- a/librpc/idl/nbt.idl +++ b/librpc/idl/nbt.idl @@ -458,7 +458,7 @@ interface nbt nbt_string client_site; /* Optional on NETLOGON_NT_VERSION_5EX_WITH_IP */ - [value(ndr_size_nbt_sockaddr(&sockaddr, ndr->iconv_convenience, ndr->flags))] uint8 sockaddr_size; + [value(ndr_size_nbt_sockaddr(&sockaddr, ndr->flags))] uint8 sockaddr_size; [subcontext(0),subcontext_size(sockaddr_size)] nbt_sockaddr sockaddr; /* Optional on NETLOGON_NT_VERSION_WITH_CLOSEST_SITE */ diff --git a/librpc/idl/netlogon.idl b/librpc/idl/netlogon.idl index d66b2194ca..4bebb83374 100644 --- a/librpc/idl/netlogon.idl +++ b/librpc/idl/netlogon.idl @@ -1056,7 +1056,7 @@ interface netlogon [in] [subcontext(4)/*,subcontext_size(change_log_entry_size)*/] netr_ChangeLogEntry change_log_entry, [in] [value(ndr_size_netr_ChangeLogEntry(&change_log_entry, - ndr->iconv_convenience, ndr->flags))] + ndr->flags))] uint32 change_log_entry_size, [out,ref] netr_DELTA_ENUM_ARRAY **delta_enum_array ); diff --git a/librpc/idl/ntlmssp.idl b/librpc/idl/ntlmssp.idl index 8cabec33da..1227952ff2 100644 --- a/librpc/idl/ntlmssp.idl +++ b/librpc/idl/ntlmssp.idl @@ -162,7 +162,7 @@ interface ntlmssp typedef [public,flag(NDR_NOALIGN)] struct { ntlmssp_AvId AvId; - [value(ndr_size_ntlmssp_AvValue(&r->Value, r->AvId, ndr->iconv_convenience, 0))] uint16 AvLen; + [value(ndr_size_ntlmssp_AvValue(&r->Value, r->AvId, 0))] uint16 AvLen; [subcontext(0),subcontext_size(AvLen),switch_is(AvId)] ntlmssp_AvValue Value; } AV_PAIR; @@ -182,7 +182,7 @@ interface ntlmssp NEGOTIATE NegotiateFlags; uint8 ServerChallenge[8]; uint8 Reserved[8]; - [value(ndr_size_AV_PAIR_LIST(TargetInfo, ndr->iconv_convenience, ndr->flags))] uint16 TargetInfoLen; + [value(ndr_size_AV_PAIR_LIST(TargetInfo, ndr->flags))] uint16 TargetInfoLen; [value(TargetInfoLen)] uint16 TargetNameInfoMaxLen; [relative] [subcontext(0),subcontext_size(TargetInfoLen)] AV_PAIR_LIST *TargetInfo; [switch_is(NegotiateFlags & NTLMSSP_NEGOTIATE_VERSION)] ntlmssp_Version Version; diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl index 740a928d87..fb1dc0dcc0 100644 --- a/librpc/idl/security.idl +++ b/librpc/idl/security.idl @@ -405,7 +405,7 @@ interface security typedef [public,nopull,gensize,nosize] struct { security_ace_type type; /* SEC_ACE_TYPE_* */ security_ace_flags flags; /* SEC_ACE_FLAG_* */ - [value(ndr_size_security_ace(r,ndr->iconv_convenience,ndr->flags))] uint16 size; + [value(ndr_size_security_ace(r,ndr->flags))] uint16 size; uint32 access_mask; [switch_is(type)] security_ace_object_ctr object; dom_sid trustee; @@ -420,7 +420,7 @@ interface security typedef [public,gensize,nosize] struct { security_acl_revision revision; - [value(ndr_size_security_acl(r,ndr->iconv_convenience,ndr->flags))] uint16 size; + [value(ndr_size_security_acl(r,ndr->flags))] uint16 size; [range(0,1000)] uint32 num_aces; security_ace aces[num_aces]; } security_acl; @@ -462,7 +462,7 @@ interface security } security_descriptor; typedef [public] struct { - [range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->iconv_convenience,ndr->flags))] uint32 sd_size; + [range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->flags))] uint32 sd_size; [subcontext(4)] security_descriptor *sd; } sec_desc_buf; diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index c7df80d7ce..028015b696 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -29,7 +29,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") } spoolss_Time; typedef struct { - [value(ndr_size_spoolss_Time(time, ndr->iconv_convenience, ndr->flags))] uint32 size; + [value(ndr_size_spoolss_Time(time, ndr->flags))] uint32 size; [unique] spoolss_Time *time; } spoolss_TimeCtr; @@ -333,7 +333,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") uint16 caColorfulness; uint16 caRedGreenTint; uint16 wCoreJTExpSize; - [value(ndr_size_spoolss_PSDRVEXTRA(r, ndr->iconv_convenience, ndr->flags) + wCoreJTExpSize)] uint16 wCoreFullSize; + [value(ndr_size_spoolss_PSDRVEXTRA(r, ndr->flags) + wCoreJTExpSize)] uint16 wCoreFullSize; uint32 fxScrFreq; uint32 fxScrAngle; spoolss_DMPS_Dialect iDialect; @@ -404,7 +404,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] spoolss_DM_Signature dwSignature; [value(0x0022)] uint16 wVer; uint16 wCoreJTExpSize; - [value(ndr_size_spoolss_UNIDRVEXTRA(r, ndr->iconv_convenience, ndr->flags) + wCoreJTExpSize)] uint16 wCoreFullSize; + [value(ndr_size_spoolss_UNIDRVEXTRA(r, ndr->flags) + wCoreJTExpSize)] uint16 wCoreFullSize; uint16 wOEMExtra; uint32 dwChecksum32; spoolss_DMUNI_Flags dwFlags; @@ -884,7 +884,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") /******************/ /* Function: 0x01 */ typedef struct { - [value(_ndr_size_spoolss_DeviceMode(devmode, ndr->iconv_convenience, ndr->flags))] uint32 _ndr_size; + [value(_ndr_size_spoolss_DeviceMode(devmode, ndr->flags))] uint32 _ndr_size; [subcontext(4),subcontext_size(_ndr_size)] spoolss_DeviceMode *devmode; } spoolss_DevmodeContainer; @@ -1291,7 +1291,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") /* Function: 0x09 */ typedef [public] struct { - [value((ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags)-4)/2)] uint32 _ndr_size; + [value((ndr_size_spoolss_StringArray(r, ndr->flags)-4)/2)] uint32 _ndr_size; /*[subcontext(0),subcontext_size(_ndr_size*2)]*/ nstring_array string; } spoolss_StringArray; @@ -1325,7 +1325,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") [string,charset(UTF16)] uint16 *help_file; [string,charset(UTF16)] uint16 *monitor_name; [string,charset(UTF16)] uint16 *default_datatype; - [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; + [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; spoolss_StringArray *dependent_files; } spoolss_AddDriverInfo3; @@ -1339,9 +1339,9 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") [string,charset(UTF16)] uint16 *help_file; [string,charset(UTF16)] uint16 *monitor_name; [string,charset(UTF16)] uint16 *default_datatype; - [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; + [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; spoolss_StringArray *dependent_files; - [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; + [value(((ndr_size_spoolss_StringArray(previous_names, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; spoolss_StringArray *previous_names; } spoolss_AddDriverInfo4; @@ -1371,9 +1371,9 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") [string,charset(UTF16)] uint16 *help_file; [string,charset(UTF16)] uint16 *monitor_name; [string,charset(UTF16)] uint16 *default_datatype; - [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; + [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; spoolss_StringArray *dependent_files; - [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; + [value(((ndr_size_spoolss_StringArray(previous_names, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; spoolss_StringArray *previous_names; NTTIME driver_date; hyper driver_version; @@ -1393,9 +1393,9 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") [string,charset(UTF16)] uint16 *help_file; [string,charset(UTF16)] uint16 *monitor_name; [string,charset(UTF16)] uint16 *default_datatype; - [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; + [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files; spoolss_StringArray *dependent_files; - [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; + [value(((ndr_size_spoolss_StringArray(previous_names, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names; spoolss_StringArray *previous_names; NTTIME driver_date; hyper driver_version; @@ -1405,11 +1405,11 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") [string,charset(UTF16)] uint16 *provider; [string,charset(UTF16)] uint16 *print_processor; [string,charset(UTF16)] uint16 *vendor_setup; - [value(((ndr_size_spoolss_StringArray(color_profiles, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_color_profiles; + [value(((ndr_size_spoolss_StringArray(color_profiles, ndr->flags)-4)/2))] uint32 _ndr_size_color_profiles; spoolss_StringArray *color_profiles; [string,charset(UTF16)] uint16 *inf_path; uint32 printer_driver_attributes; - [value(((ndr_size_spoolss_StringArray(core_driver_dependencies, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_core_driver_dependencies; + [value(((ndr_size_spoolss_StringArray(core_driver_dependencies, ndr->flags)-4)/2))] uint32 _ndr_size_core_driver_dependencies; spoolss_StringArray *core_driver_dependencies; NTTIME min_inbox_driver_ver_date; hyper min_inbox_driver_ver_version; @@ -1826,7 +1826,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") const string SPOOLSS_DEFAULT_SERVER_PATH = "C:\\WINDOWS\\system32\\spool"; typedef [public,gensize] struct { - [value(ndr_size_spoolss_OSVersion(r,ndr->iconv_convenience,ndr->flags))] uint32 _ndr_size; + [value(ndr_size_spoolss_OSVersion(r,ndr->flags))] uint32 _ndr_size; uint32 major; uint32 minor; uint32 build; @@ -1835,7 +1835,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") } spoolss_OSVersion; typedef [public,gensize] struct { - [value(ndr_size_spoolss_OSVersionEx(r,ndr->iconv_convenience,ndr->flags))] uint32 _ndr_size; + [value(ndr_size_spoolss_OSVersionEx(r,ndr->flags))] uint32 _ndr_size; uint32 major; uint32 minor; uint32 build; 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;inum_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); diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c index e3edc67882..5e9bef8e7c 100644 --- a/librpc/rpc/binding.c +++ b/librpc/rpc/binding.c @@ -376,7 +376,7 @@ _PUBLIC_ NTSTATUS dcerpc_floor_get_lhs_data(const struct epm_floor *epm_floor, enum ndr_err_code ndr_err; uint16_t if_version=0; - ndr = ndr_pull_init_blob(&epm_floor->lhs.lhs_data, mem_ctx, NULL); + ndr = ndr_pull_init_blob(&epm_floor->lhs.lhs_data, mem_ctx); if (ndr == NULL) { talloc_free(mem_ctx); return NT_STATUS_NO_MEMORY; @@ -405,7 +405,7 @@ _PUBLIC_ NTSTATUS dcerpc_floor_get_lhs_data(const struct epm_floor *epm_floor, static DATA_BLOB dcerpc_floor_pack_lhs_data(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *syntax) { DATA_BLOB blob; - struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx, NULL); + struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx); ndr->flags |= LIBNDR_FLAG_NOALIGN; @@ -421,7 +421,7 @@ static DATA_BLOB dcerpc_floor_pack_lhs_data(TALLOC_CTX *mem_ctx, const struct nd static DATA_BLOB dcerpc_floor_pack_rhs_if_version_data(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *syntax) { DATA_BLOB blob; - struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx, NULL); + struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx); ndr->flags |= LIBNDR_FLAG_NOALIGN; diff --git a/librpc/tools/ndrdump.c b/librpc/tools/ndrdump.c index 9b4847e74a..6fc903fa32 100644 --- a/librpc/tools/ndrdump.c +++ b/librpc/tools/ndrdump.c @@ -294,7 +294,7 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool force) blob.data = data; blob.length = size; - ndr_pull = ndr_pull_init_blob(&blob, mem_ctx, lp_iconv_convenience(cmdline_lp_ctx)); + ndr_pull = ndr_pull_init_blob(&blob, mem_ctx); ndr_pull->flags |= LIBNDR_FLAG_REF_ALLOC; if (assume_ndr64) { ndr_pull->flags |= LIBNDR_FLAG_NDR64; @@ -330,7 +330,7 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool force) blob.data = data; blob.length = size; - ndr_pull = ndr_pull_init_blob(&blob, mem_ctx, lp_iconv_convenience(cmdline_lp_ctx)); + ndr_pull = ndr_pull_init_blob(&blob, mem_ctx); ndr_pull->flags |= LIBNDR_FLAG_REF_ALLOC; if (assume_ndr64) { ndr_pull->flags |= LIBNDR_FLAG_NDR64; @@ -372,7 +372,7 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool force) uint8_t byte_a, byte_b; bool differ; - ndr_v_push = ndr_push_init_ctx(mem_ctx, lp_iconv_convenience(cmdline_lp_ctx)); + ndr_v_push = ndr_push_init_ctx(mem_ctx); ndr_err = f->ndr_push(ndr_v_push, flags, st); status = ndr_map_error2ntstatus(ndr_err); @@ -389,7 +389,7 @@ static void ndrdump_data(uint8_t *d, uint32_t l, bool force) ndrdump_data(v_blob.data, v_blob.length, dumpdata); } - ndr_v_pull = ndr_pull_init_blob(&v_blob, mem_ctx, lp_iconv_convenience(cmdline_lp_ctx)); + ndr_v_pull = ndr_pull_init_blob(&v_blob, mem_ctx); ndr_v_pull->flags |= LIBNDR_FLAG_REF_ALLOC; ndr_err = f->ndr_pull(ndr_v_pull, flags, v_st); -- cgit