aboutsummaryrefslogtreecommitdiff
path: root/src/ffi.rs
Commit message (Collapse)AuthorAgeFilesLines
* New build systemValerii Hiora2014-11-131-481/+0
|
* Support PNaCl/NaCl.Richard Diamond2014-11-091-14/+20
|
* Clean up some warningsSteven Fackler2014-10-311-2/+2
|
* Clean up some BN stuffSteven Fackler2014-10-261-2/+9
|
* Cert loading from PEM & restructuring Valerii Hiora2014-10-151-4/+7
| | | | | | - Added cert loading - Extracted X509 tests
* Correct init mutexes and locking functionValerii Hiora2014-10-141-1/+24
| | | | | | | | | `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
* ssl: allow setting cipher listCody P Schafer2014-10-131-0/+1
|
* Refactor init and error handling codeJared Roesch2014-10-111-0/+12
| | | | | Move common ffi initialization code to 'ffi::init()' and the initialization of error handling to a a shared location.
* Prepare for s/static/const/Alex Crichton2014-10-091-88/+88
|
* BN_is_zero as a Rust functionValerii Hiora2014-10-091-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* X509 Generator sampleValerii Hiora2014-10-081-1/+1
| | | | Forcing static linking for lib wrapped as in other case doc tests fail to locate the static library
* Fixed incorrect EOF handling in MemBio, added error descriptionValerii Hiora2014-10-071-1/+11
| | | | 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.
* Potential fix for #68Valerii Hiora2014-10-071-3/+6
|
* Better error handling in cert generationValerii Hiora2014-10-061-0/+2
| | | | | Now it should correctly free all resources in case of failure.
* Load crypto error stringsJared Roesch2014-10-051-1/+2
|
* Make errors human readableJared Roesch2014-10-051-0/+6
| | | | Change error messages from numeric codes to human readable strings. This makes debugging failures much easier.
* Clean up warningsSteven Fackler2014-10-041-1/+1
|
* Changes made to support 0.12.0-dev ( October 2, 2014 )D.K2014-10-041-4/+2
|
* Merge pull request #64 from reem/fix/big-num-is-zeroSteven Fackler2014-10-041-2/+7
|\ | | | | Add a dummy bn_is_zero C dependency to wrap BN_is_zero
| * Add a dummy bn_is_zero C dependency to wrap BN_is_zeroJonathan Reem2014-10-041-2/+7
| | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #58 from vhbit/verify-dataSteven Fackler2014-10-041-0/+1
|\ \ | |/ |/| User-provided data in verify
| * User-provided data in verifyValerii Hiora2014-10-021-0/+1
| |
* | Add bindings to CRYPTO_memcmpAlex Crichton2014-10-011-1/+3
|/ | | | This should help other projects use a constant-time memory comparison.
* Unification and explicity in FFI type declsValerii Hiora2014-09-301-16/+16
|
* single `ffi` moduleValerii Hiora2014-09-301-0/+418