I have 2 samba servers, samba-3.0.33 (Centos) and samba-3.4.2. And I have a "mediabox" connected to them. This media box is based on a linux-firmware and I can´t change its firmware. It connects to server with: "/sbin/mount.smbf //ip/share /mount -n -o rw workgroup GRUPO password XXXXXX codepage cp850 iocharset iso8859-1" using a module smbfs.o compiled for kernel-2.4.21-xfs That is OK with samba-3.0.33 BUT in samba-3.4.2 when I list a directory with a lot of files doesn´t work (same times return 0 files and other times only a few files) With Wireshark I have see that 'mediabox' USES trans2findnext with a flag continue_bit=1 and doesn't use filename(resume_name) to continue. when I compare the two version, I find in smbd/trans2.c in function 'call_trans2findnext' that samba-3.0.33(that works OK): ------ if (!(ISDOT(resume_name) || ISDOTDOT(resume_name))) { return ERROR_NT(ntstatus); } ------ and in samba-3.4.2(that fails): ------ if (!resume_name || !(ISDOT(resume_name) || ISDOTDOT(resume_name))) { reply_nterror(req, ntstatus); return; } -------- I think, should be: if (!continue_bit && (!resume_name || !(ISDOT(resume_name) || ISDOTDOT(resume_name)))) { reply_nterror(req, ntstatus); return; } -------------- When I've made this change all is OK. I can´t found nothing about it in any forum, but I have found a lot of messages of people (people with different mediaboxes) that have problems to list directories with a lot of files. I don't know if this is the best way to correct the problem. As well, I think the debug string (DEBUG(3,("call_trans2findnext:......) should be before the call to 'srvstr_get_path_wcard'. Thank you, and sorry for my english.
Completely correct - thanks ! I'll fix this in master and 3.5.0 and create patches for 3.3.10 and 3.4.4. Jeremy.
Created attachment 4913 [details] git-am format patch for 3.4.4.
Created attachment 4914 [details] git-am format patch for 3.3.10
Re-assigning to Karolin for inclusion once Volker or Metze have reviewed. Jeremy.
Thank you very much.
Pushed to v3-4-test and v3-3-test. Closing out bug report. Thanks!