Commit Graph

119 Commits

Author SHA1 Message Date
Hans Leidekker 6047409669 secur32: Fix error return for DTLS contexts in schan_InitializeSecurityContextW().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-29 09:29:08 +02:00
Hans Leidekker c1993458ac secur32: Validate the context handle in schan_InitializeSecurityContextW().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-29 09:29:06 +02:00
Hans Leidekker 96185c7e39 secur32: Clear expiry timestamp in schan_InitializeSecurityContextW().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-29 09:29:04 +02:00
Hans Leidekker a2d8fe5597 secur32: Fix expected buffer size in trace message.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-29 09:29:00 +02:00
Julien Loir 2ba8976f63 secur32: Ignore attribute when searching for buffer type.
Buffer types in PSecBufferDesc can have an optional attribute. When
searching, it must be ignored to ensure the buffer type is found.

Signed-off-by: Julien Loir <mini.jul.jl@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:24 +02:00
Hans Leidekker b8aaf86b2d secur32: Use blocking mode for DTLS sessions.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 19:55:22 +02:00
Hans Leidekker cae161389b secur32: Translate errors from push/pull callbacks.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51192
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Hans Leidekker fbd30fff03 secur32: Use CRT memory allocators.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Hans Leidekker 49dbde22bd secur32: Use wide character string literals.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Hans Leidekker 04c6862d3f secur32: Build with msvcrt.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Hans Leidekker 7d0889b747 secur32: Move Schannel support to a Unix library.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Hans Leidekker ed06d64bf4 secur32: Return more attributes from schan_InitializeSecurityContextW.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Hans Leidekker a114ce67db secur32: Add support for setting DTLS MTU.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Hans Leidekker f93284dfa4 secur32: Add DTLS support.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Hans Leidekker 37b29862b3 secur32: Add a helper to read TLS record size.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 19:01:38 +01:00
Rémi Bernon 86ab322377 secur32: Return STREAM_HEADER/TRAILER buffers on SEC_I_RENEGOTIATE.
And don't print an error anymore.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Damjan Jovanovic de9238962c secur32: Implement the SECPKG_ATTR_UNIQUE_BINDINGS context attribute.
.NET's System.Data.SqlClient needs this to connect to MSSQL Server.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-28 20:39:24 +01:00
Hans Leidekker 0527cf89fb secur32: Add TLS application protocol negotiation support.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Hans Leidekker 5a0de62cf9 secur32: Fix default return flags for schannel contexts.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:45 +01:00
Hans Leidekker e31bc3dbdb secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46127
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:41 +01:00
Hans Leidekker 16d9f62bdf secur32: Add support for client certificate authentication.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 12:54:35 +01:00
Michael Stefaniuc baf4cb3958 secur32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-19 08:07:10 +02:00
Michael Müller 4ece6abdb5 secur32: Set output buffer size to zero during handshake when no data needs to be sent.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 12:36:56 +02:00
Hans Leidekker f0db56775e secur32: Use the global memory allocation helpers.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-14 20:37:54 +01:00
Anton Romanov 3c40ffbfad secur32: Fix race between schan_(Encrypt|Decrypt)Message.
Signed-off-by: Anton Romanov <theli.ua@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 18:44:35 +02:00
Akihiro Sagawa b6d32239d6 secur32: Add support for SECPKG_ATTR_KEY_INFO.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 20:53:04 +02:00
Jacek Caban 0706ba1114 secur32: Added support for SECPKG_ATTR_ENDPOINT_BINDINGS in schannel.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-02 15:46:26 +01:00
Jacek Caban c1f055d8df secur32: Don't change input buffer in InitializeSecurityContext.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-13 20:13:31 +01:00
Bruno Jesus 0fbbb1297d secur32: Don't try to set an empty target name in schan_InitializeSecurityContextW.
Based on original patch by Nikos Mavrogiannopoulos.
2015-04-09 13:25:04 +09:00
Sebastian Lackner 8729575112 secur32: Return more context attributes in schan_InitializeSecurityContextW. 2015-04-06 18:06:17 +09:00
Jacek Caban 4d97b32323 secur32: Cache certificate context instead of store in schannel handle. 2013-10-21 21:06:17 +02:00
Alexandre Julliard c518801495 secur32: Set the SSL server name to enable the SNI extension. 2013-06-13 17:10:02 +02:00
Jacek Caban 194cc70fbe secur32: Disable SSL2 protocol in default settings. 2013-04-01 12:18:55 +02:00
Jacek Caban fe474e3b6a secur32: Take schannel backend capabilities into account when configuring enabled protocols. 2013-03-28 18:54:01 +01:00
Jacek Caban e413b8a505 secur32: Added SECPKG_ATTR_SUPPORTED_PROTOCOLS implementation. 2013-03-27 20:12:28 +01:00
Jacek Caban 0f2e0365ea secur32: Added support for grbitEnabledProtocols in schan_AcquireClientCredentials. 2013-03-27 20:12:28 +01:00
Jacek Caban b7a75b468a secur32: Pass whole schan_credentials struct to schannel backend implementations. 2013-03-25 16:28:18 +01:00
Jacek Caban db22753a05 winhttp: Added schannel-based netconn_recv implementation. 2013-01-23 23:41:15 +01:00
Jacek Caban 5c5d12c8bc secur32: Return a cert context with context store in SECPKG_ATTR_REMOTE_CERT_CONTEXT GnuTLS implementation. 2013-01-21 16:19:05 +01:00
Henri Verbeet 2025e81585 secur32: Only read complete records in schan_InitializeSecurityContextW(). 2012-07-09 15:04:03 -04:00
Henri Verbeet 394519db67 secur32: Handle incomplete messages in schan_InitializeSecurityContextW(). 2012-06-26 17:32:40 +02:00
Henri Verbeet 8f39fb146a secur32: We can't read more than expected_size - 5 in schan_DecryptMessage(). 2012-06-26 17:31:02 +02:00
Henri Verbeet e2bd967a85 secur32: Handle padding only records in schan_DecryptMessage(). 2012-06-26 17:30:55 +02:00
Henri Verbeet 7bb7d08d19 secur32: Handle the schan_buffers limit field in schan_get_buffer() instead of schan_pull().
Aside from being the right place, we depend on schan_get_buffer() not
returning a buffer if there's no space left in schan_imp_recv() /
schan_imp_send().
2011-10-05 17:00:58 -05:00
Henri Verbeet 65aed972c0 secur32: Properly handle GNUTLS_E_AGAIN in (GnuTLS) schan_imp_send(). 2011-10-03 14:38:44 -05:00
Henri Verbeet 5004c38dd5 secur32: Return failure if chan_EncryptMessage() can't encrypt the entire buffer. 2011-10-03 14:38:35 -05:00
Henri Verbeet 0903855456 secur32: Use gnutls_record_get_max_size() to get the maximum message size. 2011-10-03 14:38:21 -05:00
Alexandre Julliard 52fa3bf42d secur32: Avoid size_t and fix some printf formats. 2011-09-05 19:34:55 +02:00
Ken Thomases 5015f388d1 secur32: Add alternative schannel implementation for Mac OS X.
It uses the native Secure Transport API rather than GnuTLS.
2011-03-14 19:31:07 +01:00
Ken Thomases 0b396208db secur32: Separate GnuTLS schannel implementation into separate file. 2011-03-14 14:16:13 +01:00