summaryrefslogtreecommitdiff
path: root/source/libcli/smb2/smb2.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-05-30 17:26:42 +1000
committerAndrew Bartlett <abartlet@samba.org>2008-05-30 17:26:42 +1000
commit31308caad0a83a487341307e4e810a69c08ff371 (patch)
tree7e3e7165475a9797e819bba6540a679946e4cfa2 /source/libcli/smb2/smb2.h
parent75122e88e53aaa9930af85887e939fb329f51e2d (diff)
parentb788096add3586d7277efcd3bf5ca7f3a604cb7a (diff)
downloadsamba-31308caad0a83a487341307e4e810a69c08ff371.tar.gz
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local
Diffstat (limited to 'source/libcli/smb2/smb2.h')
-rw-r--r--source/libcli/smb2/smb2.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/source/libcli/smb2/smb2.h b/source/libcli/smb2/smb2.h
index b55da05e21f..09035095287 100644
--- a/source/libcli/smb2/smb2.h
+++ b/source/libcli/smb2/smb2.h
@@ -23,20 +23,24 @@
#define __LIBCLI_SMB2_SMB2_H__
#include "libcli/raw/request.h"
+#include "libcli/raw/libcliraw.h"
struct smb2_handle;
-struct smb2_options {
- uint32_t timeout;
+struct smb2_signing_context {
+ bool doing_signing;
+ bool signing_started;
+ DATA_BLOB session_key;
};
/*
- information returned from the negotiate response
+ information returned from the negotiate process
*/
struct smb2_negotiate {
DATA_BLOB secblob;
NTTIME system_time;
NTTIME server_start_time;
+ uint16_t security_mode;
};
/* this is the context for the smb2 transport layer */
@@ -44,7 +48,6 @@ struct smb2_transport {
/* socket level info */
struct smbcli_socket *socket;
- struct smb2_options options;
struct smb2_negotiate negotiate;
/* next seqnum to allocate */
@@ -74,6 +77,9 @@ struct smb2_transport {
/* private data passed to the oplock handler */
void *private_data;
} oplock;
+
+ struct smbcli_options options;
+ struct smb2_signing_context signing;
};
@@ -92,7 +98,6 @@ struct smb2_session {
struct smb2_transport *transport;
struct gensec_security *gensec;
uint64_t uid;
- DATA_BLOB session_key;
};
@@ -193,6 +198,13 @@ struct smb2_request {
#define SMB2_HDR_SIGNATURE 0x30 /* 16 bytes */
#define SMB2_HDR_BODY 0x40
+/* header flags */
+#define SMB2_HDR_FLAG_REDIRECT 0x01
+#define SMB2_HDR_FLAG_ASYNC 0x02
+#define SMB2_HDR_FLAG_CHAINED 0x04
+#define SMB2_HDR_FLAG_SIGNED 0x08
+#define SMB2_HDR_FLAG_DFS 0x10000000
+
/* SMB2 opcodes */
#define SMB2_OP_NEGPROT 0x00
#define SMB2_OP_SESSSETUP 0x01