>From 4b54bfb9f86e34c53e4a1ed79b8d285f7a57e868 Mon Sep 17 00:00:00 2001 From: Har Gagan Sahai Date: Thu, 29 Jan 2015 09:57:55 +0530 Subject: [PATCH] Sending SMB Echo or KeepAlive request on the cached connection before reusing it libsmbclient. Signed-off-by: Har Gagan Sahai --- source3/libsmb/libsmb_server.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/source3/libsmb/libsmb_server.c b/source3/libsmb/libsmb_server.c index 8f68a40..118770b 100644 --- a/source3/libsmb/libsmb_server.c +++ b/source3/libsmb/libsmb_server.c @@ -45,10 +45,24 @@ int SMBC_check_server(SMBCCTX * context, SMBCSRV * server) { + NT_STATUS status = NT_STATUS_OK; + if (!cli_state_is_connected(server->cli)) { return 1; } + if (smbXcli_conn_protocol(server->cli->conn) >= PROTOCOL_SMB2_02) { + status = smb2cli_echo(server->cli->conn, 0); + } else { + unsigned char data[16] = {0}; + memset(data, 0xf0, sizeof(data)); + status = cli_echo(server->cli, 1, data_blob_const(data, sizeof(data))); + } + + if (!NT_STATUS_IS_OK(status)) { + return 1; + } + return 0; } -- 1.8.4.5