Commit graph

617 commits

Author SHA1 Message Date
Owen Rudge 283cefe242 secur32: Implement basic functionality for LsaGetLogonSessionData. 2022-09-22 17:57:58 +02:00
Owen Rudge 402b8473c9 secur32/tests: Add tests for LsaGetLogonSessionData. 2022-09-22 17:57:58 +02:00
Hans Leidekker 7de69f49c6 secur32/tests: Fix test failure caused by expired client certificate. 2022-09-21 21:26:50 +02:00
Olivier F. R. Dierick 8f3352ed91 secur32: Define AES-CCM ciphers missing from GNUTLS before 3.4.0. 2022-08-08 18:47:39 +02:00
Hans Leidekker a0febe9097 secur32: Fix GnuTLS system priority file override.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53344
2022-07-14 23:38:25 +02:00
Hans Leidekker ea930bec2b secur32: Simplify lsa_AcquireCredentialsHandleA(). 2022-07-13 12:50:07 +02:00
Hans Leidekker 4c9d30a121 secur32: Simplify nego_AcquireCredentialsHandleA() and fix an invalid free. 2022-07-13 12:50:07 +02:00
Hans Leidekker c77b23a3e7 secur32/tests: Add more context attributes tests. 2022-07-12 22:51:29 +02:00
Hans Leidekker 0167c0bc88 secur32: Implement lsa_QueryContextAttributesA(SECPKG_ATTR_KEY_INFO). 2022-07-12 22:51:29 +02:00
Hans Leidekker 19d18bbbc3 include: Fix a typo. 2022-07-12 22:51:29 +02:00
Hans Leidekker 738a5b53a4 secur32: Validate input buffers in schan_InitializeSecurityContextW().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53309
2022-07-06 16:02:48 +02:00
Hans Leidekker 0a10bfc8b1 secur32: Return a SECBUFFER_MISSING buffer from the handshake if the input message is incomplete. 2022-06-30 19:02:02 +02:00
Alexandre Julliard 194e09baec makefiles: Add separate variables for Unix flags and libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-29 23:23:41 +02:00
Hans Leidekker 99e2f4caca secur32: Implement SECPKG_ATTR_CIPHER_INFO.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53180
2022-06-21 18:53:18 +02:00
Nikolay Sivov e44a9d2c2f secur32/schannel: Avoid use-after-free in AcquireClientCredentials() (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-06 12:13:56 +02:00
Alexandre Julliard 02eae36ec8 secur32/tests: Update for new WineHQ certificate.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-03 21:42:01 +02:00
Nikolay Sivov 2196dd2567 secur32: Add wow64 support to the unixlib.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 39a01a9f52 secur32: Store certificate credentials object pointer as 64-bit.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 8a6e15138d secur32: Use 32-bit sizes in parameters structures.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 086e950a2b secur32: Remove unused pointer parameter from send request.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 8920ad75e3 secur32: Remove duplicate check.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov abf8ba51b6 secur32: Get rid of buffer iteration callback in unixlib.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 088c288214 secur32: Prepare schan_send() buffers on PE side.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 0a62c7bd40 secur32: Update output buffer offset on return from schan_send() call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 1c894ec973 secur32: Simplify input buffer handling for schan_recv() call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov fee52bd43c secur32: Pass single input and output buffers for handshake call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov c1d9d6e06e secur32: Manage gnutls transport data in unixlib.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov 3f2cdb6820 secur32: Remove unused argument from buffer iteration helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-02 17:25:29 +02:00
Nikolay Sivov d92866863f secur32: Zero initialize context for create_session() call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 23:16:55 +02:00
Nikolay Sivov afed805be5 secur32: Use CRT allocation functions for get_key_blob().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 23:16:55 +02:00
Nikolay Sivov 2c44e88152 secur32: Add explicit output parameter for create_session() request.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 23:16:55 +02:00
Nikolay Sivov 3ac7df1ac4 secur32: Simplify parameters structure of credentials allocation call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 23:16:55 +02:00
Nikolay Sivov fe9c2ab349 secur32: Use 64-bit integer to store session pointer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 23:16:55 +02:00
Nikolay Sivov b255160168 secur32: Simplify get_session_peer_certificate unixlib interface.
Use single buffer for returned certificate blobs, instead of an array
of CERT_BLOB that contains pointers.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-27 23:16:55 +02:00
Nikolay Sivov d3378c1441 secur32: Remove unused field from struct schan_transport.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-26 22:17:29 +02:00
Hans Leidekker 0a8adeba92 secur32: Add support for SCH_CREDENTIALS.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-25 18:25:43 +02:00
Eric Pouech a92db992c9 secur32/tests: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 10:07:32 +01:00
Eric Pouech 01c73f8573 secur32: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 18:57:17 +01:00
Alexandre Julliard 3eca3516ad secur32: Add stubs for DeleteSecurityPackageA/W.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 21:43:46 +01:00
Fabian Maurer 362802c49a secur32/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:54 +01:00
Connor McAdams 85cb1ff91e secur32: Fix trace in schannel pull_adapter function.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 22:04:05 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Connor McAdams 26f81bb883 secur32/tests: Add tests for DTLS handshake retransmission.
Successive calls to InitializeSecurityContext without a new pInput
buffer will result in retransmission, creating a handshake packet with
an incremented sequence number value, but otherwise identical to the
last call to InitializeSecurityContext.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Connor McAdams 387a30a8ce secur32: Switch back to non-blocking mode for DTLS sessions.
In order for DTLS retransmission to occur properly, we need to be in
non-blocking mode.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Connor McAdams 290cd6769f secur32: Properly handle NULL pInput argument for DTLS contexts in schan_InitializeSecurityContextW.
When a NULL pInput argument is passed into InitializeSecurityContextW
for an existing DTLS context, we need to retransmit the last handshake
packet.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Connor McAdams 795d3e2cb5 secur32: Clear SECBUFFER_ALERT output buffer count in schan_InitializeSecurityContextW.
Since we write no data into this buffer, set the count to 0. Otherwise,
some applications assume there has been alert data written into the
buffer.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Connor McAdams 117f79aa19 secur32: Add support for setting DTLS timeouts.
Add support for setting the DTLS timeout values, and set the
retransmission timeout value to 0 to allow for retransmission on each
call to schan_InitializeSecurityContext.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:56:06 +01:00
Connor McAdams 093d53856d secur32: Validate output buffer size in schan_InitializeSecurityContextW().
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Connor McAdams ef1ac61a7d secur32: Set phNewContext to phContext in schan_InitializeSecurityContextW().
If a valid pointer for phNewContext is passed in alongside a valid phContext
pointer, initialize phNewContext with the value of phContext on success.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-26 21:53:56 +01:00
Connor McAdams 54185c9c16 secur32/tests: Add more DTLS tests.
Add more tests for DTLS, and clear up behavior of prior tests.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 10:39:38 +01:00