Commit Graph

2858 Commits

Author SHA1 Message Date
Cody P Schafer b9e3ed50ad Baseline server support
Allows calling SSL_accept() instead of SSL_connect() when creating an
SslStream.
2014-11-19 15:23:31 -05:00
Steven Fackler af5533d936 Remove Zero and One impls 2014-11-17 16:29:12 -08:00
Steven Fackler c766f29965 Merge pull request #98 from jamesrhurst/namespaced-enums
Fixed compilation errors related to namedspaced enums
2014-11-17 19:23:33 -05:00
James Hurst f02d8c22ec Fixed compilation errors related to namedspaced enums 2014-11-17 19:16:51 -05:00
Steven Fackler 2569b39855 Impl Error for SslError 2014-11-16 22:21:45 -08:00
Steven Fackler c41baabac9 Fix travis features 2014-11-16 14:03:58 -08:00
Steven Fackler 5258ce6ece Move AES XTS support to a feature 2014-11-16 14:01:24 -08:00
Steven Fackler fa42ed9edc Merge pull request #96 from coyotebush/xts
Add XTS-AES mode
2014-11-15 08:29:32 -08:00
Corey Ford 287d402042 Add XTS-AES mode 2014-11-14 12:22:34 -08:00
Steven Fackler c56d8f071a Merge pull request #95 from vhbit/custom-build
New build system
2014-11-13 21:40:09 -06:00
Valerii Hiora b60d140d3d New build system 2014-11-13 15:17:00 +02:00
Steven Fackler 1f1c30dd3a Bump to 0.0.1 2014-11-11 00:30:50 -06:00
Steven Fackler 952fef7971 Merge pull request #89 from pyrho/aes-256-cbc-decrypt-test
Aes 256 cbc decrypt test
2014-11-10 12:20:00 -05:00
Steven Fackler e746088693 Merge pull request #94 from DiamondLovesYou/master
PNaCl/NaCl targets support.
2014-11-10 12:19:00 -05:00
Richard Diamond c2717cd98c Force linkage of LibreSSL when targeting NaCl OSs. 2014-11-09 23:42:11 -06:00
Richard Diamond 019e47020a Support PNaCl/NaCl. 2014-11-09 23:07:59 -06:00
Richard Diamond f32940294d Add overrideable platform ssl. 2014-11-08 23:15:19 -06:00
Steven Fackler 766ce4b778 Merge pull request #92 from jmesmon/hash-writier
crypto/hash: impl Writer for Hasher to allow use of Reader-Writer convenience functions
2014-11-07 14:24:23 -08:00
Cody P Schafer 3cbc518249 Hasher::write(): add basic test 2014-11-07 16:58:30 -05:00
Cody P Schafer b9f95b4ce4 crypto/hash: impl Writer for Hasher to allow use of Reader-Writer convenience functions 2014-11-07 16:56:18 -05:00
Steven Fackler 1b7ab0238e Merge pull request #93 from jmesmon/fix-tcpstream
Update to work with change in TcpStream api
2014-11-07 11:37:47 -08:00
Cody P Schafer 89fb825e78 Update to work with change in TcpStream api 2014-11-07 13:47:42 -05:00
Steven Fackler 1e706b8ef4 Clean up some warnings 2014-10-31 19:14:30 -07:00
Steven Fackler 66df9154a6 Merge pull request #90 from ebfe/fix-build
fail! -> panic!
2014-10-30 10:58:51 -04:00
Michael Gehring 1eb79df25a fail! -> panic! 2014-10-30 09:58:22 +01:00
pyrho 42e9438e4f Replaced vector of bytes with bytes string literal for expected output of AES_256_CBC deciphering unit test 2014-10-28 14:15:13 +01:00
pyrho 0982081dd7 Merge remote-tracking branch 'upstream/master' into aes-256-cbc-decrypt-test 2014-10-28 02:20:58 +01:00
pyrho d10c552af6 AES 256 CBC unit test 2014-10-28 02:15:31 +01:00
Steven Fackler b41201c3c9 Clean up some BN stuff 2014-10-26 21:05:27 -07:00
Steven Fackler ebbc44bb3f Update doc location 2014-10-26 13:10:57 -07:00
Steven Fackler 6277635e5c Merge pull request #85 from vhbit/x509-load-pem
Cert loading from PEM & restructuring
2014-10-16 23:17:48 -07:00
Valerii Hiora e47a3cf7e2 Cert loading from PEM & restructuring
- Added cert loading

- Extracted X509 tests
2014-10-15 09:24:08 +03:00
Steven Fackler fa951b4384 Merge pull request #86 from vhbit/bn-squash-init
Cleaned up BigNum constructors
2014-10-14 13:59:52 -07:00
Steven Fackler 5a301cef9a Merge pull request #87 from vhbit/removed-native
Removed redundant files
2014-10-14 13:54:04 -07:00
Valerii Hiora 687a0e7440 Removed redundant files 2014-10-14 22:45:03 +03:00
Valerii Hiora 3164ac0214 Cleaned up BigNum constructors 2014-10-14 22:39:07 +03:00
Steven Fackler 60dce4c219 Merge pull request #81 from vhbit/lock-init
Correct init mutexes and locking function
2014-10-13 23:19:14 -07:00
Valerii Hiora dd46d1922e Correct init mutexes and locking function
`libcrypto` uses locks quite intensively even without SSL. 
So they should be initialized before everything else to 
function properly in multi-threaded apps in which SSL 
operations are absent or delayed.

Finishes #79
2014-10-14 08:31:42 +03:00
Steven Fackler c415f122e2 Merge pull request #83 from jmesmon/set-cipher-list
ssl: allow setting cipher list
2014-10-13 18:57:36 -07:00
Cody P Schafer a6af89c67b ssl: allow setting cipher list 2014-10-13 16:22:12 -04:00
Steven Fackler 12b7427e0d Merge pull request #79 from jroesch/init-cleanup
Refactor code around initialization and error strings.
2014-10-12 02:20:51 -04:00
Jared Roesch 5f017cd549 Refactor init and error handling code
Move common ffi initialization code to 'ffi::init()' and the initialization of error handling to a
a shared location.
2014-10-11 01:57:33 -07:00
Steven Fackler c407530dae Merge pull request #62 from vhbit/feature-matrix
Feature matrix & conditioned doc generation
2014-10-10 11:39:40 -04:00
Valerii Hiora 87374ff2c8 Feature matrix & conditioned doc generation
- Ensures that library builds and passes all tests without any
  features and with `tlsv1_1`, `tlsv1_2` features enabled. Note, 
  that `sslv2` isn’t in test case because on modern linux (like 
  on Travis servers) `SSLv2_method` isn’t in `libssl.so` so it
  builds fine but fails on linking tests.

- For simplification it generates docs after every build, but 
  uploads them once - if it is `master` branch and not a pull
  request.
2014-10-10 16:05:52 +03:00
Steven Fackler 93b725ea8d Merge pull request #78 from alexcrichton/update
Prepare for s/static/const/
2014-10-10 00:48:15 -04:00
Alex Crichton f1b8ad7df9 Prepare for s/static/const/ 2014-10-09 18:33:59 -07:00
Steven Fackler bd38812880 Merge pull request #75 from kinghajj/change-final-to-finalize
"final" is now a reserved word, so change occurrences to "finalize".
2014-10-09 10:01:36 -07:00
Steven Fackler be86319853 Merge pull request #76 from vhbit/bn-zero-int
BN_is_zero as a Rust function
2014-10-09 12:31:23 -04:00
Valerii Hiora 59b843517d BN_is_zero as a Rust function
Although wrapping was relatively easy it basically meant
that we depend on C compilation which becomes nightmare
as soon as multiple platforms are used. I’ve got a huge pain
once iOS was involved with 3 device archs and 2 simulator 
arches to support, not mentioning different set of include 
and lib flags.

So there are 2 different approaches:

- continue this way, maintaining all compilation issues like
  like managing correct flags, providing correct paths and so
  on. This way our Makefile will grow extremely fast and will
  actually take more efforts to maintain.

- doing it pure Rust way. In this case we provide all the 
  macros expansions inside our wrappers and there should be
  no other way to access raw data other than through those 
  wrappers. It might be fragile if OpenSSL internal data 
  structures will ever change, but I think (or hope) it is 
  pretty stable and wouldn’t change anytime soon.

This PR eliminates `BN_is_zero` at all from public API. It’s
functionality is implemented in `BigNum.is_zero` and should 
be enough. 

Additional notes:

1. I’ve moved BIGNUM into `bn` so it could access fields
   directly and keep it as an opaque structure for everyone 
   else

2. I’ve kept empty Makefile as I hope to land `feature-matrix`
   branch soon and I don’t like merging deleted/added file 
   conflicts.
2014-10-09 19:25:07 +03:00
Samuel Fredrickson 95b9cf39c9 "final" is now a reserved word, so change occurrences to "finalize". 2014-10-09 01:05:41 -07:00