diff options
Diffstat (limited to 'source4/smb_server/smb_server.c')
-rw-r--r-- | source4/smb_server/smb_server.c | 7 |
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)); |