aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #266 from jmesmon/alpnSteven Fackler2015-09-161-3/+3
|\ | | | | ssl/npn+alpn: adjust protocol selection to fail if no protocols match
| * ssl/npn+alpn: adjust protocol selection to fail if no protocols matchCody P Schafer2015-09-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current behavior causes a server written using rust-openssl to (if it cannot negotiate a protocol) fallback to the first protocol it has avaliable. This makes it impossible to detect protocol mismatches. This updates our selection to be more similar to how openssl's s_server behaves: non-matching protocols are not supplied with a fallback. Note that some setups may actually want a fallback protocol supplied via ALPN. To support those cases, we should consider adding a generic callback that allows protocol selection to be entirely controlled by the programmer. For the purposes of having a sane default, however, not supplying a default (and mimicing s_server's behavior) is the best choice.
* | Add DH::from_pem() to load DH parameters from a fileFrank Denis2015-09-131-1/+2
| |
* | Swap order of linking ssl/cryptoAlex Crichton2015-09-011-3/+3
|/ | | | | | | | | | | | GNU linkers will sometimes aggressively try to strip objects and archives from a linker command line in a left-to-right fashion. When a linker hits an object file that doesn't satisfy any unresolved symbols, it will discard the object and not re-visit it. This means that currently if symbols are depended upon in libssl then some of the dependencies of libssl (in libcrypto) may have already been stripped, causing a link error. By swapping the order of what's linked it reflects the natural flow of dependencies and the linker should figure everything out for us.
* Merge pull request #259 from jedisct1/dhSteven Fackler2015-09-013-0/+33
|\ | | | | Add support for DHE for forward secrecy
| * Add support for set_tmp_dh() and RFC5114 DH parameters for forward secrecy.Frank Denis2015-08-313-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rust-openssl didn't support forward secrecy at all. This adds support for DHE, by exposing set_tmp_dh() as well as the RFC5114 parameters, which are conveniently exposed since OpenSSL 1.0.2. With OpenSSL >= 1.0.2, and the rfc5114 feature gate, enabling DHE is as simple as (here for 2048-bit MODP group with 256-bit prime order subgroup): use openssl::dh::DH; let dh = DH::get_2048_256().unwrap(); ctx.set_tmp_dh(dh).unwrap(); With OpenSSL < 1.0.2, DH::from_params() can be used to manually specify the DH parameters (here for 2048-bit MODP group with 256-bit prime order subgroup): use openssl::bn::BigNum; use openssl::dh::DH; let p = BigNum::from_hex_str("87A8E61DB4B6663CFFBBD19C651959998CEEF608660DD0F25D2CEED4435E3B00E00DF8F1D61957D4FAF7DF4561B2AA3016C3D91134096FAA3BF4296D830E9A7C209E0C6497517ABD5A8A9D306BCF67ED91F9E6725B4758C022E0B1EF4275BF7B6C5BFC11D45F9088B941F54EB1E59BB8BC39A0BF12307F5C4FDB70C581B23F76B63ACAE1CAA6B7902D52526735488A0EF13C6D9A51BFA4AB3AD8347796524D8EF6A167B5A41825D967E144E5140564251CCACB83E6B486F6B3CA3F7971506026C0B857F689962856DED4010ABD0BE621C3A3960A54E710C375F26375D7014103A4B54330C198AF126116D2276E11715F693877FAD7EF09CADB094AE91E1A1597").unwrap(); let g = BigNum::from_hex_str("3FB32C9B73134D0B2E77506660EDBD484CA7B18F21EF205407F4793A1A0BA12510DBC15077BE463FFF4FED4AAC0BB555BE3A6C1B0C6B47B1BC3773BF7E8C6F62901228F8C28CBB18A55AE31341000A650196F931C77A57F2DDF463E5E9EC144B777DE62AAAB8A8628AC376D282D6ED3864E67982428EBC831D14348F6F2F9193B5045AF2767164E1DFC967C1FB3F2E55A4BD1BFFE83B9C80D052B985D182EA0ADB2A3B7313D3FE14C8484B1E052588B9B7D2BBD2DF016199ECD06E1557CD0915B3353BBB64E0EC377FD028370DF92B52C7891428CDC67EB6184B523D1DB246C32F63078490F00EF8D647D148D47954515E2327CFEF98C582664B4C0F6CC41659").unwrap(); let q = BigNum::from_hex_str("8CF83642A709A097B447997640129DA299B1A47D1EB3750BA308B0FE64F5FBD3").unwrap(); let dh = DH::from_params(p, g, q).unwrap(); ctx.set_tmp_dh(dh).unwrap();
* | Release v0.6.5Steven Fackler2015-08-312-3/+3
|/
* Merge pull request #251 from ebarnard/evp_bytestokeySteven Fackler2015-08-231-0/+6
|\ | | | | Expose EVP_BytesToKey
| * Expose EVP_BytesToKeyEdward Barnard2015-08-231-0/+6
| | | | | | | | | | This is based on work by pyrho. Closes #88
* | Merge pull request #253 from manuels/masterSteven Fackler2015-08-191-0/+2
|\ \ | | | | | | Add get_state_string()
| * | Add get_state_string()Manuel Schölling2015-08-171-0/+2
| |/
* | Merge pull request #240 from jethrogb/topic/x509_req_extensionSteven Fackler2015-08-152-0/+10
|\ \ | |/ |/| Implement certificate extensions for certificate requests
| * Implement certificate extensions for certificate requestsJethro Beekman2015-07-082-0/+10
| |
* | Merge pull request #243 from manuels/masterSteven Fackler2015-08-021-0/+1
|\ \ | | | | | | Fix probelms with DTLS when no packets are pending.
| * | Fix probelms with DTLS when no packets are pending.Manuel Schölling2015-07-181-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #242 from awelkie/masterSteven Fackler2015-08-022-2/+5
|\ \ | | | | | | Added AES CTR-mode under feature flag.
| * | Added AES CTR-mode under feature flag.Allen Welkie2015-07-152-2/+5
| |/
* / Add function to write RSA public key as PEMAndrew Dunham2015-07-231-0/+1
|/
* Merge pull request #221 from jethrogb/topic/ssl_optionsSteven Fackler2015-07-083-6/+132
|\ | | | | Several SSL option fixes
| * Remove #ifs for same-value shimmed SSL options. Depend on compiler ↵Jethro Beekman2015-07-011-4/+0
| | | | | | | | optimization instead.
| * Decouple C SSL Option bit flags from Rust versionJethro Beekman2015-07-013-6/+136
| | | | | | | | | | | | | | 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.
* | Merge pull request #233 from jethrogb/topic/x509_extensionSteven Fackler2015-07-081-0/+1
|\ \ | | | | | | Allow setting of arbitrary X509 extensions
| * | Add arbitrary X509 extensions by OID stringJethro Beekman2015-07-011-0/+1
| |/
* / Release v0.6.4Steven Fackler2015-07-062-3/+3
|/
* ssl: support ALPNCody P Schafer2015-06-292-1/+20
| | | | | | | | | | 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.
* Modernize cargo directivesSteven Fackler2015-06-281-4/+5
|
* Don't use pkg-config on windowsSteven Fackler2015-06-281-3/+6
|
* Reduce SslStream constructor duplicationSteven Fackler2015-06-271-0/+1
|
* Fix set_hostnameSteven Fackler2015-06-272-0/+6
| | | | | | It was previously failing to null terminate the hostname string (was anyone actually using this?). Also move the macro expansion to the C shim.
* Import shim'd HMAC stuff with the original nameSteven Fackler2015-06-271-0/+10
|
* Move macro replicas into C shimSteven Fackler2015-06-273-35/+52
|
* Release v0.6.3Steven Fackler2015-06-252-3/+3
|
* Fix EOF handling in retry wrapperSteven Fackler2015-06-251-0/+5
|
* Don't ignore environment variables if building with mingwSimon Mazur2015-06-151-21/+23
|
* Added support for building on Windows with MinGWSimon Mazur2015-06-101-1/+30
|
* Implement limited X509_REQ functionalityJethro Beekman2015-05-281-0/+5
|
* Merge pull request #211 from bozaro/redefine_libsSteven Fackler2015-05-171-5/+10
|\ | | | | Add ability to redefine library list via OPENSSL_LIBS environment variable
| * Remove MSYSTEM environment variable checka.navrotskiy2015-05-151-1/+1
| |
| * Add ability to redefine library list via OPENSSL_LIBS environment variable.a.navrotskiy2015-05-071-5/+10
| | | | | | | | It's usefull for compiling with MinGW-w64 installed via MSYS2 (https://wiki.qt.io/MSYS2).
* | Fix doc rootSteven Fackler2015-05-131-1/+1
|/
* Merge pull request #210 from manuels/pendingSteven Fackler2015-05-051-0/+1
|\ | | | | Add SslStream.pending()
| * Add SslStream.pending()Manuel Schölling2015-04-301-0/+1
| |
* | Merge pull request #201 from manuels/pkey_cmpSteven Fackler2015-05-041-0/+1
|\ \ | | | | | | Add comparison for PKeys
| * | Add comparison for PKeysManuel Schölling2015-04-161-0/+1
| | |
* | | Release v0.6.2v0.6.2Steven Fackler2015-05-011-1/+1
| |/ |/|
* | Release v0.6.1v0.6.1Steven Fackler2015-04-221-1/+1
| |
* | Fixes for Native Client.Richard Diamond2015-04-182-1/+9
|/
* Merge pull request #199 from CarlColglazier/patch-1Steven Fackler2015-04-151-1/+1
|\ | | | | Fix documentation URL for openssl-sys.
| * Fix documentation URL for openssl-sys.Carl Colglazier2015-04-151-1/+1
| |
* | Add X509::public_key()Manuel Schölling2015-04-151-0/+1
|/