Commit Graph

93 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
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 5258ce6ece Move AES XTS support to a feature 2014-11-16 14:01:24 -08:00
Corey Ford 287d402042 Add XTS-AES mode 2014-11-14 12:22:34 -08:00
Valerii Hiora b60d140d3d New build system 2014-11-13 15:17:00 +02: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
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
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
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
Valerii Hiora e47a3cf7e2 Cert loading from PEM & restructuring
- Added cert loading

- Extracted X509 tests
2014-10-15 09:24:08 +03:00
Valerii Hiora 3164ac0214 Cleaned up BigNum constructors 2014-10-14 22:39:07 +03: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
Cody P Schafer a6af89c67b ssl: allow setting cipher list 2014-10-13 16:22:12 -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
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
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
Valerii Hiora fe21d4bb66 X509 Generator sample
Forcing static linking for lib wrapped as in other case doc tests
fail to locate the static library
2014-10-08 19:26:38 +03:00
Valerii Hiora 6f399239d8 Minor doc fixes and feature mentions 2014-10-08 09:06:16 +03:00
Steven Fackler fec1c43a4a Revert "Fix #65: failing test case" 2014-10-07 23:18:20 -04:00
Steven Fackler 68b9bd700e Merge pull request #66 from jroesch/fix-failing-test
Fix #65: failing test case
2014-10-07 23:06:35 -04:00
Steven Fackler de3f1cf57f Merge pull request #67 from vhbit/membio-eof
Fixed incorrect EOF handling in MemBio, added error description
2014-10-07 11:05:53 -07:00
Valerii Hiora 3ba768bc28 Fixed incorrect EOF handling in MemBio, added error description
Actually, EOF wasn't handled at all and it caused `mem_bio.read_to_end()` to fail. Which in turn failed all `write_pem` implementations.
2014-10-07 19:58:52 +03:00
Steven Fackler ad08bf4ed9 Merge pull request #71 from vhbit/path-ization
Using `Path`s instead of plain strings
2014-10-07 09:50:05 -07:00
Valerii Hiora 9dd8ce9270 Potential fix for #68 2014-10-07 15:21:17 +03:00
Valerii Hiora 41287f3b14 Using `Path`s instead of plain strings
Refs #45
2014-10-07 14:54:35 +03:00
Jared Roesch 7e214fe8a8 Fix #65: failing test case 2014-10-06 01:53:56 -07:00
Valerii Hiora 72ee42adba Better error handling in cert generation
Now it should correctly free all resources in case
of failure.
2014-10-06 07:12:54 +03:00
Steven Fackler 6231a39a41 Ignore error string text
cc #65
2014-10-05 13:47:20 -07:00
Jared Roesch a8cadc46ac Load crypto error strings 2014-10-05 02:50:33 -07:00
Jared Roesch 5713c42df7 Fix error messages 2014-10-05 02:43:37 -07:00
Jared Roesch 02c124a1fe Address CR comments and add a test 2014-10-05 02:43:37 -07:00
Jared Roesch b3c80a76dd Make errors human readable
Change error messages from numeric codes to human readable strings. This makes debugging failures much easier.
2014-10-05 02:43:37 -07:00
Steven Fackler b8fd300f80 Clean up warnings 2014-10-04 19:44:06 -07:00
D.K 09ecc7e521 Changes made to support 0.12.0-dev ( October 2, 2014 ) 2014-10-04 19:40:34 -07:00
Steven Fackler c09ec835fa Merge pull request #64 from reem/fix/big-num-is-zero
Add a dummy bn_is_zero C dependency to wrap BN_is_zero
2014-10-04 22:06:50 -04:00
Steven Fackler 78d438baef Merge pull request #58 from vhbit/verify-data
User-provided data in verify
2014-10-04 21:59:13 -04:00