[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Thu Jun 6 04:59:03 UTC 2019


The branch, master has been updated
       via  7680010e3bc tests blackbox ndrdump: Clean up pep8 warnings
       via  532ba5a0693 ntprinting.idl: remove decode functions
       via  92d37950765 winsrepl.idl: remove unused decode functions
       via  2254d0e4b90 sasl_helpers.idl: remove unused decode functions
       via  883f2fa3d4d ntp_signd.idl: remove unused decode functions
       via  dc786894252 security.idl: remove unused decode functions
       via  c89cfbd15d8 preg.idl: remove unused decode functions
       via  939d72df4b5 negoex.idl: remove unused decode functions
       via  f5cf33fa39d nbt.idl: remove unused decode functions
       via  66218cf1fb7 krb5pac.idl: remove unused decode functions
       via  1d89808dfbb cab.idl: remove unused decode functions
       via  52cb4f11dd8 dnsp.idl: remove unused decode functions
       via  0195e8d4642 ntlmssp.idl: remove unused decode functions
       via  41afed1189b drsblobs.idl: remove decode functions
       via  3bf05fbfd71 ndrdump: print public structures
       via  5d67e87d1c4 pidl: Allow ndrdump to print public structures
       via  0e771f0ed6c tests blackbox ndrdump: Add test for struct printing
      from  a66af4c96ac s3:auth: explicitly add BUILTIN\Guests to the guest token

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7680010e3bc7405e7350d7375cf02d61abd30849
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Wed Jun 5 10:34:17 2019 +1200

    tests blackbox ndrdump: Clean up pep8 warnings
    
    Clean up the test code and remove the pep8 warnings
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Thu Jun  6 04:58:18 UTC 2019 on sn-devel-184

commit 532ba5a069342c3a4508aac19491b439cae0ce87
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 13:07:06 2019 +1200

    ntprinting.idl: remove decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 92d37950765a72f8a60b3aec27b73d1e0d6d184c
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:46:05 2019 +1200

    winsrepl.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 2254d0e4b90ff3ede7a5893a60299b699613e086
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:45:40 2019 +1200

    sasl_helpers.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 883f2fa3d4d736be704063cd88b0d5b6ce6c76bd
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:44:46 2019 +1200

    ntp_signd.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit dc78689425227e919b76b5f78470614b75764f45
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:44:17 2019 +1200

    security.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit c89cfbd15d8d7343a157baf2726d69f75dac950c
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:43:48 2019 +1200

    preg.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 939d72df4b5d01cac3e4233e20e4b48c99ecc6b7
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:43:24 2019 +1200

    negoex.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit f5cf33fa39d70722c69fd5d38d32f481aedcb645
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:43:07 2019 +1200

    nbt.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 66218cf1fb7d2ea2c69ac4421f16c8c4bd62545d
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:42:44 2019 +1200

    krb5pac.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 1d89808dfbbc6ca8f0d6d041f83a0330f7c16014
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:41:51 2019 +1200

    cab.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 52cb4f11dd8f0b9fcf194ef099b766628c3dd784
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:32:40 2019 +1200

    dnsp.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 0195e8d4642006405b21d92e69a1491c68956b03
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 11:29:49 2019 +1200

    ntlmssp.idl: remove unused decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 41afed1189bc6f645450e474bee26f8f3f199623
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Fri May 31 15:49:20 2019 +1200

    drsblobs.idl: remove decode functions
    
    Remove the decode_* functions as they are no longer needed, and this
    will reduce the amount of untested automatically generated code.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 3bf05fbfd7106f46b35ee027f57be4c6af72f22e
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Wed Jun 5 08:44:09 2019 +1200

    ndrdump: print public structures
    
    Add a struct option to ndrdump that will allow it to print public
    structures.
      i.e. binn/ndrdump dns dns_name_packet struct data.file
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Pair-Programmed-With: Andrew Bartlett <abartlet at samba.org>
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>

commit 5d67e87d1c4504593f5da712f00de85371f8942f
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Wed Jun 5 08:43:33 2019 +1200

    pidl: Allow ndrdump to print public structures
    
    Generate code to allow ndrdump to operate on public structures.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Pair-Programmed-With: Andrew Bartlett <abartlet at samba.org>

commit 0e771f0ed6cb900e6eccc3a4205120ae8c0f7ee2
Author: Gary Lockyer <gary at catalyst.net.nz>
Date:   Tue Jun 4 14:01:49 2019 +1200

    tests blackbox ndrdump: Add test for struct printing
    
    Add test for the dumping of a public structure with ndrdump.  This
    removes the need to define decode_* functions in the idl.
    
    Signed-off-by: Gary Lockyer <gary at catalyst.net.nz>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

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

Summary of changes:
 librpc/idl/cab.idl                       |  5 --
 librpc/idl/dnsp.idl                      | 11 ----
 librpc/idl/drsblobs.idl                  | 74 ------------------------
 librpc/idl/krb5pac.idl                   | 28 ---------
 librpc/idl/nbt.idl                       |  8 ---
 librpc/idl/negoex.idl                    |  4 --
 librpc/idl/ntlmssp.idl                   | 22 -------
 librpc/idl/ntprinting.idl                | 11 ----
 librpc/idl/preg.idl                      |  2 -
 librpc/idl/security.idl                  | 16 ------
 librpc/ndr/libndr.h                      | 10 ++++
 librpc/tools/ndrdump.1.xml               | 15 +++--
 librpc/tools/ndrdump.c                   | 98 +++++++++++++++++++++++++-------
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm | 41 ++++++++++++-
 python/samba/tests/blackbox/ndrdump.py   | 34 ++++++++---
 source4/librpc/idl/ntp_signd.idl         |  6 --
 source4/librpc/idl/sasl_helpers.idl      |  4 --
 source4/librpc/idl/winsrepl.idl          |  5 --
 18 files changed, 163 insertions(+), 231 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/cab.idl b/librpc/idl/cab.idl
index 9f3a02c231c..8eaae591c1f 100644
--- a/librpc/idl/cab.idl
+++ b/librpc/idl/cab.idl
@@ -127,9 +127,4 @@ import "misc.idl";
 		[noprint,value(ndr_count_cfdata(r))] uint32 cfdata_count;
 		CFDATA cfdata[cfdata_count];
 	} cab_file;
-
-	void decode_cab_file(
-		[in] cab_file file
-		);
-
 }
diff --git a/librpc/idl/dnsp.idl b/librpc/idl/dnsp.idl
index d705cfcbfa3..558499c6921 100644
--- a/librpc/idl/dnsp.idl
+++ b/librpc/idl/dnsp.idl
@@ -259,15 +259,4 @@ interface dnsp
 		[switch_is(wDataLength?id:DSPROPERTY_ZONE_EMPTY)]     dnsPropertyData data;
 		uint32              name;
 	} dnsp_DnsProperty;
-
-	/*
-	  these are convenience hooks for ndrdump
-	 */
-	[nopython] void decode_DnssrvRpcRecord(
-		[in] dnsp_DnssrvRpcRecord blob
-		);
-
-	[nopython] void decode_DnsProperty(
-		[in] dnsp_DnsProperty blob
-		);
 }
diff --git a/librpc/idl/drsblobs.idl b/librpc/idl/drsblobs.idl
index 5fd11bbc880..072546a4369 100644
--- a/librpc/idl/drsblobs.idl
+++ b/librpc/idl/drsblobs.idl
@@ -30,10 +30,6 @@ interface drsblobs {
 		hyper local_usn;
 	} replPropertyMetaData1;
 
-	void decode_replPropertyMetaData1(
-		[in] replPropertyMetaData1 blob
-		);
-
 	typedef struct {
 		uint32 count;
 		[value(0)] uint32 reserved;
@@ -50,10 +46,6 @@ interface drsblobs {
 		[switch_is(version)] replPropertyMetaDataCtr ctr;
 	} replPropertyMetaDataBlob;
 
-	void decode_replPropertyMetaData(
-		[in] replPropertyMetaDataBlob blob
-		);
-
 	/*
 	 * replUpToDateVector
 	 * w2k  uses version 1
@@ -82,10 +74,6 @@ interface drsblobs {
 		[switch_is(version)] replUpToDateVectorCtr ctr;
 	} replUpToDateVectorBlob;
 
-	void decode_replUpToDateVector(
-		[in] replUpToDateVectorBlob blob
-		);
-
 	/*
 	 * repsFrom/repsTo
 	 * w2k  uses version 1
@@ -154,10 +142,6 @@ interface drsblobs {
 		[switch_is(version)] repsFromTo ctr;
 	} repsFromToBlob;
 
-	void decode_repsFromTo(
-		[in] repsFromToBlob blob
-		);
-
 	/* Replication schedule structures as defined in MS-ADTS 7.1.4.5
          * Appears as attribute of NTDSConnection object
          */
@@ -198,11 +182,6 @@ interface drsblobs {
 		[switch_is(version)] partialAttributeSetCtr ctr;
 	} partialAttributeSetBlob;
 
-	void decode_partialAttributeSet(
-		[in] partialAttributeSetBlob blob
-		);
-
-
 	/*
 	 * schemaInfo attribute
 	 *
@@ -264,11 +243,6 @@ interface drsblobs {
 		[switch_is(version)] prefixMapCtr ctr;
 	} prefixMapBlob;
 
-	void decode_prefixMap(
-		[in] prefixMapBlob blob
-		);
-
-
 	/*
 	 * the cookie for the LDAP dirsync control
 	 */
@@ -294,10 +268,6 @@ interface drsblobs {
 		[subcontext(0)] ldapControlDirSyncBlob blob;
 	} ldapControlDirSyncCookie;
 
-	void decode_ldapControlDirSync(
-		[in] ldapControlDirSyncCookie cookie
-		);
-
 	typedef [public] struct {
 		[value(2*strlen_m(name))] uint16 name_len;
 		[value(strlen(data))] uint16 data_len;
@@ -359,18 +329,10 @@ interface drsblobs {
 		[value(0)] uint8 unknown3;
 	} supplementalCredentialsBlob;
 
-	void decode_supplementalCredentials(
-		[in] supplementalCredentialsBlob blob
-		);
-
 	typedef [public] struct {
 		[flag(STR_NOTERM|NDR_REMAINING)] string_array names;
 	} package_PackagesBlob;
 
-	void decode_Packages(
-		[in] package_PackagesBlob blob
-		);
-
 	typedef struct {
 		[value(2*strlen_m(string))] uint16 length;
 		[value(2*strlen_m(string))] uint16 size;
@@ -433,18 +395,10 @@ interface drsblobs {
 		[switch_is(version)] package_PrimaryKerberosCtr ctr;
 	} package_PrimaryKerberosBlob;
 
-	void decode_PrimaryKerberos(
-		[in] package_PrimaryKerberosBlob blob
-		);
-
 	typedef [public] struct {
 		[flag(NDR_REMAINING)] DATA_BLOB cleartext;
 	} package_PrimaryCLEARTEXTBlob;
 
-	void decode_PrimaryCLEARTEXT(
-		[in] package_PrimaryCLEARTEXTBlob blob
-		);
-
 	typedef [flag(NDR_PAHEX)] struct {
 		uint8 hash[16];
 	} package_PrimaryWDigestHash;
@@ -458,18 +412,10 @@ interface drsblobs {
 		package_PrimaryWDigestHash hashes[num_hashes];
 	} package_PrimaryWDigestBlob;
 
-	void decode_PrimaryWDigest(
-		[in] package_PrimaryWDigestBlob blob
-		);
-
 	typedef [public] struct {
 		[flag(NDR_REMAINING)] DATA_BLOB gpg_blob;
 	} package_PrimarySambaGPGBlob;
 
-	void decode_PrimarySambaGPG(
-		[in] package_PrimarySambaGPGBlob blob
-		);
-
 	/*
 	 * Password hashes stored in a scheme compatible with
 	 * OpenLDAP's userPassword attribute. The Package is named
@@ -500,10 +446,6 @@ interface drsblobs {
 		package_PrimaryUserPasswordValue hashes[num_hashes];
 	} package_PrimaryUserPasswordBlob;
 
-	void decode_PrimaryUserPasswordBlob(
-		[in] package_PrimaryUserPasswordBlob blob
-	);
-
 	typedef struct {
 		[value(0)] uint32 size;
 	} AuthInfoNone;
@@ -568,10 +510,6 @@ interface drsblobs {
 		[subcontext(0)] [flag(NDR_REMAINING)] AuthenticationInformationArray previous;
 	} trustAuthInOutBlob;
 
-	[nopython] void decode_trustAuthInOut(
-		[in] trustAuthInOutBlob blob
-		);
-
 	typedef [public,nopull] struct {
 		uint8 confounder[512];
 		[subcontext(0),subcontext_size(outgoing_size)] trustAuthInOutBlob outgoing;
@@ -580,10 +518,6 @@ interface drsblobs {
 		[value(ndr_size_trustAuthInOutBlob(&incoming, ndr->flags))] uint32 incoming_size;
 	} trustDomainPasswords;
 
-	[nopython] void decode_trustDomainPasswords(
-		[in] trustDomainPasswords blob
-		);
-
 	typedef [public] struct {
 		uint32 marker;
 		DATA_BLOB data;
@@ -661,10 +595,6 @@ interface drsblobs {
 		[unique] ExtendedErrorInfo *info;
 	} ExtendedErrorInfoPtr;
 
-	[nopython] void decode_ExtendedErrorInfo (
-		[in,subcontext(0xFFFFFC01)] ExtendedErrorInfoPtr ptr
-		);
-
 	/* MS-ADTS 7.1.6.9.3 msDS-TrustForestTrustInfo Attribute */
 
 	typedef struct {
@@ -718,10 +648,6 @@ interface drsblobs {
 		ForestTrustInfoRecordArmor records[count];
 	} ForestTrustInfo;
 
-	[nopython] void decode_ForestTrustInfo(
-		[in] ForestTrustInfo blob
-		);
-
 	typedef enum {
 		ENC_SECRET_AES_128_AEAD = 1
 	} EncryptedSecretAlgorithm;
diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
index f27e7243ee4..fb360c1257f 100644
--- a/librpc/idl/krb5pac.idl
+++ b/librpc/idl/krb5pac.idl
@@ -178,34 +178,6 @@ interface krb5pac
 		[flag(NDR_REMAINING)] DATA_BLOB ChecksumAndSignature;
 	} PAC_Validate;
 
-	[nopython] void decode_pac(
-		[in] PAC_DATA pac
-		);
-
-	[nopython] void decode_pac_raw(
-		[in] PAC_DATA_RAW pac
-		);
-
-	[nopython] void decode_login_info(
-		[in] PAC_LOGON_INFO logon_info
-		);
-
-	[nopython] void decode_login_info_ctr(
-		[in] PAC_LOGON_INFO_CTR logon_info_ctr
-		);
-
-	[nopython] void decode_credential_data_ndr(
-		[in] PAC_CREDENTIAL_DATA_NDR credential_data_ndr
-		);
-
-	[nopython] void decode_upn_dns_info(
-		[in] PAC_UPN_DNS_INFO upn_dns_info
-		);
-
-	[nopython] void decode_pac_validate(
-		[in] PAC_Validate pac_validate
-		);
-
 	/* used for samba3 netsamlogon cache */
 	typedef [public] struct {
 		time_t timestamp;
diff --git a/librpc/idl/nbt.idl b/librpc/idl/nbt.idl
index 211095da9df..50b52a55dc4 100644
--- a/librpc/idl/nbt.idl
+++ b/librpc/idl/nbt.idl
@@ -493,10 +493,6 @@ interface nbt
 		[switch_is(ntver)] netlogon_samlogon_response_union data;
 	} netlogon_samlogon_response;
 
-	void decode_netlogon_samlogon_response_packet(
-		[in] netlogon_samlogon_response packet
-		);
-
 	/* query for pdc request */
 	typedef struct {
 		astring              computer_name;
@@ -579,10 +575,6 @@ interface nbt
 		[switch_is(command)] nbt_netlogon_request req;
 	} nbt_netlogon_packet;
 
-	void decode_nbt_netlogon_packet(
-		[in] nbt_netlogon_packet packet
-		);
-
 	/********************************************************/
 	/* \MAILSLOT\BROWSE mailslot requests			*/
 	/* for details see http://ubiqx.org/cifs/Browsing.html  */
diff --git a/librpc/idl/negoex.idl b/librpc/idl/negoex.idl
index e2f8222b4d5..eb3511d3631 100644
--- a/librpc/idl/negoex.idl
+++ b/librpc/idl/negoex.idl
@@ -149,8 +149,4 @@ interface negoex
 		uint32 count;
 		negoex_MESSAGE messages[count];
 	} negoex_MESSAGE_ARRAY;
-
-	void decode_negoex_MESSAGE(
-		[in] negoex_MESSAGE_ARRAY array
-		);
 }
diff --git a/librpc/idl/ntlmssp.idl b/librpc/idl/ntlmssp.idl
index 4799066d7c4..f984b7b0b4c 100644
--- a/librpc/idl/ntlmssp.idl
+++ b/librpc/idl/ntlmssp.idl
@@ -304,26 +304,4 @@ interface ntlmssp
 		 uint32 SeqNum;
 	} NTLMSSP_MESSAGE_SIGNATURE_NTLMv2;
 
-	/* some ndrdump helpers */
-
-	void decode_NEGOTIATE_MESSAGE(
-		[in] NEGOTIATE_MESSAGE negotiate
-		);
-
-	void decode_CHALLENGE_MESSAGE(
-		[in] CHALLENGE_MESSAGE challenge
-		);
-
-	void decode_AUTHENTICATE_MESSAGE(
-		[in] AUTHENTICATE_MESSAGE authenticate
-		);
-
-	void decode_NTLMv2_CLIENT_CHALLENGE(
-		[in] NTLMv2_CLIENT_CHALLENGE challenge
-		);
-
-	void decode_NTLMv2_RESPONSE(
-		[in] NTLMv2_RESPONSE response
-		);
-
 }
diff --git a/librpc/idl/ntprinting.idl b/librpc/idl/ntprinting.idl
index 30af1415eb9..cfb1922d0a2 100644
--- a/librpc/idl/ntprinting.idl
+++ b/librpc/idl/ntprinting.idl
@@ -26,10 +26,6 @@ interface ntprinting
 		uint32 bottom;
 	} ntprinting_form;
 
-	[public] void decode_ntprinting_form(
-		[in] ntprinting_form form
-		);
-
 	/*
 	 * First the string flags and then the Samba 3 tdb storage
 	 * format: drivers
@@ -50,10 +46,6 @@ interface ntprinting
 		[flag((ndr_ntprinting_string_flags(r->string_flags)&~STR_NULLTERM)|STR_NOTERM|NDR_REMAINING)] string_array dependent_files;
 	} ntprinting_driver;
 
-	[public] void decode_ntprinting_driver(
-		[in] ntprinting_driver driver
-		);
-
 	/* Samba 3 tdb storage format: devicemode
 	 * "p" ptr to devicemode
 	 * "ffwwwwwwwwwwwwwwwwwwdddddddddddddd"
@@ -161,7 +153,4 @@ interface ntprinting
 		ntprinting_printer_data printer_data[count];
 	} ntprinting_printer;
 
-	[public] void decode_ntprinting_printer(
-		[in] ntprinting_printer printer
-		);
 }
diff --git a/librpc/idl/preg.idl b/librpc/idl/preg.idl
index 869a021b030..c3adb506009 100644
--- a/librpc/idl/preg.idl
+++ b/librpc/idl/preg.idl
@@ -41,6 +41,4 @@ import "misc.idl";
 		uint32 num_entries;
 		preg_entry entries[num_entries];
 	} preg_file;
-
-	[nopython] void decode_preg_file([in] preg_file file);
 }
diff --git a/librpc/idl/security.idl b/librpc/idl/security.idl
index 5930f448955..4dcc37a0c51 100644
--- a/librpc/idl/security.idl
+++ b/librpc/idl/security.idl
@@ -592,19 +592,11 @@ interface security
 		[relative] security_acl *dacl; /* user (discretionary) ACL */
 	} security_descriptor;
 
-	[nopython] void decode_security_descriptor (
-		[in] security_descriptor sd
-		);
-
 	typedef [public] struct {
 		[range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->flags))] uint32 sd_size;
 		[subcontext(4)] security_descriptor *sd;
 	} sec_desc_buf;
 
-	[nopython] void decode_sec_desc_buf (
-		[in] sec_desc_buf sd_buf
-		);
-
 	/* This is not yet sent over the network, but is simply defined in IDL */
 	typedef [public] struct {
 		uint32 num_sids;
@@ -613,10 +605,6 @@ interface security
 		lsa_SystemAccessModeFlags rights_mask;
 	} security_token;
 
-	[nopython] void decode_security_token (
-		[in] security_token token
-		);
-
 	/* This is not yet sent over the network, but is simply defined in IDL */
 	typedef [public] struct {
 		uid_t uid;
@@ -625,10 +613,6 @@ interface security
 		[size_is(ngroups)] gid_t groups[*];
 	} security_unix_token;
 
-	[nopython] void decode_security_unix_token (
-		[in] security_unix_token unix_token
-		);
-
 	/* bits that determine which parts of a security descriptor
 	   are being queried/set */
 	typedef [public,bitmap32bit] bitmap {
diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 8a15fccfe09..8ece7374b9a 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -455,6 +455,14 @@ struct ndr_interface_call {
 	struct ndr_interface_call_pipes out_pipes;
 };
 
+struct ndr_interface_public_struct {
+	const char *name;
+	size_t struct_size;
+	ndr_push_flags_fn_t ndr_push;
+	ndr_pull_flags_fn_t ndr_pull;
+	ndr_print_function_t ndr_print;
+};
+
 struct ndr_interface_string_array {
 	uint32_t count;
 	const char * const *names;
@@ -466,6 +474,8 @@ struct ndr_interface_table {
 	const char *helpstring;
 	uint32_t num_calls;
 	const struct ndr_interface_call *calls;
+	uint32_t num_public_structs;
+	const struct ndr_interface_public_struct *public_structs;
 	const struct ndr_interface_string_array *endpoints;
 	const struct ndr_interface_string_array *authservices;
 };
diff --git a/librpc/tools/ndrdump.1.xml b/librpc/tools/ndrdump.1.xml
index e148eee0f03..fa6d763d18f 100644
--- a/librpc/tools/ndrdump.1.xml
+++ b/librpc/tools/ndrdump.1.xml
@@ -21,8 +21,8 @@
 		<command>ndrdump</command>
 		<arg choice="opt">-c context</arg>
 		<arg choice="req">pipe</arg>
-		<arg choice="req">function</arg>
-		<arg choice="req">in|out</arg>
+		<arg choice="req">format</arg>
+		<arg choice="req">in|out|struct</arg>
 		<arg choice="req">filename</arg>
 	</cmdsynopsis>
 	<cmdsynopsis>
@@ -38,15 +38,18 @@
 	<title>DESCRIPTION</title>
 
 	<para>ndrdump tries to parse the specified <replaceable>filename</replaceable>
-		using Samba's parser for the specified pipe and function. The 
+		using Samba's parser for the specified pipe and format. The
 		third argument should be 
-		either <emphasis>in</emphasis> or <emphasis>out</emphasis>, depending 
-		on whether the data should be parsed as a request or a reply.</para>
+		either <emphasis>in</emphasis>, <emphasis>out</emphasis>
+		or <emphasis>struct</emphasis>depending
+		on whether the data should be parsed as a request, reply or a
+		public structure.</para>
 
 	<para>Running ndrdump without arguments will list the pipes for which 
 		parsers are available.</para>
 
-	<para>Running ndrdump with one argument will list the functions that 
+	<para>Running ndrdump with one argument will list the functions and
+		public structures that
 		Samba can parse for the specified pipe.</para>
 
 	<para>The primary function of ndrdump is debugging Samba's internal 
diff --git a/librpc/tools/ndrdump.c b/librpc/tools/ndrdump.c
index ef7f9c66139..bd4f277607b 100644
--- a/librpc/tools/ndrdump.c
+++ b/librpc/tools/ndrdump.c
@@ -48,6 +48,35 @@ static const struct ndr_interface_call *find_function(


-- 
Samba Shared Repository



More information about the samba-cvs mailing list