r18011: Should fix bug 3835.
authorDerrell Lipman <derrell@samba.org>
Sun, 3 Sep 2006 00:50:34 +0000 (00:50 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:39:48 +0000 (11:39 -0500)
commit40665edf5e6043ad5a8f46731a79ec1d5835b62a
tree269714d303f19434078233e8d25a5428348c7827
parentfea5d59b8411244b31df7980bdcdab9ed20dc712
r18011: Should fix bug 3835.

Jeremy: requires your eyes...

If the remote connection timed out while cli_list() was retrieving its list of
files, the error was not returned to the user, e.g. via smbc_opendir(), so the
user didn't have a way to know to set the timeout longer and try again.  This
problem would occur when a very large directory is being read with a too-small
timeout on the cli.

Jeremy, although there were a couple of areas that needed to be handled, I
needed to make one change that you should bless, in libsmb/clientgen.c.  It
was setting

  cli->smb_rw_error = smb_read_error;

but smb_read_error is zero, so this had no effect.  I'm now doing

  cli->smb_rw_error = READ_TIMEOUT;

instead, and according to the OP, these (cumulative) changes (in a slightly
different form) solve the problem.

Please confirm this smb_rw_error change will have no other adverse effects
that you can see.

Derrell
(This used to be commit fa664b24b829f973156486896575c1007b6d7b01)
examples/libsmbclient/Makefile
source3/libsmb/clientgen.c
source3/libsmb/clilist.c
source3/libsmb/libsmbclient.c