Fixed logon behaviour against NT4 servers.
Added automatic bug detection code. Detail: NT4 servers use differently formatted buffer to response to the logon requests and this was confusing the code which only knew about the oldest format of this buffer. The code now knows about all three different possible response formats and processes them all properly. Windows 95/98 servers contain a bug which cause them to reverse the order of the date and time fields in QPathInformation transactions. My earlier workaround for this was to always reverse the time/date pairs - which causes it to fail when talking to Windows NT servers. On the first QPathInformation request on a given share, the request is first done on the root directory, and then the (non-broken) dir search transaction is executed and the results compared to determine whether the server is broken or not. This means that it should interwork with NT, 95, 98 and also with Samba (which has a build option for emulating this bug or not!) Transact2 processing code is now aware of the multiple response packet options and can cope with the server sending secondary responses. Directory search entry per call limiter re-introduced to prevent these from secondary responses occurring anyway as they are still a pain to process efficiently. Admin: Tested against Windows 98 and Windows NT 4. Version 1.87, 126.96.36.199.2.6. Tagged as 'LanManFS-1_87-1_1_1_1_2_6'
Showing with 477 additions and 168 deletions