Hello list members! I joined this list on May 1st and I can see I have a lot to learn. Thanks to everyone - especially those *@samba.org folks. You are so appreciated. Background in my plea for help: I'm the IT guy for a family owned community bank in Southern Colorado. I am very tired of the limitations and security problems of Micro$oft and have committed to learning and using Linux (and Samba) in hopes of replacing the Windows NT servers, and eventually some workstations, we are currently using. I am successfully using Samba on several servers running RedHat 7.2 with various versions of Samba (2.2.1a, 2.2.3a, or 2.2.4). But there is one piece of software which does not function right while hosted on a Samba file share. It's software built specifically for banks and so it's not built as well as a lot of software. Anyway, I'll do a database query with this software (database is not on the Samba box) and the first one will work. However, every time I click to query the database record further, the software comes back with an error message that it can't find a needed DLL file. As you will see below, it really isn't a DLL file missing . . . Here is what I see in a packet capture from Ethereal when I initiate the second query. From client to server: NT Create AndX Request, Path: \ITI\PREMIER\PRM1101.EXE\2 From server to client: NT Create AndX Response, Error: STATUS_NOT_A_DRIECTORY Now, I don't know why the software adds the \2 at the end when you do the second query, but somehow it doesn't bother the software while hosted on a Windows box. Here is what I see in a level 8 Samba log file at the same time: [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(149) unix_convert called on file "\ITI\PREMIER\PRM1101.EXE\2" [2002/05/08 16:33:59, 3] lib/util.c:unix_clean_name(387) unix_clean_name [/ITI/PREMIER/PRM1101.EXE/2] [2002/05/08 16:33:59, 5] smbd/mangle.c:is_8_3(341) Checking 2 for 8.3 [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(224) unix_convert begin: name = ITI/Premier/prm1101.exe/2, dirpath = ITI/Premier/prm1101.exe, start = 2 [2002/05/08 16:33:59, 3] smbd/filename.c:scan_directory(495) scan dir didn't open dir [ITI/Premier/prm1101.exe] [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(354) New file 2 [2002/05/08 16:33:59, 3] smbd/dosmode.c:unix_mode(111) unix_mode(ITI/Premier/prm1101.exe/2) returning 0766 [2002/05/08 16:33:59, 5] smbd/files.c:file_new(120) allocated file structure 9714, fnum = 13810 (9 used) [2002/05/08 16:33:59, 8] lib/util.c:is_in_path(1143) is_in_path: ITI/Premier/prm1101.exe/2 [2002/05/08 16:33:59, 8] lib/util.c:is_in_path(1148) is_in_path: no name list. [2002/05/08 16:33:59, 3] lib/util.c:unix_clean_name(387) unix_clean_name [ITI/Premier/prm1101.exe/2] [2002/05/08 16:33:59, 4] smbd/open.c:open_file_shared1(891) calling open_file with flags=0x0 flags2=0x0 mode=0766 [2002/05/08 16:33:59, 3] smbd/open.c:open_file(162) Error opening file ITI/Premier/prm1101.exe/2 (Not a directory) (local_flags=0) (flags=0) [2002/05/08 16:33:59, 5] smbd/files.c:file_free(338) freed files structure 13810 (8 used) [2002/05/08 16:33:59, 3] smbd/error.c:error_packet(91) error string = Not a directory [2002/05/08 16:33:59, 3] smbd/error.c:error_packet(106) error packet at smbd/nttrans.c(870) cmd=162 (SMBntcreateX) NT_STATUS_NOT_A_DIRECTORY So Samba thinks, and rightly so, that the \2 at the end is a directory name. Only a virus like Microsoft Windows could understand \ITI\PREMIER\PRM1101.EXE\2 as a file name with a \2 as some sort of command line parameter. I've tried so many things I can't remember them all. I've tried making a link \ITI\PREMIER\PRM1101.EXE\2 pointing to \ITI\PREMIER\PRM1101.EXE. I read a little about name mangling and tried to use a mangled map rule to change *.exe\2 to *.exe or *.exe \2. I've been trying to figure out how I might implement rewrite rules like you can in Apache or sendmail. I would appreciate any help/ideas/work-arounds anyone could give me. This problem is the only thing keeping me from removing all the Windows servers from our branch offices!!! Thanks in advance. Mike
On Thu, May 09, 2002 at 10:10:59AM -0600, Mike Babnick wrote:> Hello list members! > > I joined this list on May 1st and I can see I have a lot to learn. Thanks > to everyone - especially those *@samba.org folks. You are so appreciated. > > Background in my plea for help: I'm the IT guy for a family owned community > bank in Southern Colorado. I am very tired of the limitations and security > problems of Micro$oft and have committed to learning and using Linux (and > Samba) in hopes of replacing the Windows NT servers, and eventually some > workstations, we are currently using. > > I am successfully using Samba on several servers running RedHat 7.2 with > various versions of Samba (2.2.1a, 2.2.3a, or 2.2.4). But there is one > piece of software which does not function right while hosted on a Samba > file share. It's software built specifically for banks and so it's not > built as well as a lot of software. Anyway, I'll do a database query with > this software (database is not on the Samba box) and the first one will > work. However, every time I click to query the database record further, > the software comes back with an error message that it can't find a needed > DLL file. As you will see below, it really isn't a DLL file missing . . . > > Here is what I see in a packet capture from Ethereal when I initiate the > second query. > > From client to server: NT Create AndX Request, Path: > \ITI\PREMIER\PRM1101.EXE\2 > From server to client: NT Create AndX Response, Error: STATUS_NOT_A_DRIECTORY > > Now, I don't know why the software adds the \2 at the end when you do the > second query, but somehow it doesn't bother the software while hosted on a > Windows box. > > Here is what I see in a level 8 Samba log file at the same time: > > [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(149) > unix_convert called on file "\ITI\PREMIER\PRM1101.EXE\2" > [2002/05/08 16:33:59, 3] lib/util.c:unix_clean_name(387) > unix_clean_name [/ITI/PREMIER/PRM1101.EXE/2] > [2002/05/08 16:33:59, 5] smbd/mangle.c:is_8_3(341) > Checking 2 for 8.3 > [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(224) > unix_convert begin: name = ITI/Premier/prm1101.exe/2, dirpath = > ITI/Premier/prm1101.exe, start = 2 > [2002/05/08 16:33:59, 3] smbd/filename.c:scan_directory(495) > scan dir didn't open dir [ITI/Premier/prm1101.exe] > [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(354) > New file 2 > [2002/05/08 16:33:59, 3] smbd/dosmode.c:unix_mode(111) > unix_mode(ITI/Premier/prm1101.exe/2) returning 0766 > [2002/05/08 16:33:59, 5] smbd/files.c:file_new(120) > allocated file structure 9714, fnum = 13810 (9 used) > [2002/05/08 16:33:59, 8] lib/util.c:is_in_path(1143) > is_in_path: ITI/Premier/prm1101.exe/2 > [2002/05/08 16:33:59, 8] lib/util.c:is_in_path(1148) > is_in_path: no name list. > [2002/05/08 16:33:59, 3] lib/util.c:unix_clean_name(387) > unix_clean_name [ITI/Premier/prm1101.exe/2] > [2002/05/08 16:33:59, 4] smbd/open.c:open_file_shared1(891) > calling open_file with flags=0x0 flags2=0x0 mode=0766 > [2002/05/08 16:33:59, 3] smbd/open.c:open_file(162) > Error opening file ITI/Premier/prm1101.exe/2 (Not a directory) > (local_flags=0) (flags=0) > [2002/05/08 16:33:59, 5] smbd/files.c:file_free(338) > freed files structure 13810 (8 used) > [2002/05/08 16:33:59, 3] smbd/error.c:error_packet(91) > error string = Not a directory > [2002/05/08 16:33:59, 3] smbd/error.c:error_packet(106) > error packet at smbd/nttrans.c(870) cmd=162 (SMBntcreateX) > NT_STATUS_NOT_A_DIRECTORY > > So Samba thinks, and rightly so, that the \2 at the end is a directory > name. Only a virus like Microsoft Windows could understand > \ITI\PREMIER\PRM1101.EXE\2 as a file name with a \2 as some sort of command > line parameter. > > I've tried so many things I can't remember them all. I've tried making a > link \ITI\PREMIER\PRM1101.EXE\2 pointing to \ITI\PREMIER\PRM1101.EXE. I > read a little about name mangling and tried to use a mangled map rule to > change *.exe\2 to *.exe or *.exe \2. I've been trying to figure out how I > might implement rewrite rules like you can in Apache or sendmail. > > I would appreciate any help/ideas/work-arounds anyone could give me. This > problem is the only thing keeping me from removing all the Windows servers > from our branch offices!!!In that case we must help :-). This looks similar to the bug noted in the 2.2.4 release notes... hmmm. Can you get me an ethereal capture trace from a windows client to windows server run of the software (successful) and a windows client to Samba server 2.2.4 run of the software (fails) so I can examine the problem. Alternatively, if you add the line "nt status support = no" and restart the Samba server you may find this works correctly. Cheers, Jeremy Allison, Samba Team.
At 09:40 AM 5/9/02 -0700, you wrote:>On Thu, May 09, 2002 at 10:10:59AM -0600, Mike Babnick wrote: > > Hello list members! > > > > I joined this list on May 1st and I can see I have a lot to learn. Thanks > > to everyone - especially those *@samba.org folks. You are so appreciated. > > > > Background in my plea for help: I'm the IT guy for a family owned > community > > bank in Southern Colorado. I am very tired of the limitations and > security > > problems of Micro$oft and have committed to learning and using Linux (and > > Samba) in hopes of replacing the Windows NT servers, and eventually some > > workstations, we are currently using. > > > > I am successfully using Samba on several servers running RedHat 7.2 with > > various versions of Samba (2.2.1a, 2.2.3a, or 2.2.4). But there is one > > piece of software which does not function right while hosted on a Samba > > file share. It's software built specifically for banks and so it's not > > built as well as a lot of software. Anyway, I'll do a database query with > > this software (database is not on the Samba box) and the first one will > > work. However, every time I click to query the database record further, > > the software comes back with an error message that it can't find a needed > > DLL file. As you will see below, it really isn't a DLL file missing . . . > > > > Here is what I see in a packet capture from Ethereal when I initiate the > > second query. > > > > From client to server: NT Create AndX Request, Path: > > \ITI\PREMIER\PRM1101.EXE\2 > > From server to client: NT Create AndX Response, Error: > STATUS_NOT_A_DRIECTORY > > > > Now, I don't know why the software adds the \2 at the end when you do the > > second query, but somehow it doesn't bother the software while hosted on a > > Windows box. > > > > Here is what I see in a level 8 Samba log file at the same time: > > > > [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(149) > > unix_convert called on file "\ITI\PREMIER\PRM1101.EXE\2" > > [2002/05/08 16:33:59, 3] lib/util.c:unix_clean_name(387) > > unix_clean_name [/ITI/PREMIER/PRM1101.EXE/2] > > [2002/05/08 16:33:59, 5] smbd/mangle.c:is_8_3(341) > > Checking 2 for 8.3 > > [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(224) > > unix_convert begin: name = ITI/Premier/prm1101.exe/2, dirpath > > ITI/Premier/prm1101.exe, start = 2 > > [2002/05/08 16:33:59, 3] smbd/filename.c:scan_directory(495) > > scan dir didn't open dir [ITI/Premier/prm1101.exe] > > [2002/05/08 16:33:59, 5] smbd/filename.c:unix_convert(354) > > New file 2 > > [2002/05/08 16:33:59, 3] smbd/dosmode.c:unix_mode(111) > > unix_mode(ITI/Premier/prm1101.exe/2) returning 0766 > > [2002/05/08 16:33:59, 5] smbd/files.c:file_new(120) > > allocated file structure 9714, fnum = 13810 (9 used) > > [2002/05/08 16:33:59, 8] lib/util.c:is_in_path(1143) > > is_in_path: ITI/Premier/prm1101.exe/2 > > [2002/05/08 16:33:59, 8] lib/util.c:is_in_path(1148) > > is_in_path: no name list. > > [2002/05/08 16:33:59, 3] lib/util.c:unix_clean_name(387) > > unix_clean_name [ITI/Premier/prm1101.exe/2] > > [2002/05/08 16:33:59, 4] smbd/open.c:open_file_shared1(891) > > calling open_file with flags=0x0 flags2=0x0 mode=0766 > > [2002/05/08 16:33:59, 3] smbd/open.c:open_file(162) > > Error opening file ITI/Premier/prm1101.exe/2 (Not a directory) > > (local_flags=0) (flags=0) > > [2002/05/08 16:33:59, 5] smbd/files.c:file_free(338) > > freed files structure 13810 (8 used) > > [2002/05/08 16:33:59, 3] smbd/error.c:error_packet(91) > > error string = Not a directory > > [2002/05/08 16:33:59, 3] smbd/error.c:error_packet(106) > > error packet at smbd/nttrans.c(870) cmd=162 (SMBntcreateX) > > NT_STATUS_NOT_A_DIRECTORY > > > > So Samba thinks, and rightly so, that the \2 at the end is a directory > > name. Only a virus like Microsoft Windows could understand > > \ITI\PREMIER\PRM1101.EXE\2 as a file name with a \2 as some sort of > command > > line parameter. > > > > I've tried so many things I can't remember them all. I've tried making a > > link \ITI\PREMIER\PRM1101.EXE\2 pointing to \ITI\PREMIER\PRM1101.EXE. I > > read a little about name mangling and tried to use a mangled map rule to > > change *.exe\2 to *.exe or *.exe \2. I've been trying to figure out how I > > might implement rewrite rules like you can in Apache or sendmail. > > > > I would appreciate any help/ideas/work-arounds anyone could give me. This > > problem is the only thing keeping me from removing all the Windows servers > > from our branch offices!!! > >In that case we must help :-). This looks similar to the bug >noted in the 2.2.4 release notes... hmmm. > >Can you get me an ethereal capture trace from a windows client to >windows server run of the software (successful) and a windows client >to Samba server 2.2.4 run of the software (fails) so I can examine >the problem. > >Alternatively, if you add the line "nt status support = no" and >restart the Samba server you may find this works correctly. > >Cheers, > > Jeremy Allison, > Samba Team. > >-- >To unsubscribe from this list go to the following URL and read the >instructions: lists.samba.org/mailman/listinfo/sambaOH MY GOD!!! I can't believe it was that easy! I added the global spec "nt status support = no" and the software runs great. You have saved my sanity!!!! What a profound pleasure it will be to remove the last of the Windows servers at our branch offices. I can't wait to start in on my big Compaq rack of NT boxes at the main office next. Besides doing Microsoft style networking better than Microsoft, you Samba folks are kind enough to offer your expert help. I can't thank you enough. Cheers, Mike