From fac563ea2a8919ca4b10927e0fa4acb9c74172bb Mon Sep 17 00:00:00 2001 From: Har Gagan Sahai Date: Wed, 28 Jan 2015 18:10:37 +0530 Subject: [PATCH] Checking server alive status while reusing the cached connection by sending SMB Echo request. Signed-off-by: Har Gagan Sahai --- source3/libsmb/libsmb_server.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source3/libsmb/libsmb_server.c b/source3/libsmb/libsmb_server.c index 8f68a40..bd69563 100644 --- a/source3/libsmb/libsmb_server.c +++ b/source3/libsmb/libsmb_server.c @@ -49,6 +49,18 @@ SMBC_check_server(SMBCCTX * context, return 1; } + if (smbXcli_conn_protocol(server->cli->conn) >= PROTOCOL_SMB2_02) { + status = smb2cli_echo(server->cli->conn, 0); + } else { + unsigned char garbage[16]; + memset(garbage, 0xf0, sizeof(garbage)); + status = cli_echo(server->cli, 1, data_blob_const(garbage, sizeof(garbage))); + } + + if (!NT_STATUS_IS_OK(status)) { + return 1; + } + return 0; } -- 1.8.4.5