Commit Graph

9 Commits

Author SHA1 Message Date
Stephen Heumann
c6aa37c3ff Add ISC license and apply it to all source files. 2024-07-14 13:48:45 -05:00
Stephen Heumann
c0038f4877 NTLMv2: Properly uppercase non-ASCII characters in usernames.
This implements case mapping for most relatively common Latin, Greek, and Cyrillic characters, including all of those that can be produced by conversion from Mac OS Roman.

For characters within the Mac OS Roman character set, this case mapping seems to match what is expected by Windows 11, as far as I can determine from testing. [MS-NLMP] just says the username is converted to uppercase without giving specifics, so it is possible that other implementations might implement slightly different mappings for certain Unicode characters.
2024-05-28 22:58:05 -05:00
Stephen Heumann
df9732ff7e NTLM: Generate a unique workstation name from the client GUID. 2024-05-26 17:55:39 -05:00
Stephen Heumann
76136ec59d Verify that size of auth tokens does not overflow message buffer. 2024-05-02 13:30:53 -05:00
Stephen Heumann
a31714c561 Dynamically allocate buffer for NTLM authenticate message.
This ensures we will not overflow a fixed buffer. It also zeros out the buffer, which ensures we will never inappropriately include portions of a previous message in it.
2024-05-01 23:40:18 -05:00
Stephen Heumann
44841775d7 Implement special case for anonymous login with NTLMv2.
This now works with Samba, enabling guest access by just leaving the username and password blank. I have not gotten it to work with Windows--modern Windows seems to block this by default as a security measure.
2024-05-01 21:41:35 -05:00
Stephen Heumann
6ce0633a41 Do some cleanups in NTLM code. 2024-05-01 18:36:47 -05:00
Stephen Heumann
1363ae0594 Hold authentication info as part of the session record. 2024-04-28 00:08:56 -05:00
Stephen Heumann
fdd652c5ca Reorganize files info subdirectories. 2024-04-19 18:42:59 -05:00