aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/ssl/callbacks.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix get session callbackSteven Fackler2018-09-171-1/+1
| | | | | This could previously open up the possibility of a double-free! Closes #996
* Support the client hello callbackSteven Fackler2018-09-151-1/+28
|
* Support libressl 2.8.0Steven Fackler2018-09-121-9/+14
| | | | Closes #988
* Fix lookup errors with SNI callback.Steven Fackler2018-08-311-6/+4
| | | | | | | | | | | | | | | | | The job of an SNI callback is typically to swap out the context associated with an SSL depending on the domain the client is trying to talk to. Typically, only the callbacks associated with the current context are used, but this is not the case for the SNI callback. If SNI is run for a second time on a connection (i.e. in a renegotiation) and the context was replaced with one that didn't itself register an SNI callback, the old callback would run but wouldn't be able to find its state in the context's ex data. To work around this, we pass the pointer to the callback data directly to the callback to make sure it's always available. It still lives in ex data to handle the lifetime management. Closes #979
* Fix build with openssl 1.1.1 and no-pskStefan Tatschner2018-06-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I used this as build flags for openssl 1.1.1: ``` /usr/bin/perl ./Configure linux-x86_64 no-shared no-zlib no-psk no-srp no-weak-ssl-ciphers no-idea ``` rust-openssl crashed with this error: ``` Compiling openssl v0.10.10 error[E0433]: failed to resolve. Use of undeclared type or module `CStr` --> /home/stefan/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.10.10/src/ssl/callbacks.rs:386:16 | 386 | let line = CStr::from_ptr(line).to_bytes(); | ^^^^ Use of undeclared type or module `CStr` error[E0412]: cannot find type `c_char` in this scope --> /home/stefan/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-0.10.10/src/ssl/callbacks.rs:377:75 | 377 | pub unsafe extern "C" fn raw_keylog<F>(ssl: *const ffi::SSL, line: *const c_char) | ^^^^^^ did you mean `c_uchar`? help: possible candidates are found in other modules, you can import them into scope | 1 | use libc::c_char; | 1 | use std::os::raw::c_char; | error: aborting due to 2 previous errors Some errors occurred: E0412, E0433. For more information about an error, try `rustc --explain E0412`. error: Could not compile `openssl`. warning: build failed, waiting for other jobs to finish... ``` this patch fixes the problem
* push PSK callback errors onto ErrorStackBenjamin Cheng2018-06-021-2/+8
|
* Use is_null()Benjamin Cheng2018-06-021-1/+1
|
* Merge remote-tracking branch 'origin/master'Benjamin Cheng2018-06-021-26/+49
|\
| * Support ALPN on libresslSteven Fackler2018-05-201-3/+6
| | | | | | | | Closes #690
| * Overhaul openssl cfgsSteven Fackler2018-05-201-24/+44
| | | | | | | | Also expose hostname verification on libressl
* | Add wrapper for SSL_CTX_set_psk_server_callbackBenjamin Cheng2018-05-161-1/+35
|/
* Clean up SSL callbacksSteven Fackler2018-05-121-29/+36
| | | | | Also add an Arc to avoid a weird use after free edge case if a callback changes a callback.
* Change SslContext callback handlingSteven Fackler2018-05-121-108/+109
| | | | Use the existing infrastructure!
* Update to OpenSSL 1.1.1-pre3Benjamin Saunders2018-03-281-0/+49
|
* Remove version-specific featuresSteven Fackler2018-03-191-18/+16
| | | | Closes #852
* Add a Sync + Send bound to the custom ext typeSteven Fackler2018-03-111-25/+50
| | | | | It's stored inside of the Ssl, so this is probably tecnically necessarly?
* Generic custom extension add fn return typeBenjamin Saunders2018-03-101-21/+21
|
* High-level API for OpenSSL 1.1.1 custom extension supportBenjamin Saunders2018-03-091-0/+93
|
* Restore error stack in cookie callbackSteven Fackler2018-02-251-7/+12
|
* Expose cookie generate/verify callback settersBenjamin Saunders2018-02-251-0/+50
|
* Add the ability to push errors back onto the error stack.Steven Fackler2018-02-241-12/+12
|
* Add some debugging-related bindingsSteven Fackler2018-02-171-0/+18
|
* Bind remove and get session callbacksSteven Fackler2018-02-161-1/+49
|
* SSL session callbacks have always been aroundSteven Fackler2018-02-161-5/+1
|
* Add more session cache supportSteven Fackler2018-02-151-0/+25
|
* Tweak featuresSteven Fackler2018-02-141-2/+4
| | | | We should keep the version features totally separate for now.
* Adjust the SNI callbackSteven Fackler2018-01-061-12/+7
| | | | Brings it more in line with how the raw callback is structured.
* Parameterize keys over what they containSteven Fackler2017-12-301-4/+5
| | | | Closes #790
* Overhaul ALPNSteven Fackler2017-12-271-81/+23
| | | | | | | | There was previously a lot of behind the scenes magic. We now bind much more directly to the relevant functions. Also remove APN support. That protocol is supersceded by ALPN - let's see if anyone actually needs to use it.
* Drop Any boundsSteven Fackler2017-12-261-10/+8
|
* Remove deprecated APIsSteven Fackler2017-12-251-1/+1
|
* Fix a bunch of FIXMEsSteven Fackler2017-12-251-9/+8
|
* Fix buildSteven Fackler2017-07-151-0/+2
|
* Move callbacks to a submoduleSteven Fackler2017-07-151-0/+337