aboutsummaryrefslogtreecommitdiffstats
path: root/src/_cffi_src
Commit message (Collapse)AuthorAgeFilesLines
* New osrandom_engine in C (#3229)Christian Heimes2016-12-094-0/+694
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * New osrandom_engine in C Inspired by Python/random.c and the old implementation. Signed-off-by: Christian Heimes <christian@python.org> * osrandom_engine * Fix naming bug caused by search 'n replace mistake * Make it easier to override osrandom auto-detection * Add engine ctrl and backend API to get implementation from ENGINE Signed-off-by: Christian Heimes <christian@python.org> * Better test coverage, documentation, LICENSE Signed-off-by: Christian Heimes <christian@python.org> * Coverage is hard. Signed-off-by: Christian Heimes <christian@python.org> * * enable win32 check * read() returns size_t Signed-off-by: Christian Heimes <christian@python.org> * Add macOS to spelling list. Remove dead code from header file. Signed-off-by: Christian Heimes <christian@python.org> * remove CCRandomGenerateBytes path and update getentropy to work on macOS This change allows us to test all the engines in our CI: * getentropy (tested by macOS sierra) * getrandom (tested on several linux builders) * /dev/urandom (tested on FreeBSD, OS X 10.11 and below, & older linux) * CryptGenRandom (tested on windows builders) I also fixed bugs preventing compilation in the getentropy code * getentropy() returns int and is restricted to 256 bytes on macOS, too. Signed-off-by: Christian Heimes <christian@python.org> * add versionadded * Re-add import of os module * Fixes related to Alex's recent review. Signed-off-by: Christian Heimes <christian@python.org> * Add error reporting and fail for EAGAIN Add error reporting strings for various error cases. This gives us much nicer and understandable error messages. SYS_getrandom() EAGAIN is now an error. Cryptography refuses to initialize its osrandom engine when the Kernel's CPRNG hasn't been seeded yet. Signed-off-by: Christian Heimes <christian@python.org>
* cffi bindings additions for pypy's _hashlib module (#3291)Richard Plangger2016-11-302-0/+10
| | | | | | | | * add cffi bindings to objects.py and evp.py (required for pypy's _hashlib implementation) * ah, that comes from copying it from the man page * dont use #define ..., delcare it as static cont long <name>
* Bind TLSEXT_STATUSTYPE_ocsp (#3290)Cory Benfield2016-11-291-0/+1
|
* Add OPENSSL_malloc. (#3289)Cory Benfield2016-11-281-0/+1
|
* PyPy's ssl module, the last missing macro and three macro functions (#3270)Richard Plangger2016-11-212-1/+4
| | | | | | | | * missing macro and three macro functions * removed space before function name (style issue) * remove macro which always will not be set by cryptography
* bind a few things pypy ssl stdlib needs in x509v3 (#3255)Paul Kehrer2016-11-191-0/+7
|
* Add DHparams_dup to DH bindings (#3260)Aviv Palivoda2016-11-191-0/+1
|
* bind GENERAL_NAME_free and move GENERAL_NAME_new to macros... (#3257)Paul Kehrer2016-11-191-1/+2
| | | where it belongs!
* add error codes and ERR_get_state for pypy stdlib ssl (#3256)Paul Kehrer2016-11-191-2/+29
|
* add some x509_object handling for pypy stdlib (#3254)Paul Kehrer2016-11-192-0/+30
|
* add two error codes for pypy ssl stdlib (#3253)Paul Kehrer2016-11-191-0/+3
|
* add OPENSSL_NPN_NEGOTIATED (#3252)Paul Kehrer2016-11-191-0/+12
|
* add some NIDs (#3251)Paul Kehrer2016-11-181-0/+3
|
* add SSL_CTX_set_ecdh_auto where supported (#3250)Paul Kehrer2016-11-181-0/+9
| | | | In 1.1.0 this is a noop and occurs by default, and this wasn't supported < 1.0.2
* add some BIO functions for pypy's ssl stdlib (#3249)Paul Kehrer2016-11-182-0/+13
| | | refs #3248
* Raise padding block_size limit to what is allowed by the specs. (#3108)Terry Chia2016-11-151-14/+16
| | | | | | | | | | | | | | | | | | | | * Raize padding block_size limit to what is allowed by the specs. * Add tests for raising padding limits. * Amend C code for padding check to use uint16_t instead of uint8_t. * Fix test to work in Python 3. * Fix typo. * Fix another typo. * Fix return type of the padding checks. * Change hypothesis test on padding. * Update comment.
* C locking callback (#3226)Alex Gaynor2016-11-131-1/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove Python OpenSSL locking callback and replace it with one in C The Python OpenSSL locking callback is unsafe; if GC is triggered during the callback's invocation, it can result in the callback being invoked reentrantly, which can lead to deadlocks. This patch replaces it with one in C that gets built at compile time via cffi along with the rest of the OpenSSL binding. * fixes for some issues * unused * revert these changes * these two for good measure * missing param * sigh, syntax * delete tests that assumed an ability to mess with locks * style fixes * licensing stuff * utf8 * Unicode. Huh. What it isn't good for, absolutely nothing.
* Name: add support for multi-value RDNs (#3202)Fraser Tweedale2016-11-111-0/+10
| | | | | | | | Update the Name class to accept and internally store a list of RelativeDistinguishedName objects. Add the 'rdns' attribute to give access to the RDNs. Update ASN.1 routines to correctly decode and encode multi-value RDNs. Fixes: https://github.com/pyca/cryptography/issues/3199
* Export missing OpenSSL `X509_VERIFY_PARAM_free` (#3221)Thomas Sileo2016-11-061-0/+1
| | | | | | * Export missing OpenSSL `X509_VERIFY_PARAM_free` * Remove un-needed export in conditional names
* Fix compilation with MinGW (#3191)Saúl Ibarra Corretgé2016-10-101-2/+5
|
* 1.0.2i changed the way COMP_METHOD is exported if NO_COMP is set (#3162)Paul Kehrer2016-09-222-1/+8
| | | | | | | | | | * 1.0.2i changed the way COMP_METHOD is exported if NO_COMP is set * add a comment explaining why we changed this * 1.0.2i handles NUMERICSTRING properly now so need only test < 1.0.2i * needs to be visible
* Scrypt bindings (#3114)Terry Chia2016-08-271-0/+14
| | | | | | | | | | | | | | * Add Scrypt bindings. * Add check for OPENSSL_NO_SCRYPT. * Fix CUSTOMIZATIONS. * Account for LibreSSL. * Remove argument names. * Remove more argument names.
* OpenSSL 1.1.0 support (#2826)Paul Kehrer2016-08-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * make pre5 work * add a blank line to make the diff happier * 1.1.0-pre6 working * support the changes since 1.1.0-pre6 * fixes * add 1.1.0 to travis * expose the symbol * better testing for numericstring * handle libre... * actually use the 1.1.0 we compile * cache the ossl-110 dir on travis * add some newlines * changelog entry for 1.1.0 support * note that we test on 1.1.0 * proper skip on this test * reorder
* be a bit more robust about detecting locking callback declarations (#3107)Paul Kehrer2016-08-261-3/+11
|
* remove a few more unneeded and no longer extant functions for 1.1.0 (#3110)Paul Kehrer2016-08-262-3/+0
|
* opaque structs for 1.1.0 compatibility (#3109)Paul Kehrer2016-08-263-48/+9
| | | We're so close.
* remove two more constants that no longer exist and we don't use (#3101)Paul Kehrer2016-08-252-2/+0
|
* two more functions that became const, one removed that we don't use (#3102)Paul Kehrer2016-08-251-4/+6
|
* constify and reorder getter args (#3103)Paul Kehrer2016-08-241-17/+24
| | | | | | | | | | * constify more things in x509 and reorder a few func args Post pre6 they changed some function argument order... * fix the function arg order where we call it * still need arg names when implementing the function...whoops
* constify x509name functions (#3104)Paul Kehrer2016-08-241-8/+12
|
* const some more ASN1 (#3100)Paul Kehrer2016-08-241-2/+2
|
* ERR_load_RAND_strings changed function signature in 1.1.0 (#3093)Paul Kehrer2016-08-161-1/+6
| | | | | | | | * ERR_load_RAND_strings changed function signature in 1.1.0 Here is a hack to avoid breaking pyOpenSSL. * not sure how I managed that. I blame vim
* move functions that were const-ified in 1.1.0-pre6 (#3090)Paul Kehrer2016-08-163-19/+33
|
* OPENSSL_no_config is a macro in 1.1.0 (#3091)Paul Kehrer2016-08-161-1/+2
|
* BIO_set has been removed in 1.1.0 (#3092)Paul Kehrer2016-08-161-1/+0
| | | Since we aren't using it bye bye
* disable static callbacks on Python 3.5 (refs #2970) (#3063)Maximilian Hils2016-07-291-1/+4
|
* Fixed openssl binding if no-cmac (#3062)Jeffery To2016-07-271-2/+2
|
* Unconditional SecureTransport bindings, round 2. (#3059)Cory Benfield2016-07-232-0/+309
| | | | | | | | | | | | * Add the unconditional SecureTransport bindings * Looks like the PSK cipher suites got removed in 10.8 * Line-length. * Style. * Remove further troublesome bindings.
* Revert "Add the unconditional SecureTransport bindings" (#3058)Alex Gaynor2016-07-232-314/+0
|
* Add the unconditional SecureTransport bindings (#3054)Cory Benfield2016-07-232-0/+314
| | | | | | | | | | * Add the unconditional SecureTransport bindings * Line-length. * Looks like the PSK cipher suites got removed in 10.8 * Style.
* Add OPENSSL_config binding (#2972) (#2974)Anton2016-07-132-0/+24
| | | | | | | >>> lib.EVP_get_digestbyname(b'md_gost94') <cdata 'EVP_MD *' NULL> >>> lib.OPENSSL_config(ffi.NULL) >>> lib.EVP_get_digestbyname(b'md_gost94') <cdata 'EVP_MD *' 0x10adc7440>
* Use a series of constants for OpenSSL version checks (#3037)Alex Gaynor2016-07-1115-54/+96
| | | | | | | | | | | | | | | | | | | | | | | | * Use a series of constants for OpenSSL version checks. N.B. I removed several qualifiers that were being used to express beta vs. release in OpenSSL version numbers. Reviewers please look closely! * Convert some python as well, also add the file * flake8 * Simplify code, remove functionality that can be expressed more simply * clean up the tests as well * more constants * wrap long lines * reflect feedback * unused * add this back?
* Remove a few SSL fields which are unused (#3032)Alex Gaynor2016-06-301-5/+0
|
* Opaque everything else we can of X509 (#3027)Alex Gaynor2016-06-301-11/+1
|
* change X509V3_EXT_nconf function signature (#3024)Paul Kehrer2016-06-301-1/+2
|
* Opaque another OpenSSL struct (#3025)Alex Gaynor2016-06-291-8/+1
|
* AES_ctr128_encrypt needs to be in macros as it's a conditional binding (#3023)Paul Kehrer2016-06-271-4/+4
|
* update RSA opaque getters/setters to latest code from openssl 1.1.0 master ↵Paul Kehrer2016-06-271-22/+20
| | | | | (#3022) constify + a few small changes to the null checks
* update DH opaque getters/setters to latest code from openssl 1.1.0 master ↵Paul Kehrer2016-06-271-14/+10
| | | | | (#3021) constify + a few small changes to the null checks
* update DSA opaque getters/setters to latest code from openssl 1.1.0 master ↵Paul Kehrer2016-06-271-15/+17
| | | | | (#3020) constify + a few small changes to the null checks