Commits (15)
-
Robert Sprowson authored
Can't zero the t2flags having just set hServer to NULL. Version 2.49. Tagged as 'LanManFS-2_49'
ea7965b5 -
ROOL authored
Take note of, and use, the MaxBufferSize that the server tells us during negotiation rather than a fixed value. If the server doesn't say, use 1k as the default as before. Submission from Colin Granville. Version 2.50. Tagged as 'LanManFS-2_50'
44df7e69 -
Robert Sprowson authored
RES_PATH needs the component name too. Version 2.51. Tagged as 'LanManFS-2_51'
cf8805b3 -
Robert Sprowson authored
RES_PATH needs the component name too. Version 2.51. Tagged as 'LanManFS-2_51'
68b81856 -
ROOL authored
SMB.c: Line 875 don't free chain pB that early it is (and was being) used later on. Fixes to correct which SMB_RxWords the Sesskey and bloblen are retrieved from, for each of the dialects supported. Call the new auth code when the protocol flags require it. Don't uppercase passwords all the time, the server may require case sensitivity. md5c.c/md4c.c: Verbatim copies of the RSA reference implementations of MD4 and MD5 from the respective RFC's. Auth.c: Implementation of the hash/mash/reply that Microsoft requires. Define AUTHTEST of this file to build a simple application that verifies the algorithms. Tested against a Win7 install, inspecting in Wireshark that the passwords are no longer sent in the clear. Implements ticket #332. Submission from Colin Granville. Version 2.52. Tagged as 'LanManFS-2_52'
f1009949 -
Robert Sprowson authored
One too many %s's in the code, one too few in the messages file. This resulted in diagnostics messages (eg. at the bottom of *ListFS) to show a %s that hadn't got substituted. Version 2.53. Tagged as 'LanManFS-2_53'
d06e3e50 -
Robert Sprowson authored
The PRM entry for Free reason 1 is very vague, it requires the length of the drive name including a terminator, not strlen() of the drive name. Free uses this directly to allocate RMA to copy into (though for drive names that aren't a multiple of 8 we're saved by OS_Module rounding up claims). Also use Free SWI values from headers rather than defining them again locally. Version 2.54. Tagged as 'LanManFS-2_54'
a596ce3c -
Jeffrey Lee authored
Detail: c/LanMan - Don't pass silly error numbers to MessageTrans_ErrorLookup - the kernel will now fault them. Admin: Tested on Raspberry Pi 3 Fixes "bad error pointer" message when e.g. failing to log on to a share: https://www.riscosopen.org/forum/forums/4/topics/5264 Version 2.55. Tagged as 'LanManFS-2_55'
b826b8ec -
ROOL authored
Detail: When the number of files read from the server didn't fit in the OS_GBPB buffer, continuation of the enumeration would fail. Resume key *and* filename used when resuming a directory enumeration to the same directory. Admin: Submission from Colin Granville. Version 2.56. Tagged as 'LanManFS-2_56'
e6ff7fc3 -
Robert Sprowson authored
For *OPT1,2 the FS is supposed to report the leafname. LanManFS uses strrchr() to find the dot but hadn't incremented past it when returning the pointer. Version 2.57. Tagged as 'LanManFS-2_57'
9904c568 -
Robert Sprowson authored
The args to LMTransport are mandatory, so should be in <> brackets rather than []. Version 2.58. Tagged as 'LanManFS-2_58'
f5f7b48f -
Robert Sprowson authored
Fix for truncating writes to servers that declare MaxBufferSize >= 64k smb.c, lines 2726 onwards: when chopping up the next buffer, make sure the size sent still fits in the SMB_COM_WRITE count field (16 bits). For completeness, make sure the estimate of bytes remaining is similarly saturated too. smb.c, lines 2711-2713: cifs-v1-spec-02 section 5.27 says the server always expects to receive up to 65535 bytes, so this test should not be subject to the negotiated MaxBufferSize, and is expected to often exceed it. Currently we use 32k, if this is ever increased we really ought to take into account MaxRawSize that the server tells us. Tested with a handful of files of power-of-2 sizes and odd sizes. Inspection in Wireshark looks OK. Variation of a diagnosis by Will Ling https://www.riscosopen.org/forum/forums/4/topics/8966 Version 2.59. Tagged as 'LanManFS-2_59'
e6b73849 -
John Ballance authored
Detail: The translate routine that converts contentious characters in a RiscOS file name to equivalent DOS ones was being invoked a second time. Normally this wouldn't be critical, but a / in riscos was converted to the . in DOS, correctly , then converted back again. This error mode with more than one contentious character in (particularly) a directory name had recently come to light. Admin: Tested by building a RiscOS rom image on a pc based LanManFS mount without errors. Version 2.60. Tagged as 'LanManFS-2_60'
98a15172 -
John Ballance authored
Detail: The translate routine that converts contentious characters in a RiscOS file name to equivalent DOS ones was being invoked a second time. Normally this wouldn't be critical, but a / in riscos was converted to the . in DOS, correctly , then converted back again. This error mode with more than one contentious character in (particularly) a directory name had recently come to light. Admin: Tested by building a RiscOS rom image on a pc based LanManFS mount without errors. Version 2.60. Tagged as 'LanManFS-2_60'
7587ab10 -
Robert Sprowson authored
Make SMB_RxWords a bit bigger per static anaylsis https://www.riscosopen.org/forum/forums/4/topics/9503 when LONGNAMES is undefined, since NT LM 0.12 dialect is allowed at the same time as short names. A change to name translation in LanManFS-2_60 broke all forms of nested contentious name resolution, ie. where a leafname containing a contentious character was itself in a directory containing one. The cited problem names ('1 2/3' and '1 /s') can both be resolved at one level only, no 2nd pass is required. The resolution function walks along the elements of the path one at a time to reach the leaf (ie. no element is processed twice). A test case has been created to allow some regression testing when making future changes in this area. When building tboxlibint Copy h.* <Lib$Dir>.tboxlibint.h.* when the directory is empty FileSwitch checks the destination ending in ...\h\* which the short names translation would error with ENOWILDCARD, but the long names translation attempts to resolve it by finding the trailing '\' and appending a '*' (ie. not doing anything), this returns no results and is passed back unfaulted. The special check in fsentry_file() for ENOWILDCARD for the two ReadCatalogueInformation thus doesn't trigger, and an attempt to FileGetAttribs() is made on the still wildcarded path. This is rejected by the server when in SMB_GetAttribsX2() does a TRANSACT2_QUERYPATHINFORMATION, which expects a non wildcarded object (on Windows servers at least), propagating an error back up to the user. This stopped a ROM build from completing the exports phase via LanManFS on a Windows share. Const-ify a few things. Changed files Xlate.c: Revert change from revision 1.21, return ENOWILDCARD when appropriate. SMC.c: Increase MAX_WCT buffer size to 17. UK/CmdHelp: Add some missing chevrons round the command syntax for required parameters. test/Contentious: Test case for nested contentious character resolution code. Version 2.61. Tagged as 'LanManFS-2_61'
517c6bdb
Showing
No preview for this file type
c/Auth
0 → 100644
c/md4c
0 → 100644
c/md5c
0 → 100644
h/Auth
0 → 100644
h/global
0 → 100644
h/md4
0 → 100644
h/md5
0 → 100644
test/Contentious,ffb
0 → 100644
File added