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
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
Valerii Hiora
3f413e9354
Addressed review comments
...
- fixed invalid file permissions
- removed redundand mem::transmute
- removed outdated FIXME's
- removed redundand temporary variable
- removed macro_export for internal macros
2014-09-28 07:18:45 +03:00
Steven Fackler
8b6bc824cc
Merge pull request #55 from cjcole/master
...
Additions and one bug fix (BN_mod_inverse).
2014-09-27 21:04:02 -07:00
Chris Cole
7cbe372ce1
Removed BN_sub_word signature for the time being.
2014-09-28 00:00:17 -04:00
Chris Cole
2ef537cfb2
Removing unused signatures for the time being.
2014-09-27 23:58:48 -04:00
Chris Cole
6bc8e1c560
Use CRYPTO_free to free the result of BN_bn2bin.
2014-09-27 23:34:10 -04:00
Chris Cole
7235e03c95
Added signatures forBN_sub_word, BN_is_zero, BN_is_one, BN_is_word,
...
and BN_is_odd.
Fixed incorrect BN_mod_inverse signature.
Added signature for BN_bn2dec.
Added trait implementations for Zero, One, and fmt::Show.
Added to_dec_str function to BigNum impl.
2014-09-27 23:00:13 -04:00
Valerii Hiora
4fd169a1e5
Certificate/pkey generation & PEM export
...
Required quite a lot of refactoring
2014-09-26 10:39:08 +03:00
Steven Fackler
fa53c79e48
Merge pull request #46 from vhbit/tls1-2-support
...
Enabling TLS1.2 support
2014-09-25 02:43:36 -04:00
Steven Fackler
f3786e3e00
Merge pull request #51 from ebfe/deprecated
...
Fix deprecation warnings
2014-09-23 11:40:25 -07:00
Michael Gehring
da125b3a95
Fix deprecation warnings
2014-09-23 20:27:37 +02:00
Valerii Hiora
4c1edcf4c8
TLS 1_1, 1_2, Ssl 2 is enabled by features
2014-09-23 18:29:43 +03:00