summaryrefslogtreecommitdiff
path: root/source4/smb_server/smb_server.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-11-18 14:13:49 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:46:28 -0500
commit910d61bcd1fbfc6fc406d4384f305f5210e92d56 (patch)
tree3d988dc6ec062ef2a8a215253c19559cecd2fb0a /source4/smb_server/smb_server.c
parent764dd6027b384640a075a9b56bc83e061ff9438e (diff)
downloadsamba-910d61bcd1fbfc6fc406d4384f305f5210e92d56.tar.gz
samba-910d61bcd1fbfc6fc406d4384f305f5210e92d56.tar.bz2
samba-910d61bcd1fbfc6fc406d4384f305f5210e92d56.zip
r11789: - add the start of a SMB2 server
- it does Negprot and SessionSetup yet the rest returns NT_STATUS_NOT_IMPLEMENTED - it's off by default, enable with: smbsrv:enable smb2 = yes - negotition in the SMB Negprot isn't supported yet - it's only tested with smbtorture SMB2-CONNECT not with vista as client metze (This used to be commit 08b31d5f618d2e416cb9812ad3a49754cd7212b8)
Diffstat (limited to 'source4/smb_server/smb_server.c')
-rw-r--r--source4/smb_server/smb_server.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source4/smb_server/smb_server.c b/source4/smb_server/smb_server.c
index 3385e88d4a..f439bce061 100644
--- a/source4/smb_server/smb_server.c
+++ b/source4/smb_server/smb_server.c
@@ -27,6 +27,7 @@
#include "smb_server/smb_server.h"
#include "lib/messaging/irpc.h"
#include "lib/stream/packet.h"
+#include "libcli/smb2/smb2.h"
static NTSTATUS smbsrv_recv_generic_request(void *private, DATA_BLOB blob)
{
@@ -56,6 +57,12 @@ static NTSTATUS smbsrv_recv_generic_request(void *private, DATA_BLOB blob)
NT_STATUS_NOT_OK_RETURN(status);
packet_set_callback(smb_conn->packet, smbsrv_recv_smb_request);
return smbsrv_recv_smb_request(smb_conn, blob);
+ case SMB2_MAGIC:
+ if (!lp_parm_bool(-1, "smbsrv", "enable smb2", False)) break;
+ status = smbsrv_init_smb2_connection(smb_conn);
+ NT_STATUS_NOT_OK_RETURN(status);
+ packet_set_callback(smb_conn->packet, smbsrv_recv_smb2_request);
+ return smbsrv_recv_smb2_request(smb_conn, blob);
}
DEBUG(2,("Invalid SMB packet: protocl prefix: 0x%08X\n", protocol_version));