Hi All, scenario: Samba Version 2.2.8a-UL running on Suse Linux Enterprise 8 Kernel Version 2.4.21-241-smp as Server
Windows 2000 SP4 as Client Trying to import a MS-Foxpro file into MS-ACCESS. MS-Foxpro File residing on Samba Server. The Foxpro filename is 'projects.dbf'. During import MS-Access tries to also open a non existent file 'projects.inf' depending on the path in which the file resides Samba will return different Error Messages to the smb client (windows machine) either NT_STATUS_OBJECT_NAME_NOT_FOUND which is correct (Example 1) or NT_STATUS_ACCESS_DENIED which is the wrong return code. (Example 2) Aur problem was that a filename like 'cad/pipe/projects.dbf' resulted in the access denied message wich led the MS-Access Programm into error whilst a filename like 'test/pipe/projects.dbf' will return with the correct file not found. Any 3 letter or less path before the /pipe/ results in the error. We've managed to level it down to the "Check a filename for the pipe string." Function static void check_for_pipe(const char *fname) in the Samba source code 'open.c'. Our solution for now is not to name any directory 'pipe' so that the parsing function won't get confused but this can't really be a solution. Any Ideas welcome. Best regards Peter Piechutzki **********************Example 1 working o.k.******************************** [2004/10/15 10:24:52, 10] smbd/mangle_hash.c:is_mangled(317) is_mangled: projects.INF : False [2004/10/15 10:24:52, 5] smbd/filename.c:unix_convert(319) New file projects.INF [2004/10/15 10:24:52, 3] smbd/dosmode.c:unix_mode(111) unix_mode(Zwischenablage/Jaeger/pipe/projects.INF) returning 0777 [2004/10/15 10:24:52, 5] smbd/files.c:file_new(123) allocated file structure 9547, fnum = 13643 (3 used) [2004/10/15 10:24:52, 10] smbd/open.c:open_file_shared1(808) open_file_shared: fname = Zwischenablage/Jaeger/pipe/projects.INF, share_mode = 40, ofun = 1, mode = 777, oplock request = 0 [2004/10/15 10:24:52, 8] lib/util.c:is_in_path(1145) is_in_path: Zwischenablage/Jaeger/pipe/projects.INF [2004/10/15 10:24:52, 8] lib/util.c:is_in_path(1150) is_in_path: no name list. [2004/10/15 10:24:52, 3] lib/util.c:unix_clean_name(387) unix_clean_name [Zwischenablage/Jaeger/pipe/projects.INF] [2004/10/15 10:24:52, 4] smbd/open.c:open_file_shared1(974) calling open_file with flags=0x0 flags2=0x0 mode=0777 [2004/10/15 10:24:52, 10] smbd/open.c:fd_open(53) fd_open: name Zwischenablage/Jaeger/pipe/projects.INF, flags = 00 mode = 0777, fd = -1. No such file or directory [2004/10/15 10:24:52, 3] smbd/open.c:open_file(177) Error opening file Zwischenablage/Jaeger/pipe/projects.INF (No such file or directory) (local_flags=0) (flags=0) [2004/10/15 10:24:52, 5] smbd/files.c:file_free(346) freed files structure 13643 (2 used) [2004/10/15 10:24:52, 3] smbd/error.c:error_packet(94) error string = No such file or directory [2004/10/15 10:24:52, 3] smbd/error.c:error_packet(113) error packet at smbd/nttrans.c(889) cmd=162 (SMBntcreateX) NT_STATUS_OBJECT_NAME_NOT_FOUND **********************Example 2 WRONG ERRROR PACKET ******************************** [2004/10/14 17:29:21, 10] smbd/mangle_hash.c:is_mangled(317) is_mangled: projects.INF : False [2004/10/14 17:29:21, 5] smbd/filename.c:unix_convert(319) New file projects.INF [2004/10/14 17:29:21, 3] smbd/dosmode.c:unix_mode(111) unix_mode(cad/pipe/projects.INF) returning 0777 [2004/10/14 17:29:21, 5] smbd/files.c:file_new(123) allocated file structure 4092, fnum = 8188 (3 used) [2004/10/14 17:29:21, 10] smbd/open.c:open_file_shared1(808) open_file_shared: fname = cad/pipe/projects.INF, share_mode = 40, ofun = 1, mode = 777, oplock request = 0 [2004/10/14 17:29:21, 8] lib/util.c:is_in_path(1145) is_in_path: cad/pipe/projects.INF [2004/10/14 17:29:21, 8] lib/util.c:is_in_path(1150) is_in_path: no name list. [2004/10/14 17:29:21, 3] lib/util.c:unix_clean_name(387) unix_clean_name [cad/pipe/projects.INF] [2004/10/14 17:29:21, 4] smbd/open.c:open_file_shared1(974) calling open_file with flags=0x0 flags2=0x0 mode=0777 [2004/10/14 17:29:21, 10] smbd/open.c:fd_open(53) fd_open: name cad/pipe/projects.INF, flags = 00 mode = 0777, fd = -1. No such file or directory [2004/10/14 17:29:21, 3] smbd/open.c:open_file(177) Error opening file cad/pipe/projects.INF (No such file or directory) (local_flags=0) (flags=0) [2004/10/14 17:29:21, 3] smbd/open.c:check_for_pipe(81) Rejecting named pipe open for cad/pipe/projects.INF [2004/10/14 17:29:21, 5] smbd/files.c:file_free(346) freed files structure 8188 (2 used) [2004/10/14 17:29:21, 3] smbd/error.c:error_packet(94) error string = No such file or directory [2004/10/14 17:29:21, 3] smbd/error.c:error_packet(113) error packet at smbd/nttrans.c(889) cmd=162 (SMBntcreateX) NT_STATUS_ACCESS_DENIED ******************OUR SMB.CONF************************ # Samba config file created using SWAT # from 0.0.0.0 (0.0.0.0) # Date: 2004/06/17 14:04:34 # Global parameters [global] workgroup = OURDOMAIN.DE netbios name = FILESERVER server string = Our Fileserver Samba %v interfaces = 192.168.1.10/24 encrypt passwords = Yes min passwd length = 2 map to guest = Bad User unix password sync = Yes log level = 1 log file = /var/log/samba/log.%m time server = Yes unix extensions = Yes socket options = SO_KEEPALIVE TCP_NODELAY IPTOS_LOWDELAY printcap name = CUPS add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u os level = 255 domain logons = Yes local master = Yes security = user preferred master = Yes domain master = Yes wins support = Yes admin users = @administratoren printing = cups deadtime = 0 acl compatibility = win2k [Konstruktion] comment = Zeichnungen und Konstruktionsdaten path = /daten/konstruktion valid users = @cad_user_admin,@cad_user,@cad_user_leser,@administratoren,@olymp admin users = @administratoren,@cad_user_admin read only = No force create mode = 0777 force directory mode = 0777 -- To unsubscribe from this list go to the following URL and read the instructions: http://lists.samba.org/mailman/listinfo/samba
