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:
parent
6007a592b2
commit
5cec60b31b
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user