Commit Graph

286 Commits

Author SHA1 Message Date
Kai Blin
bee29a6c2e secur32: Don't call waitpid() in dispatcher.
As Wine ignores SIGCHLD, waitpid() works on Linux only by accident. On
FreeBSD it doesn't work.
2008-05-02 11:24:32 +02:00
Andrew Talbot
49939ed544 secur32: Remove unused variables. 2008-04-25 11:28:43 +02:00
Andrew Talbot
599f58cc7c secur32: Assign to structs instead of using memcpy. 2008-03-17 11:41:23 +01:00
Jacek Caban
87368bb623 secur32: Improve SECPKG_ATTR_CIPHER_STRENGTHS stub. 2008-03-12 19:20:33 +01:00
Jacek Caban
d11e30e484 secur32: Fixed dynamic loading in schannel test. 2008-03-12 19:20:27 +01:00
Rob Shearman
088ae3b81c secur32: Fix ntlm_GetCachedCredential to not call strlenW on a NULL pointer.
pszHost should just be set to pszTargetName if pszTargetName doesn't
contain any other information.
2008-03-10 19:12:54 +01:00
Rob Shearman
48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Rob Shearman
0d2a623150 secur32: Initialise more pointers in helper to NULL.
This is to avoid calling HeapFree on random pointers when 
DeleteSecurityContext is called on a context that hasn't had a second 
InitializeSecurityContext called on it, which would otherwise intialise 
those pointers.
2008-02-04 11:10:54 +01:00
Rob Shearman
8a2125f932 secur32: Try to retrive credentials by using the credential manager to retrieve credentials saved for the target server in InitializeContextHandleW, if possible. 2008-02-04 11:10:50 +01:00
Rob Shearman
506ba701bb secur32: If using cached credentials failed in InitializeSecurityContext then fail with SEC_E_NO_CREDENTIALS instead of carrying on with a blank password. 2008-02-04 11:10:05 +01:00
Rob Shearman
72ffc3fad9 secur32: Move the detection of NULL credentials from AcquireCredentialsHandle to InitializeSecurityContext.
Only use cached credentials if the credentials were NULL. Don't pass a 
domain into ntlm_auth when using cached credentials as 
ntlm_auth/winbindd should be able to figure that out.
2008-02-04 11:10:01 +01:00
Andrew Talbot
e4ca5c5647 secur32: Remove unneeded casts. 2008-01-21 11:38:45 +01:00
Zhangrong Huang
26bc15a811 secur32: Fix possible crash while loading SSP providers from registry. 2007-12-21 13:46:15 +01:00
Michael Stefaniuc
8537c46c93 secur32/tests: InitFunctionPtrs() needs to use the global crypt32dll variable. 2007-12-19 12:19:00 +01:00
Francois Gouget
31bcb3f6f4 secur32/tests: Dynamically load various APIs and don't link with crypt32.dll to make the test run on Windows 95. 2007-12-18 12:32:55 +01:00
Alexandre Julliard
ad9396302d Removed some unneeded imports. 2007-12-06 21:24:24 +01:00
Michael Stefaniuc
d117938f7a secur32: Remove the SECUR32_ALLOC() macro around HeapAlloc(). 2007-12-06 12:07:12 +01:00
Kai Blin
fdfa760c85 secur32: ntlm_auth returns BH if the connection to winbindd fails. 2007-10-09 12:34:35 +02:00
Andrew Talbot
9b1082ef3b secur32: Fix some memory leaks. 2007-10-05 10:26:20 +02:00
Kai Blin
5afd341aec secur32: Remove hardcoded assumption that the SECBUFFER_DATA is always at index 1 for en/decrypting. 2007-10-02 11:42:10 +02:00
Kai Blin
b53e1ffa47 secur32: Implement LsaRegisterLogonProcess stub. 2007-08-30 20:06:56 +02:00
Kai Blin
6efe40b3a6 secur32: Implement LsaLogonUser stub. 2007-08-30 11:57:18 +02:00
Kai Blin
0c6e2c20bd secur32: Implement LsaGetLogonSessionData stub. 2007-08-30 11:57:18 +02:00
Kai Blin
8942443a42 secur32: Implement LsaFreeReturnBuffer stub. 2007-08-30 11:57:18 +02:00
Kai Blin
d1339bc0fa secur32: Implement LsaEnumerateLogonSessions stub. 2007-08-30 11:57:18 +02:00
Kai Blin
ae06588d9b secur32: Implement LsaLookupAuthenticationPackage stub. 2007-08-30 11:57:18 +02:00
Kai Blin
78b047e4e4 secur32: Give a hint where to find ntlm_auth. 2007-08-30 11:57:18 +02:00
Alexandre Julliard
4cda5ca96c secur32: Set the close on exec flag on the ntlm_auth pipes. 2007-08-27 18:27:59 +02:00
Andrew Talbot
d01c8407a9 secur32: Constify some variables. 2007-08-27 12:01:47 +02:00
Paul Vriens
22e48388d5 secur32/tests: Run tests on win95 again. 2007-08-16 11:08:09 +02:00
Rob Shearman
610a3b1ad2 secur32: Remove valid_session_key from NegoHelper since it is only ever set and not read. 2007-08-08 15:32:00 +02:00
Rob Shearman
888a8e27b8 secur32: Split the NTLM credential and context handles into separate objects.
This prevents races with two threads using the helper object at the same
time on two different context handles, eliminates the need to free the
credential handle after freeing the context handles and also prevents a
crash caused by not clearing session_key in DeleteSecurityContext.
2007-08-08 15:32:00 +02:00
Paul Vriens
fe7e83fd0c secur32/tests: Use skip when functions are not available. 2007-07-05 19:54:38 +02:00
Rob Shearman
98820d4ef4 secur32: Add tests for multiple use of a credential handle. 2007-07-04 13:42:44 +02:00
Rob Shearman
2ede1370d3 secur32: Don't free the password in InitializeSecurityContextW to enable the credentials handle to be re-used in further InitializeSecurityContextW calls. 2007-07-03 12:29:19 +02:00
Kai Blin
c1e724bc88 secur32: Downgrade WARN to TRACE, fix another TRACE. 2007-05-29 11:54:22 +02:00
Rob Shearman
aa1be492cd secur32: Fix NTLM's InitializeSecurityContextA/W to be flexible with the index of the token buffer in both the input and output buffer descriptions. 2007-05-25 20:17:11 +02:00
Rob Shearman
4d275bcf10 secur32: Don't set the output buffer type in NTLM's IntializeSecurityContextA/W. 2007-05-25 20:16:58 +02:00
Rob Shearman
661b49785e secur32: Make the NTLM SSP cope with a NULL phCredential parameter when InitializeSecurityContext is called more than once. 2007-05-25 20:16:42 +02:00
Rob Shearman
ee47c5a23a secur32: Fix the wrapper InitializeSecurityContextA/W functions to handle phContext and phNewContext parameters being optional for some SSPs. 2007-05-25 20:16:38 +02:00
Rob Shearman
087eedc3f5 secur32: Fix the dwVersion field in the security function tables returned by InitSecurityInterfaceA/W. 2007-05-25 19:30:04 +02:00
Andrew Talbot
d64165fcd7 secur32: Exclude unused headers. 2007-05-21 12:31:04 +02:00
Kai Blin
7e6c5aad3c secur32: Move NTLM debug output to a seperate "ntlm" channel. 2007-04-16 12:08:44 +02:00
Andrew Talbot
e7730a1668 secur32: Replace const pointer parameters with correct pointers to const. 2007-03-27 12:38:26 +02:00
Jan Zerebecki
e293d630ff secur32: Add DebugInfo to critical sections. 2007-03-12 13:39:54 +01:00
Stefan Huehner
51a7ca3440 Change some functions arguments from () -> (void). 2007-03-12 12:25:31 +01:00
Kai Blin
df3a7a7b43 secur32: Check for actual return value on invalid QuerySecurityPackageInfo call. 2007-03-08 13:54:06 +01:00
Rob Shearman
b814c45f00 secur32: NTLM's AcquireCredentialHandleA/W should accept domains and usernames with lengths of 0.
Add tests for these cases.
2007-03-06 21:59:39 +01:00
Rob Shearman
d9229bd1c5 secur32: NTLM - don't bother nul terminating the password string as nothing relies on it being nul terminated. 2007-03-06 21:59:34 +01:00
Rob Shearman
3012038e73 secur32: NTLM - don't copy more data from User, Domain and Password
pointers in the SEC_WINNT_AUTH_IDENTITY structure than the
corresponding Length fields say the pointers hold.
2007-03-06 21:59:28 +01:00
Kai Blin
0210f5eb1d secur32: Use skip for skipped tests, reduce indentation. 2007-03-05 12:08:13 +01:00
Rob Shearman
12f2f09a6c secur32: SealMessage and UnsealMessage are aliases of EncryptMessage and DecryptMessage respectively. 2007-03-01 20:42:49 +01:00
Kai Blin
7325bbd127 secur32: Fix ntlm_auth version number check when registering the NTLM SSP. 2007-02-06 12:30:21 +01:00
Kai Blin
809e4124d7 secur32: Bump minimal required samba version to 3.0.25, 3.0.24 is a bugfix release. 2007-02-06 12:30:16 +01:00
Andrew Talbot
da90b4a8dd secur32: Declare a function static. 2007-02-05 12:25:36 +01:00
Kai Blin
747ab4bf74 secur32: Fix off-by-one error in converting the password to unicode. 2007-01-24 12:56:33 +01:00
Kai Blin
dc98ac1adb secur32: Fix off-by-one error when copying the password to the helper.
This fixes NTLM authentication with Outlook2003.
2007-01-24 12:07:41 +01:00
Francois Gouget
aab5e5856e Don't put single quotes around '%s' when using the debugstr_*() functions. 2007-01-18 12:55:50 +01:00
Francois Gouget
933bf76b5d secur32: Use '%u' to print GetLastError(). 2007-01-18 12:55:10 +01:00
Paul Vriens
7ba9ee9e76 secur32/tests: Fix compilation for older gcc versions (and MinGW). 2007-01-15 14:39:10 +01:00
Paul Vriens
6c3efd1c32 secur32/tests: Cast-qual warning fixes. 2007-01-12 20:41:17 +01:00
Patrik Stridvall
f46da1f985 secur32: Use constants instead of hardcoded values. 2006-12-24 15:12:34 +01:00
Andrew Talbot
2ec6c1bf96 secur32/tests: Cast-qual warnings fix. 2006-12-15 12:19:00 +01:00
Dmitry Timoshkov
098e82d81e secur32: Make some data const. 2006-12-14 20:11:44 +01:00
Marcus Meissner
f0280cbd1e made functions and variables static in some testcases. 2006-12-11 12:18:29 +01:00
Kai Blin
3dc6390e72 secur32: Improve version detection, move all the version detection to ntlm.c.
Also, as starting with Samba 3.0.24, ntlm_auth will have all the features
we need, require that as minimal version and remove odd old-version
compatibility hacks.
2006-11-29 12:37:20 +01:00
Andrew Talbot
fde63f9742 secur32: Cast-qual warning fix. 2006-11-14 11:34:42 +01:00
Kai Blin
1037e20bc7 secur32: Fix handling of ISC_REQ* flags in InitializeSecurityContext. 2006-11-14 11:34:19 +01:00
Francois Gouget
b2656633a6 Add some documentation headers to make winapi_check happy. 2006-11-13 13:01:15 +01:00
Kai Blin
48f934ee96 secur32: work around a bug in ntlm_auth that breaks RPC. 2006-11-10 11:34:41 +01:00
Kai Blin
d5c0acd057 secur32: Implement NTLM2 encryption. 2006-11-09 14:33:31 +01:00
Kai Blin
1360339422 secur32: Implement ntlmv2 signing. 2006-11-09 10:39:20 +01:00
Kai Blin
78bcfdfce6 secur32: MD5 functions are WINAPI. 2006-11-09 10:39:09 +01:00
Kai Blin
a51e02c5d6 secur32: Use a helper function for creating the signature as this simplifies implementing NTLM2 signing a lot. 2006-11-08 20:12:34 +01:00
Kai Blin
6720a129f3 secur32: Delete session key and arc4 context when the session based security context is deleted. 2006-11-08 20:08:09 +01:00
Francois Gouget
ea483682c5 secur32: sspi.h must not include wtypes.h. 2006-11-08 12:11:00 +01:00
Kai Blin
3af72bec1e secur32: Test and fix DecryptMessage for multiple data buffers. 2006-11-06 13:47:29 +01:00
Kai Blin
cd8332ae1c secur32: Fix handling of buffers that don't have the SECBUFFER_TOKEN as the first buffer.
Thanks to Robert Shearman for catching this one and providing some of the test code.
2006-11-04 12:07:05 +01:00
Kai Blin
e1bfe4c18a secur32: Get rid of some HeapAlloc() calls to make code more readable. 2006-11-04 12:02:06 +01:00
Kai Blin
0c3f45eda0 secur32: Avoid double HeapFree() of password and session key. 2006-11-04 12:02:01 +01:00
Rob Shearman
7be4853911 secur32: Make the path to ntlm_auth easier to change by moving the executable name to the top of ntlm.c. 2006-11-02 21:57:20 +01:00
Paul Vriens
dd6c4c6800 secur32: Make sure crashing tests are not run. 2006-10-31 12:05:27 +01:00
Kai Blin
344ce9e69b secur32: Add include guard to hmac_md5.h. 2006-10-20 11:41:18 +02:00
Kai Blin
306048bdeb secur32: Stop leaking the session key memory. 2006-10-16 17:05:23 +02:00
Kai Blin
e338a30e59 secur32: Get rid of NEGO_* helper modes, they will never be used. Negotiate should not be done via ntlm_auth. 2006-10-16 11:27:25 +02:00
Kai Blin
b629b6defd secur32: Implement RFC2104 (HMAC) with MD5 for NTLMv2. 2006-10-16 11:27:15 +02:00
Hans Leidekker
2638e9d467 secur32: Win64 printf format warning fixes. 2006-10-16 10:54:33 +02:00
Francois Gouget
8e38ac5911 secur32: Add missing '\n' in a Wine trace. 2006-10-13 11:20:53 +02:00
Michael Ploujnikov
4b7877d79d secur32/tests: Win64 printf format warning fixes. 2006-10-11 12:09:09 +02:00
Kai Blin
640d87dfc6 secur32: Add support for cached client credentials. 2006-10-06 17:45:52 +02:00
Francois Gouget
82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Michael Stefaniuc
85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Andrew Talbot
9c78a93e96 secur32: Cast-qual warnings fix. 2006-09-28 11:56:15 +02:00
Kai Blin
35bf41bc16 secur32: Stop loading Negotiate until it is actually working. 2006-09-25 17:55:22 +02:00
Kai Blin
6ae83720dd secur32: Tell the user if ntlm_auth is not found or outdated. 2006-09-21 19:57:07 +02:00
Alexandre Julliard
32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Alexandre Julliard
15ccaf545a secur32: Use _exit instead of exit in child process to avoid flushing things twice. 2006-09-12 14:50:33 +02:00
Kai Blin
98aeac78fc secur32: Fix DecryptMessage for the dummy case. 2006-09-08 11:02:25 +02:00
Kai Blin
85655db106 secur32: Fix generation of the session key. 2006-09-08 11:02:17 +02:00
Alexandre Julliard
5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Robert Reif
de0619e3a7 secur32: Fix secur32 test to pass on windows. 2006-08-26 18:55:35 +02:00
Kai Blin
bfa5967366 secur32: Initial working implementation of EncryptMessage and DecryptMessage. 2006-08-21 12:08:30 +02:00
Kai Blin
2164502322 secur32: Gracefully handle ntlm_auth versions that don't support the new commands. 2006-08-18 11:45:52 +02:00
Paul Vriens
e1b1fa757c secur32: Make tests loadable on NT4. 2006-08-18 11:33:51 +02:00
Kai Blin
c4d5becd6f secur32: Add real signing / verifying to NTLM provider. 2006-08-17 11:38:05 +02:00
Kai Blin
92a86a03e2 secur32: Mask away NTLMv2 and key exchange flags so we never negotiate it for now. 2006-08-17 11:29:22 +02:00
Robert Reif
51c7c030ee secur32: Fix GetComputerObjectName tests based on feedback from Paul Vriens. 2006-08-16 16:43:27 +02:00
Robert Reif
e86828a072 secur32: Add GetComputerObjectName tests. 2006-08-16 12:48:08 +02:00
Robert Reif
1771a550b8 secur32: Partial GetComputerObjectName implementation. 2006-08-16 12:42:50 +02:00
Kai Blin
cc17d97d23 secur32: Add handling of feature flags and session key to AcceptSecurityContext. 2006-08-15 11:54:39 +02:00
Kai Blin
fe43d5d484 secur32: Copy helper buffer to output buffer before reusing helper buffer. 2006-08-15 11:42:55 +02:00
Kai Blin
13050ac11f secur32: Clean up AcceptSecurityContext (reduce indent and duplication). 2006-08-14 20:17:10 +02:00
Kai Blin
c22e98fad0 secur32: Fix heap error. 2006-08-14 12:15:03 +02:00
Kai Blin
3cf9c85f83 secur32: Add handling for SECPKG_CONTEXT_FLAGS to QueryContextAttributes, unify indentation. 2006-08-14 11:58:57 +02:00
Kai Blin
9cd2f28603 secur32: Cast helper to ULONG_PTR instead of DWORD. 2006-08-14 11:58:39 +02:00
Kai Blin
8289ddb0d1 secur32: Implement simple VerifySignature. 2006-08-14 11:58:25 +02:00
Kai Blin
9b480ef06e secur32: Implement simple MakeSignature. 2006-08-14 11:58:17 +02:00
Kai Blin
c8c7bf61ad secur32: Make AcceptSecurityContext behaviour consistent with Windows. 2006-08-14 11:55:46 +02:00
Kai Blin
4ff2d893c3 secur32: Implement CompleteAuthToken for NTLM. 2006-08-11 11:55:17 +02:00
Kai Blin
d2989cc32d secur32: Make ntlm tests run on both WinXP and Win2k. 2006-08-09 17:12:14 +02:00
Kai Blin
a71cf8446f secur32: Add tests for MakeSignature, VerifySignature, EncryptMessage and DecryptMessage. 2006-08-09 17:10:37 +02:00
Kai Blin
c62193266d secur32: Move NTLM tests to ntlm.c to avoid cluttering main.c with NTLM-specific tests. 2006-08-09 11:20:03 +02:00
Andrew Talbot
8e2d28dd25 secur32/tests: Write-strings warnings fix. 2006-08-07 13:10:25 +02:00
Juan Lang
866969ed2b secur32: Improve schannel's AcquireCredentialsHandle, with tests. 2006-07-28 12:36:39 +02:00
Andrew Talbot
b62bbe5568 secur32: Write-strings warnings fix. 2006-07-19 09:39:54 +02:00
Alexandre Julliard
0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Andrew Talbot
e239953e51 secur32: Write-strings warnings fix. 2006-06-23 10:46:10 +02:00
Thomas Weidenmueller
5fb24924fb include: Fix definition of SECURITY_INTEGER. 2006-06-19 21:22:40 +02:00
Uwe Bonnes
a8a7976bc0 secur32: Fix another GetProcessHeap vs GetProcessHeap(). 2006-06-19 20:54:19 +02:00
Kai Blin
b432e11927 secur32: Remove unneeded function from the Negotiate provider. 2006-06-19 20:53:53 +02:00
Kai Blin
9d5e09d748 secur32: Implement QueryContextAttributes. Add tests. 2006-06-16 11:31:23 +02:00
Kai Blin
be4d1fea4d secur32: Don't fail on SECURITY_NETWORK_DREP, ntlm_auth handles this just fine. 2006-06-03 11:45:41 +02:00
Kai Blin
f21983cf11 secur32: Add EncryptMessage and DecryptMessage stubs. 2006-06-02 11:22:12 +02:00
Kai Blin
b1049be48f secur32: Cleaning up the authentication tests.
This should make it easier to add encryption tests later.
2006-05-28 18:14:05 +02:00
Kai Blin
f543aea5e3 secur32: Fix wrong bit shift in the base64 encoder.
Thanks to Juan Lang for catching this one.
2006-05-27 10:55:05 +02:00
Mike McCormack
f8dea2d803 secur32: Avoid some code duplication. 2006-05-26 20:21:05 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack
4cd377d49c secur32: Cleanup InitializeSecurityContext (reduce indent and duplication). 2006-05-20 13:59:56 +02:00
Mike McCormack
d243b39c94 secur32: Tidy up the initialization code a little. 2006-05-20 13:59:09 +02:00
Michael Stefaniuc
a87520036f janitorial: Remove redundant NULL pointer checks before HeapFree'ing them.
Some HeapFree's are hidden behind macros. Found by smatch.
2006-05-10 11:31:41 +02:00
Michael Stefaniuc
968ad51d2a secur32: Missing LeaveCriticalSection on error paths. 2006-05-05 20:59:31 +02:00
Dmitry Timoshkov
8414777cba secur32: Add partial support for ISC_REQ_ALLOCATE_MEMORY in the NTLM security provider. 2006-05-05 20:23:30 +02:00
Dmitry Timoshkov
d89a038287 secur32: Fix some wrong assumptions in the NTLM test case, make it pass in XP SP2 and Wine. 2006-05-05 20:23:17 +02:00
Kai Blin
e6351700bc secur32: Update ntlm_auth version detection to detect new samba4 version numbers.
Samba4 changed the versioning from 3.9.X to 4.0.0tpX-preY.
2006-03-16 16:22:11 +01:00
Vijay Kiran Kamuju
517e310282 secur32: Add InitializeSecurityContext stub for schannel. 2006-02-14 17:37:36 +01:00
Robert Shearman
81d9e10533 secur32: Improve tracing.
Improve the tracing for functions that can be called by the app, but
bypass the relay code.
2006-02-10 14:51:59 +01:00
Francois Gouget
d0c5f1498c Add trailing '\n's to ok() and trace() calls. 2006-02-06 20:58:14 +01:00