mirror of
https://github.com/samba-team/samba.git
synced 2025-03-01 04:58:35 +03:00
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)
Some simple example programs for libsmbclient ... testsmbc.c is kinda broken as it has many hardcoded bits in it testbrowse.c opens a remote folder and displays its contents teststat.c allows comparing the results of smbc_stat() against a local stat() of the same file. tree.c is an example of how you might do some of these things with GTK+ It needs lots of work but shows you some ways to use libsmbclient. smbwrapper implements the old smbsh/smbwrapper mechanism using libsmbclient, in such a way that it works on Linux Richard Sharpe, 17 May 2001 Derrell Lipman, 30 Mar 2005