summaryrefslogtreecommitdiff
path: root/source3/smbd/globals.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-05-15 11:20:34 +0200
committerStefan Metzmacher <metze@samba.org>2009-05-20 20:53:34 +0200
commit1ecdc8588da2eddfe673f736f519d37eac4be911 (patch)
treeabc09b843bef99ca5816a1c5eb624706acc66567 /source3/smbd/globals.h
parentdafc1e0c8d16e4dcc3929d9e5f78ce60d3371fe8 (diff)
downloadsamba-1ecdc8588da2eddfe673f736f519d37eac4be911.tar.gz
samba-1ecdc8588da2eddfe673f736f519d37eac4be911.tar.bz2
samba-1ecdc8588da2eddfe673f736f519d37eac4be911.zip
s3:smbd: implement SMB2 Session Setup with raw NTLMSSP
metze
Diffstat (limited to 'source3/smbd/globals.h')
-rw-r--r--source3/smbd/globals.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h
index 93075ad901..5a7ad7d9e3 100644
--- a/source3/smbd/globals.h
+++ b/source3/smbd/globals.h
@@ -221,6 +221,7 @@ NTSTATUS smbd_smb2_request_done(struct smbd_smb2_request *req,
DATA_BLOB body, DATA_BLOB *dyn);
NTSTATUS smbd_smb2_request_process_negprot(struct smbd_smb2_request *req);
+NTSTATUS smbd_smb2_request_process_sesssetup(struct smbd_smb2_request *req);
NTSTATUS smbd_smb2_request_process_keepalive(struct smbd_smb2_request *req);
struct smbd_smb2_request {
@@ -276,6 +277,16 @@ struct smbd_smb2_request {
} out;
};
+struct smbd_server_connection;
+
+struct smbd_smb2_session {
+ struct smbd_smb2_session *prev, *next;
+ struct smbd_server_connection *conn;
+ NTSTATUS status;
+ uint64_t vuid;
+ AUTH_NTLMSSP_STATE *auth_ntlmssp_state;
+};
+
struct smbd_server_connection {
struct fd_event *fde;
uint64_t num_requests;
@@ -286,6 +297,17 @@ struct smbd_server_connection {
struct tevent_queue *recv_queue;
struct tevent_queue *send_queue;
struct tstream_context *stream;
+ struct {
+ /* an id tree used to allocate vuids */
+ /* this holds info on session vuids that are already
+ * validated for this VC */
+ struct idr_context *idtree;
+
+ /* this is the limit of vuid values for this connection */
+ uint64_t limit;
+
+ struct smbd_smb2_session *list;
+ } sessions;
} smb2;
};