Steven Fackler
a80a77bbb8
Initialize stream buffer
2015-06-27 19:42:13 -07:00
Steven Fackler
9d0acfe615
Fix set_hostname
...
It was previously failing to null terminate the hostname string (was
anyone actually using this?). Also move the macro expansion to the C
shim.
2015-06-27 19:37:45 -07:00
Steven Fackler
212acf0bb8
Add a test for connection negotiation failure
2015-06-25 23:07:25 -07:00
Steven Fackler
c8d23f37a4
Fix EOF handling in retry wrapper
2015-06-25 22:47:53 -07:00
Joseph Glanville
6d53a3ed20
Test reading CN from test certificate
2015-05-18 02:41:42 +10:00
Joseph Glanville
e7a5ecc8dd
Add test for get_peer_certificate()
2015-05-16 19:37:31 +10:00
Joseph Glanville
5d9eaf53da
Add accessor for peer_certificate
2015-05-16 19:20:38 +10:00
Steven Fackler
8a9aa0c657
Merge pull request #210 from manuels/pending
...
Add SslStream.pending()
2015-05-05 22:57:14 -04:00
Steven Fackler
00c17035ec
Abstract over AsRef<Path>
2015-05-02 13:59:11 -07:00
Manuel Schölling
c8fae312ad
Add SslStream.pending()
2015-04-30 20:00:30 +02:00
Steven Fackler
73617dabfa
Write through to underlying stream for every write call
...
cc #208
2015-04-30 00:18:23 -07:00
Steven Fackler
8027fff782
Fix nightly build issues
2015-04-15 09:10:22 -07:00
Steven Fackler
8eb5db45bf
Fix non-dtls tests
2015-04-08 22:12:57 -07:00
Steven Fackler
c5a16db97e
Fix dtls tests
...
There's a reason static mut is unsafe...
2015-04-08 22:10:13 -07:00
Manuel Schölling
b3eae0e3f6
Adapt code for rust-1.0.0-beta
2015-04-06 12:56:38 +02:00
Manuel Schölling
912cacf4bc
Fix rebase errors
2015-04-06 12:26:10 +02:00
Manuel Schölling
fb98f482e2
Add ability to load private keys from files and use raw keys and certificates for SslContext
...
Conflicts:
openssl/src/crypto/pkey.rs
openssl/src/ssl/tests.rs
2015-04-06 12:25:37 +02:00
Manuel Schölling
3c03dd9535
Add ability to load private keys from files and use raw keys and certificates for SslContext
...
Conflicts:
openssl/src/ssl/tests.rs
2015-04-06 12:25:15 +02:00
Manuel Schölling
114253c55e
Change SslContext::set_read_ahead(c_long) to SslContext::set_read_ahead(u32)
2015-04-06 12:23:11 +02:00
Manuel Schölling
362a7dfc93
Debug halteproblem with tests
2015-04-06 12:23:11 +02:00
Manuel Schölling
dbef985e32
Move connected_socket to its own crate and fix SSL_CTX_set_read_ahead()
2015-04-06 12:23:11 +02:00
Manuel Schölling
5788f3bec8
Use latest OpenSSL version in travis tests and more verbose error message in ConnectedSocket
2015-04-06 12:22:51 +02:00
Manuel Schölling
014f59ae60
Fix detect_invalid_ipv4 test on OSX
...
Looks like the invalid IP 254.254.254.254 is fine for OSX
2015-04-06 12:22:51 +02:00
Manuel Schölling
3680763906
Fix OSX related compiler error and correct travis OpenSSL setup
2015-04-06 12:22:51 +02:00
Manuel Schölling
4f2978bbd3
Adjust sin_len/sin6_len for non-linux platforms
...
Fixing errors for platforms you don't own is really annoying ;)
Fixing errors
2015-04-06 12:22:51 +02:00
Manuel Schölling
efbd4eee05
Fix portability issue and typo
2015-04-06 12:22:50 +02:00
Manuel Schölling
8a0e9d6cca
Fix travis test setup for DTLS
2015-04-06 12:22:50 +02:00
Manuel Schölling
664600eadf
Add DTLSv1 and DTLSv1.2 support
2015-04-06 12:22:50 +02:00
Manuel Schölling
5408b641dd
Add connect() support for UDP sockets
2015-04-06 12:14:36 +02:00
Manuel Schölling
7e88d8c277
Fix errors in tests (SslVerifyPeer -> SSL_VERIFY_PEER)
2015-04-03 15:16:38 +02:00
Manuel Schölling
57f046e8ea
Use raw pointers instead of ptr::Unique
2015-04-03 14:42:35 +02:00
Manuel Schölling
e1d65fc2be
Return Result<(),SslError> instead of Option<SslError>
2015-04-03 14:34:24 +02:00
Manuel Schölling
b6c5c113f5
Add SslContext::add_extra_chain_cert()
2015-04-03 14:34:24 +02:00
Manuel Schölling
632d8398cf
Add ability to load private keys from files and use raw keys and certificates for SslContext
2015-04-03 14:34:24 +02:00
Manuel Schölling
b42202b858
Change SslVerifyMode to bitflags and add SSL_VERIFY_FAIL_IF_NO_PEER_CERT
...
SslVerifyMode was changed to bitflags to allow for bitwise operations
like (SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT).
2015-04-03 14:34:24 +02:00
Steven Fackler
4606687829
Stabilize openssl!
2015-04-02 21:12:05 -07:00
Steven Fackler
f4761bb292
Remove two features
2015-04-02 13:59:55 -07:00
Sean McArthur
24b876521b
rustup: changes to io::Error
2015-04-02 11:12:18 -07:00
Steven Fackler
121a667f9b
Remove a bunch of use of core feature
2015-03-30 23:09:15 -07:00
Steven Fackler
2b1a9a7814
Fix verify data free function
...
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
2015-03-29 10:18:30 -07:00
Florian Hartwig
7c079698fc
Fix error with current rust nightly
2015-03-29 15:19:34 +02:00
Steven Fackler
2453c0f96c
Fix npn feature
2015-03-25 22:02:14 -07:00
Steven Fackler
36c90bb205
Fix deprecation warnings
2015-03-25 21:50:21 -07:00
Marko Lalic
f50577909e
openssl: Add tests for server-side NPN
2015-03-23 08:41:15 +01:00
Marko Lalic
8f05e0452a
openssl: Add tests for client-side NPN
...
An additional `openssl` process is spun up before the tests are ran.
This process has NPN enabled with some default protocols.
2015-03-23 08:41:15 +01:00
Marko Lalic
be674a28e0
openssl: Advertise NPN protocols for server sockets
...
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.
2015-03-23 08:41:15 +01:00
Marko Lalic
8931299eab
openssl: Add methods to get the protocol selected by NPN
...
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.
2015-03-23 08:41:15 +01:00
Marko Lalic
5689ad9260
openssl: Implement client-side NPN protocol selection
...
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.
2015-03-23 08:41:15 +01:00
Marko Lalic
83c279013b
openssl: Add method for setting protocols to be used in NPN
...
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.
2015-03-23 08:41:15 +01:00
Steven Fackler
a65b03c89e
Fix warnings
2015-03-10 19:38:44 -07:00
Steven Fackler
8b8736fb46
Merge pull request #172 from reaperhulk/add-ssl-ctx-set-get-options
...
add support for SSL_CTX_set_options and SSL_CTX_get_options
2015-03-07 08:43:30 -08:00
Aaron Weiss
c3eee3b194
Added try_clone to SslStream for SslStream<TcpStream>.
2015-03-02 16:32:25 -05:00
Steven Fackler
6991cc6a30
Convert to new IO.
2015-02-24 23:01:57 -08:00
Paul Kehrer
8940bd767b
add support for SSL_CTX_clear_options and use bitflags
2015-02-23 19:39:23 -06:00
Paul Kehrer
06ba41ad47
add support for SSL_CTX_set_options and SSL_CTX_get_options
...
fixes #168
2015-02-22 15:45:00 -06:00
Kevin Butler
cb0e1688c8
Update depreciated code
2015-02-20 21:04:01 +00:00
Kevin Butler
00e4941a75
Unique<T> now derefs to *mut T
2015-02-20 20:43:07 +00:00
Steven Fackler
4e83bebb4b
Rename method for clarity
2015-02-16 23:28:47 -08:00
Steven Fackler
e52d02171b
Properly handle errors in write
2015-02-16 22:38:34 -08:00
Steven Fackler
f0eb8e39e3
Deal with openssl errors in read
...
I'm not sure of a great way to generate this case in a test,
unfortunately.
Closes #157
2015-02-16 22:21:13 -08:00
Robin Gloster
fabc1da31e
rustup to current master
2015-02-12 18:25:45 +01:00
Steven Fackler
ec65b0c67b
Move docs to this repo and auto build
2015-02-07 21:30:05 -08:00