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
Dmitry Timoshkov
57a579ffcd
Make more arrays const.
2006-01-24 14:00:32 +01:00
Kai Blin
0605cf0113
secur32: Added DeleteSecurityContext.
2006-01-23 11:23:21 +01:00
Kai Blin
49943c9cf4
secur32: Rewrote NTLM tests in a more flexible way.
2006-01-03 12:06:21 +01:00
Kai Blin
43b21b6e86
secur32: Adding AcceptSecurityContext to the NTLM security provider.
2005-12-19 21:20:03 +01:00
Kai Blin
3ba73f0ff6
secur32: Fix conversion of password in NTLM AcquireCredentialsHandleA.
2005-12-09 14:52:20 +01:00
Kai Blin
d1a2dd79cc
secur32: Implement InitializeSecurityContext(A|W) for the NTLM
...
security provider.
2005-12-07 12:51:05 +01:00
Kai Blin
79aff338a3
secur32: Implementing AcquireCredentialsHandle(A|W) for the NTLM
...
security provider.
2005-12-06 21:22:57 +01:00
Alexandre Julliard
0ec7e1a591
Renamed all .cvsignore files to .gitignore.
2005-11-26 13:10:33 +01:00
Francois Gouget
f4c0524ec6
Assorted spelling and case fixes.
2005-11-10 11:39:07 +00:00
Stefan Huehner
e1364b02a3
Fix segfault when querying non-existent SecurityProvider.
2005-11-07 16:39:00 +00:00
Kai Blin
2b5ade97ce
A dispatcher for running ntlm_auth.
2005-10-30 19:06:24 +00:00
Ivan Leo Puoti
372a281c24
Make secur32.dll tests load on nt 4.0.
2005-10-26 10:09:53 +00:00
Alexandre Julliard
7e22be4d84
We are no longer generating .dbg.c files.
2005-09-29 10:35:58 +00:00
Francois Gouget
10f72c719b
Add trailing '\n's to ok() calls.
2005-09-26 09:52:25 +00:00
Kai Blin
c532c866c6
Added base64 codec for communication with ntlm_auth.
2005-09-21 11:43:52 +00:00
Marcus Meissner
bd7ec9aca5
The last argument to MultiByteToWideChar is wide character count and
...
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00
Alexandre Julliard
63a643e50f
Authors: James Hawkins <truiken@gmail.com>, Juan Lang <juan_lang@yahoo.com>
...
Use a standard wine list for packages and providers.
2005-08-30 08:55:20 +00:00
Alexandre Julliard
cc4da88563
Explicitly import kernel32 in tests that use it.
2005-08-27 09:27:09 +00:00
Kai Blin
2cc40bac7d
Fixed a couple of bugs in InitializeSecurityContext(A/W) and
...
AcceptSecurityContext.
2005-08-22 10:05:45 +00:00
Francois Gouget
fae73a1090
Assorted spelling fixes.
2005-08-17 09:56:24 +00:00
Kai Blin
4fd3f40952
Add NTLM security provider dummy.
2005-08-17 09:52:30 +00:00
Francois Gouget
6fb12fc291
Declare PNTSTATUS in lmaccess.h and ntsecapi.h to match the PSDK.
...
Protect against multiple definitions.
Use PNTSTATUS where appropriate.
2005-08-16 16:01:49 +00:00
Juan Lang
2fa840b043
Fix uninitialized pointer in builtin providers. Reported by Kai
...
Blin.
2005-08-16 11:13:30 +00:00
Kai Blin
ece9de5aaa
Added Negotiate security provider dummy. Removed todos from the test.
2005-08-15 20:52:18 +00:00
Kai Blin
6970dbc7cf
Added more secur32.dll tests and fixed missing constants in
...
winerror.h.
2005-08-11 17:08:06 +00:00
Kai Blin
84fb7913f9
Set up tests for secur32.
2005-08-03 13:08:49 +00:00
Hans Leidekker
524251db40
Stub implementations for GetUserNameEx{A,W}, TranslateName{A,W},
...
LsaCallAuthenticationPackage, LsaConnectUntrusted and
LsaDeregisterLogonProcess.
2005-07-18 09:11:14 +00:00
Juan Lang
bc0f448774
Begin stubs of built-in schannel provider.
2005-05-13 17:44:47 +00:00
Alexandre Julliard
34fa35dc99
Added rules for building import libraries in the individual dll
...
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard
d62356aa1e
Added rules to build import libraries in the individual dll makefiles.
...
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Jakob Eriksson
9ed61de9a2
Get rid of HeapAlloc casts.
2005-03-24 21:01:35 +00:00