summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/crypto.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Partial port of EC_KEY_METHOD from OpenSSL 1.1.tb2019-01-191-1/+2
| | | | | | | This commit adds init/free, support for signing, setting and getting the method, engine support as well as extra data. from markus
* Add back a few missing compatibility stubsbcook2018-11-111-3/+1
| | | | ok beck@
* Add automatic threading initialization for libcrypto.bcook2018-11-111-29/+25
| | | | | | | | | | | | | | This implements automatic thread support initialization in libcrypto. This does not remove any functions from the ABI, but does turn them into no-ops. Stub implementations of pthread_mutex_(init|lock|unlock) are provided for ramdisks. This does not implement the new OpenSSL 1.1 thread API internally, keeping the original CRYTPO_lock / CRYPTO_add_lock functions for library locking. For -portable, crypto_lock.c can be reimplemented with OS-specific primitives as needed. ok beck@, tb@, looks sane guenther@
* Let CRYPTO_mem_leaks{,_fp,_cb}() return -1.tb2018-08-241-5/+5
| | | | | | | | | These functions are no-ops. Their signature was changed by OpenSSL to allow error checking. This way we return an error and do not indicate the (non-)existence of memory leaks. tested in a bulk by sthen ok jsing
* Use recallocarray() instead of OPENSSL_realloc_clean().jsing2018-05-131-1/+3
| | | | | | | Also place all of the OPENSSL_* memory related prototypes under #ifndef LIBRESSL_INTERNAL. ok beck@ tb@
* Correct mistake of loading the default openssl.conf by default during autoinit.beck2018-03-191-2/+2
| | | | | | | | This brings in the OPENSSL_INIT_LOAD_CONFIG flag with the same semantics as OpenSSL. As a result, by default the openssl.conf file is not loaded during autoinit, which makes autoinit safe for pledge(stdio). ok jsing@
* Fix a typo: OPENSSL_INIT_LOAD_CONFIG doesn't have double underbars.tb2018-03-181-2/+2
| | | | | | Found via port build failures reported by sthen. ok jsing
* Bring in compatibility for OpenSSL 1.1 style init functions.beck2018-03-171-1/+35
| | | | | | | | | This adds OPENSSL_init_crypto and OPENSSL_init_ssl, as well thread safety modifications for the existing LibreSSL init functions. The initialization routines are called automatically by the normal entry points into the library, as in newer OpenSSL ok jsing@, nits by tb@ and deraadt@
* Start providing parts of the OpenSSL 1.1 API.jsing2018-02-141-1/+9
| | | | | | | | | | This will ease the burden on ports and others trying to make software work with LibreSSL, while avoiding #ifdef mazes. Note that we are not removing 1.0.1 API or making things opaque, hence software written to use the older APIs will continue to work, as will software written to use the 1.1 API (as more functionality become available). Discussed at length with deraadt@ and others.
* Stop calling OPENSSL_init() internally, since it is a no-op. Also placejsing2017-04-291-2/+2
| | | | | | it under #ifndef LIBRESSL_INTERNAL. ok beck@
* include stdint.h for uint64_tbcook2015-09-171-1/+2
| | | | noted by Bernard Spil
* Since a major bump of libcrypto is coming, remove OPENSSL_ia32cap andmiod2015-09-131-4/+1
| | | | | OPENSSL_ia32cap_loc; nothing in ports uses them besides embedded copies of OpenSSL. This opens the `all hell gets loose' window.
* Add a new interface, OPENSSL_cpu_caps(), to return the currently runningmiod2015-09-131-1/+4
| | | | | | | | | | | | | cpu's specific hardware capabilities users of libcrypto might be interested in, as an integer value. This deprecates the existing OPENSSL_ia32cap() macro and the OPENSSL_ia32cap_loc() function (which returns the pointer so that you can mess with stuff you shouldn't mess with). Interpreting the value returned by OPENSSL_cpu_caps() is, of course, machine-dependent. Minor version bump for libcrypto. ok beck@ jsing@
* Put OPENSSL_cleanse under #ifndef LIBRESSL_INTERNAL.jsing2015-09-101-1/+4
|
* CRYPTO_set_mem_debug_functions() and CRYPTO_set_mem_functions() are alreadyjsing2015-09-101-18/+3
| | | | | | | | | noops, so neuter the CRYPTO_malloc_init and CRYPTO_malloc_debug_init macros. With input from miod@ ok beck@ bcook@ miod@
* Put CRYPTO_memcmp() under #ifndef LIBRESSL_INTERNAL.jsing2015-06-201-1/+3
| | | | ok doug@ deraadt@
* Send OPENSSL_issetugid() straight to hell, no final cigarette.deraadt2015-04-111-3/+1
| | | | | | | | | | | | | | | | | | | The issetugid() API is supposed to make a strong promise where "0 means it is safe to look at the environment". Way back in the past someone on the OpenSSL team responded to the environment access danger by creating a wrapper called OPENSSL_issetugid, and went to use it a number of places. However, by default on systems lacking true issetugid(), OPENSSL_issetugid returns 0. 0 indicating safely. False safety. Which means OPENSSL_issetugid() fails to make any sort of promise about safety, in fact it is just the opposite. Can you believe the OpenSSL team? This nastiness was noticed over the years, however noone could gain traction and get it fixed in OpenSSL. Also see a paragraph about this in http://www.tedunangst.com/flak/post/worst-common-denominator-programming ok jsing
* Delete a lot of #if 0 code in libressl.doug2015-02-071-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | There are a few instances where #if 1 is removed but the code remains. Based on the following OpenSSL commits. Some of the commits weren't strictly deletions so they are going to be split up into separate commits. 6f91b017bbb7140f816721141ac156d1b828a6b3 3d47c1d331fdc7574d2275cda1a630ccdb624b08 dfb56425b68314b2b57e17c82c1df42e7a015132 c8fa2356a00cbaada8963f739e5570298311a060 f16a64d11f55c01f56baa62ebf1dec7f8fe718cb 9ccc00ef6ea65567622e40c49aca43f2c6d79cdb 02a938c953b3e1ced71d9a832de1618f907eb96d 75d0ebef2aef7a2c77b27575b8da898e22f3ccd5 d6fbb194095312f4722c81c9362dbd0de66cb656 6f1a93ad111c7dfe36a09a976c4c009079b19ea1 1a5adcfb5edfe23908b350f8757df405b0f5f71f 8de24b792743d11e1d5a0dcd336a49368750c577 a2b18e657ea1a932d125154f4e13ab2258796d90 8e964419603d2478dfb391c66e7ccb2dcc9776b4 32dfde107636ac9bc62a5b3233fe2a54dbc27008 input + ok jsing@, miod@, tedu@
* Explicitly include <openssl/opensslconf.h> in every file that referencesjsing2014-07-101-5/+4
| | | | | | | | | an OPENSSL_NO_* define. This avoids relying on something else pulling it in for us, plus it fixes several cases where the #ifndef OPENSSL_NO_XYZ is never going to do anything, since OPENSSL_NO_XYZ will never defined, due to the fact that opensslconf.h has not been included. This also includes some miscellaneous sorting/tidying of headers.
* Remove ancient workaround for previous century's compilers in the declarationmiod2014-06-241-2/+1
| | | | of CRYPTO_EX_DATA; riding upon the libcrypto major bump.
* tags as requested by miod and teduderaadt2014-06-121-1/+1
|
* Add a deprecated attribute to all CRYPTO_dbg_ functions.miod2014-06-011-10/+10
| | | | ok deraadt@
* Everything sane has stdio, and FILE *. we don't need ifdefs for this.beck2014-05-291-4/+0
| | | | ok to firebomb from tedu@
* define LIBRESSL_INTERNAL, and use it to hide the bad stuff from ourselvestedu2014-05-251-1/+2
| | | | ok beck
* Almost nothing actually needs to include <openssl/e_os2.h>, however byjsing2014-05-241-1/+1
| | | | | | | including it they get <openssl/opensslconf.h>. So instead of pulling in <openssl/e_os2.h>, just pull in <openssl/opensslconf.h>. "go ahead" miod@
* don't deprecate until at least the base src tree is clean.tedu2014-05-231-12/+8
|
* Mark the malloc wrapper functions as deprecated so warnings willbeck2014-05-221-8/+12
| | | | | happen on their use. ok miod@
* Remove fips_md_init() macro indirection for digest algorithms, used by themiod2014-05-011-6/+0
| | | | | | | OpenSSL FIPS module to prevent forbidden digests to be allowed. No functional change but readability. ok deraadt@
* More KNF.jsing2014-04-201-8/+8
|
* typomiod2014-04-181-1/+1
|
* Fully kill FIPS API. Forcible certification conflicts with the goals of atedu2014-04-171-3/+0
| | | | | | free software project. ok beck deraadt Ports calling FIPS_mode_set(1): mongodb
* remove FIPS mode support. people who require FIPS can buy something thattedu2014-04-151-16/+0
| | | | | meets their needs, but dumping it in here only penalizes the rest of us. ok beck deraadt
* Send the rotIBM stream cipher (ebcdic) to Valhalla to party for eternitybeck2014-04-151-4/+0
| | | | | with the bearded ones... some API's that nobody should be using will dissapear with this commit.
* First pass at applying KNF to the OpenSSL code, which almost makes itjsing2014-04-151-67/+59
| | | | | readable. This pass is whitespace only and can readily be verified using tr and md5.
* Cope with the removal of openssl/symhacks.hderaadt2014-04-131-4/+0
|
* Merge conflicts; remove MacOS, Netware, OS/2, VMS and Windows build machinery.miod2014-04-131-2/+9
|
* resolve conflictsdjm2012-10-131-0/+29
|
* resolve conflicts, fix local changesdjm2010-10-011-74/+30
|
* resolve conflictsdjm2009-01-091-8/+76
|
* update to openssl-0.9.8i; tested by several, especially krw@djm2009-01-051-0/+1
|
* resolve conflictsdjm2008-09-061-75/+107
|
* resolve conflictsdjm2006-06-271-4/+1
|
* resolve conflictsdjm2005-04-291-1/+60
|
* merge 0.9.7b with local changes; crank majors for libssl/libcryptomarkus2003-05-121-27/+38
|
* OpenSSL 0.9.7 stable 2002 05 08 mergebeck2002-05-151-31/+79
|
* openssl-engine-0.9.6a mergebeck2001-06-221-0/+2
|
* openssl-engine-0.9.6 mergebeck2000-12-151-29/+57
|
* OpenSSL 0.9.5 mergebeck2000-03-191-83/+121
| | | | | | *warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2 if you are using the ssl26 packages for ssh and other things to work you will need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs
* OpenSSL 0.9.4 mergebeck1999-09-291-86/+102
|
* Import of SSLeay-0.9.0b with RSA and IDEA stubbed + OpenBSD buildryker1998-10-051-0/+319
functionality for shared libs. Note that routines such as sslv2_init and friends that use RSA will not work due to lack of RSA in this library. Needs documentation and help from ports for easy upgrade to full functionality where legally possible.