Commit Graph

3270 Commits

Author SHA1 Message Date
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
Steven Fackler 19eab0e7d7 Merge pull request #74 from vhbit/doc-samples
X509 Generator sample
2014-10-08 12:59:19 -04: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
Steven Fackler fe000066a4 Merge pull request #73 from vhbit/minor-doc-fixes
Minor doc fixes and feature mentions
2014-10-07 23:27:55 -07:00
Valerii Hiora 6f399239d8 Minor doc fixes and feature mentions 2014-10-08 09:06:16 +03:00
Steven Fackler c9eef510ce Merge pull request #72 from sfackler/revert-66-fix-failing-test
Revert "Fix #65: failing test case"
2014-10-07 23:18:33 -04: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
Steven Fackler e4b8b5e697 Merge pull request #69 from vhbit/bn-zero-fix
Fixes #68: error on linking `bn_is_zero`
2014-10-07 12:14:44 -04: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
Steven Fackler 40c6948818 Merge pull request #60 from vhbit/cert-gen-cleanup
Better error handling in cert generation
2014-10-06 00:15:58 -04: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 d6578469a8 Ignore stderr from openssl s_server 2014-10-05 13:49:47 -07:00
Steven Fackler 6231a39a41 Ignore error string text
cc #65
2014-10-05 13:47:20 -07:00
Steven Fackler d136a6bb57 Merge pull request #59 from jroesch/better-errors
Make errors human readable
2014-10-05 16:40:01 -04: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
Jonathan Reem c22b3c5063 Add a dummy bn_is_zero C dependency to wrap BN_is_zero
This is necessary because on some architectures BN_is_zero
is a CPP macro, so trying to link against it in an `extern "C"`
block causes a linker error.

This also introduces a build command to Cargo to compile
the bn_is_zero wrapper.
2014-10-04 18:18:02 -07:00
Valerii Hiora 4d3f9e0520 Simpler setter for verify with data
There is no need in wrapping function in option as there is no
sense in providing data without function.
2014-10-04 06:47:27 +03:00
Valerii Hiora fbb359720b User-provided data in verify 2014-10-02 10:15:50 +03:00
Steven Fackler f959b2d680 Merge pull request #61 from alexcrichton/memcmp
Add bindings to CRYPTO_memcmp
2014-10-01 17:11:11 -04:00
Alex Crichton be0e83c978 Add bindings to CRYPTO_memcmp
This should help other projects use a constant-time memory comparison.
2014-10-01 13:28:56 -07:00
Steven Fackler 73885dad02 Merge pull request #57 from vhbit/mut-cleanup
Clean up of mut/const types in `ffi` and also `mut_null` -> `null_mut`
2014-09-30 03:15:42 -04:00
Valerii Hiora a154ceeed2 Unification and explicity in FFI type decls 2014-09-30 09:39:21 +03:00
Valerii Hiora dec5f967c6 Fixed mut_null deprecation warnings 2014-09-30 09:37:32 +03:00
Steven Fackler 36977c2aa3 Merge pull request #56 from vhbit/single-ffi
Single `ffi` module
2014-09-30 02:15:40 -04:00
Valerii Hiora 02637ec7d4 single `ffi` module 2014-09-30 08:21:31 +03:00
Steven Fackler 359043a7aa Merge pull request #53 from vhbit/cert-gen
Certificate/PKey generation & PEM export
2014-09-30 00:47:00 -04:00