aboutsummaryrefslogtreecommitdiffstats
path: root/util/mkdef.pl
Commit message (Collapse)AuthorAgeFilesLines
* Allow older versions in the *.num filesMatt Caswell2016-10-171-2/+1
| | | | | | | | | | | | | 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>
* Remove trailing whitespace from some files.David Benjamin2016-10-101-4/+4
| | | | | | | | | | | | | | | | | | 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>
* util/mkdef.pl: mark certain PEM function declarations with STDIORichard Levitte2016-08-051-4/+4
| | | | | | | | 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>
* include/openssl: don't include <windows.h> in public headers.Andy Polyakov2016-07-081-1/+2
| | | | | | | | | | | 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>
* Fold threads.h into crypto.h making API publicViktor Dukhovni2016-05-161-1/+0
| | | | | | Document thread-safe lock creation Reviewed-by: Richard Levitte <levitte@openssl.org>
* util/mkdef.pl: omit ordinals from Windows DLLs.Andy Polyakov2016-05-101-4/+4
| | | | Reviewed-by: Stephen Henson <steve@openssl.org>
* Fix no-cmac on Windows/VMSMatt Caswell2016-04-221-0/+1
| | | | | | | 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>
* Copyright consolidation: perl filesRich Salz2016-04-201-1/+8
| | | | | | | | | 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>
* Fix symbols missing from shared buildMatt Caswell2016-04-131-0/+1
| | | | | | | libssl needs to have access to some internal libcrypto symbols. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add OCSP to mkdefRich Salz2016-04-081-0/+1
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Move dso.h to internalRich Salz2016-03-231-1/+1
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Implement support for no-tsRichard Levitte2016-03-181-0/+2
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Remove Netware and OS/2Rich Salz2016-03-171-22/+5
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Add blake2 support.Bill Cox2016-03-111-1/+1
| | | | | Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Run make updateKurt Roeckx2016-03-101-2/+2
| | | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> MR: #2296
* GH812: Fix for no-ui build on WindowsMat2016-03-071-0/+2
| | | | | | | Add UI to known algorithms in mkdef.pl Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Change names of ordinals and libs, libeay => libcrypto and ssleay => libsslRichard Levitte2016-03-051-17/+17
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* add kdf.h to mkdef.plDr. Stephen Henson2016-03-021-0/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Workaround for VisualStudio 2015 bugMatt Caswell2016-02-291-1/+2
| | | | | | | | 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>
* Public API for Certificate TransparencyRob Percival2016-02-261-2/+3
| | | | | Reviewed-by: Ben Laurie <ben@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Fix a mkdef.pl warningMatt Caswell2016-02-261-1/+9
| | | | | | | | | | | | | | | 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>
* Implement new multi-threading APIAlessandro Ghedini2016-02-261-0/+1
| | | | | Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Remove outdated DEBUG flags.Rich Salz2016-02-181-1/+0
| | | | | | | | | | | | | | | | | 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>
* Remove JPAKERich Salz2016-02-171-3/+0
| | | | Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Don't use libcrypto private headers with mkdef.plRichard Levitte2016-02-141-3/+2
| | | | | | | | | | | | | 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>
* Perl's chop / chomp considered bad, use a regexp insteadRichard Levitte2016-02-111-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* unified build scheme: add a "unified" template for VMS descrip.mmsRichard Levitte2016-02-101-18/+15
| | | | | | | | | | | | | | | | | | | 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>
* unified build scheme: adjust some scriptsRichard Levitte2016-02-091-5/+8
| | | | | | | | | | 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>
* Remove extraneous output from util/mk scriptsRich Salz2016-01-281-12/+9
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Move pqueue into sslRich Salz2016-01-241-1/+0
| | | | | | | | | | | 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>
* Refactor file writing - Adapt util/mkdef.pl to use configdata.pmRichard Levitte2016-01-221-16/+5
| | | | | | | | | 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>
* Avoid the r modifier for s/// (perl)Richard Levitte2016-01-141-1/+1
| | | | | | | | 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>
* Add a no-egd option to disable EGD-related codeBenjamin Kaduk2016-01-141-0/+2
| | | | | | | | 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>
* Make sure to have both upper and mixed case symbols in SYMBOL_VECTORRichard Levitte2016-01-121-3/+8
| | | | | | | | | | | | | | 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>
* Use SPARE instead of PRIVATE_PROCEDURE to reserve unused SYMBOL_VECTOR slotsRichard Levitte2016-01-121-1/+1
| | | | | | | | 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>
* The limit per SYMBOL_VECTOR isn't the amount of symbols, it's the line lengthRichard Levitte2016-01-121-14/+19
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* VMS INDENTIFICATION should only have the version numberRichard Levitte2016-01-121-1/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Have mkdef.pl use case sensitive symbols for shareable symbol vectorRichard Levitte2016-01-111-0/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Enable/disable crypto-mdebug just like other featuresViktor Dukhovni2016-01-111-1/+0
| | | | | | Also always abort() on leak failure. Reviewed-by: Stephen Henson <steve@openssl.org>
* Disable some algorithms by defaultDr. Stephen Henson2016-01-111-0/+3
| | | | Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Future-proof deprecated declartion parsingViktor Dukhovni2016-01-091-1/+2
| | | | | | | Support two-digest major/minor/micro numbers and die when the input fails to parse Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
* Add DEPRECATEDIN support.Dr. Stephen Henson2016-01-091-10/+42
| | | | Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* remove hard coded algorithmsDr. Stephen Henson2016-01-091-15/+0
| | | | Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Recognise disabled algorithms automatically.Dr. Stephen Henson2016-01-091-125/+14
| | | | Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Fix no CRYPTO_MDEBUG build (windows)Rich Salz2016-01-081-1/+4
| | | | | | | | | In order for mkdep to find #ifdef'd functions, they must be wrapped (in the header file) with #ifndef OPENSSL_NO_... So do that for various CRYPTO_mem_debug... things. Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Remove all remaining traces if PEM_SealRichard Levitte2016-01-081-1/+0
| | | | Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
* Enhance util/mkdef.pl to provide a VMS linker option file for shlibsRichard Levitte2016-01-071-22/+76
| | | | Reviewed-by: Tim Hudson <tjh@openssl.org>
* Remove more (rest?) of FIPS build stuff.Rich Salz2016-01-061-12/+2
| | | | Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
* Fix updating via mkdef.plMatt Caswell2015-12-151-10/+14
| | | | | | | | The previous commit introduced a new file format for ssleay.num and libeay.num, i.e. the introduction of a version field. Therefore the update capability in mkdef.pl needs updating to take account of the new format. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Don't export internal symbolsMatt Caswell2015-12-151-44/+226
| | | | | | | | | | | On Linux when creating the .so file we were exporting all symbols. We should only be exporting public symbols. This commit fixes the issue. It is only applicable to linux currently although the same technique may work for other platforms (e.g. Solaris should work the same way). This also adds symbol version information to our exported symbols. Reviewed-by: Richard Levitte <levitte@openssl.org>