aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/ssl/mod.rs
Commit message (Collapse)AuthorAgeFilesLines
...
| * Fix probelms with DTLS when no packets are pending.Manuel Schölling2015-07-181-1/+35
| | | | | | | | | | | | | | | | | | | | | | When using DTLS you might run into the situation where no packets are pending, so SSL_read returns len=0. On a TLS connection this means that the connection was closed, but on DTLS it does not (a DTLS connection cannot be closed in the usual sense). This commit fixes a bug introduced by c8d23f3. Conflicts: openssl/src/ssl/mod.rs
* | Expose ssl::initpanicbit2015-07-261-1/+3
|/
* Decouple C SSL Option bit flags from Rust versionJethro Beekman2015-07-011-29/+46
| | | | | | | The OpenSSL "SSL_OP_*" flags are in constant flux between different OpenSSL versions. To avoid having to change the Rust definitions, we implement our own numbering system in Rust, and use an automatically-generated C shim to convert the bitflags at runtime.
* Fix backcompat methodSteven Fackler2015-06-291-1/+1
|
* Fix build with alpn featureSteven Fackler2015-06-291-1/+1
|
* ssl: support ALPNCody P Schafer2015-06-291-15/+100
| | | | | | | | | | Heavily based on the existing NPN wrapping code. Naming of public functions is identical to the NPN ones with `s/npn/alpn/` applied to prevent devs from needing to remember 2 names (and to let my copy the npn tests and perform the subistution to generate the apln tests). It might make sense to (at some point) use macros or a trait to cut down the duplication.
* ssl/NPN: factor out encoding of the protocol listCody P Schafer2015-06-291-8/+19
| | | | | The intention is to allow the encoding to be reused by the ALPN support code.
* ssl: use a common helper to generate new ex data indexes, switch NPN to a ↵Cody P Schafer2015-06-291-33/+17
| | | | | | | | | | | lazyref Rather than having the verification data idx generation and NPN use there own (similar) impls to generate indexes with destructors, unify them. Make NPNs use of indexes more idomatic by storing the index in a lazyref rather than having a function with static data members.
* More docsSteven Fackler2015-06-281-0/+16
|
* Fix windows buildSteven Fackler2015-06-281-0/+2
|
* DocsSteven Fackler2015-06-281-18/+10
|
* Make the direct constructors the defaultsSteven Fackler2015-06-281-10/+10
|
* Add docs for accept and connectSteven Fackler2015-06-281-0/+22
|
* Rename new_client to connect and new_server to acceptSteven Fackler2015-06-281-17/+22
|
* Implement direct IO supportSteven Fackler2015-06-281-12/+169
|
* Prepare for direct stream supportSteven Fackler2015-06-271-78/+165
|
* Docs tweakSteven Fackler2015-06-271-1/+2
|
* Reduce SslStream constructor duplicationSteven Fackler2015-06-271-18/+39
|
* Initialize stream bufferSteven Fackler2015-06-271-8/+2
|
* Fix set_hostnameSteven Fackler2015-06-271-10/+2
| | | | | | It was previously failing to null terminate the hostname string (was anyone actually using this?). Also move the macro expansion to the C shim.
* Fix EOF handling in retry wrapperSteven Fackler2015-06-251-4/+6
|
* Add accessor for peer_certificateJoseph Glanville2015-05-161-0/+5
|
* Merge pull request #210 from manuels/pendingSteven Fackler2015-05-051-0/+12
|\ | | | | Add SslStream.pending()
| * Add SslStream.pending()Manuel Schölling2015-04-301-0/+12
| |
* | Abstract over AsRef<Path>Steven Fackler2015-05-021-7/+7
|/
* Write through to underlying stream for every write callSteven Fackler2015-04-301-7/+7
| | | | cc #208
* Fix nightly build issuesSteven Fackler2015-04-151-7/+1
|
* Fix rebase errorsManuel Schölling2015-04-061-1/+1
|
* Change SslContext::set_read_ahead(c_long) to SslContext::set_read_ahead(u32)Manuel Schölling2015-04-061-2/+2
|
* Move connected_socket to its own crate and fix SSL_CTX_set_read_ahead()Manuel Schölling2015-04-061-4/+3
|
* Fix portability issue and typoManuel Schölling2015-04-061-1/+1
|
* Add DTLSv1 and DTLSv1.2 supportManuel Schölling2015-04-061-2/+45
|
* Add connect() support for UDP socketsManuel Schölling2015-04-061-1/+7
|
* Use raw pointers instead of ptr::UniqueManuel Schölling2015-04-031-6/+6
|
* Return Result<(),SslError> instead of Option<SslError>Manuel Schölling2015-04-031-11/+11
|
* Add SslContext::add_extra_chain_cert()Manuel Schölling2015-04-031-0/+9
|
* Add ability to load private keys from files and use raw keys and ↵Manuel Schölling2015-04-031-0/+25
| | | | certificates for SslContext
* Change SslVerifyMode to bitflags and add SSL_VERIFY_FAIL_IF_NO_PEER_CERTManuel Schölling2015-04-031-9/+12
| | | | | SslVerifyMode was changed to bitflags to allow for bitwise operations like (SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT).
* Stabilize openssl!Steven Fackler2015-04-021-37/+42
|
* Remove two featuresSteven Fackler2015-04-021-5/+4
|
* rustup: changes to io::ErrorSean McArthur2015-04-021-2/+2
|
* Remove a bunch of use of core featureSteven Fackler2015-03-301-17/+32
|
* Fix verify data free functionSteven Fackler2015-03-291-16/+22
| | | | | | | | | Turns out this is called with a null pointer if you never set the data which didn't end up doing anything until the recent zeroing drop changes. Also use a map of indexes since statics in generic functions don't monomorphize
* Fix error with current rust nightlyFlorian Hartwig2015-03-291-1/+1
|
* Fix npn featureSteven Fackler2015-03-251-0/+4
|
* Fix deprecation warningsSteven Fackler2015-03-251-2/+1
|
* openssl: Advertise NPN protocols for server socketsMarko Lalic2015-03-231-0/+33
| | | | | | | | If a server socket is created with a context on which the `set_npn_protocols` method has been called, during TLS connection establishment, the server will advertise the list of protocols given to the method, in case the client indicates that it supports the NPN TLS extension.
* openssl: Add methods to get the protocol selected by NPNMarko Lalic2015-03-231-0/+33
| | | | | | | The method is added to the `Ssl` struct, since this is how the native OpenSSL API works. It is also added to the `SslStream` convenience struct, since the `Ssl` instance that it wraps is not public and clients may want to check which protocol is in use on a particular SSL stream.
* openssl: Implement client-side NPN protocol selectionMarko Lalic2015-03-231-1/+34
| | | | | | | | | | | | | After the `set_npn_protocols` method of the `SslContext` struct is called, any future TLS connections established with this context will perform NPN negotiation. The chosen protocol is the one with the highest priority in the server's protocol list that is also in the client's protocol list. (This is the default behavior provided by OpenSSL's `SSL_select_next_proto` function.) If there is no overlap between the two lists, no error is raised.
* openssl: Add method for setting protocols to be used in NPNMarko Lalic2015-03-231-0/+53
| | | | | | | | | | | | A new method `set_npn_protocols` is added to the `SslContext` struct, when the `npn` feature is enabled. The method takes a list of protocols that are supported by the peer. These protocols will be used during Next Protocol Negotiation. The method saves the given list within the extra data of the OpenSSL Context structure, so that the list can be referred to later on by the callbacks invoked during TLS connection establishment.