summaryrefslogtreecommitdiff
path: root/source4/include
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-05-22 11:16:21 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:53:52 -0500
commitc5e11daa8bb00665efabbf7939062e7e60112ced (patch)
treebe3afcd3242ae31225776f74fe97cd2b41b7be56 /source4/include
parent93076cb9bc56a515bbefb6d88470d6776169779a (diff)
downloadsamba-c5e11daa8bb00665efabbf7939062e7e60112ced.tar.gz
samba-c5e11daa8bb00665efabbf7939062e7e60112ced.tar.bz2
samba-c5e11daa8bb00665efabbf7939062e7e60112ced.zip
r818: added server side SMB signing to Samba4
(This used to be commit 8e5ddf5e8eb74f667897f90baa2d00f02ca5818b)
Diffstat (limited to 'source4/include')
-rw-r--r--source4/include/context.h12
-rw-r--r--source4/include/smb.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/source4/include/context.h b/source4/include/context.h
index 17664c50f8..e533c6d243 100644
--- a/source4/include/context.h
+++ b/source4/include/context.h
@@ -114,6 +114,9 @@ struct request_context {
/* how far through the chain of SMB commands have we gone? */
unsigned chain_count;
+ /* the sequence number for signing */
+ large_t seq_num;
+
/* the async structure allows backend functions to delay
replying to requests. To use this, the front end must set
async.send_fn to a function to be called by the backend
@@ -329,6 +332,13 @@ struct timers_context {
time_t last_smb_conf_reload;
};
+
+struct signing_context {
+ DATA_BLOB mac_key;
+ large_t next_seq_num;
+ enum smb_signing_state signing_state;
+};
+
#include "smbd/process_model.h"
/* smb context structure. This should contain all the state
@@ -355,6 +365,8 @@ struct server_context {
struct dcesrv_context dcesrv;
+ struct signing_context signing;
+
/* the pid of the process handling this session */
pid_t pid;
diff --git a/source4/include/smb.h b/source4/include/smb.h
index 911aa9bd41..0881469af3 100644
--- a/source4/include/smb.h
+++ b/source4/include/smb.h
@@ -37,6 +37,8 @@
#define True (1)
#define Auto (2)
+enum smb_signing_state {SMB_SIGNING_OFF, SMB_SIGNING_SUPPORTED, SMB_SIGNING_REQUIRED};
+
#ifndef _BOOL
typedef int BOOL;
#define _BOOL /* So we don't typedef BOOL again in vfs.h */