Revert "Fix bug #8139 - smbclient fails if server does not support Echo request."
authorStefan Metzmacher <metze@samba.org>
Tue, 31 Jan 2012 07:41:07 +0000 (08:41 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 31 Jan 2012 20:53:25 +0000 (21:53 +0100)
This reverts commit 1fdc96ecaff8ca12e9aa0082527468ad4242a8a9.

This is wrong in master as the error codes are different compared to
3.5.x. The correct way to handle this is to call cli_state_is_connected().

metze

source3/client/client.c

index 9b36ff7098b6a6a1fc33a46be87bc14721c2a550..4b7df92877de469845427894570fbeeae002a924 100644 (file)
@@ -5032,15 +5032,11 @@ static void readline_callback(void)
        /* Ping the server to keep the connection alive using SMBecho. */
        memset(garbage, 0xf0, sizeof(garbage));
        status = cli_echo(cli, 1, data_blob_const(garbage, sizeof(garbage)));
-       if (NT_STATUS_EQUAL(status, NT_STATUS_PIPE_BROKEN) ||
-                       NT_STATUS_EQUAL(status, NT_STATUS_END_OF_FILE) ||
-                       NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) {
+       if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("SMBecho failed (%s). Maybe server has closed "
                        "the connection\n", nt_errstr(status)));
                finished = true;
                smb_readline_done();
-               /* Ignore all other errors - sometimes servers simply
-                  don't implement SMBecho (Apple for example). */
        }
 }