[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Jun 11 19:35:04 MDT 2014


The branch, master has been updated
       via  1dda098 libsmb: Put the "smb2_lease" struct into idl
      from  4e95d78 smbd: tevent_req_nterror already returns bool :-)

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


- Log -----------------------------------------------------------------
commit 1dda098401a208d792bccc4a3f9e1b56571e6309
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jun 5 10:57:36 2014 +0000

    libsmb: Put the "smb2_lease" struct into idl
    
    This will make it easier in the future to NDR_PRINT a lease and
    a lease key
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Ronnie Sahlberg <ronniesahlberg at gmail.com>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Thu Jun 12 03:34:41 CEST 2014 on sn-devel-104

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

Summary of changes:
 libcli/smb/smb2_constants.h      |    3 ---
 libcli/smb/smb2_lease.h          |   17 +----------------
 libcli/smb/wscript               |    5 ++++-
 librpc/idl/smb2_lease_struct.idl |   33 +++++++++++++++++++++++++++++++++
 librpc/idl/wscript_build         |    1 +
 librpc/wscript_build             |    6 ++++++
 source4/libcli/raw/interfaces.h  |    1 +
 7 files changed, 46 insertions(+), 20 deletions(-)
 create mode 100644 librpc/idl/smb2_lease_struct.idl


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smb2_constants.h b/libcli/smb/smb2_constants.h
index 40a6339..0b34723 100644
--- a/libcli/smb/smb2_constants.h
+++ b/libcli/smb/smb2_constants.h
@@ -181,9 +181,6 @@
 
 /* SMB2 lease bits */
 #define SMB2_LEASE_NONE                                  0x00
-#define SMB2_LEASE_READ                                  0x01
-#define SMB2_LEASE_HANDLE                                0x02
-#define SMB2_LEASE_WRITE                                 0x04
 
 /* SMB2 lease flags */
 #define SMB2_LEASE_FLAG_BREAK_IN_PROGRESS                0x00000002
diff --git a/libcli/smb/smb2_lease.h b/libcli/smb/smb2_lease.h
index 73f97ac..ba8178d 100644
--- a/libcli/smb/smb2_lease.h
+++ b/libcli/smb/smb2_lease.h
@@ -23,22 +23,7 @@
 #ifndef _LIBCLI_SMB_SMB2_LEASE_H_
 #define _LIBCLI_SMB_SMB2_LEASE_H_
 
-/*
-  SMB2 lease structure (per MS-SMB2 2.2.13)
-*/
-struct smb2_lease_key {
-	uint64_t data[2];
-};
-
-struct smb2_lease {
-	struct smb2_lease_key lease_key;
-	uint32_t lease_state;
-	uint32_t lease_flags;
-	uint64_t lease_duration; /* should be 0 */
-	/* only for v2 */
-	struct smb2_lease_key parent_lease_key;
-	uint16_t lease_epoch;
-};
+#include "librpc/gen_ndr/smb2_lease_struct.h"
 
 /*
  * Parse a smb2 lease create context. Return -1 on error, buffer.length on
diff --git a/libcli/smb/wscript b/libcli/smb/wscript
index f28b745..17efc97 100755
--- a/libcli/smb/wscript
+++ b/libcli/smb/wscript
@@ -40,7 +40,10 @@ def build(bld):
 		smb2cli_echo.c
                 tstream_smbXcli_np.c
 	''',
-	deps='LIBCRYPTO errors gensec krb5samba smb_transport',
+	deps='''
+                LIBCRYPTO NDR_SMB2_LEASE_STRUCT errors gensec krb5samba
+                smb_transport
+        ''',
 	public_deps='talloc samba-util',
 	private_library=True,
 	public_headers='''
diff --git a/librpc/idl/smb2_lease_struct.idl b/librpc/idl/smb2_lease_struct.idl
new file mode 100644
index 0000000..ea28548
--- /dev/null
+++ b/librpc/idl/smb2_lease_struct.idl
@@ -0,0 +1,33 @@
+#include "idl_types.h"
+
+/*
+  miscellaneous IDL structures
+*/
+
+[
+	pointer_default(unique)
+]
+interface smb2_lease_struct
+{
+	/*
+	 * SMB2 lease structure (per MS-SMB2 2.2.13)
+	 */
+	typedef [public] struct {
+		hyper data[2];
+	} smb2_lease_key;
+
+	typedef [public,bitmap32bit] bitmap {
+		SMB2_LEASE_READ = 0x01,
+		SMB2_LEASE_WRITE = 0x02,
+		SMB2_LEASE_HANDLE = 0x04
+	} smb2_lease_state;
+
+	typedef [public] struct {
+		smb2_lease_key lease_key;
+		smb2_lease_state lease_state;
+		uint32 lease_flags;
+		uint32 lease_duration;	/* should be 0 */
+		smb2_lease_key parent_lease_key;
+		uint16 lease_epoch;
+	} smb2_lease;
+};
\ No newline at end of file
diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build
index d1484af..1bac9a7 100644
--- a/librpc/idl/wscript_build
+++ b/librpc/idl/wscript_build
@@ -11,6 +11,7 @@ bld.SAMBA_PIDL_LIST('PIDL',
                        oxidresolver.idl samr.idl server_id.idl srvsvc.idl winreg.idl dcerpc.idl
                        drsblobs.idl efs.idl frstrans.idl mgmt.idl netlogon.idl
                        notify.idl
+                       smb2_lease_struct.idl
                        policyagent.idl scerpc.idl svcctl.idl wkssvc.idl eventlog6.idl backupkey.idl
                        fsrvp.idl witness.idl''',
                     options='--header --ndr-parser --samba3-ndr-server --server --client --python',
diff --git a/librpc/wscript_build b/librpc/wscript_build
index 393f579..b21619e 100644
--- a/librpc/wscript_build
+++ b/librpc/wscript_build
@@ -353,6 +353,12 @@ bld.SAMBA_SUBSYSTEM('NDR_XATTR',
     public_deps='ndr NDR_SECURITY'
     )
 
+bld.SAMBA_SUBSYSTEM('NDR_SMB2_LEASE_STRUCT',
+    source='gen_ndr/ndr_smb2_lease_struct.c',
+    public_deps='ndr',
+    public_headers='gen_ndr/smb2_lease_struct.h'
+    )
+
 bld.SAMBA_SUBSYSTEM('NDR_SCHANNEL',
     source='ndr/ndr_schannel.c gen_ndr/ndr_schannel.c',
     public_deps='ndr ndr_nbt'
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h
index 7bc79ca..12c0377 100644
--- a/source4/libcli/raw/interfaces.h
+++ b/source4/libcli/raw/interfaces.h
@@ -25,6 +25,7 @@
 #include "source4/libcli/raw/smb.h"
 #include "../libcli/smb/smb_common.h"
 #include "librpc/gen_ndr/misc.h" /* for struct GUID */
+#include "librpc/gen_ndr/smb2_lease_struct.h"
 
 /* this structure is just a wrapper for a string, the only reason we
    bother with this is that it allows us to check the length provided


-- 
Samba Shared Repository


More information about the samba-cvs mailing list