[Samba] Trouble with banking software on Samba share

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


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:  http://lists.samba.org/mailman/listinfo/samba


OH 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






More information about the samba mailing list