summaryrefslogtreecommitdiff
path: root/engines/e_padlock.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix the padlock engineBernd Edlinger2023-05-051-2/+13
| | | | | | | | | | | | | | ... after it was broken for almost 5 years, since the first 1.1.1 release. Note: The last working version was 1.1.0l release. Fixes #20073 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20146)
* Update copyright yearMatt Caswell2021-06-171-1/+1
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15801)
* fix coverity 1485660 improper use of negative valuePauli2021-06-081-1/+6
| | | | | Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15635)
* Rename all getters to use get/get0 in nameTomas Mraz2021-06-011-7/+7
| | | | | | | | | | | | | | For functions that exist in 1.1.1 provide a simple aliases via #define. Fixes #15236 Functions with OSSL_DECODER_, OSSL_ENCODER_, OSSL_STORE_LOADER_, EVP_KEYEXCH_, EVP_KEM_, EVP_ASYM_CIPHER_, EVP_SIGNATURE_, EVP_KEYMGMT_, EVP_RAND_, EVP_MAC_, EVP_KDF_, EVP_PKEY_, EVP_MD_, and EVP_CIPHER_ prefixes are renamed. Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15405)
* Don't clear the whole error stack when loading enginesMatt Caswell2020-11-061-1/+11
| | | | | | | | | | | | | Loading the various built-in engines was unconditionally clearing the whole error stack. During config file processing processing a .include directive which fails results in errors being added to the stack - but we carry on anyway. These errors were then later being removed by the engine loading code, meaning that problems with the .include directive never get shown. Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13311)
* deprecate enginesPauli2020-07-161-2/+2
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12226)
* Update copyright yearMatt Caswell2020-04-231-1/+1
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11616)
* Deprecate the low level AES functionsMatt Caswell2020-01-061-0/+6
| | | | | | | | | | | | Use of the low level AES functions has been informally discouraged for a long time. We now formally deprecate them. Applications should instead use the EVP APIs, e.g. EVP_EncryptInit_ex, EVP_EncryptUpdate, EVP_EncryptFinal_ex, and the equivalently named decrypt functions. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/10580)
* Deprecate the "hw" configuration options, make "padlockeng" disablableRichard Levitte2019-03-051-53/+50
| | | | | | | | | | | | | | | | | | | The "hw" and "hw-.*" style options are historical artifacts, sprung from the time when ENGINE was first designed, with hardware crypto accelerators and HSMs in mind. Today, these options have largely lost their value, replaced by options such as "no-{foo}eng" and "no-engine". This completes the transition by making "hw" and "hw-.*" deprecated, but automatically translated into more modern variants of the same. In the process, we get rid of the last regular expression in Configure's @disablables, a feature that was ill supported anyway. Also, padlock now gets treated just as every other engine. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8380)
* Make the padlock engine build correctlyRichard Levitte2019-02-271-3/+3
| | | | | Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8220)
* Following the license change, modify the boilerplates in engines/Richard Levitte2018-12-061-1/+1
| | | | | | | [skip ci] Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7832)
* Switch to MAJOR.MINOR.PATCH versioning and version 3.0.0-devRichard Levitte2018-12-061-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're strictly use version numbers of the form MAJOR.MINOR.PATCH. Letter releases are things of days past. The most central change is that we now express the version number with three macros, one for each part of the version number: OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR OPENSSL_VERSION_PATCH We also provide two additional macros to express pre-release and build metadata information (also specified in semantic versioning): OPENSSL_VERSION_PRE_RELEASE OPENSSL_VERSION_BUILD_METADATA To get the library's idea of all those values, we introduce the following functions: unsigned int OPENSSL_version_major(void); unsigned int OPENSSL_version_minor(void); unsigned int OPENSSL_version_patch(void); const char *OPENSSL_version_pre_release(void); const char *OPENSSL_version_build_metadata(void); Additionally, for shared library versioning (which is out of scope in semantic versioning, but that we still need): OPENSSL_SHLIB_VERSION We also provide a macro that contains the release date. This is not part of the version number, but is extra information that we want to be able to display: OPENSSL_RELEASE_DATE Finally, also provide the following convenience functions: const char *OPENSSL_version_text(void); const char *OPENSSL_version_text_full(void); The following macros and functions are deprecated, and while currently existing for backward compatibility, they are expected to disappear: OPENSSL_VERSION_NUMBER OPENSSL_VERSION_TEXT OPENSSL_VERSION OpenSSL_version_num() OpenSSL_version() Also, this function is introduced to replace OpenSSL_version() for all indexes except for OPENSSL_VERSION: OPENSSL_info() For configuration, the option 'newversion-only' is added to disable all the macros and functions that are mentioned as deprecated above. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7724)
* Update copyright yearMatt Caswell2018-09-111-1/+1
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7176)
* enable-ec_nistp_64_gcc_128: Fix function prototype warning [-Wstrict-prototypes]Nicola Tuveri2018-06-221-2/+2
| | | | | | | | | Fix prototype warnings triggered by -Wstrict-prototypes when configuring with `enable-ec_nistp_64_gcc_128` Reviewed-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/6556)
* Only build the body of e_padlock when there are lower level routinesRichard Levitte2016-11-151-7/+3
| | | | | | | | | | | | engines/e_padlock.c assumes that for all x86 and x86_64 platforms, the lower level routines will be present. However, that's not always true, for example for solaris-x86-cc, and that leads to build errors. The better solution is to have configure detect if the lower level padlock routines are being built, and define the macro PADLOCK_ASM if they are, and use that macro in our C code. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1510)
* Copyright consolidation 02/10Rich Salz2016-05-171-61/+6
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove obsolete defined(__INTEL__) condition.Andy Polyakov2016-05-021-2/+1
| | | | | | This macro was defined by no-longer-supported __MWERKS__ compiler. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Remove OPENSSL_NO_AES guardsMatt Caswell2016-04-131-44/+34
| | | | | | | no-aes is no longer a Configure option and therefore the OPENSSL_NO_AES guards can be removed. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Rename int_*() functions to *_int()Matt Caswell2016-04-131-2/+2
| | | | | | | | | | There is a preference for suffixes to indicate that a function is internal rather than prefixes. Note: the suffix is only required to disambiguate internal functions and public symbols with the same name (but different case) Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Rename lots of *_intern or *_internal function to int_*Matt Caswell2016-04-131-2/+2
| | | | | | | | There was a lot of naming inconsistency, so we try and standardise on one form. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Make sure the rand_byte buffer in padlock engine is cleansed.Richard Levitte2016-04-041-1/+1
| | | | | | Submitted by Michael McConville <mmcco@mykolab.com> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Move dso.h to internalRich Salz2016-03-231-1/+0
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Resolved unresolved symbols with no-hwMatt Caswell2016-03-181-7/+10
| | | | | | | Compiling on Windows with no-hw was resulting in unresolved symbols in the padlock engine. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Rename EVP_CIPHER_CTX_cipher_data to EVP_CIPHER_CTX_get_cipher_dataMatt Caswell2016-03-071-1/+1
| | | | | | | | We had the function EVP_CIPHER_CTX_cipher_data which is newly added for 1.1.0. As we now also need an EVP_CIPHER_CTX_set_cipher_data it makes more sense for the former to be called EVP_CIPHER_CTX_get_cipher_data. Reviewed-by: Tim Hudson <tjh@openssl.org>
* Auto init/deinit libcryptoMatt Caswell2016-02-091-2/+2
| | | | | | | This builds on the previous commit to auto initialise/deinitialise libcrypto. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Adapt all engines that need it to opaque EVP_CIPHERRichard Levitte2016-01-121-44/+56
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Adapt cipher implementations to opaque EVP_CIPHER_CTXRichard Levitte2016-01-121-20/+21
| | | | | | | | Note: there's a larger number of implementations in crypto/evp/ that aren't affected because they include evp_locl.h. They will be handled in a separate commit. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Continue malloc standardisation in enginesMatt Caswell2015-11-091-1/+1
| | | | | | Continuing from previous work standardise use of malloc in the engine code. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* memset, memcpy, sizeof consistency fixesRich Salz2015-05-051-1/+1
| | | | | | | | Just as with the OPENSSL_malloc calls, consistently use sizeof(*ptr) for memset and memcpy. Remove needless casts for those functions. For memset, replace alternative forms of zero with 0. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Live code cleanup: remove #if 1 stuffRich Salz2015-02-061-3/+4
| | | | | | | For code bracketed by "#if 1" then remove the alternate "#else .. #endif" lines. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Run util/openssl-format-source -v -c .Matt Caswell2015-01-221-553/+572
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* mark all block comments that need format preserving so thatTim Hudson2014-12-301-1/+1
| | | | | | | indent will not alter them when reformatting comments Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* RT1815: More const'ness improvementsJustin Blanchard2014-08-181-1/+1
| | | | | | | | Add a dozen more const declarations where appropriate. These are from Justin; while adding his patch, I noticed ASN1_BIT_STRING_check could be fixed, too. Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
* Configure: reimplement commit#21695.Andy Polyakov2011-11-151-2/+2
|
* Fix some warnings caused by __owur. Temporarily (I hope) remove the moreBen Laurie2011-11-141-2/+2
| | | | aspirational __owur annotations.
* e_padlock: add CTR mode.Andy Polyakov2011-10-051-3/+45
|
* Padlock engine: make it independent of inline assembler.Andy Polyakov2011-09-061-788/+181
|
* e_padlock.c: fix typo.Andy Polyakov2011-05-251-1/+1
|
* e_padlock.c: last x86_64 commit didn't work with some optimizers.Andy Polyakov2011-05-241-13/+15
|
* e_padlock.c: make it compile on MacOS X.Andy Polyakov2011-05-181-7/+11
|
* stop warnings about no previous prototype when compiling shared enginesDr. Stephen Henson2011-01-301-0/+10
|
* e_padlock.c: fix typo (missing #endif) and switch to __builtin_allocaAndy Polyakov2009-05-121-5/+6
| | | | | | (with introduction of 64-bit support alloca must be declared and there is no standard way of doing that, switching to __bultin_alloca is considered appropriate because code explicitly targets gcc anyway).
* Make sure the padlock code compiles correctly even on hardware thatRichard Levitte2009-05-061-1/+6
| | | | doesn't have padlocks.
* e_padlock: add support for x86_64 gcc.Andy Polyakov2009-04-261-18/+122
|
* Revert another size_t change.Dr. Stephen Henson2008-11-121-1/+1
|
* Fix warnings: printf format mismatches on 64 bit platforms.Dr. Stephen Henson2008-11-021-1/+1
| | | | | Change assert to OPENSSL_assert(). Fix e_padlock prototype.
* Netware support.Dr. Stephen Henson2008-01-031-0/+3
| | | | Submitted by: Guenter Knauf <eflash@gmx.net>
* Avoid warning.Dr. Stephen Henson2007-11-201-2/+2
|
* Padlock engine fails to compile with -O0 -fPIC.Andy Polyakov2007-05-201-1/+1
|
* Move eng_padlock.c to ./engines.Andy Polyakov2006-12-291-0/+1218
Submitted by: Michal Ludvig <michal@logix.cz>