[Samba] Trouble with banking software on Samba share

Mike Babnick samba at trinidadusa.com
Thu May 9 09:18:02 GMT 2002


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





More information about the samba mailing list