summaryrefslogtreecommitdiffstats
path: root/util/mkdef.pl
AgeCommit message (Collapse)Author
2017-06-07make error tables const and separate header fileRich Salz
Run perltidy on util/mkerr Change some mkerr flags, write some doc comments Make generated tables "const" when genearting lib-internal ones. Add "state" file for mkerr Renerate error tables and headers Rationalize declaration of ERR_load_XXX_strings Fix out-of-tree build Add -static; sort flags/vars for options. Also tweak code output Moved engines/afalg to engines (from master) Use -static flag Standard engine #include's of errors Don't linewrap err string tables unless necessary Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3392)
2017-04-10Fix util/mkdef.plRichard Levitte
The deprecation checking code here didn't work the same way as in Configure, and used $config{options} to find an --api= option that was never there. This is replaced with checking $config{api}, which is the controlling variable for deprecation. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3126)
2017-04-10Act on deprecation of LONG and ZLONG, step 3Richard Levitte
Teach util/mkdef.pl to recognise these lines: #if OPENSSL_API_COMPAT < 0xXXXXXXXXL #if OPENSSL_API_COMPAT >= 0xXXXXXXXXL and add corresponding markers in util/*.num A final 'make update' sets those markers right for LONG and ZLONG. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3126)
2017-04-10Publish our INT32, UINT32, INT64, UINT64 ASN.1 types and Z variantsRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3126)
2017-04-04Implement internal ASN.1 types INT32, UINT32, INT64, UINT64Richard Levitte
Also Z varieties. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3088)
2017-02-28Code health: Remove VAX exceptions in util/mkdef.plRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2793)
2017-02-21Implementation of the ARIA cipher as described in RFC 5794.Pauli
This implementation is written in endian agnostic C code. No attempt at providing machine specific assembly code has been made. This implementation expands the evptests by including the test cases from RFC 5794 and ARIA official site rather than providing an individual test case. Support for ARIA has been integrated into the command line applications, but not TLS. Implemented modes are CBC, CFB1, CFB8, CFB128, CTR, ECB and OFB128. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2337)
2017-02-01Add support for parameterized SipHashTodd Short
The core SipHash supports either 8 or 16-byte output and a configurable number of rounds. The default behavior, as added to EVP, is to use 16-byte output and 2,4 rounds, which matches the behavior of most implementations. There is an EVP_PKEY_CTRL that can control the output size. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2216)
2016-11-15Revert "Remove heartbeats completely"Richard Levitte
Done too soon, this is for future OpenSSL 1.2.0 This reverts commit 6c62f9e1639a7d1a879f363a99882920104dfedb. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-15Remove heartbeats completelyRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1669)
2016-10-17Allow older versions in the *.num filesMatt Caswell
In 1.1.0 we only allowed a strictly increasing version number in the *.num files, i.e. you could never introduce a symbol at the end of the *.num file with a lower version number than the one preceding it. This made sense for 1.1.0. However in master we may be introducing symbols for backport to 1.1.0. Therefore it is ok in master to have a symbol for version 1.1.0c coming after a symbol for version 1.1.1. This commit fixes the check in mkdef.pl to be a bit looser to allow this. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-10Remove trailing whitespace from some files.David Benjamin
The prevailing style seems to not have trailing whitespace, but a few lines do. This is mostly in the perlasm files, but a few C files got them after the reformat. This is the result of: find . -name '*.pl' | xargs sed -E -i '' -e 's/( |'$'\t'')*$//' find . -name '*.c' | xargs sed -E -i '' -e 's/( |'$'\t'')*$//' find . -name '*.h' | xargs sed -E -i '' -e 's/( |'$'\t'')*$//' Then bn_prime.h was excluded since this is a generated file. Note mkerr.pl has some changes in a heredoc for some help output, but other lines there lack trailing whitespace too. Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-08-05util/mkdef.pl: mark certain PEM function declarations with STDIORichard Levitte
The macros that produce PEM_write_FOO() andd PEM_read_FOO() only do so unless 'no-stdio' has been configured. mkdef.pl should mimic that by marking those functions with the "STDIO" algo. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-08include/openssl: don't include <windows.h> in public headers.Andy Polyakov
If application uses any of Windows-specific interfaces, make it application developer's respondibility to include <windows.h>. Rationale is that <windows.h> is quite "toxic" and is sensitive to inclusion order (most notably in relation to <winsock2.h>). It's only natural to give complete control to the application developer. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-05-16Fold threads.h into crypto.h making API publicViktor Dukhovni
Document thread-safe lock creation Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-10util/mkdef.pl: omit ordinals from Windows DLLs.Andy Polyakov
Reviewed-by: Stephen Henson <steve@openssl.org>
2016-04-22Fix no-cmac on Windows/VMSMatt Caswell
no-cmac was failing on Windows/VMS due to libcrypto.num not marking the CMAC functions properly. Found due to the new symbol consistency test. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-20Copyright consolidation: perl filesRich Salz
Add copyright to most .pl files This does NOT cover any .pl file that has other copyright in it. Most of those are Andy's but some are public domain. Fix typo's in some existing files. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-13Fix symbols missing from shared buildMatt Caswell
libssl needs to have access to some internal libcrypto symbols. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-08Add OCSP to mkdefRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-23Move dso.h to internalRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-18Implement support for no-tsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-17Remove Netware and OS/2Rich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-11Add blake2 support.Bill Cox
Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-10Run make updateKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> MR: #2296
2016-03-07GH812: Fix for no-ui build on WindowsMat
Add UI to known algorithms in mkdef.pl Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-05Change names of ordinals and libs, libeay => libcrypto and ssleay => libsslRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-02add kdf.h to mkdef.plDr. Stephen Henson
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-29Workaround for VisualStudio 2015 bugMatt Caswell
VisualStudio 2015 has a bug where an internal compiler error was occurring. By reordering the DEFINE_STACK_OF declarations for SSL_CIPHER and SSL_COMP until after the ssl3.h include everything seems ok again. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-02-26Public API for Certificate TransparencyRob Percival
Reviewed-by: Ben Laurie <ben@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-26Fix a mkdef.pl warningMatt Caswell
mkdef.pl was issuing the following error: Use of uninitialized value within %tag in numeric eq (==) at util/mkdef.pl line 560, <IN> line 92 This was because it was treating a __cplusplus "#ifdef" check as a "tag" but then skipping over the corresponding "#endif". Therefore after processing a file it still had "left over" tags from processing the previous file. It was also getting confused by "#if" checks that didn't match is pre-defined styles. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-26Implement new multi-threading APIAlessandro Ghedini
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-02-18Remove outdated DEBUG flags.Rich Salz
Add -DBIO_DEBUG to --strict-warnings. Remove comments about outdated debugging ifdef guards. Remove md_rand ifdef guarding an assert; it doesn't seem used. Remove the conf guards in conf_api since we use OPENSSL_assert, not assert. For pkcs12 stuff put OPENSSL_ in front of the macro name. Merge TLS_DEBUG into SSL_DEBUG. Various things just turned on/off asserts, mainly for checking non-NULL arguments, which is now removed: camellia, bn_ctx, crypto/modes. Remove some old debug code, that basically just printed things to stderr: DEBUG_PRINT_UNKNOWN_CIPHERSUITES, DEBUG_ZLIB, OPENSSL_RI_DEBUG, RL_DEBUG, RSA_DEBUG, SCRYPT_DEBUG. Remove OPENSSL_SSL_DEBUG_BROKEN_PROTOCOL. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-17Remove JPAKERich Salz
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-02-14Don't use libcrypto private headers with mkdef.plRichard Levitte
Three header files from crypto/include/internal were used by util/mkdef.pl. This should never be needed. Some test program used these, which made it a valid reason at the time to make the some internal symbols public in the shared libraries, but that's not the case any more. However, to be able to link libssl.so, some symbols found in include/internal headers still need to be made public. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-11Perl's chop / chomp considered bad, use a regexp insteadRichard Levitte
Once upon a time, there was chop, which somply chopped off the last character of $_ or a given variable, and it was used to take off the EOL character (\n) of strings. ... but then, you had to check for the presence of such character. So came chomp, the better chop which checks for \n before chopping it off. And this worked well, as long as Perl made internally sure that all EOLs were converted to \n. These days, though, there seems to be a mixture of perls, so lines from files in the "wrong" environment might have \r\n as EOL, or just \r (Mac OS, unless I'm misinformed). So it's time we went for the more generic variant and use s|\R$||, the better chomp which recognises all kinds of known EOLs and chops them off. A few chops were left alone, as they are use as surgical tools to remove one last slash or one last comma. NOTE: \R came with perl 5.10.0. It means that from now on, our scripts will fail with any older version. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10unified build scheme: add a "unified" template for VMS descrip.mmsRichard Levitte
As part of this, change util/mkdef.pl to stop adding libraries to depend on in its output. mkdef.pl should ONLY output a symbol vector. Because symbol names can't be longer than 31 characters, we use the compiler to shorten those that are longer down to 23 characters plus an 8 character CRC. To make sure users of our header files will pick up on that automatically, add the DEC C supported extra headers files __decc_include_prologue.h and __decc_include_epilogue.h. Furthermore, we add a config.com, so VMS people can configure just as comfortably as any Unix folks, thusly: @config Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-09unified build scheme: adjust some scriptsRichard Levitte
util/mkdef.pl and Makefile.shared needs to know about the source and the build directories. Additionally, Makefile.shared needs to know how to build shared libraries in a directory other than the current one. Reviewed-by: Ben Laurie <ben@openssl.org>
2016-01-28Remove extraneous output from util/mk scriptsRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-24Move pqueue into sslRich Salz
This is an internal facility, never documented, not for public consumption. Move it into ssl (where it's only used for DTLS). I also made the typedef's for pqueue and pitem follow our style: they name structures, not pointers. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-22Refactor file writing - Adapt util/mkdef.pl to use configdata.pmRichard Levitte
For this adaptation, the variables $options and $version needed to move to %config in Configure, and why not move all other variables holding diverse version numbers at the same time? Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-14Avoid the r modifier for s/// (perl)Richard Levitte
It seems that the r modifier for s/// is fairly new. It's reported not to exist in perl 5.10.1, so it's better to avoid it when possible. Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-01-14Add a no-egd option to disable EGD-related codeBenjamin Kaduk
The entropy-gathering daemon is used only on a small number of machines. Provide a configure knob so that EGD support can be disabled by default but re-enabled on those systems that do need it. Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
2016-01-12Make sure to have both upper and mixed case symbols in SYMBOL_VECTORRichard Levitte
It was assumed that the syntax FOO/Foo=PROCEDURE would create both an upper case and mixed case symbol in the GST. Not so, it requires having both FOO/Foo=PROCEDURE (to create the upper case alias) and Foo=PROCEDURE (to create the mixed case slot). We make sure that any symbol always occupies two slots (even those that don't exist) by filling up with SPARE when necessary. That will assure that any changes will still have the same symbols in the same slots no matter what (save a complete rewrite of the ordinals files). Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-12Use SPARE instead of PRIVATE_PROCEDURE to reserve unused SYMBOL_VECTOR slotsRichard Levitte
It was assumed that a dummy with the type PRIVATE_PROCEDURE would simply occupy a slot but otherwise ignore the symbol. Not so, but there is SPARE for that purpose. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-12The limit per SYMBOL_VECTOR isn't the amount of symbols, it's the line lengthRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-12VMS INDENTIFICATION should only have the version numberRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-11Have mkdef.pl use case sensitive symbols for shareable symbol vectorRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-11Enable/disable crypto-mdebug just like other featuresViktor Dukhovni
Also always abort() on leak failure. Reviewed-by: Stephen Henson <steve@openssl.org>
2016-01-11Disable some algorithms by defaultDr. Stephen Henson
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>