#
ed19021f |
| 04-Sep-2016 |
bcook <bcook@openbsd.org> |
Add callback-based interface to libtls.
This allows working with buffers and callback functions instead of directly on sockets or file descriptors. Original patch from Tobias Pape <tobias_at_netshed
Add callback-based interface to libtls.
This allows working with buffers and callback functions instead of directly on sockets or file descriptors. Original patch from Tobias Pape <tobias_at_netshed.de>. ok beck@
show more ...
|
#
f89edc01 |
| 22-Aug-2016 |
jsing <jsing@openbsd.org> |
Create contexts for server side SNI - these include the additional SSL_CTX that is required for certificate switching with libssl and the certificate itself so that we can match against the subject a
Create contexts for server side SNI - these include the additional SSL_CTX that is required for certificate switching with libssl and the certificate itself so that we can match against the subject and SANs. Hook up the servername callback and switch to the appropriate SSL_CTX if we find a matching certificate.
ok beck@
show more ...
|
#
991d42a1 |
| 18-Aug-2016 |
jsing <jsing@openbsd.org> |
Split out the TLS server SSL_CTX allocation and configuration code, so that it can be reused to allocate the additional SSL_CTXs needed for SNI.
ok reyk@
|
#
b7f318e7 |
| 15-Aug-2016 |
jsing <jsing@openbsd.org> |
Explicitly pass in an SSL_CTX * to the functions that operate on one, instead of assuming that they should use the one associated with the TLS context. This allows these functions to be used with the
Explicitly pass in an SSL_CTX * to the functions that operate on one, instead of assuming that they should use the one associated with the TLS context. This allows these functions to be used with the additional SSL contexts that are needed to support server-side SNI.
Also rename tls_configure_keypair() to tls_configure_ssl_keypair(), so that these functions have a common prefix.
ok reyk@
show more ...
|
#
183da8c6 |
| 12-Aug-2016 |
jsing <jsing@openbsd.org> |
Add ALPN support to libtls.
ok beck@ doug@
|
#
380117c0 |
| 02-Aug-2016 |
jsing <jsing@openbsd.org> |
Revert previous since it adds new symbols.
Requested by deraadt@
|
#
623e6e82 |
| 01-Aug-2016 |
jsing <jsing@openbsd.org> |
Add ALPN support to libtls.
ok beck@ doug@
|
#
1fe9fea1 |
| 28-Apr-2016 |
jsing <jsing@openbsd.org> |
Factor our the keypair handling in libtls. This results in more readable and self-contained code, while preparing for the ability to handle multiple keypairs. Also provide two additional functions th
Factor our the keypair handling in libtls. This results in more readable and self-contained code, while preparing for the ability to handle multiple keypairs. Also provide two additional functions that allow a public certificate and private key to be set with a single function call.
ok beck@
show more ...
|
#
810e306d |
| 29-Sep-2015 |
deraadt <deraadt@openbsd.org> |
clean some ugly intendation warts
|
#
9ba095aa |
| 12-Sep-2015 |
jsing <jsing@openbsd.org> |
Ensure that we clear the libssl error stack before we make a function call that we will pass the result through tls_ssl_error() on failure. Otherwise we can end up reporting spurious errors due to th
Ensure that we clear the libssl error stack before we make a function call that we will pass the result through tls_ssl_error() on failure. Otherwise we can end up reporting spurious errors due to their being unrelated errors already on the error stack.
Spotted by Marko Kreen.
ok beck@
show more ...
|
#
521d38f2 |
| 11-Sep-2015 |
beck <beck@openbsd.org> |
actually set return value to 0 on success. ok jsing@ who wears the cone of shame.
|
#
e2b71c11 |
| 10-Sep-2015 |
jsing <jsing@openbsd.org> |
Split tls_handshake() out from tls_accept/tls_connect. By doing this the tls_accept/tls_connect functions can be guaranteed to succeed or fail and will no longer return TLS_READ_AGAIN/TLS_WRITE_AGAIN
Split tls_handshake() out from tls_accept/tls_connect. By doing this the tls_accept/tls_connect functions can be guaranteed to succeed or fail and will no longer return TLS_READ_AGAIN/TLS_WRITE_AGAIN. This also resolves the semantics of tls_accept_*.
The tls_handshake() function now does I/O and can return TLS_READ_AGAIN/TLS_WRITE_AGAIN. Calls to tls_read() and tls_write() will trigger the handshake if it has not already completed, meaning that in many cases existing code will continue to work.
Discussed over many coffees at l2k15.
ok beck@ bluhm@
show more ...
|
#
c57e6ec0 |
| 10-Sep-2015 |
jsing <jsing@openbsd.org> |
Add support for preferring the server's cipher list or the client's cipher list. Prefer the server's cipher list by default.
Based on a diff from Kyle Thompson <jmp at giga dot moe>.
ok beck@ bcook@
|
#
240d3da6 |
| 09-Sep-2015 |
jsing <jsing@openbsd.org> |
Indent labels with a space so that diff -p is more friendly.
Requested by bluhm@
|
#
51f3bd3d |
| 09-Sep-2015 |
beck <beck@openbsd.org> |
Add client certificate support. Still needs a few tweaks but this will ride upcoming minor bump ok jsing@
|
#
aa7238e6 |
| 09-Sep-2015 |
jsing <jsing@openbsd.org> |
Only take ownership of a socket if we allocated it within libtls. If we are passed a socket then the caller is responsible for closing it.
ok bcook@
|
#
fdb1c79f |
| 27-Aug-2015 |
jsing <jsing@openbsd.org> |
Improve libtls error messages.
The tls_set_error() function previously stored the errno but did nothing with it. Change tls_set_error() to append the strerror(3) of the stored errno so that we inclu
Improve libtls error messages.
The tls_set_error() function previously stored the errno but did nothing with it. Change tls_set_error() to append the strerror(3) of the stored errno so that we include useful information regarding failures.
Provide a tls_set_errorx() function that does not store the errno or include strerror(3) in the error message. Call this function instead of tls_set_error() for errors where the errno value has no useful meaning.
With feedback from and ok doug@
show more ...
|
#
31ee3a2b |
| 22-Aug-2015 |
jsing <jsing@openbsd.org> |
Unify error message between client and server.
|
#
8c73da28 |
| 22-Aug-2015 |
jsing <jsing@openbsd.org> |
SSL_set_app_data is a macro for SSL_set_ex_data(), which is a wrapper around CRYPTO_set_ex_data(), which can fail. Since this is the case, check the return value of CRYPTO_set_ex_data^WSSL_set_ex_dat
SSL_set_app_data is a macro for SSL_set_ex_data(), which is a wrapper around CRYPTO_set_ex_data(), which can fail. Since this is the case, check the return value of CRYPTO_set_ex_data^WSSL_set_ex_data^WSSL_set_app_data.
show more ...
|
#
e1e4dea2 |
| 31-Mar-2015 |
jsing <jsing@openbsd.org> |
Provide a tls_accept_fds() function, which allows a TLS connection to be accepted via an existing pair of file descriptors.
Based on a diff from Jan Klemkow.
|
#
5251ab8e |
| 31-Mar-2015 |
jsing <jsing@openbsd.org> |
Store errors that occur during a tls_accept_socket() call on the context for the server, rather than on the context for the connection. This makes more sense than the current behaviour does.
Issue r
Store errors that occur during a tls_accept_socket() call on the context for the server, rather than on the context for the connection. This makes more sense than the current behaviour does.
Issue reported by Tim van der Molen.
show more ...
|
#
d474f84f |
| 07-Feb-2015 |
jsing <jsing@openbsd.org> |
Convert tls_connect_fds() and tls_accept_socket() to the new OpenSSL error dance handling code. This means that we get slightly useful messages when a TLS connection or accept fails.
Requested by re
Convert tls_connect_fds() and tls_accept_socket() to the new OpenSSL error dance handling code. This means that we get slightly useful messages when a TLS connection or accept fails.
Requested by reyk@
show more ...
|
#
9e5deb48 |
| 07-Feb-2015 |
jsing <jsing@openbsd.org> |
Add tls_config_set_dheparams() to allow specification of the parameters to use for DHE. This enables the use of DHE cipher suites.
Rename tls_config_set_ecdhcurve() to tls_config_set_ecdhecurve() si
Add tls_config_set_dheparams() to allow specification of the parameters to use for DHE. This enables the use of DHE cipher suites.
Rename tls_config_set_ecdhcurve() to tls_config_set_ecdhecurve() since it is only used to specify the curve for ephemeral ECDH.
Discussed with reyk@
show more ...
|
#
f30b95a1 |
| 30-Jan-2015 |
bluhm <bluhm@openbsd.org> |
Make the TLS connect and accept error messages consistent. OK jsing@
|
#
31413d7e |
| 16-Jan-2015 |
reyk <reyk@openbsd.org> |
The SSL/TLS session Id context is limited to 32 bytes. Instead of using the name of relayd relay or smtpd pki, use a 32 byte arc4random buffer that should be unique for the context. This fixes an i
The SSL/TLS session Id context is limited to 32 bytes. Instead of using the name of relayd relay or smtpd pki, use a 32 byte arc4random buffer that should be unique for the context. This fixes an issue in OpenSMTPD when a long pki name could break the configuration.
OK gilles@ benno@
show more ...
|