diff options
Diffstat (limited to 'source3/libsmb/clientgen.c')
-rw-r--r-- | source3/libsmb/clientgen.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c index 9021d1a362..92a9678de5 100644 --- a/source3/libsmb/clientgen.c +++ b/source3/libsmb/clientgen.c @@ -191,6 +191,32 @@ BOOL cli_receive_smb_return_keepalive(struct cli_state *cli) } /**************************************************************************** + Recv an smb session reply +****************************************************************************/ + +BOOL cli_receive_sessionreply(struct cli_state *cli) +{ + ssize_t len; + + /* fd == -1 causes segfaults -- Tom (tom@ninja.nl) */ + if (cli->fd == -1) + return False; + + len = client_receive_smb(cli, False, 0); + + /* If the server is not responding, note that now */ + if (len < 0) { + DEBUG(0, ("Receiving SMB: Server stopped responding\n")); + cli->smb_rw_error = smb_read_error; + close(cli->fd); + cli->fd = -1; + return False; + } + + return True; +} + +/**************************************************************************** Read the data portion of a readX smb. The timeout is in milliseconds ****************************************************************************/ |