1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-18 17:57:55 +03:00

Added error string for server timeout on client call.

Jeremy.
(This used to be commit 28d2eb934318818a3b0527e391987ea139dbf4a3)
This commit is contained in:
Jeremy Allison 2002-10-01 01:41:20 +00:00
parent 6007a592b2
commit 5cec60b31b
3 changed files with 11 additions and 0 deletions

View File

@ -70,6 +70,7 @@ typedef struct smb_sign_info {
struct cli_state {
int port;
int fd;
int smb_read_error; /* Copy of last read error. */
uint16 cnum;
uint16 pid;
uint16 mid;

View File

@ -69,6 +69,7 @@ static BOOL client_receive_smb(int fd,char *buffer, unsigned int timeout)
BOOL cli_receive_smb(struct cli_state *cli)
{
extern int smb_read_error;
BOOL ret;
/* fd == -1 causes segfaults -- Tom (tom@ninja.nl) */
@ -100,6 +101,7 @@ BOOL cli_receive_smb(struct cli_state *cli)
if (!ret) {
close(cli->fd);
cli->fd = -1;
cli->smb_read_error = smb_read_error;
}
return ret;

View File

@ -85,6 +85,14 @@ char *cli_errstr(struct cli_state *cli)
return cli_error_message;
}
/* Was it server timeout ? */
if (cli->fd == -1 && cli->timeout > 0 && cli->smb_read_error == READ_TIMEOUT) {
slprintf(cli_error_message, sizeof(cli_error_message) - 1,
"Call timed out: server did not respond after %d milliseconds",
cli->timeout);
return cli_error_message;
}
/* Case #1: RAP error */
if (cli->rap_error) {
for (i = 0; rap_errmap[i].message != NULL; i++) {