Commit Graph

2395 Commits

Author SHA1 Message Date
Steven Fackler 93a4e96255 Refactor openssl-sys
The old layout tried to structure itself by version but it ended up with
a lot of duplication. Instead, follow the structure of the header files.
2018-09-12 19:21:18 -07:00
Steven Fackler ea18d84de3 clean up example 2018-09-02 14:51:08 -07:00
Steven Fackler 947dfbd143 Small cleanup
Closes #981
2018-09-02 14:26:27 -07:00
Steven Fackler aa5cfbe239
Merge pull request #982 from sfackler/fix-sni-callback
Fix lookup errors with SNI callback.
2018-08-31 21:32:36 -07:00
Steven Fackler bc4e47a321 Fix lookup errors with SNI callback.
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
2018-08-31 20:23:55 -07:00
Steven Fackler 458d9e4ccb
Bump Appveyor test versions 2018-08-29 10:50:52 -07:00
Steven Fackler 5cd0581e8e Bump versions 2018-08-27 21:42:35 -07:00
Steven Fackler 2df87cfd59 Fix doc reference 2018-08-19 20:19:10 -07:00
Steven Fackler b1d01fbc0c
Merge pull request #978 from sfackler/srtp-cleanup
SRTP cleanup
2018-08-19 20:02:00 -07:00
Steven Fackler ef7721092d SRTP cleanup 2018-08-19 18:50:11 -07:00
Steven Fackler b07ebe44ed
Merge pull request #975 from eun-ice/master
Add methods for DTLS/SRTP key handshake
2018-08-19 18:33:18 -07:00
Aron Wieck 59c578cf04 Add methods for DTLS/SRTP key handshake 2018-08-14 16:04:33 +02:00
Steven Fackler f42777b17c
Merge pull request #974 from sfackler/shutdown
Add get_shutdown and set_shutdown
2018-08-08 15:35:09 -07:00
Steven Fackler 1396143c66 Add get_shutdown and set_shutdown 2018-08-08 13:19:55 -07:00
Steven Fackler a062c62cf0
Merge pull request #972 from sfackler/err-unspecified-cfg
X509_V_ERR_UNSPECIFIED was added in 1.0.2f
2018-08-04 11:03:03 -07:00
Steven Fackler cb2f4c2287 X509_V_ERR_UNSPECIFIED was added in 1.0.2f
Closes #970
2018-08-04 10:23:35 -07:00
Steven Fackler ba7f82e41b Update changelog 2018-08-04 10:18:46 -07:00
Steven Fackler ef69870ea2 Release openssl 0.10.11 2018-08-04 10:12:12 -07:00
Steven Fackler 0c92bba84a Release openssl-sys 0.9.35 2018-08-04 10:11:10 -07:00
Alex Crichton 09ce916551
Merge pull request #967 from sfackler/vendored-docs
Add some docs to the README about the vendored feature.
2018-07-31 07:31:56 -07:00
Steven Fackler 5948898e54 Add some docs to the README about the vendored feature. 2018-07-30 21:19:07 -07:00
Steven Fackler aba29697d3
Merge pull request #963 from alexcrichton/vendored
Support builds of OpenSSL from vendored source (take 2)
2018-07-30 15:55:34 -07:00
Alex Crichton 71ee9439ca Support builds of OpenSSL from vendored source (take 2)
This is a revival of #684 to see if I can help push it across the finish line!

Closes #580
2018-07-30 15:15:24 -07:00
Steven Fackler 864cd9fa81
Merge pull request #965 from sfackler/fix-no-ec2m
Fix tests when built with no-ec2m
2018-07-29 13:39:16 -07:00
Steven Fackler 415f399b2c Fix tests when built with no-ec2m
The other curve identifier isn't valid, at least in some contexts so
just ignore the test in those cases.

Closes #964
2018-07-29 09:48:03 -07:00
Steven Fackler 0725cbb165
Merge pull request #962 from sfackler/static-str
SslSessionRef methods return static strings
2018-07-19 21:26:12 -07:00
Steven Fackler ee5215bd31 SslSessionRef methods return static strings
Closes #961
2018-07-19 20:22:57 -07:00
Steven Fackler 44af821d80
Merge pull request #959 from jabedude/master
Fix spelling in symm docs
2018-07-14 15:00:30 -07:00
Josh Abraham a964d05d4a Fix spelling in symm docs 2018-07-14 11:54:26 -10:00
Steven Fackler bd9a2b25a7
Merge pull request #958 from sfackler/custom-errors
Add bindings for custom error definition
2018-07-10 19:24:11 -07:00
Steven Fackler 9eeee0930c Add bindings for custom error definition 2018-07-10 18:54:47 -07:00
Steven Fackler 80aa086667
Purge registry cache
Get off of a bad git repo on the osx builder
2018-07-07 20:30:53 -07:00
Steven Fackler 1392b006e2
Merge pull request #937 from marcoh00/iterable-x509names
X509NameRef: Provide an iterator over all entries
2018-07-07 20:20:45 -07:00
Steven Fackler 6422ffb1b2 Clean up IGE example
Closes #955
2018-07-04 23:15:33 -07:00
Steven Fackler 3524ac09b3
Merge pull request #954 from pinkisemils/output-all-msvc-linker-args
Link all needed system libraries on Windows, when building statically
2018-06-29 12:34:27 -07:00
Emīls 76cad11b64 Link all needed system libraries on Windows, when building statically 2018-06-29 19:35:16 +01:00
Steven Fackler 361c9c336e
Merge pull request #953 from sfackler/sfackler-patch-1
Bump to openssl 1.1.1-pre8
2018-06-28 11:05:19 -07:00
Steven Fackler 917236c108
Bump to openssl 1.1.1-pre8 2018-06-28 10:40:50 -07:00
Steven Fackler 07c49e517e
Only grab the name entry count when needed 2018-06-26 22:31:10 -07:00
Steven Fackler 4c1891cc10
Merge pull request #950 from WanzenBug/master
Add access to private/public components of DSA key pairs.
2018-06-23 23:53:09 -04:00
Moritz Wanzenböck 339d09fbf3 Simplify DSA from private components 2018-06-23 18:16:32 +02:00
Steven Fackler 19430b114e
Merge pull request #952 from rumpelsepp/patch-1
Fix build with openssl 1.1.1 and no-psk
2018-06-21 13:41:06 -07:00
Stefan Tatschner 321c076ab3
Fix build with openssl 1.1.1 and no-psk
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
2018-06-21 22:19:29 +02:00
Moritz Wanzenböck c624427e31 Fix fallback implementation of DSA utility methods 2018-06-18 20:32:34 +02:00
Moritz Wanzenböck 0390aba73b Add tests for DSA key pairs 2018-06-18 18:12:34 +02:00
Moritz Wanzenböck 4994e75d2c Add Dsa::from_(private|public)_components
Add 2 methods to create a DSA key pair from its raw components.
2018-06-18 18:10:02 +02:00
Moritz Wanzenböck 52c942f4b3 Add methods to access private and public part of DSA keys 2018-06-18 11:39:15 +02:00
Steven Fackler 6440ee04ef
Merge pull request #943 from lolzballs/master
Add wrapper for SSL_CTX_set_psk_server_callback
2018-06-17 15:47:00 -07:00
Benjamin Cheng bf86580bec
Disable TLSv1.3 for psk_ciphers test 2018-06-17 17:00:22 -04:00
Steven Fackler 0f815628b4
Merge pull request #946 from sfackler/libressl-accessors
Switch to accessors in libressl where possible
2018-06-10 08:41:07 -07:00