diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-05-22 11:06:54 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-05-22 14:03:13 +0200 |
commit | 7749647740e945cf63e3df76545c04129d592429 (patch) | |
tree | 0dab3d7462d11f9131d22bb5ba5b2f477e2faf1d | |
parent | edd9bd9b167cb04290b06eb9b209c21ad5a884a0 (diff) | |
download | samba-7749647740e945cf63e3df76545c04129d592429.tar.gz samba-7749647740e945cf63e3df76545c04129d592429.tar.bz2 samba-7749647740e945cf63e3df76545c04129d592429.zip |
s3:smbd: SMB2 session ids are 64bit...
We only grand ids up to 0x0000000000FFFFFF,
because that's what our idtree implementation can handle.
But also 16777215 sessions on one tcp connection should be enough:-)
metze
-rw-r--r-- | source3/smbd/smb2_server.c | 2 | ||||
-rw-r--r-- | source3/smbd/smb2_sesssetup.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 83ce7c4358..c6160189fe 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -59,7 +59,7 @@ static NTSTATUS smbd_initialize_smb2(struct smbd_server_connection *conn) if (conn->smb2.sessions.idtree == NULL) { return NT_STATUS_NO_MEMORY; } - conn->smb2.sessions.limit = 0x0000FFFF; + conn->smb2.sessions.limit = 0x00FFFFFF; conn->smb2.sessions.list = NULL; ret = tstream_bsd_existing_socket(conn, smbd_server_fd(), diff --git a/source3/smbd/smb2_sesssetup.c b/source3/smbd/smb2_sesssetup.c index 50476bfbe5..a7fef4ab2f 100644 --- a/source3/smbd/smb2_sesssetup.c +++ b/source3/smbd/smb2_sesssetup.c @@ -71,7 +71,7 @@ NTSTATUS smbd_smb2_request_process_sesssetup(struct smbd_smb2_request *req) return smbd_smb2_request_error(req, NT_STATUS_INVALID_PARAMETER); } - in_session_id = SVAL(inhdr, SMB2_HDR_SESSION_ID); + in_session_id = BVAL(inhdr, SMB2_HDR_SESSION_ID); in_security_buffer.data = (uint8_t *)req->in.vector[i+2].iov_base; in_security_buffer.length = in_security_length; @@ -207,7 +207,7 @@ NTSTATUS smbd_smb2_request_check_session(struct smbd_smb2_request *req) inhdr = (const uint8_t *)req->in.vector[i+0].iov_base; - in_session_id = SVAL(inhdr, SMB2_HDR_SESSION_ID); + in_session_id = BVAL(inhdr, SMB2_HDR_SESSION_ID); /* lookup an existing session */ p = idr_find(req->conn->smb2.sessions.idtree, in_session_id); |