I noticed that if I'm using MS Access 97 on a NT4 machine I can't access to database files witch are in directories >12 chars, but if I do the same thing on an w2k or NT4 server is works.
I see that the respond to the query alt file name call send a mangle name in unicode with termination.
but the windows servers didn't send the termination
I also wonder why we set the LONG FILE NAMES are in use flag in the SMB HEADER flags2
this is also different to windows...
I attache a small patch and a view sniffs
metze
-----------------------------------------------------------------------------
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>
diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* HEAD/source/smbd/trans2.c HEAD-fix/source/smbd/trans2.c --- HEAD/source/smbd/trans2.c Thu Dec 5 09:43:44 2002 +++ HEAD-fix/source/smbd/trans2.c Thu Jan 9 17:04:50 2003 @@ -1794,7 +1794,9 @@ static int call_trans2qfilepathinfo(conn if(!mangle_is_8_3(short_name, True)) { mangle_map(short_name,True,True,SNUM(conn)); } - len = srvstr_push(outbuf, pdata+4, short_name, -1, STR_TERMINATE|STR_UPPER); + + len = srvstr_push(outbuf, pdata+4, short_name, -1, STR_UPPER); + data_size = 4 + len; SIVAL(pdata,0,len); break;
msaccess-failed.cap
Description: Binary datamsaccess-fine.cap
Description: Binary datamsaccess-file-fine2.cap
Description: Binary data