Compare commits

..

85 Commits

Author SHA1 Message Date
Richard Levitte
f254b540b8 Time to release OpenSSL 0.9.8.
The tag will be OpenSSL_0_9_8.
2005-07-05 18:49:43 +00:00
Richard Levitte
11024f252e make update 2005-07-05 18:41:28 +00:00
Richard Levitte
9d5cba17ba We don't support no-engine for now. It's a lot more work than one
might imagine.
2005-07-05 18:32:37 +00:00
Richard Levitte
1d01c9d43d Last additions to the release documentation. 2005-07-05 18:32:05 +00:00
Andy Polyakov
e32ea81876 Mention Win64 support in CHANGES and throw in building instructions. 2005-07-05 10:53:13 +00:00
Richard Levitte
ef8a18f49b Add libcrypto.pc and libssl.pc, and install them along with openssl.pc.
PR: 1143
2005-07-05 05:14:21 +00:00
Andy Polyakov
b914049c53 Get rid of "unary minus applied to unsigned type" warning. 2005-07-04 23:30:31 +00:00
Andy Polyakov
dabaea8048 To secure Win64 API I'm throwing in this minimalistic Win64 support. 2005-07-04 23:24:12 +00:00
Dr. Stephen Henson
09c1a425a9 Add utf8 options to ca utility.
PR:1109
2005-07-04 23:04:28 +00:00
Richard Levitte
8c6fed007f The private key should never have ended up in newreq.pem.
Now, it ends up in newkey.pem instead.
2005-07-04 21:44:22 +00:00
Andy Polyakov
2e39604021 Fix bugs in bug-fix to x509/by_dir.c [from HEAD].
PR: 1131
2005-07-03 13:15:53 +00:00
Andy Polyakov
fbfb947b21 Bugfix for bn_div_words PPC assembler implementation [from HEAD]. 2005-07-03 09:23:57 +00:00
Nils Larsch
8b963f4ba4 initialize newly allocated data
PR: 1145
2005-07-01 16:15:48 +00:00
Dr. Stephen Henson
9152f07eaf Check PKCS7 structures in PKCS#12 files are of type data. 2005-06-30 11:34:27 +00:00
Richard Levitte
35f70c09f5 Actually, the 64bit format specifier differs between SIXTY_FOUR_BIT and
SIXTY_FOUR_BIT_LONG
2005-06-29 18:48:12 +00:00
Richard Levitte
cc4cba7b5d asn1parse doesn't support any TXT format, so let's stop pretending
it does.
2005-06-28 15:44:18 +00:00
Nils Larsch
6b695fefd0 remove OPENSSL_NO_ASM dependency 2005-06-28 15:03:58 +00:00
Ben Laurie
910d193029 Did you know it was wrong to use a char as an array index? 2005-06-28 13:27:53 +00:00
Ben Laurie
f18dd687c8 Nasty fix for another warning, but all I have the patience for right now. 2005-06-28 13:07:46 +00:00
Ben Laurie
50d5376698 Replace missing character deleted in error. 2005-06-28 12:53:33 +00:00
Ben Laurie
5b9b62a7db Fix warning. 2005-06-28 12:41:35 +00:00
Ben Laurie
c0e29e5b01 Fix warnings. 2005-06-28 12:32:48 +00:00
Andy Polyakov
2f03129d46 bn.h update from HEAD. 2005-06-28 11:52:52 +00:00
Andy Polyakov
b44e2d3416 x86nasm.pl update from HEAD. 2005-06-28 11:30:12 +00:00
Andy Polyakov
564915681c PROBLEMS update from HEAD. 2005-06-28 10:00:08 +00:00
Andy Polyakov
a24b7eeb87 Makefile updates from HEAD [see http://cvs.openssl.org/chngview?cn=14099
for further details].
2005-06-28 09:10:19 +00:00
Richard Levitte
0215c01861 There are a few showstoppers. Unfortunately, I only remember one. Please fill this in. 2005-06-28 05:55:24 +00:00
Andy Polyakov
beae6324e5 Eliminate dependency on UNICODE macro. 2005-06-27 21:21:12 +00:00
Andy Polyakov
71a61c573e Fix typos in apps/apps.c. 2005-06-27 15:58:55 +00:00
Dr. Stephen Henson
6b3b632767 Sync libeay.num 2005-06-27 00:43:22 +00:00
Andy Polyakov
2a2fa04b7b Unify some SCO targets [from HEAD]. 2005-06-26 18:10:20 +00:00
Andy Polyakov
79b81d194b Configure/TABLE update from HEAD. 2005-06-26 17:18:45 +00:00
Andy Polyakov
ef04c9aff8 IA64 RC4 update from HEAD [see commentary in HEAD for details].
PR: 1114
2005-06-26 16:14:22 +00:00
Richard Levitte
7f85197c10 Further successes with the latest snapshot. 2005-06-24 22:23:54 +00:00
Andy Polyakov
ff0bfe64af Replace emms with finit in x86cpuid. 2005-06-24 16:34:46 +00:00
Dr. Stephen Henson
44b3a3a5e6 Add Argen root CAs. 2005-06-24 10:54:36 +00:00
Richard Levitte
7e3033aa93 Someone did some cutting and pasting and didn't quite finish the job :-).
Notified by Steffen Pankratz <kratz00@gmx.de>
2005-06-24 05:13:18 +00:00
Richard Levitte
8bdbf50772 Wrap the inclusion of openssl/engine.h with a protective check for
the absence of OPENSSL_NO_ENGINE.
2005-06-23 22:08:41 +00:00
Richard Levitte
ec33a76641 Wrap the inclusion of openssl/engine.h with a protective check for
the absence of OPENSSL_NO_ENGINE.

PR: 1123
2005-06-23 21:57:37 +00:00
Richard Levitte
00ce9376c7 Do not defined des_crypt(), since it clashes with Solaris crypt.h.
PR: 1125
2005-06-23 21:53:52 +00:00
Richard Levitte
46e7a9797e Initialise dir to avoid a compiler warning. 2005-06-23 21:49:18 +00:00
Richard Levitte
7006c4ac88 The NAME section of a man page is required to have a dash followed by a
short description, at least according to pod2man.

PR: 1127
2005-06-23 21:45:32 +00:00
Richard Levitte
a50a2126cf DCC doesn't like argument names in returned function pointers.
PR: 1122
2005-06-23 21:35:20 +00:00
Richard Levitte
07f7b4b470 Update for Stratus VOS.
PR: 1130
2005-06-23 21:27:13 +00:00
Richard Levitte
7e726e42f4 Configure update for Stratus VOS.
PR: 1129
2005-06-23 21:20:31 +00:00
Richard Levitte
40ba0257de Change dir_ctrl to check for the environment variable before using the default
directory instead of the other way around.

PR: 1131
2005-06-23 21:14:10 +00:00
Richard Levitte
3fbd5f9fea Strip the engine shared libraries as well.
Submitted by Corinna Vinschen <vinschen@redhat.com>
2005-06-23 20:55:35 +00:00
Andy Polyakov
57b2246d35 Darwin specific update from HEAD. 2005-06-23 20:47:54 +00:00
Andy Polyakov
2a5b22d6f9 Missed -c in IRIX rule. 2005-06-23 20:38:19 +00:00
Andy Polyakov
f247dc7522 IRIX upadte from HEAD. 2005-06-23 16:47:21 +00:00
Andy Polyakov
e6531253e2 HP-UX specific update to Makefile.shared. 2005-06-23 15:39:19 +00:00
Richard Levitte
c938babf00 A number of architectures noted so far. 2005-06-23 06:31:08 +00:00
Andy Polyakov
bf3900020f no-asm didn't prevent make from compiling assembler modules [from HEAD]. 2005-06-22 23:50:07 +00:00
Dr. Stephen Henson
586df3bb7f Typo. 2005-06-22 18:54:05 +00:00
Dr. Stephen Henson
c4b13b0268 Reorder extensions to account for synced OID table. 2005-06-22 17:28:55 +00:00
Dr. Stephen Henson
daef72316f Sync OID database with 0.9.7. 2005-06-22 17:26:24 +00:00
Dr. Stephen Henson
1f93c96e63 Fix extension ordering. 2005-06-22 13:25:38 +00:00
Richard Levitte
8aa9c79276 Tagging is done, we're moving on. 2005-06-21 05:56:26 +00:00
Richard Levitte
09a7f2e734 Prepare for a release of 0.9.8-beta6. This is supposed to be the
final beta.
The tag will be OpenSSL_0_9_8-beta6
2005-06-21 05:49:47 +00:00
Richard Levitte
b2d27e376d Some new news. 2005-06-21 05:46:41 +00:00
Richard Levitte
644c4af11e make update 2005-06-21 05:28:47 +00:00
Richard Levitte
ca3dc3a0a0 DEVRANDOM, not DEBRANDOM... 2005-06-21 04:41:31 +00:00
Richard Levitte
2b975dfd5b Do no try to pretend we're at the end of anything unless we're at the end
of a 4-character block.
2005-06-20 22:11:28 +00:00
Richard Levitte
0932892278 Check for 'usage' and 'Usage'.
Submitted by Tim Rice <tim@multitalents.net>.  His comment is:

I noticed "make report" didn't show the cc version on most of
my System V platforms. This patch corrects this.
2005-06-20 20:49:05 +00:00
Andy Polyakov
fe0b3d98c2 Refine ELF detection on BSD platforms. 2005-06-20 17:36:19 +00:00
Andy Polyakov
8d56c8b51c Solaris x86_64 /usr/ccs/bin/as support. 2005-06-20 14:50:26 +00:00
Richard Levitte
d8e6409336 Add crypto/bn/bn_prime.h to the collection of generated files. In the
update target, place the dependency on depend last, so all necessary files
are generated *before* the dependencies are figured out.

PR: 1121
2005-06-20 04:29:56 +00:00
Richard Levitte
a4ae746656 With DJGPP, it seems like the return code from grep, even when in the
middle of a pipe, is noted.  Counter that by forcing a true return code
when the return code has no importance.

PR: 1085
2005-06-19 20:31:32 +00:00
Richard Levitte
331a0a7b9b Undefine DECRANDOM before redefining it.
PR: 1110
2005-06-19 20:20:33 +00:00
Richard Levitte
c630a3e8d6 Add better documentation on how id_function() should be defined and what
issues there are.

PR: 1096
2005-06-18 05:52:23 +00:00
Richard Levitte
7435d89edf Move the definition of DEVRANDOM for DJGPP from Configure to e_os.h.
That should solve the issues with propagating it through the Makefiles.

PR: 1110
2005-06-18 04:42:34 +00:00
Richard Levitte
14557c8be4 Only define ZLIB_SHARED if it hasn't already been defined (on the command
line, for example).

PR: 1112
2005-06-18 04:32:23 +00:00
Richard Levitte
98b4995bad Have pod2man.pl accept '=for comment ...' before the '=head1 NAME' line.
PR: 1113
2005-06-18 04:27:15 +00:00
Nils Larsch
3000bdcc3a clear dso pointer in case of an error
PR: 816
2005-06-17 21:27:28 +00:00
Nils Larsch
cbe77a6753 update for the cswift engine:
- fix the problem described in bug report 825
- fix a segfault when the engine fails to initialize
- let the engine switch to software when keysize > 2048

PR: 825, 826
Submitted by: Frédéric Giudicelli
2005-06-17 20:43:05 +00:00
Richard Levitte
c58a1f76f8 Do not undefine _XOPEN_SOURCE. This is currently experimental, and
will be firmed up as soon as it's been verified not to break anything.
2005-06-16 22:19:14 +00:00
Dr. Stephen Henson
ecf2875ebf Don't strip extensions from header filenames in mk1mf.pl. 2005-06-16 02:16:50 +00:00
Dr. Stephen Henson
ce2c19e357 Update from head. 2005-06-16 02:05:57 +00:00
Richard Levitte
1b1081a3ed 0.9.8-beta5 works on Gentoo/arml but not /armb, and works on Linux AMD64 2005-06-14 05:42:56 +00:00
Richard Levitte
37b200389a Data about which Cygwin versions 0.9.8-beta5 work on 2005-06-13 17:10:07 +00:00
Richard Levitte
6b5a8f3a22 0.9.8-beta5 works on SuSE 9.3 2005-06-13 17:03:17 +00:00
Richard Levitte
0b18d8b0c7 0.9.8-beta5 works on Cygwin 2005-06-13 17:00:25 +00:00
Nils Larsch
3d187ede47 update FAQ 2005-06-13 08:36:38 +00:00
Richard Levitte
f3b9c34515 0.9.8-beta5 works on VMS/Alpha 2005-06-13 04:17:24 +00:00
Richard Levitte
c923394924 Now that beta5 is tagged, lets continue with beta6. 2005-06-13 03:48:22 +00:00
89 changed files with 2024 additions and 1675 deletions

19
CHANGES
View File

@@ -2,7 +2,24 @@
OpenSSL CHANGES
_______________
Changes between 0.9.7h and 0.9.8 [xx XXX xxxx]
Changes between 0.9.7h and 0.9.8 [05 Jul 2005]
*) Add libcrypto.pc and libssl.pc for those who feel they need them.
[Richard Levitte]
*) Change CA.sh and CA.pl so they don't bundle the CSR and the private
key into the same file any more.
[Richard Levitte]
*) Add initial support for Win64, both IA64 and AMD64/x64 flavors.
[Andy Polyakov]
*) Add -utf8 command line and config file option to 'ca'.
[Stefan <stf@udoma.org]
*) Removed the macro des_crypt(), as it seems to conflict with some
libraries. Use DES_crypt().
[Richard Levitte]
*) Correct naming of the 'chil' and '4758cca' ENGINEs. This
involves renaming the source and generated shared-libs for

View File

@@ -173,10 +173,8 @@ my %table=(
"cc", "cc:-O::(unknown)::::::",
####VOS Configurations
"vos-gcc","gcc:-b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
"debug-vos-gcc","gcc:-b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
"vos-vcc","vcc:-b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD::(unknown):VOS:-Wl,-map::${no_asm}:::::.so:",
"debug-vos-vcc","vcc:-b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map::${no_asm}:::::.so:",
"vos-gcc","gcc:-O3 -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
"debug-vos-gcc","gcc:-O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
#### Solaris x86 with GNU C setups
# -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it
@@ -184,7 +182,7 @@ my %table=(
# surrounds it with #APP #NO_APP comment pair which (at least Solaris
# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
# error message.
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=i486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# -shared -static-libgcc might appear controversial, but modules taken
# from static libgcc do not have relocations and linking them into our
# shared objects doesn't have any negative side-effects. On the contrary,
@@ -232,11 +230,11 @@ my %table=(
#### IRIX 6.x configs
# Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
# './Configure irix-cc -o32' manually.
"irix-mips3-gcc","gcc:-mabi=n32 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT::mips3.o::::::::::dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT::mips3.o::::::::::dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT::bn-mips3.o::::::::::dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT::bn-mips3.o::::::::::dlfcn:irix-shared::-n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# N64 ABI builds.
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::mips3.o::::::::::dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::mips3.o::::::::::dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::bn-mips3.o::::::::::dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::bn-mips3.o::::::::::dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
#### Unified HP-UX ANSI C configs.
# Special notes:
@@ -398,9 +396,7 @@ my %table=(
"unixware-2.0","cc:-DFILIO_H -DNO_STRINGS_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
"unixware-2.1","cc:-O -DFILIO_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=i486 -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"OpenUNIX-8","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"OpenUNIX-8-gcc","gcc:-O -DFILIO_H -fomit-frame-pointer::-pthread::-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=pentium -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc.
"sco5-cc", "cc:-belf::(unknown)::-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
@@ -460,8 +456,8 @@ my %table=(
"OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
"VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT EXPORT_VAR_AS_FN:${no_asm}:win32",
"VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT EXPORT_VAR_AS_FN:${no_asm}:win32",
"VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32",
"VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${no_asm}:win32",
# Visual C targets
"VC-NT","cl::::WINNT::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
@@ -493,7 +489,7 @@ my %table=(
"netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall:::::BN_LLONG ${x86_gcc_opts}::",
# DJGPP
"DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall -DDEVRANDOM=\"/dev/urandom\\x24\":::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:",
"DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:",
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
"ultrix-cc","cc:-std1 -O -Olimit 2500 -DL_ENDIAN::(unknown):::::::",
@@ -503,7 +499,7 @@ my %table=(
##### MacOS X (a.k.a. Rhapsody or Darwin) setup
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
"darwin-i386-cc","cc:-O3 -fomit-frame-pointer -fno-common -DB_ENDIAN::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::darwin-shared:-fPIC:-dunamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
"debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o:::::::::::darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
@@ -885,8 +881,8 @@ foreach (sort (keys %disabled))
$openssl_other_defines .= "#define OPENSSL_NO_$ALGO\n";
print " OPENSSL_NO_$ALGO";
if (/^err$/)
{ $flags .= "-DOPENSSL_NO_ERR "; }
if (/^err$/) { $flags .= "-DOPENSSL_NO_ERR "; }
elsif (/^asm$/) { $no_asm = 1; }
}
else
{

6
FAQ
View File

@@ -72,7 +72,7 @@ OpenSSL - Frequently Asked Questions
* Which is the current version of OpenSSL?
The current version is available from <URL: http://www.openssl.org>.
OpenSSL 0.9.7g was released on April 11, 2005.
OpenSSL 0.9.8 was released on June 5th, 2005.
In addition to the current stable release, you can also access daily
snapshots of the OpenSSL development version at <URL:
@@ -143,8 +143,8 @@ less Unix-centric, it might have been used much earlier.
With version 0.9.6 OpenSSL was extended to interface to external crypto
hardware. This was realized in a special release '0.9.6-engine'. With
version 0.9.7 (not yet released) the changes were merged into the main
development line, so that the special release is no longer necessary.
version 0.9.7 the changes were merged into the main development line,
so that the special release is no longer necessary.
* How do I check the authenticity of the OpenSSL distribution?

View File

@@ -3,6 +3,7 @@
----------------------------------
[Instructions for building for Windows CE can be found in INSTALL.WCE]
[Instructions for building for Win64 can be found in INSTALL.W64]
Heres a few comments about building OpenSSL in Windows environments. Most
of this is tested on Win32 but it may also work in Win 3.1 with some

66
INSTALL.W64 Normal file
View File

@@ -0,0 +1,66 @@
INSTALLATION ON THE WIN64 PLATFORM
----------------------------------
Caveat lector
-------------
As of moment of this writing Win64 support is classified "initial"
for the following reasons.
- No assembler modules are engaged upon initial 0.9.8 release.
- API might change within 0.9.8 life-span, *but* in a manner which
doesn't break backward binary compatibility. Or in other words,
application programs compiled with initial 0.9.8 headers will
be expected to work with future minor release .DLL without need
to re-compile, even if future minor release features modified API.
- Above mentioned API modifications have everything to do with
elimination of a number of limitations, which are normally
considered inherent to 32-bit platforms. Which in turn is why they
are treated as limitations on 64-bit platform such as Win64:-)
The current list comprises [but not necessarily limited to]:
- null-terminated strings may not be longer than 2G-1 bytes,
longer strings are treated as zero-length;
- dynamically and *internally* allocated chunks can't be larger
than 2G-1 bytes;
- inability to encrypt/decrypt chunks of data larger than 4GB
[it's possibly to *hash* chunks of arbitrary size through];
Neither of these is actually big deal and hardly encountered
in real-life applications.
Compiling procedure
-------------------
You will need Perl. You can run under Cygwin or you can download
ActiveState Perl from http://www.activestate.com/ActivePerl.
You will need Microsoft Platform SDK, available for download at
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. As per
April 2005 Platform SDK is equipped with Win64 compilers, as well
as assemblers, but it might change in the future.
To build for Win64/x64:
> perl Configure VC-WIN64A
> ms\do_win64a
> nmake -f ms\ntdll.mak
> cd out32dll
> ..\ms\test
To build for Win64/IA64:
> perl Configure VC-WIN64I
> ms\do_win64i
> nmake -f ms\ntdll.mak
> cd out32dll
> ..\ms\test
Naturally test-suite itself has to be executed on the target platform.
Installation
------------
TBD, for now see INSTALL.W32.

View File

@@ -112,6 +112,8 @@ SDIRS= \
buffer bio stack lhash rand err \
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
store pqueue
# keep in mind that the above list is adjusted by ./Configure
# according to no-xxx arguments...
# tests to perform. "alltests" is a special word indicating that all tests
# should be performed.
@@ -144,7 +146,23 @@ WTARFILE= $(NAME)-win.tar
EXHEADER= e_os2.h
HEADER= e_os.h
all: Makefile build_all openssl.pc
all: Makefile build_all openssl.pc libssl.pc libcrypto.pc
# as we stick to -e, CLEARENV ensures that local variables in lower
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn
# shell, which [annoyingly enough] terminates unset with error if VAR
# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh,
# which terminates unset with error if no variable was present:-(
CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \
$${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \
$${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \
$${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \
$${EXHEADER+EXHEADER} $${HEADER+HEADER} \
$${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \
$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} \
$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \
$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS}
BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
CC='${CC}' CFLAG='${CFLAG}' \
@@ -153,10 +171,10 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib' \
INSTALL_PREFIX='${INSTALL_PREFIX}' \
INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' \
MAKEDEPEND='$${TOP}/util/domd $${TOP} -MD ${MAKEDEPPROG}' \
MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD ${MAKEDEPPROG}' \
DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}' \
MAKEDEPPROG='${MAKEDEPPROG}' \
LDFLAGS='${LDFLAGS}' SHARED_LDFLAGS='${SHARED_LDFLAGS}' \
SHARED_LDFLAGS='${SHARED_LDFLAGS}' \
KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' \
EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' \
SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
@@ -169,18 +187,19 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' \
MD5_ASM_OBJ='${MD5_ASM_OBJ}' \
RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' \
THIS=$${THIS:-$@}
THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES=
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors,
# which in turn eliminates ambiguities in variable treatment with -e.
BUILD_CMD=if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
if [ -d "$$dir" ]; then \
(cd $$dir && echo "making $$target in $$dir..." && \
$(MAKE) $(BUILDENV) BUILDENV="$(BUILDENV)" $$target ) || exit 1; \
else \
$(MAKE) $$dir; \
fi; fi
BUILD_CMD= if [ -d "$$dir" ]; then \
( cd $$dir && echo "making $$target in $$dir..." && \
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \
) || exit 1; \
fi
RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done
reflect:
@[ -n "$(THIS)" ] && $(MAKE) $(THIS) $(BUILDENV)
@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV)
sub_all: build_all
build_all: build_libs build_apps build_tests build_tools
@@ -250,7 +269,7 @@ do_$(SHLIB_TARGET):
if [ "${SHLIBDIRS}" = "ssl" -a -n "$(LIBKRB5)" ]; then \
libs="$(LIBKRB5) $$libs"; \
fi; \
$(MAKE) -f Makefile.shared $(BUILDENV) \
$(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \
LIBNAME=$$i LIBVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} \
LIBCOMPATVERSIONS=";${SHLIB_VERSION_HISTORY}" \
LIBDEPS="$$libs $(EX_LIBS)" \
@@ -258,6 +277,32 @@ do_$(SHLIB_TARGET):
libs="-l$$i $$libs"; \
done
libcrypto.pc: Makefile
@ ( echo 'prefix=$(INSTALLTOP)'; \
echo 'exec_prefix=$${prefix}'; \
echo 'libdir=$${exec_prefix}/lib'; \
echo 'includedir=$${prefix}/include'; \
echo ''; \
echo 'Name: OpenSSL-libcrypto'; \
echo 'Description: OpenSSL cryptography library'; \
echo 'Version: '$(VERSION); \
echo 'Requires: '; \
echo 'Libs: -L$${libdir} -lcrypto $(EX_LIBS)'; \
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc
libssl.pc: Makefile
@ ( echo 'prefix=$(INSTALLTOP)'; \
echo 'exec_prefix=$${prefix}'; \
echo 'libdir=$${exec_prefix}/lib'; \
echo 'includedir=$${prefix}/include'; \
echo ''; \
echo 'Name: OpenSSL'; \
echo 'Description: Secure Sockets Layer and cryptography libraries'; \
echo 'Version: '$(VERSION); \
echo 'Requires: '; \
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc
openssl.pc: Makefile
@ ( echo 'prefix=$(INSTALLTOP)'; \
echo 'exec_prefix=$${prefix}'; \
@@ -281,15 +326,9 @@ libclean:
clean: libclean
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c
@set -e; for i in $(DIRS) ;\
do \
if [ -d "$$i" ]; then \
(cd $$i && echo "making clean in $$i..." && \
$(MAKE) SDIRS='${SDIRS}' clean ) || exit 1; \
rm -f $(LIBS); \
fi; \
done;
rm -f openssl.pc
@set -e; target=clean; $(RECURSIVE_BUILD_CMD)
rm -f $(LIBS)
rm -f openssl.pc libssl.pc libcrypto.pc
rm -f speed.* .pure
rm -f $(TARFILE)
@set -e; for i in $(ONEDIRS) ;\
@@ -303,32 +342,20 @@ makefile.one: files
files:
$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO
@set -e; for i in $(DIRS) ;\
do \
if [ -d "$$i" ]; then \
(cd $$i && echo "making 'files' in $$i..." && \
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' files ) || exit 1; \
fi; \
done;
@set -e; target=files; $(RECURSIVE_BUILD_CMD)
links:
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
@set -e; target=links; for dir in $(DIRS); do $(BUILD_CMD); done
@set -e; target=links; $(RECURSIVE_BUILD_CMD)
gentests:
@(cd test && echo "generating dummy tests (if needed)..." && \
$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on generate );
dclean:
rm -f *.bak
@set -e; for i in $(DIRS) ;\
do \
if [ -d "$$i" ]; then \
(cd $$i && echo "making dclean in $$i..." && \
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \
fi; \
done;
@set -e; target=dclean; $(RECURSIVE_BUILD_CMD)
rehash: rehash.time
rehash.time: certs
@@ -342,29 +369,17 @@ test: tests
tests: rehash
@(cd test && echo "testing..." && \
$(MAKE) $(BUILDENV) TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
util/opensslwrap.sh version -a
report:
@$(PERL) util/selftest.pl
depend:
@set -e; for i in $(DIRS) ;\
do \
if [ -d "$$i" ]; then \
(cd $$i && echo "making dependencies $$i..." && \
$(MAKE) $(BUILDENV) depend ) || exit 1; \
fi; \
done;
@set -e; target=depend; $(RECURSIVE_BUILD_CMD)
lint:
@set -e; for i in $(DIRS) ;\
do \
if [ -d "$$i" ]; then \
(cd $$i && echo "making lint $$i..." && \
$(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \
fi; \
done;
@set -e; target=lint; $(RECURSIVE_BUILD_CMD)
tags:
rm -f TAGS
@@ -392,11 +407,15 @@ crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt c
apps/openssl-vms.cnf: apps/openssl.cnf
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h
TABLE: Configure
(echo 'Output of `Configure TABLE'"':"; \
$(PERL) Configure TABLE) > TABLE
update: depend errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf TABLE
update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend
# Build distribution tar-file. As the list of files returned by "find" is
# pretty long, on several platforms a "too many arguments" error or similar
@@ -431,7 +450,7 @@ dist:
@$(MAKE) TAR='${TAR}' TARFLAGS='${TARFLAGS}' tar
dist_pem_h:
(cd crypto/pem; $(MAKE) $(BUILDENV) pem.h; $(MAKE) clean)
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean)
install: all install_docs install_sw
@@ -449,13 +468,7 @@ install_sw:
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
done;
@set -e; for i in $(DIRS) ;\
do \
if [ -d "$$i" ]; then \
(cd $$i; echo "installing $$i..."; \
$(MAKE) $(BUILDENV) install ); \
fi; \
done
@set -e; target=install; $(RECURSIVE_BUILD_CMD)
@set -e; for i in $(LIBS) ;\
do \
if [ -f "$$i" ]; then \
@@ -497,6 +510,10 @@ install_sw:
sed -e '1,/^$$/d' doc/openssl-shared.txt; \
fi; \
fi
cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libcrypto.pc
cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/libssl.pc
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig/openssl.pc
@@ -522,8 +539,8 @@ install_docs:
--release=$(VERSION) `basename $$i`") \
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
$(PERL) util/extract-names.pl < $$i | \
grep -v $$filecase "^$$fn\$$" | \
grep -v "[ ]" | \
(grep -v $$filecase "^$$fn\$$"; true) | \
(grep -v "[ ]"; true) | \
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
while read n; do \
$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \
@@ -539,8 +556,8 @@ install_docs:
--release=$(VERSION) `basename $$i`") \
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
$(PERL) util/extract-names.pl < $$i | \
grep -v $$filecase "^$$fn\$$" | \
grep -v "[ ]" | \
(grep -v $$filecase "^$$fn\$$"; true) | \
(grep -v "[ ]"; true) | \
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \
while read n; do \
$$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \

View File

@@ -91,7 +91,7 @@ LINK_APP= \
( $(SET_X); \
LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
LIBPATH=`for x in $(LIBDEPS); do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
LIBPATH=`for x in $$LIBDEPS; do if echo $$x | grep '^ *-L' > /dev/null 2>&1; then echo $$x | sed -e 's/^ *-L//'; fi; done | uniq`; \
LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
$${LDCMD} $${LDFLAGS} -o $${APPNAME:=$(APPNAME)} $(OBJECTS) $${LIBDEPS} )
@@ -202,6 +202,7 @@ link_o.darwin:
SHLIB_SUFFIX=.dylib; \
ALLSYMSFLAGS='-all_load'; \
NOALLSYMSFLAGS=''; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
if [ -n "$(LIBVERSION)" ]; then \
SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
fi; \
@@ -215,6 +216,7 @@ link_a.darwin:
SHLIB_SUFFIX=.dylib; \
ALLSYMSFLAGS='-all_load'; \
NOALLSYMSFLAGS=''; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS)"; \
if [ -n "$(LIBVERSION)" ]; then \
SHAREDFLAGS="$$SHAREDFLAGS -current_version $(LIBVERSION)"; \
fi; \
@@ -455,6 +457,7 @@ link_o.hpux:
expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
fi; \
rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
$(LINK_SO_O) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
link_a.hpux:
@if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
@@ -467,6 +470,7 @@ link_a.hpux:
expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"; \
fi; \
rm -f $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX || :; \
$(LINK_SO_A) && chmod a=rx $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX
link_app.hpux:
@if ${DETECT_GNU_LD}; then $(DO_GNU_APP); else \

7
NEWS
View File

@@ -21,6 +21,7 @@
o Complete rework of shared library construction and linking
programs with shared or static libraries, through a separate
Makefile.shared.
o Rework of the passing of parameters from one Makefile to another.
o Changed ENGINE framework to load dynamic engine modules
automatically from specifically given directories.
o New structure and ASN.1 functions for CertificatePair.
@@ -69,10 +70,14 @@
argument form 'enable-xxx'.
o Change the default digest in 'openssl' commands from MD5 to
SHA-1.
o Added support for DTLS. THIS IS STILL BEING WORKED ON!
o Added support for DTLS.
o New BIGNUM blinding.
o Added support for the RSA-PSS encryption scheme
o Added support for the RSA X.931 padding.
o Added support for BSD sockets on NetWare.
o Added support for files larger than 2GB.
o Added initial support for Win64.
o Added alternate pkg-config files.
Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g:

View File

@@ -168,3 +168,15 @@ hire /bin/ksh to do the job /bin/sh fails to do.
your $PATH with chosen location, e.g. PATH=/tmp:$PATH. Alter-
natively just replace system /bin/test and /bin/[ with the
above script.
* hpux64-ia64-cc fails blowfish test.
Compiler bug, presumably at particular patch level. It should be noted
that same compiler generates correct 32-bit code, a.k.a. hpux-ia64-cc
target. Drop optimization level to +O2 when compiling 64-bit bf_skey.o.
* no-engines generates errors.
Unfortunately, the 'no-engines' configuration option currently doesn't
work properly. Use 'no-hw' and you'll will at least get no hardware
support. We'll see how we fix that on OpenSSL versions past 0.9.8.

2
README
View File

@@ -1,5 +1,5 @@
OpenSSL 0.9.8-beta5 13 June 2005
OpenSSL 0.9.8 05 Jul 2005
Copyright (c) 1998-2005 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson

9
STATUS
View File

@@ -1,15 +1,11 @@
OpenSSL STATUS Last modified at
______________ $Date: 2005/06/13 03:36:21 $
______________ $Date: 2005/07/05 18:49:43 $
DEVELOPMENT STATE
o OpenSSL 0.9.9: Under development...
o OpenSSL 0.9.8-beta5: Released on June 13th, 2005
o OpenSSL 0.9.8-beta4: Released on June 6th, 2005
o OpenSSL 0.9.8-beta3: Released on May 31th, 2005
o OpenSSL 0.9.8-beta2: Released on May 24th, 2005
o OpenSSL 0.9.8-beta1: Released on May 19th, 2005
o OpenSSL 0.9.8: Released on July 5th, 2005
o OpenSSL 0.9.7g: Released on April 11th, 2005
o OpenSSL 0.9.7f: Released on March 22nd, 2005
o OpenSSL 0.9.7e: Released on October 25th, 2004
@@ -44,6 +40,7 @@
RELEASE SHOWSTOPPERS
o The Makefiles fail with some SysV makes.
o
AVAILABLE PATCHES

136
TABLE
View File

@@ -326,7 +326,7 @@ $arflags =
*** DJGPP
$cc = gcc
$cflags = -I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall -DDEVRANDOM="/dev/urandom\x24"
$cflags = -I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall
$unistd =
$thread_cflag =
$sys_id = MSDOS
@@ -432,60 +432,6 @@ $shared_extension =
$ranlib =
$arflags =
*** OpenUNIX-8
$cc = cc
$cflags = -O -DFILIO_H -Kalloca
$unistd =
$thread_cflag = -Kthread
$sys_id =
$lflags = -lsocket -lnsl
$bn_ops = BN_LLONG MD2_CHAR RC4_INDEX DES_PTR DES_RISC1 DES_UNROLL
$cpuid_obj = x86cpuid-elf.o
$bn_obj = bn86-elf.o co86-elf.o
$des_obj = dx86-elf.o yx86-elf.o
$aes_obj = ax86-elf.o
$bf_obj = bx86-elf.o
$md5_obj = mx86-elf.o
$sha1_obj = sx86-elf.o s512sse2-elf.o
$cast_obj = cx86-elf.o
$rc4_obj = rx86-elf.o
$rmd160_obj = rm86-elf.o
$rc5_obj = r586-elf.o
$dso_scheme = dlfcn
$shared_target= svr5-shared
$shared_cflag = -Kpic
$shared_ldflag =
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
$ranlib =
$arflags =
*** OpenUNIX-8-gcc
$cc = gcc
$cflags = -O -DFILIO_H -fomit-frame-pointer
$unistd =
$thread_cflag = -pthread
$sys_id =
$lflags = -lsocket -lnsl
$bn_ops = BN_LLONG MD2_CHAR RC4_INDEX DES_PTR DES_RISC1 DES_UNROLL
$cpuid_obj = x86cpuid-elf.o
$bn_obj = bn86-elf.o co86-elf.o
$des_obj = dx86-elf.o yx86-elf.o
$aes_obj = ax86-elf.o
$bf_obj = bx86-elf.o
$md5_obj = mx86-elf.o
$sha1_obj = sx86-elf.o s512sse2-elf.o
$cast_obj = cx86-elf.o
$rc4_obj = rx86-elf.o
$rmd160_obj = rm86-elf.o
$rc5_obj = r586-elf.o
$dso_scheme = dlfcn
$shared_target= svr5-shared
$shared_cflag = -fPIC
$shared_ldflag =
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
$ranlib =
$arflags =
*** ReliantUNIX
$cc = cc
$cflags = -KPIC -g -DTERMIOS -DB_ENDIAN
@@ -682,7 +628,7 @@ $unistd =
$thread_cflag =
$sys_id = WIN64A
$lflags =
$bn_ops = SIXTY_FOUR_BIT EXPORT_VAR_AS_FN
$bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj =
$bn_obj =
$des_obj =
@@ -709,7 +655,7 @@ $unistd =
$thread_cflag =
$sys_id = WIN64I
$lflags =
$bn_ops = SIXTY_FOUR_BIT EXPORT_VAR_AS_FN
$bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj =
$bn_obj =
$des_obj =
@@ -1005,7 +951,7 @@ $cflags = -O3 -DB_ENDIAN
$unistd =
$thread_cflag = -D_REENTRANT
$sys_id = MACOSX
$lflags =
$lflags = -Wl,-search_paths_first
$bn_ops = BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR
$cpuid_obj =
$bn_obj = osx_ppc32.o
@@ -1757,7 +1703,7 @@ $arflags =
*** debug-vos-gcc
$cc = gcc
$cflags = -b hppa1.1-stratus-vos -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG
$cflags = -O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG
$unistd =
$thread_cflag = (unknown)
$sys_id = VOS
@@ -1782,33 +1728,6 @@ $shared_extension = .so
$ranlib =
$arflags =
*** debug-vos-vcc
$cc = vcc
$cflags = -b i386-stratus-vos -O0 -g -D_POSIX_C_SOURCE=200112L -D_BSD -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG
$unistd =
$thread_cflag = (unknown)
$sys_id = VOS
$lflags = -Wl,-map
$bn_ops =
$cpuid_obj =
$bn_obj =
$des_obj =
$aes_obj =
$bf_obj =
$md5_obj =
$sha1_obj =
$cast_obj =
$rc4_obj =
$rmd160_obj =
$rc5_obj =
$dso_scheme =
$shared_target=
$shared_cflag =
$shared_ldflag =
$shared_extension = .so
$ranlib =
$arflags =
*** dgux-R3-gcc
$cc = gcc
$cflags = -O3 -fomit-frame-pointer
@@ -2412,7 +2331,7 @@ $sys_id =
$lflags =
$bn_ops = DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT
$cpuid_obj =
$bn_obj = mips3.o
$bn_obj = bn-mips3.o
$des_obj =
$aes_obj =
$bf_obj =
@@ -2432,14 +2351,14 @@ $arflags =
*** irix-mips3-gcc
$cc = gcc
$cflags = -mabi=n32 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
$cflags = -mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
$unistd =
$thread_cflag = -D_SGI_MP_SOURCE
$sys_id =
$lflags =
$bn_ops = MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT
$cpuid_obj =
$bn_obj = mips3.o
$bn_obj = bn-mips3.o
$des_obj =
$aes_obj =
$bf_obj =
@@ -2466,7 +2385,7 @@ $sys_id =
$lflags =
$bn_ops = RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG
$cpuid_obj =
$bn_obj = mips3.o
$bn_obj = bn-mips3.o
$des_obj =
$aes_obj =
$bf_obj =
@@ -2486,14 +2405,14 @@ $arflags =
*** irix64-mips4-gcc
$cc = gcc
$cflags = -mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
$cflags = -mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W
$unistd =
$thread_cflag = -D_SGI_MP_SOURCE
$sys_id =
$lflags =
$bn_ops = RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG
$cpuid_obj =
$bn_obj = mips3.o
$bn_obj = bn-mips3.o
$des_obj =
$aes_obj =
$bf_obj =
@@ -3647,7 +3566,7 @@ $arflags =
*** solaris-x86-gcc
$cc = gcc
$cflags = -O3 -fomit-frame-pointer -march=i486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
$cflags = -O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
$unistd =
$thread_cflag = -D_REENTRANT
$sys_id =
@@ -3998,7 +3917,7 @@ $arflags =
*** unixware-7-gcc
$cc = gcc
$cflags = -DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=i486 -Wall
$cflags = -DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=pentium -Wall
$unistd =
$thread_cflag = -D_REENTRANT
$sys_id =
@@ -4025,7 +3944,7 @@ $arflags =
*** vos-gcc
$cc = gcc
$cflags = -b hppa1.1-stratus-vos -O3 -Wall -Wuninitialized -D_POSIX_C_SOURCE=200112L -D_BSD
$cflags = -O3 -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN
$unistd =
$thread_cflag = (unknown)
$sys_id = VOS
@@ -4050,33 +3969,6 @@ $shared_extension = .so
$ranlib =
$arflags =
*** vos-vcc
$cc = vcc
$cflags = -b i386-stratus-vos -O3 -D_POSIX_C_SOURCE=200112L -D_BSD
$unistd =
$thread_cflag = (unknown)
$sys_id = VOS
$lflags = -Wl,-map
$bn_ops =
$cpuid_obj =
$bn_obj =
$des_obj =
$aes_obj =
$bf_obj =
$md5_obj =
$sha1_obj =
$cast_obj =
$rc4_obj =
$rmd160_obj =
$rc5_obj =
$dso_scheme =
$shared_target=
$shared_cflag =
$shared_ldflag =
$shared_extension = .so
$ranlib =
$arflags =
*** vxworks-mipsle
$cc = ccmips
$cflags = -B$(WIND_BASE)/host/$(WIND_HOST_TYPE)/lib/gcc-lib/ -DL_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -DCPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I$(WIND_BASE)/target/h

View File

@@ -68,19 +68,19 @@ foreach (@ARGV) {
exit 0;
} elsif (/^-newcert$/) {
# create a certificate
system ("$REQ -new -x509 -keyout newreq.pem -out newreq.pem $DAYS");
system ("$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS");
$RET=$?;
print "Certificate (and private key) is in newreq.pem\n"
print "Certificate is in newcert.pem, private key is in newkey.pem\n"
} elsif (/^-newreq$/) {
# create a certificate request
system ("$REQ -new -keyout newreq.pem -out newreq.pem $DAYS");
system ("$REQ -new -keyout newkey.pem -out newreq.pem $DAYS");
$RET=$?;
print "Request (and private key) is in newreq.pem\n";
print "Request is in newreq.pem, private key is in newkey.pem\n";
} elsif (/^-newreq-nodes$/) {
# create a certificate request
system ("$REQ -new -nodes -keyout newreq.pem -out newreq.pem $DAYS");
system ("$REQ -new -nodes -keyout newkey.pem -out newreq.pem $DAYS");
$RET=$?;
print "Request (and private key) is in newreq.pem\n";
print "Request is in newreq.pem, private key is in newkey.pem\n";
} elsif (/^-newca$/) {
# if explicitly asked for or it doesn't exist then setup the
# directory structure that Eric likes to manage things
@@ -120,10 +120,11 @@ foreach (@ARGV) {
} elsif (/^-pkcs12$/) {
my $cname = $ARGV[1];
$cname = "My Certificate" unless defined $cname;
system ("$PKCS12 -in newcert.pem -inkey newreq.pem " .
system ("$PKCS12 -in newcert.pem -inkey newkey.pem " .
"-certfile ${CATOP}/$CACERT -out newcert.p12 " .
"-export -name \"$cname\"");
$RET=$?;
print "PKCS #12 file is in newcert.p12\n";
exit $RET;
} elsif (/^-xsign$/) {
system ("$CA -policy policy_anything -infiles newreq.pem");

View File

@@ -53,15 +53,15 @@ case $i in
;;
-newcert)
# create a certificate
$REQ -new -x509 -keyout newreq.pem -out newreq.pem $DAYS
$REQ -new -x509 -keyout newkey.pem -out newcert.pem $DAYS
RET=$?
echo "Certificate (and private key) is in newreq.pem"
echo "Certificate is in newcert.pem, private key is in newkey.pem"
;;
-newreq)
# create a certificate request
$REQ -new -keyout newreq.pem -out newreq.pem $DAYS
$REQ -new -keyout newkey.pem -out newreq.pem $DAYS
RET=$?
echo "Request (and private key) is in newreq.pem"
echo "Request is in newreq.pem, private key is in newkey.pem"
;;
-newca)
# if explicitly asked for or it doesn't exist then setup the directory

View File

@@ -86,7 +86,7 @@ req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
shlib_target="$(SHLIB_TARGET)"; \
fi; \
$(MAKE) -f $(TOP)/Makefile.shared $(BUILDENV) \
$(MAKE) -f $(TOP)/Makefile.shared -e \
APPNAME=req OBJECTS="sreq.o $(A_OBJ) $(RAND_OBJ)" \
LIBDEPS="$(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)" \
link_app.$${shlib_target}
@@ -158,11 +158,10 @@ $(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
else \
LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)" ; \
fi; \
$(MAKE) -f $(TOP)/Makefile.shared $(BUILDENV) \
$(MAKE) -f $(TOP)/Makefile.shared -e \
APPNAME=$(EXE) OBJECTS="$(PROGRAM).o $(E_OBJ)" \
LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
link_app.$${shlib_target}
@case "../*.dll" in *\**) ;; *) cp -p ../*.dll .;; esac
-(cd ..; \
OPENSSL="`pwd`/util/opensslwrap.sh"; export OPENSSL; \
$(PERL) tools/c_rehash certs)

View File

@@ -374,10 +374,17 @@ int chopup_args(ARGS *arg, char *buf, int *argc, char **argv[])
/* The start of something good :-) */
if (num >= arg->count)
{
arg->count+=20;
arg->data=(char **)OPENSSL_realloc(arg->data,
sizeof(char *)*arg->count);
if (argc == 0) return(0);
char **tmp_p;
int tlen = arg->count + 20;
tmp_p = (char **)OPENSSL_realloc(arg->data,
sizeof(char *)*tlen);
if (tmp_p == NULL)
return 0;
arg->data = tmp_p;
arg->count = tlen;
/* initialize newly allocated data */
for (i = num; i < arg->count; i++)
arg->data[i] = NULL;
}
arg->data[num++]=p;
@@ -1604,8 +1611,9 @@ int rotate_serial(char *serialfile, char *new_suffix, char *old_suffix)
{
if (errno != ENOENT
#ifdef ENOTDIR
&& errno != ENOTDIR)
&& errno != ENOTDIR
#endif
)
goto err;
}
else
@@ -1893,8 +1901,9 @@ int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suf
{
if (errno != ENOENT
#ifdef ENOTDIR
&& errno != ENOTDIR)
&& errno != ENOTDIR
#endif
)
goto err;
}
else
@@ -1929,8 +1938,9 @@ int rotate_index(const char *dbfile, const char *new_suffix, const char *old_suf
{
if (errno != ENOENT
#ifdef ENOTDIR
&& errno != ENOTDIR)
&& errno != ENOTDIR
#endif
)
goto err;
}
else

View File

@@ -196,7 +196,7 @@ int MAIN(int argc, char **argv)
bad:
BIO_printf(bio_err,"%s [options] <infile\n",prog);
BIO_printf(bio_err,"where options are\n");
BIO_printf(bio_err," -inform arg input format - one of DER TXT PEM\n");
BIO_printf(bio_err," -inform arg input format - one of DER PEM\n");
BIO_printf(bio_err," -in arg input file\n");
BIO_printf(bio_err," -out arg output file (output format is always DER\n");
BIO_printf(bio_err," -noout arg don't produce any output\n");

View File

@@ -105,6 +105,9 @@
#define ENV_DEFAULT_CA "default_ca"
#define STRING_MASK "string_mask"
#define UTF8_IN "utf8"
#define ENV_DIR "dir"
#define ENV_CERTS "certs"
#define ENV_CRL_DIR "crl_dir"
@@ -174,6 +177,7 @@ static const char *ca_usage[]={
" -msie_hack - msie modifications to handle all those universal strings\n",
" -revoke file - Revoke a certificate (given in file)\n",
" -subj arg - Use arg instead of request's subject\n",
" -utf8 - input characters are UTF8 (default ASCII)\n",
" -multivalue-rdn - enable support for multivalued RDNs\n",
" -extensions .. - Extension section (override value in config file)\n",
" -extfile file - Configuration file with X509v3 extentions to add\n",
@@ -195,27 +199,27 @@ extern int EF_ALIGNMENT;
static void lookup_fail(const char *name, const char *tag);
static int certify(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,CA_DB *db,
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate,
BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate,
char *enddate, long days, int batch, char *ext_sect, CONF *conf,
int verbose, unsigned long certopt, unsigned long nameopt,
int default_op, int ext_copy, int selfsign);
static int certify_cert(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
CA_DB *db, BIGNUM *serial, char *subj, int multirdn, int email_dn,
CA_DB *db, BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn,
char *startdate, char *enddate, long days, int batch,
char *ext_sect, CONF *conf,int verbose, unsigned long certopt,
unsigned long nameopt, int default_op, int ext_copy,
ENGINE *e);
static int certify_spkac(X509 **xret, char *infile,EVP_PKEY *pkey,X509 *x509,
const EVP_MD *dgst,STACK_OF(CONF_VALUE) *policy,
CA_DB *db, BIGNUM *serial,char *subj, int multirdn, int email_dn,
CA_DB *db, BIGNUM *serial,char *subj,unsigned long chtype, int multirdn, int email_dn,
char *startdate, char *enddate, long days, char *ext_sect,
CONF *conf, int verbose, unsigned long certopt,
unsigned long nameopt, int default_op, int ext_copy);
static int fix_data(int nid, int *type);
static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext);
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial,char *subj, int multirdn,
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial,char *subj,unsigned long chtype, int multirdn,
int email_dn, char *startdate, char *enddate, long days, int batch,
int verbose, X509_REQ *req, char *ext_sect, CONF *conf,
unsigned long certopt, unsigned long nameopt, int default_op,
@@ -275,6 +279,7 @@ int MAIN(int argc, char **argv)
char *extensions=NULL;
char *extfile=NULL;
char *subj=NULL;
unsigned long chtype = MBSTRING_ASC;
int multirdn = 0;
char *tmp_email_dn=NULL;
char *crl_ext=NULL;
@@ -356,6 +361,8 @@ EF_ALIGNMENT=0;
subj= *(++argv);
/* preserve=1; */
}
else if (strcmp(*argv,"-utf8") == 0)
chtype = MBSTRING_UTF8;
else if (strcmp(*argv,"-create_serial") == 0)
create_ser = 1;
else if (strcmp(*argv,"-multivalue-rdn") == 0)
@@ -645,6 +652,23 @@ bad:
ERR_clear_error();
app_RAND_load_file(randfile, bio_err, 0);
f = NCONF_get_string(conf, section, STRING_MASK);
if (!f)
ERR_clear_error();
if(f && !ASN1_STRING_set_default_mask_asc(f)) {
BIO_printf(bio_err, "Invalid global string mask setting %s\n", f);
goto err;
}
if (chtype != MBSTRING_UTF8){
f = NCONF_get_string(conf, section, UTF8_IN);
if (!f)
ERR_clear_error();
else if (!strcmp(f, "yes"))
chtype = MBSTRING_UTF8;
}
db_attr.unique_subject = 1;
p = NCONF_get_string(conf, section, ENV_UNIQUE_SUBJECT);
if (p)
@@ -1135,7 +1159,7 @@ bad:
{
total++;
j=certify_spkac(&x,spkac_file,pkey,x509,dgst,attribs,db,
serial,subj,multirdn,email_dn,startdate,enddate,days,extensions,
serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,extensions,
conf,verbose,certopt,nameopt,default_op,ext_copy);
if (j < 0) goto err;
if (j > 0)
@@ -1159,7 +1183,7 @@ bad:
{
total++;
j=certify_cert(&x,ss_cert_file,pkey,x509,dgst,attribs,
db,serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
extensions,conf,verbose, certopt, nameopt,
default_op, ext_copy, e);
if (j < 0) goto err;
@@ -1179,7 +1203,7 @@ bad:
{
total++;
j=certify(&x,infile,pkey,x509p,dgst,attribs,db,
serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
extensions,conf,verbose, certopt, nameopt,
default_op, ext_copy, selfsign);
if (j < 0) goto err;
@@ -1199,7 +1223,7 @@ bad:
{
total++;
j=certify(&x,argv[i],pkey,x509p,dgst,attribs,db,
serial,subj,multirdn,email_dn,startdate,enddate,days,batch,
serial,subj,chtype,multirdn,email_dn,startdate,enddate,days,batch,
extensions,conf,verbose, certopt, nameopt,
default_op, ext_copy, selfsign);
if (j < 0) goto err;
@@ -1509,7 +1533,7 @@ static void lookup_fail(const char *name, const char *tag)
static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
long days, int batch, char *ext_sect, CONF *lconf, int verbose,
unsigned long certopt, unsigned long nameopt, int default_op,
int ext_copy, int selfsign)
@@ -1565,7 +1589,7 @@ static int certify(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
else
BIO_printf(bio_err,"Signature ok\n");
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj, multirdn, email_dn,
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn, email_dn,
startdate,enddate,days,batch,verbose,req,ext_sect,lconf,
certopt, nameopt, default_op, ext_copy, selfsign);
@@ -1577,7 +1601,7 @@ err:
static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
BIGNUM *serial, char *subj, unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
long days, int batch, char *ext_sect, CONF *lconf, int verbose,
unsigned long certopt, unsigned long nameopt, int default_op,
int ext_copy, ENGINE *e)
@@ -1619,7 +1643,7 @@ static int certify_cert(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
if ((rreq=X509_to_X509_REQ(req,NULL,EVP_md5())) == NULL)
goto err;
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,multirdn,email_dn,startdate,enddate,
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,
days,batch,verbose,rreq,ext_sect,lconf, certopt, nameopt, default_op,
ext_copy, 0);
@@ -1631,7 +1655,7 @@ err:
static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
STACK_OF(CONF_VALUE) *policy, CA_DB *db, BIGNUM *serial, char *subj,
int multirdn,
unsigned long chtype, int multirdn,
int email_dn, char *startdate, char *enddate, long days, int batch,
int verbose, X509_REQ *req, char *ext_sect, CONF *lconf,
unsigned long certopt, unsigned long nameopt, int default_op,
@@ -1664,7 +1688,7 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509, const EVP_MD *dgst,
if (subj)
{
X509_NAME *n = parse_name(subj, MBSTRING_ASC, multirdn);
X509_NAME *n = parse_name(subj, chtype, multirdn);
if (!n)
{
@@ -2201,7 +2225,7 @@ static void write_new_certificate(BIO *bp, X509 *x, int output_der, int notext)
static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
const EVP_MD *dgst, STACK_OF(CONF_VALUE) *policy, CA_DB *db,
BIGNUM *serial, char *subj, int multirdn, int email_dn, char *startdate, char *enddate,
BIGNUM *serial, char *subj,unsigned long chtype, int multirdn, int email_dn, char *startdate, char *enddate,
long days, char *ext_sect, CONF *lconf, int verbose, unsigned long certopt,
unsigned long nameopt, int default_op, int ext_copy)
{
@@ -2342,7 +2366,7 @@ static int certify_spkac(X509 **xret, char *infile, EVP_PKEY *pkey, X509 *x509,
X509_REQ_set_pubkey(req,pktmp);
EVP_PKEY_free(pktmp);
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,multirdn,email_dn,startdate,enddate,
ok=do_body(xret,pkey,x509,dgst,policy,db,serial,subj,chtype,multirdn,email_dn,startdate,enddate,
days,1,verbose,req,ext_sect,lconf, certopt, nameopt, default_op,
ext_copy, 0);
err:

View File

@@ -474,7 +474,8 @@ static int do_passwd(int passed_salt, char **salt_p, char **salt_malloc_p,
if ((strlen(passwd) > pw_maxlen))
{
if (!quiet)
BIO_printf(bio_err, "Warning: truncating password to %u characters\n", pw_maxlen);
/* XXX: really we should know how to print a size_t, not cast it */
BIO_printf(bio_err, "Warning: truncating password to %u characters\n", (unsigned)pw_maxlen);
passwd[pw_maxlen] = 0;
}
assert(strlen(passwd) <= pw_maxlen);

39
certs/argena.pem Normal file
View File

@@ -0,0 +1,39 @@
-----BEGIN CERTIFICATE-----
MIIG0zCCBbugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBzDELMAkGA1UEBhMCQVQx
EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTE6MDgGA1UEChMxQVJH
RSBEQVRFTiAtIEF1c3RyaWFuIFNvY2lldHkgZm9yIERhdGEgUHJvdGVjdGlvbjEl
MCMGA1UECxMcQS1DRVJUIENlcnRpZmljYXRpb24gU2VydmljZTEYMBYGA1UEAxMP
QS1DRVJUIEFEVkFOQ0VEMR0wGwYJKoZIhvcNAQkBFg5pbmZvQGEtY2VydC5hdDAe
Fw0wNDEwMjMxNDE0MTRaFw0xMTEwMjMxNDE0MTRaMIHMMQswCQYDVQQGEwJBVDEQ
MA4GA1UECBMHQXVzdHJpYTEPMA0GA1UEBxMGVmllbm5hMTowOAYDVQQKEzFBUkdF
IERBVEVOIC0gQXVzdHJpYW4gU29jaWV0eSBmb3IgRGF0YSBQcm90ZWN0aW9uMSUw
IwYDVQQLExxBLUNFUlQgQ2VydGlmaWNhdGlvbiBTZXJ2aWNlMRgwFgYDVQQDEw9B
LUNFUlQgQURWQU5DRUQxHTAbBgkqhkiG9w0BCQEWDmluZm9AYS1jZXJ0LmF0MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3euXIy+mnf6BYKbK+QH5k679
tUFqeT8jlZxMew8eNiHuw9KoxWBzL6KksK+5uK7Gatw+sbAYntEGE80P+Jg1hADM
e+Fr5V0bc6QS3gkVtfUCW/RIvfMM39oxvmqJmOgPnJU7H6+nmLtsq61tv9kVJi/2
4Y5wXW3odet72sF57EoG6s78w0BUVLNcMngS9bZZzmdG3/d6JbkGgoNF/8DcgCBJ
W/t0JrcIzyppXIOVtUzzOrrU86zuUgT3Rtkl5kjG7DEHpFb9H0fTOY1v8+gRoaO6
2gA0PCiysgVZjwgVeYe3KAg11nznyleDv198uK3Dc1oXIGYjJx2FpKWUvAuAEwID
AQABo4ICvDCCArgwHQYDVR0OBBYEFDd/Pj6ZcWDKJNSRE3nQdCm0qCTYMIH5BgNV
HSMEgfEwge6AFDd/Pj6ZcWDKJNSRE3nQdCm0qCTYoYHSpIHPMIHMMQswCQYDVQQG
EwJBVDEQMA4GA1UECBMHQXVzdHJpYTEPMA0GA1UEBxMGVmllbm5hMTowOAYDVQQK
EzFBUkdFIERBVEVOIC0gQXVzdHJpYW4gU29jaWV0eSBmb3IgRGF0YSBQcm90ZWN0
aW9uMSUwIwYDVQQLExxBLUNFUlQgQ2VydGlmaWNhdGlvbiBTZXJ2aWNlMRgwFgYD
VQQDEw9BLUNFUlQgQURWQU5DRUQxHTAbBgkqhkiG9w0BCQEWDmluZm9AYS1jZXJ0
LmF0ggEAMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMEcGA1UdJQRAMD4G
CCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcD
CAYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAP8wUQYDVR0gBEowSDBGBggq
KAAYAQEBAzA6MDgGCCsGAQUFBwIBFixodHRwOi8vd3d3LmEtY2VydC5hdC9jZXJ0
aWZpY2F0ZS1wb2xpY3kuaHRtbDA7BglghkgBhvhCAQgELhYsaHR0cDovL3d3dy5h
LWNlcnQuYXQvY2VydGlmaWNhdGUtcG9saWN5Lmh0bWwwGQYDVR0RBBIwEIEOaW5m
b0BhLWNlcnQuYXQwLwYDVR0SBCgwJoEOaW5mb0BhLWNlcnQuYXSGFGh0dHA6Ly93
d3cuYS1jZXJ0LmF0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHBzOi8vc2VjdXJlLmEt
Y2VydC5hdC9jZ2ktYmluL2EtY2VydC1hZHZhbmNlZC5jZ2kwDQYJKoZIhvcNAQEF
BQADggEBACX1IvgfdG2rvfv35O48vSEvcVaEdlN8USFBHWz3JRAozgzvaBtwHkjK
Zwt5l/BWOtjbvHfRjDt7ijlBEcxOOrNC1ffyMHwHrXpvff6YpQ5wnxmIYEQcURiG
HMqruEX0WkuDNgSKwefsgXs27eeBauHgNGVcTYH1rmHu/ZyLpLxOyJQ2PCzA1DzW
3rWkIX92ogJ7lTRdWrbxwUL1XGinxnnaQ74+/y0pI9JNEv7ic2tpkweRMpkedaLW
msC1+orfKTebsg69aMaCx7o6jNONRmR/7TVaPf8/k6g52cHZ9YWjQvup22b5rWxG
J5r5LZ4vCPmF4+T4lutjUYAa/lGuQTg=
-----END CERTIFICATE-----

23
certs/argeng.pem Normal file
View File

@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIDwzCCAyygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBmDELMAkGA1UEBhMCQVQx
EDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAGA1UEChM5QXJn
ZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBmdWVyIERhdGVu
c2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVuLmF0MB4XDTAx
MDIxMjExMzAzMFoXDTA5MDIxMjExMzAzMFowgZgxCzAJBgNVBAYTAkFUMRAwDgYD
VQQIEwdBdXN0cmlhMQ8wDQYDVQQHEwZWaWVubmExQjBABgNVBAoTOUFyZ2UgRGF0
ZW4gT2VzdGVycmVpY2hpc2NoZSBHZXNlbGxzY2hhZnQgZnVlciBEYXRlbnNjaHV0
ejEiMCAGCSqGSIb3DQEJARYTYS1jZXJ0QGFyZ2VkYXRlbi5hdDCBnzANBgkqhkiG
9w0BAQEFAAOBjQAwgYkCgYEAwgsHqoNtmmrJ86+e1I4hOVBaL4kokqKN2IPOIL+1
XwY8vfOOUfPEdhWpaC0ldt7VYrksgDiUccgH0FROANWK2GkfKMDzjjXHysR04uEb
Om7Kqjqn0nproOGkFG+QvBZgs+Ws+HXNFJA6V76fU4+JXq4452LSK4Lr5YcBquu3
NJECAwEAAaOCARkwggEVMB0GA1UdDgQWBBQ0j59zH/G31zRjgK1y2P//tSAWZjCB
xQYDVR0jBIG9MIG6gBQ0j59zH/G31zRjgK1y2P//tSAWZqGBnqSBmzCBmDELMAkG
A1UEBhMCQVQxEDAOBgNVBAgTB0F1c3RyaWExDzANBgNVBAcTBlZpZW5uYTFCMEAG
A1UEChM5QXJnZSBEYXRlbiBPZXN0ZXJyZWljaGlzY2hlIEdlc2VsbHNjaGFmdCBm
dWVyIERhdGVuc2NodXR6MSIwIAYJKoZIhvcNAQkBFhNhLWNlcnRAYXJnZWRhdGVu
LmF0ggEAMAwGA1UdEwQFMAMBAf8wCwYDVR0PBAQDAgEGMBEGCWCGSAGG+EIBAQQE
AwICBDANBgkqhkiG9w0BAQQFAAOBgQBFuJYncqMYB6gXQS3eDOI90BEHfFTKy/dV
AV+K7QdAYikWmqgBheRdPKddJdccPy/Zl/p3ZT7GhDyC5f3wZjcuu8AJ27BNwbCA
x54dgxgCNcyPm79nY8MRtEdEpoRGdSsFKJemz6hpXM++MWFciyrRWIIA44XB0Gv3
US0spjsDPQ==
-----END CERTIFICATE-----

25
config
View File

@@ -84,7 +84,7 @@ if [ "x$XREL" != "x" ]; then
4.2)
echo "whatever-whatever-unixware1"; exit 0
;;
5)
5*)
case "x${VERSION}" in
# We hardcode i586 in place of ${MACHINE} for the
# following reason. The catch is that even though Pentium
@@ -93,8 +93,7 @@ if [ "x$XREL" != "x" ]; then
# with i386 is that it makes ./config pass 386 to
# ./Configure, which in turn makes make generate
# inefficient SHA-1 (for this moment) code.
x7*) echo "i586-sco-unixware7"; exit 0 ;;
x8*) echo "i586-unkn-OpenUNIX${VERSION}"; exit 0 ;;
x[678]*) echo "i586-sco-unixware7"; exit 0 ;;
esac
;;
esac
@@ -654,15 +653,20 @@ case "$GUESSOS" in
;;
*-*-sunos4) OUT="sunos-$CC" ;;
*86*-*-bsdi4) OUT="bsdi-elf-gcc"; options="$options no-sse2" ;;
*86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
alpha*-*-*bsd*) OUT="BSD-generic64; options="$options -DL_ENDIAN" ;;
powerpc64-*-*bsd*) OUT="BSD-generic64; options="$options -DB_ENDIAN" ;;
sparc64-*-*bsd*) OUT="BSD-sparc64" ;;
ia64-*-*bsd*) OUT="BSD-ia64" ;;
amd64-*-*bsd*) OUT="BSD-x86_64" ;;
*86*-*-*bsd*) # assume highest libc.so.* version is the one in effect
libc=`(ls /usr/lib/libc.so.* /lib/libc.so.* | tail -1) 2>/dev/null`
case "`(file $libc) 2>/dev/null`" in
*86*-*-*bsd*) # mimic ld behaviour when it's looking for libc...
if [ -L /usr/lib/libc.so ]; then # [Free|Net]BSD
libc=/usr/lib/libc.so
else # OpenBSD
# ld searches for highest libc.so.* and so do we
libc=`(ls /usr/lib/libc.so.* | tail -1) 2>/dev/null`
fi
case "`(file -L $libc) 2>/dev/null`" in
*ELF*) OUT="BSD-x86-elf" ;;
*) OUT="BSD-x86"; options="$options no-sse2" ;;
esac ;;
@@ -670,14 +674,13 @@ case "$GUESSOS" in
*-*-osf) OUT="osf1-alpha-cc" ;;
*-*-tru64) OUT="tru64-alpha-cc" ;;
*-*-OpenUNIX*)
*-*-[Uu]nix[Ww]are7)
if [ "$CC" = "gcc" ]; then
OUT="OpenUNIX-8-gcc"
OUT="unixware-7-gcc" ; options="$options no-sse2"
else
OUT="OpenUNIX-8"
OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
fi
;;
*-*-[Uu]nix[Ww]are7) OUT="unixware-7"; options="$options no-sse2" ;;
*-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0"; options="$options no-sse2 no-sha512" ;;
*-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1"; options="$options no-sse2 no-sha512" ;;
*-*-vos)

View File

@@ -15,6 +15,11 @@ MAKEFILE= Makefile
RM= rm -f
AR= ar r
RECURSIVE_MAKE= [ -n "$(SDIRS)" ] && for i in $(SDIRS) ; do \
(cd $$i && echo "making $$target in $(DIR)/$$i..." && \
$(MAKE) -e TOP=../.. DIR=$$i INCLUDES='${INCLUDES}' $$target ) || exit 1; \
done;
PEX_LIBS=
EX_LIBS=
@@ -24,14 +29,6 @@ AFLAGS=$(ASFLAGS)
LIBS=
SDIRS= objects \
md2 md4 md5 sha mdc2 hmac ripemd \
des rc2 rc4 rc5 idea bf cast \
bn ec rsa dsa ecdsa ecdh dh dso engine aes \
buffer bio stack lhash rand err \
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \
store pqueue
GENERAL=Makefile README crypto-lib.com install.com
LIB= $(TOP)/libcrypto.a
@@ -79,34 +76,23 @@ ia64cpuid.s: ia64cpuid.S
$(CC) $(CFLAGS) -E ia64cpuid.S > $@
testapps:
[ -z "$(THIS)" ] || ( if echo ${SDIRS} | fgrep ' des '; \
then cd des && $(MAKE) des; fi )
[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) testapps );
[ -z "$(THIS)" ] || ( if echo ${SDIRS} | fgrep ' des '; \
then cd des && $(MAKE) -e des; fi )
[ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) -e testapps );
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
subdirs:
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making all in crypto/$$i..." && \
$(MAKE) $(BUILDENV) INCLUDES='${INCLUDES}' all ) || exit 1; \
done;
@target=all; $(RECURSIVE_MAKE)
files:
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making 'files' in crypto/$$i..." && \
$(MAKE) files ); \
done;
@target=files; $(RECURSIVE_MAKE)
links:
@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
@for i in $(SDIRS); do \
(cd $$i && echo "making links in crypto/$$i..." && \
$(MAKE) links ); \
done;
@target=links; $(RECURSIVE_MAKE)
lib: $(LIBOBJ)
$(AR) $(LIB) $(LIBOBJ)
@@ -119,19 +105,7 @@ shared: buildinf.h lib subdirs
fi
libs:
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making libs in crypto/$$i..." && \
$(MAKE) lib );
done;
tests:
@[ -z "$(THIS)" ] || (for i in $(SDIRS) ;\
do \
(cd $$i && echo "making tests in crypto/$$i..." && \
$(MAKE) tests ); \
done; )
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
@target=lib; $(RECURSIVE_MAKE)
install:
@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
@@ -140,47 +114,26 @@ install:
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
done;
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making install in crypto/$$i..." && \
$(MAKE) install ); \
done;
@target=install; $(RECURSIVE_MAKE)
lint:
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making lint in crypto/$$i..." && \
$(MAKE) lint ); \
done;
@target=lint; $(RECURSIVE_MAKE)
depend:
[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
@[ -z "$(THIS)" ] || (set -e; \
for i in $(SDIRS) ; do \
( cd $$i && echo "making depend in crypto/$$i..." && \
$(MAKE) INCLUDES='${INCLUDES}' depend \
); \
done; )
@[ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
@[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
@[ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
@[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
clean:
rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making clean in crypto/$$i..." && \
$(MAKE) clean ); \
done;
@target=clean; $(RECURSIVE_MAKE)
dclean:
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
mv -f Makefile.new $(MAKEFILE)
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making dclean in crypto/$$i..." && \
$(MAKE) dclean ); \
done;
@target=dclean; $(RECURSIVE_MAKE)
# DO NOT DELETE THIS LINE -- make depend depends on it.

View File

@@ -83,7 +83,11 @@ sparcv8.o: asm/sparcv8.S
sparcv8plus.o: asm/sparcv8plus.S
$(CC) $(CFLAGS) -c asm/sparcv8plus.S
mips3.o: asm/mips3.s
bn-mips3.o: asm/mips3.s
@if [ "$(CC)" = "gcc" ]; then \
ABI=`expr "$(CFLAGS)" : ".*-mabi=\([n3264]*\)"` && \
as -$$ABI -O -o $@ asm/mips3.s; \
else $(CC) -c $(CFLAGS) -o $@ asm/mips3.s; fi
x86_64-gcc.o: asm/x86_64-gcc.c
$(CC) $(CFLAGS) -c -o $@ asm/x86_64-gcc.c

View File

@@ -116,7 +116,7 @@ if ($opf =~ /32\.s/) {
$UDIV= "divwu"; # unsigned divide
$UCMPI= "cmplwi"; # unsigned compare with immediate
$UCMP= "cmplw"; # unsigned compare
$COUNTZ="cntlzw"; # count leading zeros
$CNTLZ= "cntlzw"; # count leading zeros
$SHL= "slw"; # shift left
$SHR= "srw"; # unsigned shift right
$SHRI= "srwi"; # unsigned shift right by immediate
@@ -124,6 +124,7 @@ if ($opf =~ /32\.s/) {
$CLRU= "clrlwi"; # clear upper bits
$INSR= "insrwi"; # insert right
$ROTL= "rotlwi"; # rotate left by immediate
$TR= "tw"; # conditional trap
} elsif ($opf =~ /64\.s/) {
$BITS= 64;
$BNSZ= $BITS/8;
@@ -139,7 +140,7 @@ if ($opf =~ /32\.s/) {
$UDIV= "divdu"; # unsigned divide
$UCMPI= "cmpldi"; # unsigned compare with immediate
$UCMP= "cmpld"; # unsigned compare
$COUNTZ="cntlzd"; # count leading zeros
$CNTLZ= "cntlzd"; # count leading zeros
$SHL= "sld"; # shift left
$SHR= "srd"; # unsigned shift right
$SHRI= "srdi"; # unsigned shift right by immediate
@@ -147,6 +148,7 @@ if ($opf =~ /32\.s/) {
$CLRU= "clrldi"; # clear upper bits
$INSR= "insrdi"; # insert right
$ROTL= "rotldi"; # rotate left by immediate
$TR= "td"; # conditional trap
} else { die "nonsense $opf"; }
( defined shift || open STDOUT,">$opf" ) || die "can't open $opf: $!";
@@ -1710,17 +1712,12 @@ Lppcasm_add_adios:
bclr BO_ALWAYS,CR0_LT
Lppcasm_div1:
xor r0,r0,r0 #r0=0
$COUNTZ r7,r5 #r7 = num leading 0s in d.
subfic r8,r7,$BITS #r8 = BN_num_bits_word(d)
cmpi 0,0,r8,$BITS #
bc BO_IF,CR0_EQ,Lppcasm_div2 #proceed if (r8==$BITS)
li r9,1 # r9=1
$SHL r10,r9,r8 # r9<<=r8
$UCMP 0,r3,r10 #
bc BO_IF,CR0_GT,Lppcasm_div2 #or if (h > (1<<r8))
$UDIV r3,r3,r0 #if not assert(0) divide by 0!
#that's how we signal overflow
bclr BO_ALWAYS,CR0_LT #return. NEVER REACHED.
li r8,$BITS
$CNTLZ. r7,r5 #r7 = num leading 0s in d.
bc BO_IF,CR0_EQ,Lppcasm_div2 #proceed if no leading zeros
subf r8,r7,r8 #r8 = BN_num_bits_word(d)
$SHR. r9,r3,r8 #are there any bits above r8'th?
$TR 16,r9,r0 #if there're, signal to dump core...
Lppcasm_div2:
$UCMP 0,r3,r5 #h>=d?
bc BO_IF,CR0_LT,Lppcasm_div3 #goto Lppcasm_div3 if not

View File

@@ -167,7 +167,7 @@ extern "C" {
#ifdef THIRTY_TWO_BIT
#ifdef BN_LLONG
# if defined(OPENSSL_SYS_WIN32) && !defined(__GNUC__)
# define BN_ULLONG unsigned _int64
# define BN_ULLONG unsigned __int64
# else
# define BN_ULLONG unsigned long long
# endif

View File

@@ -172,6 +172,7 @@ const BIGNUM *BN_get0_nist_prime_521(void)
}
/* some misc internal functions */
#if BN_BITS2 != 64
static BN_ULONG _256_data[BN_NIST_256_TOP*6];
static int _is_set_256_data = 0;
static void _init_256_data(void);
@@ -179,6 +180,7 @@ static void _init_256_data(void);
static BN_ULONG _384_data[BN_NIST_384_TOP*8];
static int _is_set_384_data = 0;
static void _init_384_data(void);
#endif
#define BN_NIST_ADD_ONE(a) while (!(++(*(a)))) ++(a);
@@ -405,6 +407,7 @@ int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
#endif
}
#if BN_BITS2 != 64
static void _init_256_data(void)
{
int i;
@@ -422,6 +425,7 @@ static void _init_256_data(void)
}
_is_set_256_data = 1;
}
#endif
#define nist_set_256(to, from, a1, a2, a3, a4, a5, a6, a7, a8) \
{ \
@@ -555,6 +559,7 @@ int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
#endif
}
#if BN_BITS2 != 64
static void _init_384_data(void)
{
int i;
@@ -572,6 +577,7 @@ static void _init_384_data(void)
}
_is_set_384_data = 1;
}
#endif
#define nist_set_384(to,from,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
{ \

View File

@@ -73,7 +73,9 @@ static COMP_METHOD zlib_stateful_method={
# include <windows.h>
# define Z_CALLCONV _stdcall
# define ZLIB_SHARED
# ifndef ZLIB_SHARED
# define ZLIB_SHARED
# endif
#else
# define Z_CALLCONV
#endif /* !(OPENSSL_SYS_WINDOWS || OPENSSL_SYS_WIN32) */

View File

@@ -545,7 +545,6 @@ const char *CRYPTO_get_lock_name(int type)
unsigned long OPENSSL_ia32cap_P=0;
unsigned long *OPENSSL_ia32cap_loc(void) { return &OPENSSL_ia32cap_P; }
int OPENSSL_NONPIC_relocated=0;
#if defined(OPENSSL_CPUID_OBJ) && !defined(OPENSSL_NO_ASM) && !defined(I386_ONLY)
#define OPENSSL_CPUID_SETUP
@@ -572,6 +571,7 @@ void OPENSSL_cpuid_setup(void)
#else
unsigned long *OPENSSL_ia32cap_loc(void) { return NULL; }
#endif
int OPENSSL_NONPIC_relocated = 0;
#if !defined(OPENSSL_CPUID_SETUP)
void OPENSSL_cpuid_setup(void) {}
#endif

View File

@@ -171,9 +171,9 @@ typedef struct _ossl_old_des_ks_struct
DES_enc_write((f),(b),(l),&(k),(iv))
#define des_fcrypt(b,s,r)\
DES_fcrypt((b),(s),(r))
#if 0
#define des_crypt(b,s)\
DES_crypt((b),(s))
#if 0
#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__)
#define crypt(b,s)\
DES_crypt((b),(s))

View File

@@ -84,7 +84,7 @@ int main(int argc, char *argv[])
#else
#include <openssl/des.h>
#define crypt(c,s) (des_crypt((c),(s)))
#define crypt(c,s) (DES_crypt((c),(s)))
/* tisk tisk - the test keys don't all have odd parity :-( */
/* test data */

View File

@@ -68,6 +68,25 @@ DSO_METHOD *DSO_METHOD_win32(void)
}
#else
#ifdef _WIN32_WCE
# if _WIN32_WCE < 300
static FARPROC GetProcAddressA(HMODULE hModule,LPCSTR lpProcName)
{
WCHAR lpProcNameW[64];
int i;
for (i=0;lpProcName[i] && i<64;i++)
lpProcNameW[i] = (WCHAR)lpProcName[i];
if (i==64) return NULL;
lpProcNameW[i] = 0;
return GetProcAddressW(hModule,lpProcNameW);
}
# endif
# undef GetProcAddress
# define GetProcAddress GetProcAddressA
#endif
/* Part of the hack in "win32_load" ... */
#define DSO_MAX_TRANSLATED_SIZE 256
@@ -127,7 +146,7 @@ static int win32_load(DSO *dso)
DSOerr(DSO_F_WIN32_LOAD,DSO_R_NO_FILENAME);
goto err;
}
h = LoadLibrary(filename);
h = LoadLibraryA(filename);
if(h == NULL)
{
DSOerr(DSO_F_WIN32_LOAD,DSO_R_LOAD_FAILED);

View File

@@ -140,7 +140,7 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
group->field_mod_func = BN_nist_mod_192;
else if (BN_ucmp(BN_get0_nist_prime_224(), p) == 0)
{
#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
#ifndef NO_32_BIT_TYPE
group->field_mod_func = BN_nist_mod_224;
#else
ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
@@ -149,7 +149,7 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
}
else if (BN_ucmp(BN_get0_nist_prime_256(), p) == 0)
{
#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
#ifndef NO_32_BIT_TYPE
group->field_mod_func = BN_nist_mod_256;
#else
ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
@@ -158,7 +158,7 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
}
else if (BN_ucmp(BN_get0_nist_prime_384(), p) == 0)
{
#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
#ifndef NO_32_BIT_TYPE
group->field_mod_func = BN_nist_mod_384;
#else
ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_SUPPORTED_NIST_PRIME);

View File

@@ -93,7 +93,9 @@ int main(int argc, char * argv[])
#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/ecdsa.h>
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
#include <openssl/err.h>
#include <openssl/rand.h>

View File

@@ -313,7 +313,7 @@ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
/* There will never be more than two '=' */
}
if ((v == B64_EOF) || (n >= 64))
if ((v == B64_EOF && (n&3) == 0) || (n >= 64))
{
/* This is needed to work correctly on 64 byte input
* lines. We process the line and then need to

View File

@@ -344,9 +344,11 @@
#elif defined(DATA_ORDER_IS_LITTLE_ENDIAN)
#if defined(__i386) || defined(__i386__) || defined(__x86_64) || defined(__x86_64__)
/* See comment in DATA_ORDER_IS_BIG_ENDIAN section. */
# define HOST_c2l(c,l) ((l)=*((const unsigned int *)(c)), (c)+=4, l)
# define HOST_l2c(l,c) (*((unsigned int *)(c))=(l), (c)+=4, l)
# ifndef B_ENDIAN
/* See comment in DATA_ORDER_IS_BIG_ENDIAN section. */
# define HOST_c2l(c,l) ((l)=*((const unsigned int *)(c)), (c)+=4, l)
# define HOST_l2c(l,c) (*((unsigned int *)(c))=(l), (c)+=4, l)
# endif
#endif
#ifndef HOST_c2l

View File

@@ -69,6 +69,7 @@ void md4_block_host_order (MD4_CTX *c, const void *p,size_t num);
void md4_block_data_order (MD4_CTX *c, const void *p,size_t num);
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
# if !defined(B_ENDIAN)
/*
* *_block_host_order is expected to handle aligned data while
* *_block_data_order - unaligned. As algorithm and host (x86)
@@ -90,7 +91,8 @@ void md4_block_data_order (MD4_CTX *c, const void *p,size_t num);
*
* <appro@fy.chalmers.se>
*/
#define md4_block_data_order md4_block_host_order
# define md4_block_data_order md4_block_host_order
# endif
#endif
#define DATA_ORDER_IS_LITTLE_ENDIAN

View File

@@ -67,7 +67,9 @@
#ifdef MD5_ASM
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
# define md5_block_host_order md5_block_asm_host_order
# if !defined(B_ENDIAN)
# define md5_block_host_order md5_block_asm_host_order
# endif
# elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC)
void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,size_t num);
# define HASH_BLOCK_DATA_ORDER_ALIGNED md5_block_asm_data_order_aligned
@@ -78,6 +80,7 @@ void md5_block_host_order (MD5_CTX *c, const void *p,size_t num);
void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
# if !defined(B_ENDIAN)
/*
* *_block_host_order is expected to handle aligned data while
* *_block_data_order - unaligned. As algorithm and host (x86)
@@ -99,7 +102,8 @@ void md5_block_data_order (MD5_CTX *c, const void *p,size_t num);
*
* <appro@fy.chalmers.se>
*/
#define md5_block_data_order md5_block_host_order
# define md5_block_data_order md5_block_host_order
# endif
#endif
#define DATA_ORDER_IS_LITTLE_ENDIAN

View File

@@ -252,8 +252,16 @@ long CRYPTO_dbg_get_options(void)
/* static int mem_cmp(MEM *a, MEM *b) */
static int mem_cmp(const void *a_void, const void *b_void)
{
#ifdef _WIN64
const char *a=(const char *)((const MEM *)a_void)->addr,
*b=(const char *)((const MEM *)b_void)->addr;
if (a==b) return 0;
else if (a>b) return 1;
else return -1;
#else
return((const char *)((const MEM *)a_void)->addr
- (const char *)((const MEM *)b_void)->addr);
#endif
}
/* static unsigned long mem_hash(MEM *a) */

File diff suppressed because it is too large Load Diff

View File

@@ -94,11 +94,11 @@
#define OBJ_member_body OBJ_iso,2L
#define SN_identified_organization "identified-organization"
#define NID_identified_organization 662
#define NID_identified_organization 676
#define OBJ_identified_organization OBJ_iso,3L
#define SN_certicom_arc "certicom-arc"
#define NID_certicom_arc 663
#define NID_certicom_arc 677
#define OBJ_certicom_arc OBJ_identified_organization,132L
#define SN_international_organizations "international-organizations"
@@ -107,11 +107,11 @@
#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L
#define SN_wap "wap"
#define NID_wap 664
#define NID_wap 678
#define OBJ_wap OBJ_international_organizations,43L
#define SN_wap_wsg "wap-wsg"
#define NID_wap_wsg 665
#define NID_wap_wsg 679
#define OBJ_wap_wsg OBJ_wap,13L
#define SN_selected_attribute_types "selected-attribute-types"
@@ -164,19 +164,19 @@
#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L
#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis"
#define NID_X9_62_id_characteristic_two_basis 666
#define NID_X9_62_id_characteristic_two_basis 680
#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L
#define SN_X9_62_onBasis "onBasis"
#define NID_X9_62_onBasis 667
#define NID_X9_62_onBasis 681
#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L
#define SN_X9_62_tpBasis "tpBasis"
#define NID_X9_62_tpBasis 668
#define NID_X9_62_tpBasis 682
#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L
#define SN_X9_62_ppBasis "ppBasis"
#define NID_X9_62_ppBasis 669
#define NID_X9_62_ppBasis 683
#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L
#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L
@@ -190,83 +190,83 @@
#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L
#define SN_X9_62_c2pnb163v1 "c2pnb163v1"
#define NID_X9_62_c2pnb163v1 670
#define NID_X9_62_c2pnb163v1 684
#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L
#define SN_X9_62_c2pnb163v2 "c2pnb163v2"
#define NID_X9_62_c2pnb163v2 671
#define NID_X9_62_c2pnb163v2 685
#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L
#define SN_X9_62_c2pnb163v3 "c2pnb163v3"
#define NID_X9_62_c2pnb163v3 672
#define NID_X9_62_c2pnb163v3 686
#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L
#define SN_X9_62_c2pnb176v1 "c2pnb176v1"
#define NID_X9_62_c2pnb176v1 673
#define NID_X9_62_c2pnb176v1 687
#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L
#define SN_X9_62_c2tnb191v1 "c2tnb191v1"
#define NID_X9_62_c2tnb191v1 674
#define NID_X9_62_c2tnb191v1 688
#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L
#define SN_X9_62_c2tnb191v2 "c2tnb191v2"
#define NID_X9_62_c2tnb191v2 675
#define NID_X9_62_c2tnb191v2 689
#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L
#define SN_X9_62_c2tnb191v3 "c2tnb191v3"
#define NID_X9_62_c2tnb191v3 676
#define NID_X9_62_c2tnb191v3 690
#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L
#define SN_X9_62_c2onb191v4 "c2onb191v4"
#define NID_X9_62_c2onb191v4 677
#define NID_X9_62_c2onb191v4 691
#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L
#define SN_X9_62_c2onb191v5 "c2onb191v5"
#define NID_X9_62_c2onb191v5 678
#define NID_X9_62_c2onb191v5 692
#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L
#define SN_X9_62_c2pnb208w1 "c2pnb208w1"
#define NID_X9_62_c2pnb208w1 679
#define NID_X9_62_c2pnb208w1 693
#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L
#define SN_X9_62_c2tnb239v1 "c2tnb239v1"
#define NID_X9_62_c2tnb239v1 680
#define NID_X9_62_c2tnb239v1 694
#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L
#define SN_X9_62_c2tnb239v2 "c2tnb239v2"
#define NID_X9_62_c2tnb239v2 681
#define NID_X9_62_c2tnb239v2 695
#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L
#define SN_X9_62_c2tnb239v3 "c2tnb239v3"
#define NID_X9_62_c2tnb239v3 682
#define NID_X9_62_c2tnb239v3 696
#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L
#define SN_X9_62_c2onb239v4 "c2onb239v4"
#define NID_X9_62_c2onb239v4 683
#define NID_X9_62_c2onb239v4 697
#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L
#define SN_X9_62_c2onb239v5 "c2onb239v5"
#define NID_X9_62_c2onb239v5 684
#define NID_X9_62_c2onb239v5 698
#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L
#define SN_X9_62_c2pnb272w1 "c2pnb272w1"
#define NID_X9_62_c2pnb272w1 685
#define NID_X9_62_c2pnb272w1 699
#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L
#define SN_X9_62_c2pnb304w1 "c2pnb304w1"
#define NID_X9_62_c2pnb304w1 686
#define NID_X9_62_c2pnb304w1 700
#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L
#define SN_X9_62_c2tnb359v1 "c2tnb359v1"
#define NID_X9_62_c2tnb359v1 687
#define NID_X9_62_c2tnb359v1 701
#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L
#define SN_X9_62_c2pnb368w1 "c2pnb368w1"
#define NID_X9_62_c2pnb368w1 688
#define NID_X9_62_c2pnb368w1 702
#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L
#define SN_X9_62_c2tnb431r1 "c2tnb431r1"
#define NID_X9_62_c2tnb431r1 689
#define NID_X9_62_c2tnb431r1 703
#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L
#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L
@@ -308,173 +308,173 @@
#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L
#define SN_secp112r1 "secp112r1"
#define NID_secp112r1 690
#define NID_secp112r1 704
#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L
#define SN_secp112r2 "secp112r2"
#define NID_secp112r2 691
#define NID_secp112r2 705
#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L
#define SN_secp128r1 "secp128r1"
#define NID_secp128r1 692
#define NID_secp128r1 706
#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L
#define SN_secp128r2 "secp128r2"
#define NID_secp128r2 693
#define NID_secp128r2 707
#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L
#define SN_secp160k1 "secp160k1"
#define NID_secp160k1 694
#define NID_secp160k1 708
#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L
#define SN_secp160r1 "secp160r1"
#define NID_secp160r1 695
#define NID_secp160r1 709
#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L
#define SN_secp160r2 "secp160r2"
#define NID_secp160r2 696
#define NID_secp160r2 710
#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L
#define SN_secp192k1 "secp192k1"
#define NID_secp192k1 697
#define NID_secp192k1 711
#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L
#define SN_secp224k1 "secp224k1"
#define NID_secp224k1 698
#define NID_secp224k1 712
#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L
#define SN_secp224r1 "secp224r1"
#define NID_secp224r1 699
#define NID_secp224r1 713
#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L
#define SN_secp256k1 "secp256k1"
#define NID_secp256k1 700
#define NID_secp256k1 714
#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L
#define SN_secp384r1 "secp384r1"
#define NID_secp384r1 701
#define NID_secp384r1 715
#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L
#define SN_secp521r1 "secp521r1"
#define NID_secp521r1 702
#define NID_secp521r1 716
#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L
#define SN_sect113r1 "sect113r1"
#define NID_sect113r1 703
#define NID_sect113r1 717
#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L
#define SN_sect113r2 "sect113r2"
#define NID_sect113r2 704
#define NID_sect113r2 718
#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L
#define SN_sect131r1 "sect131r1"
#define NID_sect131r1 705
#define NID_sect131r1 719
#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L
#define SN_sect131r2 "sect131r2"
#define NID_sect131r2 706
#define NID_sect131r2 720
#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L
#define SN_sect163k1 "sect163k1"
#define NID_sect163k1 707
#define NID_sect163k1 721
#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L
#define SN_sect163r1 "sect163r1"
#define NID_sect163r1 708
#define NID_sect163r1 722
#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L
#define SN_sect163r2 "sect163r2"
#define NID_sect163r2 709
#define NID_sect163r2 723
#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L
#define SN_sect193r1 "sect193r1"
#define NID_sect193r1 710
#define NID_sect193r1 724
#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L
#define SN_sect193r2 "sect193r2"
#define NID_sect193r2 711
#define NID_sect193r2 725
#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L
#define SN_sect233k1 "sect233k1"
#define NID_sect233k1 712
#define NID_sect233k1 726
#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L
#define SN_sect233r1 "sect233r1"
#define NID_sect233r1 713
#define NID_sect233r1 727
#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L
#define SN_sect239k1 "sect239k1"
#define NID_sect239k1 714
#define NID_sect239k1 728
#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L
#define SN_sect283k1 "sect283k1"
#define NID_sect283k1 715
#define NID_sect283k1 729
#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L
#define SN_sect283r1 "sect283r1"
#define NID_sect283r1 716
#define NID_sect283r1 730
#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L
#define SN_sect409k1 "sect409k1"
#define NID_sect409k1 717
#define NID_sect409k1 731
#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L
#define SN_sect409r1 "sect409r1"
#define NID_sect409r1 718
#define NID_sect409r1 732
#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L
#define SN_sect571k1 "sect571k1"
#define NID_sect571k1 719
#define NID_sect571k1 733
#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L
#define SN_sect571r1 "sect571r1"
#define NID_sect571r1 720
#define NID_sect571r1 734
#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L
#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L
#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1"
#define NID_wap_wsg_idm_ecid_wtls1 721
#define NID_wap_wsg_idm_ecid_wtls1 735
#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L
#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3"
#define NID_wap_wsg_idm_ecid_wtls3 722
#define NID_wap_wsg_idm_ecid_wtls3 736
#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L
#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4"
#define NID_wap_wsg_idm_ecid_wtls4 723
#define NID_wap_wsg_idm_ecid_wtls4 737
#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L
#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5"
#define NID_wap_wsg_idm_ecid_wtls5 724
#define NID_wap_wsg_idm_ecid_wtls5 738
#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L
#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6"
#define NID_wap_wsg_idm_ecid_wtls6 725
#define NID_wap_wsg_idm_ecid_wtls6 739
#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L
#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7"
#define NID_wap_wsg_idm_ecid_wtls7 726
#define NID_wap_wsg_idm_ecid_wtls7 740
#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L
#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8"
#define NID_wap_wsg_idm_ecid_wtls8 727
#define NID_wap_wsg_idm_ecid_wtls8 741
#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L
#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9"
#define NID_wap_wsg_idm_ecid_wtls9 728
#define NID_wap_wsg_idm_ecid_wtls9 742
#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L
#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10"
#define NID_wap_wsg_idm_ecid_wtls10 729
#define NID_wap_wsg_idm_ecid_wtls10 743
#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L
#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11"
#define NID_wap_wsg_idm_ecid_wtls11 730
#define NID_wap_wsg_idm_ecid_wtls11 744
#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L
#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12"
#define NID_wap_wsg_idm_ecid_wtls12 731
#define NID_wap_wsg_idm_ecid_wtls12 745
#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L
#define SN_cast5_cbc "CAST5-CBC"
@@ -538,22 +538,22 @@
#define SN_sha256WithRSAEncryption "RSA-SHA256"
#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption"
#define NID_sha256WithRSAEncryption 732
#define NID_sha256WithRSAEncryption 668
#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L
#define SN_sha384WithRSAEncryption "RSA-SHA384"
#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption"
#define NID_sha384WithRSAEncryption 733
#define NID_sha384WithRSAEncryption 669
#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L
#define SN_sha512WithRSAEncryption "RSA-SHA512"
#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption"
#define NID_sha512WithRSAEncryption 734
#define NID_sha512WithRSAEncryption 670
#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L
#define SN_sha224WithRSAEncryption "RSA-SHA224"
#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption"
#define NID_sha224WithRSAEncryption 735
#define NID_sha224WithRSAEncryption 671
#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L
#define SN_pkcs3 "pkcs3"
@@ -1266,7 +1266,7 @@
#define OBJ_id_cct OBJ_id_pkix,12L
#define SN_id_ppl "id-ppl"
#define NID_id_ppl 746
#define NID_id_ppl 662
#define OBJ_id_ppl OBJ_id_pkix,21L
#define SN_id_ad "id-ad"
@@ -1386,7 +1386,7 @@
#define SN_proxyCertInfo "proxyCertInfo"
#define LN_proxyCertInfo "Proxy Certificate Information"
#define NID_proxyCertInfo 747
#define NID_proxyCertInfo 663
#define OBJ_proxyCertInfo OBJ_id_pe,14L
#define SN_id_qt_cps "id-qt-cps"
@@ -1715,17 +1715,17 @@
#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage"
#define LN_id_ppl_anyLanguage "Any language"
#define NID_id_ppl_anyLanguage 748
#define NID_id_ppl_anyLanguage 664
#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L
#define SN_id_ppl_inheritAll "id-ppl-inheritAll"
#define LN_id_ppl_inheritAll "Inherit all"
#define NID_id_ppl_inheritAll 749
#define NID_id_ppl_inheritAll 665
#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L
#define SN_Independent "id-ppl-independent"
#define LN_Independent "Independent"
#define NID_Independent 750
#define NID_Independent 667
#define OBJ_Independent OBJ_id_ppl,2L
#define SN_ad_OCSP "OCSP"
@@ -2096,7 +2096,7 @@
#define SN_name_constraints "nameConstraints"
#define LN_name_constraints "X509v3 Name Constraints"
#define NID_name_constraints 736
#define NID_name_constraints 666
#define OBJ_name_constraints OBJ_id_ce,30L
#define SN_crl_distribution_points "crlDistributionPoints"
@@ -2111,12 +2111,12 @@
#define SN_any_policy "anyPolicy"
#define LN_any_policy "X509v3 Any Policy"
#define NID_any_policy 737
#define NID_any_policy 746
#define OBJ_any_policy OBJ_certificate_policies,0L
#define SN_policy_mappings "policyMappings"
#define LN_policy_mappings "X509v3 Policy Mappings"
#define NID_policy_mappings 738
#define NID_policy_mappings 747
#define OBJ_policy_mappings OBJ_id_ce,33L
#define SN_authority_key_identifier "authorityKeyIdentifier"
@@ -2136,7 +2136,7 @@
#define SN_inhibit_any_policy "inhibitAnyPolicy"
#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy"
#define NID_inhibit_any_policy 739
#define NID_inhibit_any_policy 748
#define OBJ_inhibit_any_policy OBJ_id_ce,54L
#define SN_target_information "targetInformation"
@@ -2420,22 +2420,22 @@
#define SN_sha256 "SHA256"
#define LN_sha256 "sha256"
#define NID_sha256 740
#define NID_sha256 672
#define OBJ_sha256 OBJ_nist_hashalgs,1L
#define SN_sha384 "SHA384"
#define LN_sha384 "sha384"
#define NID_sha384 741
#define NID_sha384 673
#define OBJ_sha384 OBJ_nist_hashalgs,2L
#define SN_sha512 "SHA512"
#define LN_sha512 "sha512"
#define NID_sha512 742
#define NID_sha512 674
#define OBJ_sha512 OBJ_nist_hashalgs,3L
#define SN_sha224 "SHA224"
#define LN_sha224 "sha224"
#define NID_sha224 743
#define NID_sha224 675
#define OBJ_sha224 OBJ_nist_hashalgs,4L
#define SN_hold_instruction_code "holdInstructionCode"
@@ -3297,9 +3297,9 @@
#define SN_ipsec3 "Oakley-EC2N-3"
#define LN_ipsec3 "ipsec3"
#define NID_ipsec3 744
#define NID_ipsec3 749
#define SN_ipsec4 "Oakley-EC2N-4"
#define LN_ipsec4 "ipsec4"
#define NID_ipsec4 745
#define NID_ipsec4 750

View File

@@ -659,92 +659,92 @@ des_ede3_cfb1 658
des_ede3_cfb8 659
streetAddress 660
postalCode 661
identified_organization 662
certicom_arc 663
wap 664
wap_wsg 665
X9_62_id_characteristic_two_basis 666
X9_62_onBasis 667
X9_62_tpBasis 668
X9_62_ppBasis 669
X9_62_c2pnb163v1 670
X9_62_c2pnb163v2 671
X9_62_c2pnb163v3 672
X9_62_c2pnb176v1 673
X9_62_c2tnb191v1 674
X9_62_c2tnb191v2 675
X9_62_c2tnb191v3 676
X9_62_c2onb191v4 677
X9_62_c2onb191v5 678
X9_62_c2pnb208w1 679
X9_62_c2tnb239v1 680
X9_62_c2tnb239v2 681
X9_62_c2tnb239v3 682
X9_62_c2onb239v4 683
X9_62_c2onb239v5 684
X9_62_c2pnb272w1 685
X9_62_c2pnb304w1 686
X9_62_c2tnb359v1 687
X9_62_c2pnb368w1 688
X9_62_c2tnb431r1 689
secp112r1 690
secp112r2 691
secp128r1 692
secp128r2 693
secp160k1 694
secp160r1 695
secp160r2 696
secp192k1 697
secp224k1 698
secp224r1 699
secp256k1 700
secp384r1 701
secp521r1 702
sect113r1 703
sect113r2 704
sect131r1 705
sect131r2 706
sect163k1 707
sect163r1 708
sect163r2 709
sect193r1 710
sect193r2 711
sect233k1 712
sect233r1 713
sect239k1 714
sect283k1 715
sect283r1 716
sect409k1 717
sect409r1 718
sect571k1 719
sect571r1 720
wap_wsg_idm_ecid_wtls1 721
wap_wsg_idm_ecid_wtls3 722
wap_wsg_idm_ecid_wtls4 723
wap_wsg_idm_ecid_wtls5 724
wap_wsg_idm_ecid_wtls6 725
wap_wsg_idm_ecid_wtls7 726
wap_wsg_idm_ecid_wtls8 727
wap_wsg_idm_ecid_wtls9 728
wap_wsg_idm_ecid_wtls10 729
wap_wsg_idm_ecid_wtls11 730
wap_wsg_idm_ecid_wtls12 731
sha256WithRSAEncryption 732
sha384WithRSAEncryption 733
sha512WithRSAEncryption 734
sha224WithRSAEncryption 735
name_constraints 736
any_policy 737
policy_mappings 738
inhibit_any_policy 739
sha256 740
sha384 741
sha512 742
sha224 743
ipsec3 744
ipsec4 745
id_ppl 746
proxyCertInfo 747
id_ppl_anyLanguage 748
id_ppl_inheritAll 749
Independent 750
id_ppl 662
proxyCertInfo 663
id_ppl_anyLanguage 664
id_ppl_inheritAll 665
name_constraints 666
Independent 667
sha256WithRSAEncryption 668
sha384WithRSAEncryption 669
sha512WithRSAEncryption 670
sha224WithRSAEncryption 671
sha256 672
sha384 673
sha512 674
sha224 675
identified_organization 676
certicom_arc 677
wap 678
wap_wsg 679
X9_62_id_characteristic_two_basis 680
X9_62_onBasis 681
X9_62_tpBasis 682
X9_62_ppBasis 683
X9_62_c2pnb163v1 684
X9_62_c2pnb163v2 685
X9_62_c2pnb163v3 686
X9_62_c2pnb176v1 687
X9_62_c2tnb191v1 688
X9_62_c2tnb191v2 689
X9_62_c2tnb191v3 690
X9_62_c2onb191v4 691
X9_62_c2onb191v5 692
X9_62_c2pnb208w1 693
X9_62_c2tnb239v1 694
X9_62_c2tnb239v2 695
X9_62_c2tnb239v3 696
X9_62_c2onb239v4 697
X9_62_c2onb239v5 698
X9_62_c2pnb272w1 699
X9_62_c2pnb304w1 700
X9_62_c2tnb359v1 701
X9_62_c2pnb368w1 702
X9_62_c2tnb431r1 703
secp112r1 704
secp112r2 705
secp128r1 706
secp128r2 707
secp160k1 708
secp160r1 709
secp160r2 710
secp192k1 711
secp224k1 712
secp224r1 713
secp256k1 714
secp384r1 715
secp521r1 716
sect113r1 717
sect113r2 718
sect131r1 719
sect131r2 720
sect163k1 721
sect163r1 722
sect163r2 723
sect193r1 724
sect193r2 725
sect233k1 726
sect233r1 727
sect239k1 728
sect283k1 729
sect283r1 730
sect409k1 731
sect409r1 732
sect571k1 733
sect571r1 734
wap_wsg_idm_ecid_wtls1 735
wap_wsg_idm_ecid_wtls3 736
wap_wsg_idm_ecid_wtls4 737
wap_wsg_idm_ecid_wtls5 738
wap_wsg_idm_ecid_wtls6 739
wap_wsg_idm_ecid_wtls7 740
wap_wsg_idm_ecid_wtls8 741
wap_wsg_idm_ecid_wtls9 742
wap_wsg_idm_ecid_wtls10 743
wap_wsg_idm_ecid_wtls11 744
wap_wsg_idm_ecid_wtls12 745
any_policy 746
policy_mappings 747
inhibit_any_policy 748
ipsec3 749
ipsec4 750

View File

@@ -25,11 +25,11 @@
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
#define OPENSSL_VERSION_NUMBER 0x00908005L
#define OPENSSL_VERSION_NUMBER 0x0090800fL
#ifdef OPENSSL_FIPS
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-fips-beta5 13 Jun 2005"
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-fips 05 Jul 2005"
#else
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8-beta5 13 Jun 2005"
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8 05 Jul 2005"
#endif
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@@ -168,6 +168,10 @@ my $current_function;
# on pros side, this results in more compact code:-)
$self->{index} =~ s/^[er](.?[0-9xp])[d]?$/r\1/;
$self->{base} =~ s/^[er](.?[0-9xp])[d]?$/r\1/;
# Solaris /usr/ccs/bin/as can't handle multiplications
# in $self->{label}
$self->{label} =~ s/(?<![0-9a-f])(0[x0-9a-f]+)/oct($1)/eg;
$self->{label} =~ s/([0-9]+\s*[\*\/\%]\s*[0-9]+)/eval($1)/eg;
if (defined($self->{index})) {
sprintf "%s(%%%s,%%%s,%d)",

View File

@@ -262,8 +262,8 @@ sub using486
sub main'file
{
push(@out,".") if ($main'mwerks);
push(@out,"section\t.text\n");
if ($main'mwerks) { push(@out,".section\t.text\n"); }
else { push(@out,"section\t.text use32\n"); }
}
sub main'function_begin

View File

@@ -148,7 +148,11 @@ PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk)
/* Unpack SAFEBAGS from PKCS#7 data ContentInfo */
STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7)
{
if(!PKCS7_type_is_data(p7)) return NULL;
if(!PKCS7_type_is_data(p7))
{
PKCS12err(PKCS12_F_PKCS12_UNPACK_P7DATA,PKCS12_R_CONTENT_TYPE_NOT_DATA);
return NULL;
}
return ASN1_item_unpack(p7->d.data, ASN1_ITEM_rptr(PKCS12_SAFEBAGS));
}
@@ -211,5 +215,10 @@ int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes)
STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12)
{
if (!PKCS7_type_is_data(p12->authsafes))
{
PKCS12err(PKCS12_F_PKCS12_UNPACK_AUTHSAFES,PKCS12_R_CONTENT_TYPE_NOT_DATA);
return NULL;
}
return ASN1_item_unpack(p12->authsafes->d.data, ASN1_ITEM_rptr(PKCS12_AUTHSAFES));
}

View File

@@ -72,6 +72,12 @@ int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen,
unsigned char key[PKCS12_MAC_KEY_LENGTH], *salt;
int saltlen, iter;
if (!PKCS7_type_is_data(p12->authsafes))
{
PKCS12err(PKCS12_F_PKCS12_GEN_MAC,PKCS12_R_CONTENT_TYPE_NOT_DATA);
return 0;
}
salt = p12->mac->salt->data;
saltlen = p12->mac->salt->length;
if (!p12->mac->iter) iter = 1;

View File

@@ -94,6 +94,8 @@ static ERR_STRING_DATA PKCS12_str_functs[]=
{ERR_FUNC(PKCS12_F_PKCS12_PBE_KEYIVGEN), "PKCS12_PBE_keyivgen"},
{ERR_FUNC(PKCS12_F_PKCS12_SETUP_MAC), "PKCS12_setup_mac"},
{ERR_FUNC(PKCS12_F_PKCS12_SET_MAC), "PKCS12_set_mac"},
{ERR_FUNC(PKCS12_F_PKCS12_UNPACK_AUTHSAFES), "PKCS12_unpack_authsafes"},
{ERR_FUNC(PKCS12_F_PKCS12_UNPACK_P7DATA), "PKCS12_unpack_p7data"},
{ERR_FUNC(PKCS12_F_PKCS12_VERIFY_MAC), "PKCS12_verify_mac"},
{ERR_FUNC(PKCS12_F_PKCS8_ADD_KEYUSAGE), "PKCS8_add_keyusage"},
{ERR_FUNC(PKCS12_F_PKCS8_ENCRYPT), "PKCS8_encrypt"},
@@ -103,6 +105,7 @@ static ERR_STRING_DATA PKCS12_str_functs[]=
static ERR_STRING_DATA PKCS12_str_reasons[]=
{
{ERR_REASON(PKCS12_R_CANT_PACK_STRUCTURE),"cant pack structure"},
{ERR_REASON(PKCS12_R_CONTENT_TYPE_NOT_DATA),"content type not data"},
{ERR_REASON(PKCS12_R_DECODE_ERROR) ,"decode error"},
{ERR_REASON(PKCS12_R_ENCODE_ERROR) ,"encode error"},
{ERR_REASON(PKCS12_R_ENCRYPT_ERROR) ,"encrypt error"},

View File

@@ -297,12 +297,15 @@ void ERR_load_PKCS12_strings(void);
#define PKCS12_F_PKCS12_PBE_KEYIVGEN 120
#define PKCS12_F_PKCS12_SETUP_MAC 122
#define PKCS12_F_PKCS12_SET_MAC 123
#define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130
#define PKCS12_F_PKCS12_UNPACK_P7DATA 131
#define PKCS12_F_PKCS12_VERIFY_MAC 126
#define PKCS12_F_PKCS8_ADD_KEYUSAGE 124
#define PKCS12_F_PKCS8_ENCRYPT 125
/* Reason codes. */
#define PKCS12_R_CANT_PACK_STRUCTURE 100
#define PKCS12_R_CONTENT_TYPE_NOT_DATA 121
#define PKCS12_R_DECODE_ERROR 101
#define PKCS12_R_ENCODE_ERROR 102
#define PKCS12_R_ENCRYPT_ERROR 103

View File

@@ -108,10 +108,15 @@
#define PQ_64BIT_IS_INTEGER 1
#define PQ_64BIT_IS_BIGNUM 0
#if defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG)
#if defined(SIXTY_FOUR_BIT)
#define PQ_64BIT BN_ULONG
#define PQ_64BIT_PRINT "%lld"
#elif defined(SIXTY_FOUR_BIT_LONG)
#define PQ_64BIT BN_ULONG
#define PQ_64BIT_PRINT "%ld"
#elif defined(THIRTY_TWO_BIT)
#define PQ_64BIT BN_ULLONG
#define PQ_64BIT_PRINT "%lld"
#endif
#define PQ_64BIT_CTX void

View File

@@ -207,7 +207,7 @@ pqueue_print(pqueue_s *pq)
while(item != NULL)
{
printf("item\t%lld\n", item->priority);
printf("item\t" PQ_64BIT_PRINT "\n", item->priority);
item = item->next;
}
}

View File

@@ -153,7 +153,7 @@ int RAND_poll(void)
int n = 0;
#endif
#ifdef DEVRANDOM
static const char *randomfiles[] = { "DEVRANDOM" };
static const char *randomfiles[] = { DEVRANDOM };
struct stat randomstats[sizeof(randomfiles)/sizeof(randomfiles[0])];
int fd,i;
#endif

View File

@@ -54,7 +54,11 @@ rx86-out.s: asm/rc4-586.pl ../perlasm/x86asm.pl
rc4-x86_64.s: asm/rc4-x86_64.pl; $(PERL) asm/rc4-x86_64.pl $@
rc4-ia64.s: asm/rc4-ia64.S
$(CC) $(CFLAGS) -E asm/rc4-ia64.S > $@
@case `awk '/^#define RC4_INT/{print$$NF}' $(TOP)/include/openssl/opensslconf.h` in \
int) set -x; $(CC) $(CFLAGS) -DSZ=4 -E asm/rc4-ia64.S > $@ ;; \
char) set -x; $(CC) $(CFLAGS) -DSZ=1 -E asm/rc4-ia64.S > $@ ;; \
*) exit 1 ;; \
esac
files:
$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO

View File

@@ -7,7 +7,7 @@
// disclaimed.
// ====================================================================
.ident "rc4-ia64.S, Version 1.1"
.ident "rc4-ia64.S, Version 2.0"
.ident "IA-64 ISA artwork by Andy Polyakov <appro@fy.chalmers.se>"
// What's wrong with compiler generated code? Because of the nature of
@@ -27,17 +27,10 @@
// Legitimate "collisions" do occur within every 256^2 bytes window.
// Fortunately there're enough free instruction slots to keep prior
// reference to key[x+1], detect "collision" and compensate for it.
// All this without sacrificing a single clock cycle:-)
// Furthermore. In order to compress loop body to the minimum, I chose
// to deploy deposit instruction, which substitutes for the whole
// key->data+((x&255)<<log2(sizeof(key->data[0]))). This unfortunately
// requires key->data to be aligned at sizeof(key->data) boundary.
// This is why you'll find "RC4_INT pad[512-256-2];" addenum to RC4_KEY
// and "d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));" in
// rc4_skey.c [and rc4_enc.c, where it's retained for debugging
// purposes]. Throughput is ~210MBps on 900MHz CPU, which is is >3x
// faster than gcc generated code and +30% - if compared to HP-UX C.
// Unrolling loop below should give >30% on top of that...
// All this without sacrificing a single clock cycle:-) Throughput is
// ~210MBps on 900MHz CPU, which is is >3x faster than gcc generated
// code and +30% - if compared to HP-UX C. Unrolling loop below should
// give >30% on top of that...
.text
.explicit
@@ -48,7 +41,9 @@
# define ADDP add
#endif
#ifndef SZ
#define SZ 4 // this is set to sizeof(RC4_INT)
#endif
// SZ==4 seems to be optimal. At least SZ==8 is not any faster, not for
// assembler implementation, while SZ==1 code is ~30% slower.
#if SZ==1 // RC4_INT is unsigned char
@@ -101,45 +96,53 @@ RC4:
ADDP out=0,in3
brp.loop.imp .Ltop,.Lexit-16 };;
{ .mmi; LDKEY yy=[key] // load key->y
add ksch=(255+1)*SZ,key // as ksch will be used with
// deposit instruction only,
// I don't have to &~255...
add ksch=SZ,key
mov ar.lc=in1 }
{ .mmi; mov key_y[1]=r0 // guarantee inequality
// in first iteration
add xx=1,xx
mov pr.rot=1<<16 };;
{ .mii; nop.m 0
dep key_x[1]=xx,ksch,OFF,8
dep key_x[1]=xx,r0,OFF,8
mov ar.ec=3 };; // note that epilogue counter
// is off by 1. I compensate
// for this at exit...
.Ltop:
// The loop is scheduled for 3*(n+2) spin-rate on Itanium 2, which
// The loop is scheduled for 4*(n+2) spin-rate on Itanium 2, which
// theoretically gives asymptotic performance of clock frequency
// divided by 3 bytes per seconds, or 500MBps on 1.5GHz CPU. Measured
// performance however is distinctly lower than 1/4:-( The culplrit
// seems to be *(out++)=dat, which inadvertently splits the bundle,
// even though there is M-port available... Unrolling is due...
// Unrolled loop should collect output with variable shift instruction
// in order to avoid starvation for integer shifter... It should be
// possible to get pretty close to theoretical peak...
{ .mmi; (p16) LDKEY tx[0]=[key_x[1]] // tx=key[xx]
(p17) LDKEY ty[0]=[key_y[1]] // ty=key[yy]
(p18) dep rnd[1]=rnd[1],ksch,OFF,8} // &key[(tx+ty)&255]
// divided by 4 bytes per seconds, or 400MBps on 1.6GHz CPU. This is
// for sizeof(RC4_INT)==4. For smaller RC4_INT STKEY inadvertently
// splits the last bundle and you end up with 5*n spin-rate:-(
// Originally the loop was scheduled for 3*n and relied on key
// schedule to be aligned at 256*sizeof(RC4_INT) boundary. But
// *(out++)=dat, which maps to st1, had same effect [inadvertent
// bundle split] and holded the loop back. Rescheduling for 4*n
// made it possible to eliminate dependence on specific alignment
// and allow OpenSSH keep "abusing" our API. Reaching for 3*n would
// require unrolling, sticking to variable shift instruction for
// collecting output [to avoid starvation for integer shifter] and
// copying of key schedule to controlled place in stack [so that
// deposit instruction can serve as substitute for whole
// key->data+((x&255)<<log2(sizeof(key->data[0])))]...
{ .mmi; (p19) st1 [out]=dat[3],1 // *(out++)=dat
(p16) add xx=1,xx // x++
(p16) cmp.ne.unc p20,p21=key_x[1],key_y[1] };;
(p18) dep rnd[1]=rnd[1],r0,OFF,8 } // ((tx+ty)&255)<<OFF
{ .mmi; (p16) add key_x[1]=ksch,key_x[1] // &key[xx&255]
(p17) add key_y[1]=ksch,key_y[1] };; // &key[yy&255]
{ .mmi; (p16) LDKEY tx[0]=[key_x[1]] // tx=key[xx]
(p17) LDKEY ty[0]=[key_y[1]] // ty=key[yy]
(p16) dep key_x[0]=xx,r0,OFF,8 } // (xx&255)<<OFF
{ .mmi; (p18) add rnd[1]=ksch,rnd[1] // &key[(tx+ty)&255]
(p16) cmp.ne.unc p20,p21=key_x[1],key_y[1] };;
{ .mmi; (p18) LDKEY rnd[1]=[rnd[1]] // rnd=key[(tx+ty)&255]
(p16) ld1 dat[0]=[inp],1 // dat=*(inp++)
(p16) dep key_x[0]=xx,ksch,OFF,8 } // &key[xx&255]
(p16) ld1 dat[0]=[inp],1 } // dat=*(inp++)
.pred.rel "mutex",p20,p21
{ .mmi; (p21) add yy=yy,tx[1] // (p16)
(p20) add yy=yy,tx[0] // (p16) y+=tx
(p21) mov tx[0]=tx[1] };; // (p16)
{ .mmi; (p17) STKEY [key_y[1]]=tx[1] // key[yy]=tx
(p17) STKEY [key_x[2]]=ty[0] // key[xx]=ty
(p16) dep key_y[0]=yy,ksch,OFF,8 } // &key[yy&255]
(p16) dep key_y[0]=yy,r0,OFF,8 } // &key[yy&255]
{ .mmb; (p17) add rnd[0]=tx[1],ty[0] // tx+=ty
(p18) xor dat[2]=dat[2],rnd[1] // dat^=rnd
br.ctop.sptk .Ltop };;

View File

@@ -72,10 +72,6 @@ typedef struct rc4_key_st
{
RC4_INT x,y;
RC4_INT data[256];
#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
/* see crypto/rc4/asm/rc4-ia64.S for further details... */
RC4_INT pad[512-256-2];
#endif
} RC4_KEY;

View File

@@ -77,10 +77,6 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
x=key->x;
y=key->y;
d=key->data;
#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
/* see crypto/rc4/asm/rc4-ia64.S for further details... */
d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));
#endif
#if defined(RC4_CHUNK)
/*
@@ -161,7 +157,7 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
if (!is_endian.little)
{ /* BIG-ENDIAN CASE */
# define BESHFT(c) (((sizeof(RC4_CHUNK)-(c)-1)*8)&(sizeof(RC4_CHUNK)*8-1))
for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
for (;len&~(sizeof(RC4_CHUNK)-1);len-=sizeof(RC4_CHUNK))
{
ichunk = *(RC4_CHUNK *)indata;
otp = RC4_STEP<<BESHFT(0);
@@ -214,7 +210,7 @@ void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata,
else
{ /* LITTLE-ENDIAN CASE */
# define LESHFT(c) (((c)*8)&(sizeof(RC4_CHUNK)*8-1))
for (;len&-sizeof(RC4_CHUNK);len-=sizeof(RC4_CHUNK))
for (;len&~(sizeof(RC4_CHUNK)-1);len-=sizeof(RC4_CHUNK))
{
ichunk = *(RC4_CHUNK *)indata;
otp = RC4_STEP;

View File

@@ -93,10 +93,6 @@ void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data)
unsigned int i;
d= &(key->data[0]);
#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
/* see crypto/rc4/asm/rc4-ia64.S for further details... */
d=(RC4_INT *)(((size_t)(d+255))&~(sizeof(key->data)-1));
#endif
key->x = 0;
key->y = 0;
id1=id2=0;

View File

@@ -72,7 +72,9 @@
*/
#ifdef RMD160_ASM
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
# define ripemd160_block_host_order ripemd160_block_asm_host_order
# if !defined(B_ENDIAN)
# define ripemd160_block_host_order ripemd160_block_asm_host_order
# endif
# endif
#endif
@@ -80,7 +82,9 @@ void ripemd160_block_host_order (RIPEMD160_CTX *c, const void *p,size_t num);
void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,size_t num);
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
#define ripemd160_block_data_order ripemd160_block_host_order
# if !defined(B_ENDIAN)
# define ripemd160_block_data_order ripemd160_block_host_order
# endif
#endif
#define DATA_ORDER_IS_LITTLE_ENDIAN

View File

@@ -115,17 +115,19 @@
# endif
# ifdef SHA1_ASM
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
# define sha1_block_host_order sha1_block_asm_host_order
# define DONT_IMPLEMENT_BLOCK_HOST_ORDER
# define sha1_block_data_order sha1_block_asm_data_order
# define DONT_IMPLEMENT_BLOCK_DATA_ORDER
# define HASH_BLOCK_DATA_ORDER_ALIGNED sha1_block_asm_data_order
# elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
# define sha1_block_host_order sha1_block_asm_host_order
# define DONT_IMPLEMENT_BLOCK_HOST_ORDER
# define sha1_block_data_order sha1_block_asm_data_order
# define DONT_IMPLEMENT_BLOCK_DATA_ORDER
# if !defined(B_ENDIAN)
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__)
# define sha1_block_host_order sha1_block_asm_host_order
# define DONT_IMPLEMENT_BLOCK_HOST_ORDER
# define sha1_block_data_order sha1_block_asm_data_order
# define DONT_IMPLEMENT_BLOCK_DATA_ORDER
# define HASH_BLOCK_DATA_ORDER_ALIGNED sha1_block_asm_data_order
# elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
# define sha1_block_host_order sha1_block_asm_host_order
# define DONT_IMPLEMENT_BLOCK_HOST_ORDER
# define sha1_block_data_order sha1_block_asm_data_order
# define DONT_IMPLEMENT_BLOCK_DATA_ORDER
# endif
# endif
# endif
void sha1_block_host_order (SHA_CTX *c, const void *p,size_t num);

View File

@@ -59,7 +59,9 @@
#include <string.h>
#include <openssl/bn.h>
#include <openssl/err.h>
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
#include <openssl/sha.h>
#include <openssl/x509.h>
#include "str_locl.h"

View File

@@ -114,7 +114,7 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
{
int ret=0;
BY_DIR *ld;
char *dir;
char *dir = NULL;
ld=(BY_DIR *)ctx->method_data;
@@ -123,17 +123,16 @@ static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
case X509_L_ADD_DIR:
if (argl == X509_FILETYPE_DEFAULT)
{
ret=add_cert_dir(ld,X509_get_default_cert_dir(),
X509_FILETYPE_PEM);
dir=(char *)Getenv(X509_get_default_cert_dir_env());
if (dir)
ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM);
else
ret=add_cert_dir(ld,X509_get_default_cert_dir(),
X509_FILETYPE_PEM);
if (!ret)
{
X509err(X509_F_DIR_CTRL,X509_R_LOADING_CERT_DIR);
}
else
{
dir=(char *)Getenv(X509_get_default_cert_dir_env());
ret=add_cert_dir(ld,dir,X509_FILETYPE_PEM);
}
}
else
ret=add_cert_dir(ld,argp,(int)argl);

View File

@@ -776,7 +776,8 @@ static int check_crl(X509_STORE_CTX *ctx, X509_CRL *crl)
}
}
if (!check_crl_time(ctx, crl, 1))
ok = check_crl_time(ctx, crl, 1);
if (!ok)
goto err;
ok = 1;
@@ -1006,7 +1007,8 @@ static int internal_verify(X509_STORE_CTX *ctx)
xs->valid = 1;
if (!check_cert_time(ctx, xs))
ok = check_cert_time(ctx, xs);
if (!ok)
goto end;
/* The last error (if any) is still in the error value */

View File

@@ -113,8 +113,8 @@ static X509V3_EXT_METHOD *standard_exts[] = {
&v3_crl_hold,
#endif
&v3_pci,
&v3_policy_mappings,
&v3_name_constraints,
&v3_policy_mappings,
&v3_inhibit_anyp
};

View File

@@ -70,8 +70,8 @@ print<<___ if(!defined($win64a));
.align 16
OPENSSL_rdtsc:
rdtsc
shl \$32,%rdx
or %rdx,%rax
shlq \$32,%rdx
orq %rdx,%rax
ret
.size OPENSSL_rdtsc,.-OPENSSL_rdtsc
@@ -80,11 +80,11 @@ OPENSSL_rdtsc:
.align 16
OPENSSL_atomic_add:
movl (%rdi),%eax
.Lspin: lea (%rsi,%rax),%r8
lock; cmpxchg %r8d,(%rdi)
.Lspin: leaq (%rsi,%rax),%r8
lock; cmpxchgl %r8d,(%rdi)
jne .Lspin
mov %r8d,%eax
cdqe
movl %r8d,%eax
.byte 0x48,0x98
ret
.size OPENSSL_atomic_add,.-OPENSSL_atomic_add
@@ -108,28 +108,28 @@ OPENSSL_wipe_cpu:
pxor %xmm13,%xmm13
pxor %xmm14,%xmm14
pxor %xmm15,%xmm15
xor %rcx,%rcx
xor %rdx,%rdx
xor %rsi,%rsi
xor %rdi,%rdi
xor %r8,%r8
xor %r9,%r9
xor %r10,%r10
xor %r11,%r11
lea 8(%rsp),%rax
xorq %rcx,%rcx
xorq %rdx,%rdx
xorq %rsi,%rsi
xorq %rdi,%rdi
xorq %r8,%r8
xorq %r9,%r9
xorq %r10,%r10
xorq %r11,%r11
leaq 8(%rsp),%rax
ret
.size OPENSSL_wipe_cpu,.-OPENSSL_wipe_cpu
.globl OPENSSL_ia32_cpuid
.align 16
OPENSSL_ia32_cpuid:
mov %rbx,%r8
mov \$1,%eax
movq %rbx,%r8
movl \$1,%eax
cpuid
shl \$32,%rcx
mov %edx,%eax
mov %r8,%rbx
or %rcx,%rax
shlq \$32,%rcx
movl %edx,%eax
movq %r8,%rbx
orq %rcx,%rax
ret
.size OPENSSL_ia32_cpuid,.-OPENSSL_ia32_cpuid

View File

@@ -130,9 +130,8 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
&pxor ("xmm7","xmm7");
&set_label("no_sse2");
}
# just a bunch of fldz to zap the fp/mm bank...
&data_word(0xeed9eed9,0xeed9eed9,0xeed9eed9,0xeed9eed9);
&emms ();
# just a bunch of fldz to zap the fp/mm bank followed by finit...
&data_word(0xeed9eed9,0xeed9eed9,0xeed9eed9,0xeed9eed9,0x90e3db9b);
&set_label("no_x87");
&lea ("eax",&DWP(4,"esp"));
&ret ();

View File

@@ -211,9 +211,9 @@ Blowfish and RC5 algorithms use a 128 bit key.
rc2-cbc 128 bit RC2 in CBC mode
rc2 Alias for rc2-cbc
rc2-cfb 128 bit RC2 in CBC mode
rc2-ecb 128 bit RC2 in CBC mode
rc2-ofb 128 bit RC2 in CBC mode
rc2-cfb 128 bit RC2 in CFB mode
rc2-ecb 128 bit RC2 in ECB mode
rc2-ofb 128 bit RC2 in OFB mode
rc2-64-cbc 64 bit RC2 in CBC mode
rc2-40-cbc 40 bit RC2 in CBC mode
@@ -223,9 +223,9 @@ Blowfish and RC5 algorithms use a 128 bit key.
rc5-cbc RC5 cipher in CBC mode
rc5 Alias for rc5-cbc
rc5-cfb RC5 cipher in CBC mode
rc5-ecb RC5 cipher in CBC mode
rc5-ofb RC5 cipher in CBC mode
rc5-cfb RC5 cipher in CFB mode
rc5-ecb RC5 cipher in ECB mode
rc5-ofb RC5 cipher in OFB mode
=head1 EXAMPLES

View File

@@ -442,8 +442,8 @@ will only recognize the last value. This can be worked around by using the form:
The X509v3 extension code was first added to OpenSSL 0.9.2.
Policy mappings, name constraints, inhibit any policy and name
constraints support was added in OpenSSL 0.9.8
Policy mappings, inhibit any policy and name constraints support was added in
OpenSSL 0.9.8
The B<directoryName> and B<otherName> option as well as the B<ASN1> option
for arbitrary extensions was added in OpenSSL 0.9.8

View File

@@ -2,7 +2,7 @@
=head1 NAME
OPENSSL_Applink
OPENSSL_Applink - glue between OpenSSL BIO and Win32 compiler run-time
=head1 SYNOPSIS

View File

@@ -2,7 +2,7 @@
=head1 NAME
OPENSSL_ia32cap
OPENSSL_ia32cap - finding the IA-32 processor capabilities
=head1 SYNOPSIS

View File

@@ -65,9 +65,10 @@ B<CRYPTO_LOCK>, and releases it otherwise.
B<file> and B<line> are the file number of the function setting the
lock. They can be useful for debugging.
id_function(void) is a function that returns a thread ID. It is not
id_function(void) is a function that returns a thread ID, for example
pthread_self() if it returns an integer (see NOTES below). It isn't
needed on Windows nor on platforms where getpid() returns a different
ID for each thread (most notably Linux).
ID for each thread (see NOTES below).
Additionally, OpenSSL supports dynamic locks, and sometimes, some parts
of OpenSSL need it for better performance. To enable this, the following
@@ -124,7 +125,7 @@ CRYPTO_get_new_dynlockid() returns the index to the newly created lock.
The other functions return no values.
=head1 NOTE
=head1 NOTES
You can find out if OpenSSL was configured with thread support:
@@ -139,6 +140,22 @@ You can find out if OpenSSL was configured with thread support:
Also, dynamic locks are currently not used internally by OpenSSL, but
may do so in the future.
Defining id_function(void) has it's own issues. Generally speaking,
pthread_self() should be used, even on platforms where getpid() gives
different answers in each thread, since that may depend on the machine
the program is run on, not the machine where the program is being
compiled. For instance, Red Hat 8 Linux and earlier used
LinuxThreads, whose getpid() returns a different value for each
thread. Red Hat 9 Linux and later use NPTL, which is
Posix-conformant, and has a getpid() that returns the same value for
all threads in a process. A program compiled on Red Hat 8 and run on
Red Hat 9 will therefore see getpid() returning the same value for
all threads.
There is still the issue of platforms where pthread_self() returns
something other than an integer. This is a bit unusual, and this
manual has no cookbook solution for that case.
=head1 EXAMPLES
B<crypto/threads/mttest.c> shows examples of the callback functions on

21
e_os.h
View File

@@ -227,6 +227,8 @@ extern "C" {
# define _setmode setmode
# define _O_TEXT O_TEXT
# define _O_BINARY O_BINARY
# undef DEVRANDOM
# define DEVRANDOM "/dev/urandom\x24"
# endif /* __DJGPP__ */
# ifndef S_IFDIR
@@ -264,6 +266,16 @@ extern "C" {
# include <stddef.h>
# include <errno.h>
# include <string.h>
# ifdef _WIN64
# define strlen(s) _strlen31(s)
/* cut strings to 2GB */
static unsigned int _strlen31(const char *str)
{
unsigned int len=0;
while (*str && len<0x80000000U) str++, len++;
return len&0x7FFFFFFF;
}
# endif
# include <malloc.h>
# endif
# include <io.h>
@@ -424,6 +436,15 @@ extern "C" {
# elif !defined(__DJGPP__)
# include <winsock.h>
extern HINSTANCE _hInstance;
# ifdef _WIN64
/*
* Even though sizeof(SOCKET) is 8, it's safe to cast it to int, because
* the value constitutes an index in per-process table of limited size
* and not a real pointer.
*/
# define socket(d,t,p) ((int)socket(d,t,p))
# define accept(s,f,l) ((int)accept(s,f,l))
# endif
# define SSLeay_Write(a,b,c) send((a),(b),(c),0)
# define SSLeay_Read(a,b,c) recv((a),(b),(c),0)
# define SHUTDOWN(fd) { shutdown((fd),0); closesocket(fd); }

View File

@@ -65,7 +65,7 @@ lib: $(LIBOBJ)
@if [ -n "$(SHARED_LIBS)" ]; then \
set -e; \
for l in $(LIBNAMES); do \
$(MAKE) -f ../Makefile.shared $(BUILDENV) \
$(MAKE) -f ../Makefile.shared -e \
LIBNAME=$$l LIBEXTRAS=e_$$l.o \
LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
link_o.$(SHLIB_TARGET); \

View File

@@ -479,6 +479,7 @@ static int aep_init(ENGINE *e)
if(aep_dso)
DSO_free(aep_dso);
aep_dso = NULL;
p_AEP_OpenConnection = NULL;
p_AEP_ModExp = NULL;

View File

@@ -384,6 +384,7 @@ static int atalla_init(ENGINE *e)
err:
if(atalla_dso)
DSO_free(atalla_dso);
atalla_dso = NULL;
p_Atalla_GetHardwareConfig = NULL;
p_Atalla_RSAPrivateKeyOpFn = NULL;
p_Atalla_GetPerformanceStatistics = NULL;

View File

@@ -98,6 +98,7 @@ static int cswift_destroy(ENGINE *e);
static int cswift_init(ENGINE *e);
static int cswift_finish(ENGINE *e);
static int cswift_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void));
static int cswift_bn_32copy(SW_LARGENUMBER * out, const BIGNUM * in);
/* BIGNUM stuff */
static int cswift_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
@@ -415,7 +416,10 @@ static int cswift_init(ENGINE *e)
return 1;
err:
if(cswift_dso)
{
DSO_free(cswift_dso);
cswift_dso = NULL;
}
p_CSwift_AcquireAccContext = NULL;
p_CSwift_AttachKeyParam = NULL;
p_CSwift_SimpleRequest = NULL;
@@ -565,6 +569,29 @@ err:
return to_return;
}
int cswift_bn_32copy(SW_LARGENUMBER * out, const BIGNUM * in)
{
int mod;
int numbytes = BN_num_bytes(in);
mod = 0;
while( ((out->nbytes = (numbytes+mod)) % 32) )
{
mod++;
}
out->value = (unsigned char*)OPENSSL_malloc(out->nbytes);
if(!out->value)
{
return 0;
}
BN_bn2bin(in, &out->value[mod]);
if(mod)
memset(out->value, 0, mod);
return 1;
}
/* Un petit mod_exp chinois */
static int cswift_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *q, const BIGNUM *dmp1,
@@ -574,15 +601,16 @@ static int cswift_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
SW_LARGENUMBER arg, res;
SW_PARAM sw_param;
SW_CONTEXT_HANDLE hac;
BIGNUM *rsa_p = NULL;
BIGNUM *rsa_q = NULL;
BIGNUM *rsa_dmp1 = NULL;
BIGNUM *rsa_dmq1 = NULL;
BIGNUM *rsa_iqmp = NULL;
BIGNUM *argument = NULL;
BIGNUM *result = NULL;
BIGNUM *argument = NULL;
int to_return = 0; /* expect failure */
int acquired = 0;
sw_param.up.crt.p.value = NULL;
sw_param.up.crt.q.value = NULL;
sw_param.up.crt.dmp1.value = NULL;
sw_param.up.crt.dmq1.value = NULL;
sw_param.up.crt.iqmp.value = NULL;
if(!get_context(&hac))
{
@@ -590,44 +618,55 @@ static int cswift_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
goto err;
}
acquired = 1;
/* Prepare the params */
BN_CTX_start(ctx);
rsa_p = BN_CTX_get(ctx);
rsa_q = BN_CTX_get(ctx);
rsa_dmp1 = BN_CTX_get(ctx);
rsa_dmq1 = BN_CTX_get(ctx);
rsa_iqmp = BN_CTX_get(ctx);
argument = BN_CTX_get(ctx);
result = BN_CTX_get(ctx);
if(!result)
argument = BN_new();
result = BN_new();
if(!result || !argument)
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_CTX_FULL);
goto err;
}
if(!bn_wexpand(rsa_p, p->top) || !bn_wexpand(rsa_q, q->top) ||
!bn_wexpand(rsa_dmp1, dmp1->top) ||
!bn_wexpand(rsa_dmq1, dmq1->top) ||
!bn_wexpand(rsa_iqmp, iqmp->top) ||
!bn_wexpand(argument, a->top) ||
sw_param.type = SW_ALG_CRT;
/************************************************************************/
/* 04/02/2003 */
/* Modified by Frederic Giudicelli (deny-all.com) to overcome the */
/* limitation of cswift with values not a multiple of 32 */
/************************************************************************/
if(!cswift_bn_32copy(&sw_param.up.crt.p, p))
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_EXPAND_FAIL);
goto err;
}
if(!cswift_bn_32copy(&sw_param.up.crt.q, q))
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_EXPAND_FAIL);
goto err;
}
if(!cswift_bn_32copy(&sw_param.up.crt.dmp1, dmp1))
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_EXPAND_FAIL);
goto err;
}
if(!cswift_bn_32copy(&sw_param.up.crt.dmq1, dmq1))
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_EXPAND_FAIL);
goto err;
}
if(!cswift_bn_32copy(&sw_param.up.crt.iqmp, iqmp))
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_EXPAND_FAIL);
goto err;
}
if( !bn_wexpand(argument, a->top) ||
!bn_wexpand(result, p->top + q->top))
{
CSWIFTerr(CSWIFT_F_CSWIFT_MOD_EXP_CRT,CSWIFT_R_BN_EXPAND_FAIL);
goto err;
}
sw_param.type = SW_ALG_CRT;
sw_param.up.crt.p.nbytes = BN_bn2bin(p, (unsigned char *)rsa_p->d);
sw_param.up.crt.p.value = (unsigned char *)rsa_p->d;
sw_param.up.crt.q.nbytes = BN_bn2bin(q, (unsigned char *)rsa_q->d);
sw_param.up.crt.q.value = (unsigned char *)rsa_q->d;
sw_param.up.crt.dmp1.nbytes = BN_bn2bin(dmp1,
(unsigned char *)rsa_dmp1->d);
sw_param.up.crt.dmp1.value = (unsigned char *)rsa_dmp1->d;
sw_param.up.crt.dmq1.nbytes = BN_bn2bin(dmq1,
(unsigned char *)rsa_dmq1->d);
sw_param.up.crt.dmq1.value = (unsigned char *)rsa_dmq1->d;
sw_param.up.crt.iqmp.nbytes = BN_bn2bin(iqmp,
(unsigned char *)rsa_iqmp->d);
sw_param.up.crt.iqmp.value = (unsigned char *)rsa_iqmp->d;
/* Attach the key params */
sw_status = p_CSwift_AttachKeyParam(hac, &sw_param);
switch(sw_status)
@@ -666,9 +705,22 @@ static int cswift_mod_exp_crt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
BN_bin2bn((unsigned char *)result->d, res.nbytes, r);
to_return = 1;
err:
if(sw_param.up.crt.p.value)
OPENSSL_free(sw_param.up.crt.p.value);
if(sw_param.up.crt.q.value)
OPENSSL_free(sw_param.up.crt.q.value);
if(sw_param.up.crt.dmp1.value)
OPENSSL_free(sw_param.up.crt.dmp1.value);
if(sw_param.up.crt.dmq1.value)
OPENSSL_free(sw_param.up.crt.dmq1.value);
if(sw_param.up.crt.iqmp.value)
OPENSSL_free(sw_param.up.crt.iqmp.value);
if(result)
BN_free(result);
if(argument)
BN_free(argument);
if(acquired)
release_context(hac);
BN_CTX_end(ctx);
return to_return;
}
@@ -676,6 +728,27 @@ err:
static int cswift_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
{
int to_return = 0;
const RSA_METHOD * def_rsa_method;
/* Try the limits of RSA (2048 bits) */
if(BN_num_bytes(rsa->p) > 128 ||
BN_num_bytes(rsa->q) > 128 ||
BN_num_bytes(rsa->dmp1) > 128 ||
BN_num_bytes(rsa->dmq1) > 128 ||
BN_num_bytes(rsa->iqmp) > 128)
{
#ifdef RSA_NULL
def_rsa_method=RSA_null_method();
#else
#if 0
def_rsa_method=RSA_PKCS1_RSAref();
#else
def_rsa_method=RSA_PKCS1_SSLeay();
#endif
#endif
if(def_rsa_method)
return def_rsa_method->rsa_mod_exp(r0, I, rsa, ctx);
}
if(!rsa->p || !rsa->q || !rsa->dmp1 || !rsa->dmq1 || !rsa->iqmp)
{
@@ -693,6 +766,26 @@ err:
static int cswift_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx)
{
const RSA_METHOD * def_rsa_method;
/* Try the limits of RSA (2048 bits) */
if(BN_num_bytes(r) > 256 ||
BN_num_bytes(a) > 256 ||
BN_num_bytes(m) > 256)
{
#ifdef RSA_NULL
def_rsa_method=RSA_null_method();
#else
#if 0
def_rsa_method=RSA_PKCS1_RSAref();
#else
def_rsa_method=RSA_PKCS1_SSLeay();
#endif
#endif
if(def_rsa_method)
return def_rsa_method->bn_mod_exp(r, a, p, m, ctx, m_ctx);
}
return cswift_mod_exp(r, a, p, m, ctx);
}
@@ -937,9 +1030,10 @@ static int cswift_rand_bytes(unsigned char *buf, int num)
SW_CONTEXT_HANDLE hac;
SW_STATUS swrc;
SW_LARGENUMBER largenum;
size_t nbytes = 0;
int acquired = 0;
int to_return = 0; /* assume failure */
unsigned char buf32[1024];
if (!get_context(&hac))
{
@@ -948,17 +1042,19 @@ static int cswift_rand_bytes(unsigned char *buf, int num)
}
acquired = 1;
while (nbytes < (size_t)num)
/************************************************************************/
/* 04/02/2003 */
/* Modified by Frederic Giudicelli (deny-all.com) to overcome the */
/* limitation of cswift with values not a multiple of 32 */
/************************************************************************/
while(num >= sizeof(buf32))
{
largenum.value = buf;
largenum.nbytes = sizeof(buf32);
/* tell CryptoSwift how many bytes we want and where we want it.
* Note: - CryptoSwift cannot do more than 4096 bytes at a time.
* - CryptoSwift can only do multiple of 32-bits. */
largenum.value = (SW_BYTE *) buf + nbytes;
if (4096 > num - nbytes)
largenum.nbytes = num - nbytes;
else
largenum.nbytes = 4096;
swrc = p_CSwift_SimpleRequest(hac, SW_CMD_RAND, NULL, 0, &largenum, 1);
if (swrc != SW_OK)
{
@@ -968,14 +1064,30 @@ static int cswift_rand_bytes(unsigned char *buf, int num)
ERR_add_error_data(2, "CryptoSwift error number is ", tmpbuf);
goto err;
}
nbytes += largenum.nbytes;
buf += sizeof(buf32);
num -= sizeof(buf32);
}
if(num)
{
largenum.nbytes = sizeof(buf32);
largenum.value = buf32;
swrc = p_CSwift_SimpleRequest(hac, SW_CMD_RAND, NULL, 0, &largenum, 1);
if (swrc != SW_OK)
{
char tmpbuf[20];
CSWIFTerr(CSWIFT_F_CSWIFT_CTRL, CSWIFT_R_REQUEST_FAILED);
sprintf(tmpbuf, "%ld", swrc);
ERR_add_error_data(2, "CryptoSwift error number is ", tmpbuf);
goto err;
}
memcpy(buf, largenum.value, num);
}
to_return = 1; /* success */
to_return = 1; /* success */
err:
if (acquired)
release_context(hac);
return to_return;
}

View File

@@ -463,6 +463,7 @@ static int ubsec_init(ENGINE *e)
err:
if(ubsec_dso)
DSO_free(ubsec_dso);
ubsec_dso = NULL;
p_UBSEC_ubsec_bytes_to_bits = NULL;
p_UBSEC_ubsec_bits_to_bytes = NULL;
p_UBSEC_ubsec_open = NULL;

9
ms/do_win64a.bat Executable file
View File

@@ -0,0 +1,9 @@
perl util\mkfiles.pl >MINFO
perl ms\uplink.pl win64a > ms\uptable.asm
ml64 -c -Foms\uptable.obj ms\uptable.asm
perl util\mk1mf.pl no-asm VC-WIN64A >ms\nt.mak
perl util\mk1mf.pl dll no-asm VC-WIN64A >ms\ntdll.mak
perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def

9
ms/do_win64i.bat Executable file
View File

@@ -0,0 +1,9 @@
perl util\mkfiles.pl >MINFO
perl ms\uplink.pl win64i > ms\uptable.asm
ias -o ms\uptable.obj ms\uptable.asm
perl util\mk1mf.pl no-asm VC-WIN64I >ms\nt.mak
perl util\mk1mf.pl dll no-asm VC-WIN64I >ms\ntdll.mak
perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def

View File

@@ -2,7 +2,7 @@
%define libmin 9
%define librel 8
#%define librev a
Release: 2
Release: 3
%define openssldir /var/ssl

View File

@@ -70,7 +70,9 @@
#define _XOPEN_SOURCE 500 /* glibc2 needs this to declare strptime() */
#include <time.h>
#if 0 /* experimental */
#undef _XOPEN_SOURCE /* To avoid clashes with anything else... */
#endif
#include <string.h>
#define KRB5_PRIVATE 1
@@ -295,7 +297,7 @@ load_krb5_dll(void)
HANDLE hKRB5_32;
krb5_loaded++;
hKRB5_32 = LoadLibrary("KRB5_32");
hKRB5_32 = LoadLibrary(TEXT("KRB5_32"));
if (!hKRB5_32)
return;

View File

@@ -2396,7 +2396,9 @@ void SSL_set_info_callback(SSL *ssl,
ssl->info_callback=cb;
}
void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,int type,int val)
/* One compiler (Diab DCC) doesn't like argument names in returned
function pointer. */
void (*SSL_get_info_callback(const SSL *ssl))(const SSL * /*ssl*/,int /*type*/,int /*val*/)
{
return ssl->info_callback;
}

View File

@@ -1694,7 +1694,7 @@ static int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
fprintf(stderr, " Certificate proxy rights = %*.*s", i, i, s);
while(i-- > 0)
{
char c = *s++;
int c = *s++;
if (isascii(c) && isalpha(c))
{
if (islower(c))
@@ -1755,11 +1755,11 @@ static int process_proxy_cond_adders(unsigned int letters[26],
static int process_proxy_cond_val(unsigned int letters[26],
const char *cond, const char **cond_end, int *pos, int indent)
{
char c;
int c;
int ok = 1;
int negate = 0;
while(isspace(*cond))
while(isspace((int)*cond))
{
cond++; (*pos)++;
}
@@ -1774,7 +1774,7 @@ static int process_proxy_cond_val(unsigned int letters[26],
{
negate = !negate;
cond++; (*pos)++;
while(isspace(*cond))
while(isspace((int)*cond))
{
cond++; (*pos)++;
}
@@ -1789,7 +1789,7 @@ static int process_proxy_cond_val(unsigned int letters[26],
cond = *cond_end;
if (ok < 0)
goto end;
while(isspace(*cond))
while(isspace((int)*cond))
{
cond++; (*pos)++;
}
@@ -1849,7 +1849,7 @@ static int process_proxy_cond_multipliers(unsigned int letters[26],
while(ok >= 0)
{
while(isspace(*cond))
while(isspace((int)*cond))
{
cond++; (*pos)++;
}
@@ -1916,7 +1916,7 @@ static int process_proxy_cond_adders(unsigned int letters[26],
while(ok >= 0)
{
while(isspace(*cond))
while(isspace((int)*cond))
{
cond++; (*pos)++;
}
@@ -1999,7 +1999,7 @@ static int MS_CALLBACK app_verify_callback(X509_STORE_CTX *ctx, void *arg)
letters[i] = 0;
for(sp = cb_arg->proxy_auth; *sp; sp++)
{
char c = *sp;
int c = *sp;
if (isascii(c) && isalpha(c))
{
if (islower(c))

View File

@@ -312,7 +312,7 @@ BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
else \
LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
fi; \
$(MAKE) -f $(TOP)/Makefile.shared $(BUILDENV) \
$(MAKE) -f $(TOP)/Makefile.shared -e \
APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
link_app.$${shlib_target}

View File

@@ -119,7 +119,9 @@ create_cygwin_readme
create_profile_files
cd ${INSTALL_PREFIX}
strip usr/bin/*.exe usr/bin/*.dll
chmod u+w usr/lib/engines/*.so
strip usr/bin/*.exe usr/bin/*.dll usr/lib/engines/*.so
chmod u-w usr/lib/engines/*.so
# Runtime package
find etc usr/bin usr/lib/engines usr/share/doc usr/ssl/certs \

View File

@@ -2882,483 +2882,488 @@ RSA_verify_PKCS1_PSS 3321 EXIST::FUNCTION:RSA
RSA_padding_add_X931 3322 EXIST::FUNCTION:RSA
RSA_padding_add_PKCS1_PSS 3323 EXIST::FUNCTION:RSA
PKCS1_MGF1 3324 EXIST::FUNCTION:RSA
BIO_new_dgram 3325 EXIST::FUNCTION:
BN_get0_nist_prime_384 3326 EXIST::FUNCTION:
ERR_set_mark 3327 EXIST::FUNCTION:
X509_STORE_CTX_set0_crls 3328 EXIST::FUNCTION:
ENGINE_set_STORE 3329 EXIST::FUNCTION:ENGINE
ENGINE_register_ECDSA 3330 EXIST::FUNCTION:ENGINE
STORE_method_set_list_start_function 3331 EXIST:!VMS:FUNCTION:
STORE_meth_set_list_start_fn 3331 EXIST:VMS:FUNCTION:
BN_BLINDING_invert_ex 3332 EXIST::FUNCTION:
NAME_CONSTRAINTS_free 3333 EXIST::FUNCTION:
STORE_ATTR_INFO_set_number 3334 EXIST::FUNCTION:
BN_BLINDING_get_thread_id 3335 EXIST::FUNCTION:
X509_STORE_CTX_set0_param 3336 EXIST::FUNCTION:
POLICY_MAPPING_it 3337 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_MAPPING_it 3337 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_parse_attrs_start 3338 EXIST::FUNCTION:
POLICY_CONSTRAINTS_free 3339 EXIST::FUNCTION:
EVP_PKEY_add1_attr_by_NID 3340 EXIST::FUNCTION:
BN_nist_mod_192 3341 EXIST::FUNCTION:
EC_GROUP_get_trinomial_basis 3342 EXIST::FUNCTION:EC
STORE_set_method 3343 EXIST::FUNCTION:
GENERAL_SUBTREE_free 3344 EXIST::FUNCTION:
NAME_CONSTRAINTS_it 3345 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
NAME_CONSTRAINTS_it 3345 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ECDH_get_default_method 3346 EXIST::FUNCTION:ECDH
PKCS12_add_safe 3347 EXIST::FUNCTION:
EC_KEY_new_by_curve_name 3348 EXIST::FUNCTION:EC
STORE_method_get_update_store_function 3349 EXIST:!VMS:FUNCTION:
STORE_meth_get_update_store_fn 3349 EXIST:VMS:FUNCTION:
ENGINE_register_ECDH 3350 EXIST::FUNCTION:ENGINE
SHA512_Update 3351 EXIST::FUNCTION:SHA,SHA512
i2d_ECPrivateKey 3352 EXIST::FUNCTION:EC
BN_get0_nist_prime_192 3353 EXIST::FUNCTION:
STORE_modify_certificate 3354 EXIST::FUNCTION:
EC_POINT_set_affine_coordinates_GF2m 3355 EXIST:!VMS:FUNCTION:EC
EC_POINT_set_affine_coords_GF2m 3355 EXIST:VMS:FUNCTION:EC
BN_GF2m_mod_exp_arr 3356 EXIST::FUNCTION:
STORE_ATTR_INFO_modify_number 3357 EXIST::FUNCTION:
X509_keyid_get0 3358 EXIST::FUNCTION:
ENGINE_load_gmp 3359 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE
pitem_new 3360 EXIST::FUNCTION:
BN_GF2m_mod_mul_arr 3361 EXIST::FUNCTION:
STORE_list_public_key_endp 3362 EXIST::FUNCTION:
o2i_ECPublicKey 3363 EXIST::FUNCTION:EC
EC_KEY_copy 3364 EXIST::FUNCTION:EC
BIO_dump_fp 3365 EXIST::FUNCTION:FP_API
X509_policy_node_get0_parent 3366 EXIST::FUNCTION:
EC_GROUP_check_discriminant 3367 EXIST::FUNCTION:EC
i2o_ECPublicKey 3368 EXIST::FUNCTION:EC
EC_KEY_precompute_mult 3369 EXIST::FUNCTION:EC
a2i_IPADDRESS 3370 EXIST::FUNCTION:
STORE_method_set_initialise_function 3371 EXIST:!VMS:FUNCTION:
STORE_meth_set_initialise_fn 3371 EXIST:VMS:FUNCTION:
X509_STORE_CTX_set_depth 3372 EXIST::FUNCTION:
X509_VERIFY_PARAM_inherit 3373 EXIST::FUNCTION:
EC_POINT_point2bn 3374 EXIST::FUNCTION:EC
STORE_ATTR_INFO_set_dn 3375 EXIST::FUNCTION:
X509_policy_tree_get0_policies 3376 EXIST::FUNCTION:
EC_GROUP_new_curve_GF2m 3377 EXIST::FUNCTION:EC
STORE_destroy_method 3378 EXIST::FUNCTION:
ENGINE_unregister_STORE 3379 EXIST::FUNCTION:ENGINE
EVP_PKEY_get1_EC_KEY 3380 EXIST::FUNCTION:EC
STORE_ATTR_INFO_get0_number 3381 EXIST::FUNCTION:
ENGINE_get_default_ECDH 3382 EXIST::FUNCTION:ENGINE
EC_KEY_get_conv_form 3383 EXIST::FUNCTION:EC
ASN1_OCTET_STRING_NDEF_it 3384 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
ASN1_OCTET_STRING_NDEF_it 3384 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_delete_public_key 3385 EXIST::FUNCTION:
STORE_get_public_key 3386 EXIST::FUNCTION:
STORE_modify_arbitrary 3387 EXIST::FUNCTION:
ENGINE_get_static_state 3388 EXIST::FUNCTION:ENGINE
pqueue_iterator 3389 EXIST::FUNCTION:
ECDSA_SIG_new 3390 EXIST::FUNCTION:ECDSA
OPENSSL_DIR_end 3391 EXIST::FUNCTION:
BN_GF2m_mod_sqr 3392 EXIST::FUNCTION:
EC_POINT_bn2point 3393 EXIST::FUNCTION:EC
X509_VERIFY_PARAM_set_depth 3394 EXIST::FUNCTION:
EC_KEY_set_asn1_flag 3395 EXIST::FUNCTION:EC
STORE_get_method 3396 EXIST::FUNCTION:
EC_KEY_get_key_method_data 3397 EXIST::FUNCTION:EC
ECDSA_sign_ex 3398 EXIST::FUNCTION:ECDSA
STORE_parse_attrs_end 3399 EXIST::FUNCTION:
EC_GROUP_get_point_conversion_form 3400 EXIST:!VMS:FUNCTION:EC
EC_GROUP_get_point_conv_form 3400 EXIST:VMS:FUNCTION:EC
STORE_method_set_store_function 3401 EXIST::FUNCTION:
STORE_ATTR_INFO_in 3402 EXIST::FUNCTION:
PEM_read_bio_ECPKParameters 3403 EXIST::FUNCTION:EC
EC_GROUP_get_pentanomial_basis 3404 EXIST::FUNCTION:EC
EVP_PKEY_add1_attr_by_txt 3405 EXIST::FUNCTION:
BN_BLINDING_set_flags 3406 EXIST::FUNCTION:
X509_VERIFY_PARAM_set1_policies 3407 EXIST::FUNCTION:
X509_VERIFY_PARAM_set1_name 3408 EXIST::FUNCTION:
X509_VERIFY_PARAM_set_purpose 3409 EXIST::FUNCTION:
STORE_get_number 3410 EXIST::FUNCTION:
ECDSA_sign_setup 3411 EXIST::FUNCTION:ECDSA
BN_GF2m_mod_solve_quad_arr 3412 EXIST::FUNCTION:
EC_KEY_up_ref 3413 EXIST::FUNCTION:EC
POLICY_MAPPING_free 3414 EXIST::FUNCTION:
BN_GF2m_mod_div 3415 EXIST::FUNCTION:
X509_VERIFY_PARAM_set_flags 3416 EXIST::FUNCTION:
EC_KEY_free 3417 EXIST::FUNCTION:EC
STORE_method_set_list_next_function 3418 EXIST:!VMS:FUNCTION:
STORE_meth_set_list_next_fn 3418 EXIST:VMS:FUNCTION:
PEM_write_bio_ECPrivateKey 3419 EXIST::FUNCTION:EC
d2i_EC_PUBKEY 3420 EXIST::FUNCTION:EC
STORE_method_get_generate_function 3421 EXIST:!VMS:FUNCTION:
STORE_meth_get_generate_fn 3421 EXIST:VMS:FUNCTION:
STORE_method_set_list_end_function 3422 EXIST:!VMS:FUNCTION:
STORE_meth_set_list_end_fn 3422 EXIST:VMS:FUNCTION:
pqueue_print 3423 EXIST::FUNCTION:
EC_GROUP_have_precompute_mult 3424 EXIST::FUNCTION:EC
EC_KEY_print_fp 3425 EXIST::FUNCTION:EC,FP_API
BN_GF2m_mod_arr 3426 EXIST::FUNCTION:
PEM_write_bio_X509_CERT_PAIR 3427 EXIST::FUNCTION:
EVP_PKEY_cmp 3428 EXIST::FUNCTION:
X509_policy_level_node_count 3429 EXIST::FUNCTION:
STORE_new_engine 3430 EXIST::FUNCTION:
STORE_list_public_key_start 3431 EXIST::FUNCTION:
X509_VERIFY_PARAM_new 3432 EXIST::FUNCTION:
ECDH_get_ex_data 3433 EXIST::FUNCTION:ECDH
EVP_PKEY_get_attr 3434 EXIST::FUNCTION:
ECDSA_do_sign 3435 EXIST::FUNCTION:ECDSA
ENGINE_unregister_ECDH 3436 EXIST::FUNCTION:ENGINE
ECDH_OpenSSL 3437 EXIST::FUNCTION:ECDH
EC_KEY_set_conv_form 3438 EXIST::FUNCTION:EC
EC_POINT_dup 3439 EXIST::FUNCTION:EC
GENERAL_SUBTREE_new 3440 EXIST::FUNCTION:
STORE_list_crl_endp 3441 EXIST::FUNCTION:
EC_get_builtin_curves 3442 EXIST::FUNCTION:EC
X509_policy_node_get0_qualifiers 3443 EXIST:!VMS:FUNCTION:
X509_pcy_node_get0_qualifiers 3443 EXIST:VMS:FUNCTION:
STORE_list_crl_end 3444 EXIST::FUNCTION:
EVP_PKEY_set1_EC_KEY 3445 EXIST::FUNCTION:EC
BN_GF2m_mod_sqrt_arr 3446 EXIST::FUNCTION:
i2d_ECPrivateKey_bio 3447 EXIST::FUNCTION:BIO,EC
ECPKParameters_print_fp 3448 EXIST::FUNCTION:EC,FP_API
pqueue_find 3449 EXIST::FUNCTION:
ECDSA_SIG_free 3450 EXIST::FUNCTION:ECDSA
PEM_write_bio_ECPKParameters 3451 EXIST::FUNCTION:EC
STORE_method_set_ctrl_function 3452 EXIST::FUNCTION:
STORE_list_public_key_end 3453 EXIST::FUNCTION:
EC_KEY_set_private_key 3454 EXIST::FUNCTION:EC
pqueue_peek 3455 EXIST::FUNCTION:
STORE_get_arbitrary 3456 EXIST::FUNCTION:
STORE_store_crl 3457 EXIST::FUNCTION:
X509_policy_node_get0_policy 3458 EXIST::FUNCTION:
PKCS12_add_safes 3459 EXIST::FUNCTION:
BN_BLINDING_convert_ex 3460 EXIST::FUNCTION:
X509_policy_tree_free 3461 EXIST::FUNCTION:
OPENSSL_ia32cap_loc 3462 EXIST::FUNCTION:
BN_GF2m_poly2arr 3463 EXIST::FUNCTION:
STORE_ctrl 3464 EXIST::FUNCTION:
STORE_ATTR_INFO_compare 3465 EXIST::FUNCTION:
BN_get0_nist_prime_224 3466 EXIST::FUNCTION:
i2d_ECParameters 3467 EXIST::FUNCTION:EC
i2d_ECPKParameters 3468 EXIST::FUNCTION:EC
BN_GENCB_call 3469 EXIST::FUNCTION:
d2i_ECPKParameters 3470 EXIST::FUNCTION:EC
STORE_method_set_generate_function 3471 EXIST:!VMS:FUNCTION:
STORE_meth_set_generate_fn 3471 EXIST:VMS:FUNCTION:
ENGINE_set_ECDH 3472 EXIST::FUNCTION:ENGINE
NAME_CONSTRAINTS_new 3473 EXIST::FUNCTION:
SHA256_Init 3474 EXIST::FUNCTION:SHA,SHA256
EC_KEY_get0_public_key 3475 EXIST::FUNCTION:EC
PEM_write_bio_EC_PUBKEY 3476 EXIST::FUNCTION:EC
STORE_ATTR_INFO_set_cstr 3477 EXIST::FUNCTION:
STORE_list_crl_next 3478 EXIST::FUNCTION:
STORE_ATTR_INFO_in_range 3479 EXIST::FUNCTION:
ECParameters_print 3480 EXIST::FUNCTION:BIO,EC
STORE_method_set_delete_function 3481 EXIST:!VMS:FUNCTION:
STORE_meth_set_delete_fn 3481 EXIST:VMS:FUNCTION:
STORE_list_certificate_next 3482 EXIST::FUNCTION:
ASN1_generate_nconf 3483 EXIST::FUNCTION:
BUF_memdup 3484 EXIST::FUNCTION:
BN_GF2m_mod_mul 3485 EXIST::FUNCTION:
STORE_method_get_list_next_function 3486 EXIST:!VMS:FUNCTION:
STORE_meth_get_list_next_fn 3486 EXIST:VMS:FUNCTION:
STORE_ATTR_INFO_get0_dn 3487 EXIST::FUNCTION:
STORE_list_private_key_next 3488 EXIST::FUNCTION:
EC_GROUP_set_seed 3489 EXIST::FUNCTION:EC
X509_VERIFY_PARAM_set_trust 3490 EXIST::FUNCTION:
STORE_ATTR_INFO_free 3491 EXIST::FUNCTION:
STORE_get_private_key 3492 EXIST::FUNCTION:
EVP_PKEY_get_attr_count 3493 EXIST::FUNCTION:
STORE_ATTR_INFO_new 3494 EXIST::FUNCTION:
EC_GROUP_get_curve_GF2m 3495 EXIST::FUNCTION:EC
STORE_method_set_revoke_function 3496 EXIST:!VMS:FUNCTION:
STORE_meth_set_revoke_fn 3496 EXIST:VMS:FUNCTION:
STORE_store_number 3497 EXIST::FUNCTION:
BN_is_prime_ex 3498 EXIST::FUNCTION:
STORE_revoke_public_key 3499 EXIST::FUNCTION:
X509_STORE_CTX_get0_param 3500 EXIST::FUNCTION:
STORE_delete_arbitrary 3501 EXIST::FUNCTION:
PEM_read_X509_CERT_PAIR 3502 EXIST:!WIN16:FUNCTION:
X509_STORE_set_depth 3503 EXIST::FUNCTION:
ECDSA_get_ex_data 3504 EXIST::FUNCTION:ECDSA
SHA224 3505 EXIST::FUNCTION:SHA,SHA256
BIO_dump_indent_fp 3506 EXIST::FUNCTION:FP_API
EC_KEY_set_group 3507 EXIST::FUNCTION:EC
BUF_strndup 3508 EXIST::FUNCTION:
STORE_list_certificate_start 3509 EXIST::FUNCTION:
BN_GF2m_mod 3510 EXIST::FUNCTION:
X509_REQ_check_private_key 3511 EXIST::FUNCTION:
EC_GROUP_get_seed_len 3512 EXIST::FUNCTION:EC
ERR_load_STORE_strings 3513 EXIST::FUNCTION:
PEM_read_bio_EC_PUBKEY 3514 EXIST::FUNCTION:EC
STORE_list_private_key_end 3515 EXIST::FUNCTION:
i2d_EC_PUBKEY 3516 EXIST::FUNCTION:EC
ECDSA_get_default_method 3517 EXIST::FUNCTION:ECDSA
ASN1_put_eoc 3518 EXIST::FUNCTION:
X509_STORE_CTX_get_explicit_policy 3519 EXIST:!VMS:FUNCTION:
X509_STORE_CTX_get_expl_policy 3519 EXIST:VMS:FUNCTION:
X509_VERIFY_PARAM_table_cleanup 3520 EXIST::FUNCTION:
STORE_modify_private_key 3521 EXIST::FUNCTION:
X509_VERIFY_PARAM_free 3522 EXIST::FUNCTION:
EC_METHOD_get_field_type 3523 EXIST::FUNCTION:EC
EC_GFp_nist_method 3524 EXIST::FUNCTION:EC
STORE_method_set_modify_function 3525 EXIST:!VMS:FUNCTION:
STORE_meth_set_modify_fn 3525 EXIST:VMS:FUNCTION:
STORE_parse_attrs_next 3526 EXIST::FUNCTION:
ENGINE_load_padlock 3527 EXIST::FUNCTION:ENGINE
EC_GROUP_set_curve_name 3528 EXIST::FUNCTION:EC
X509_CERT_PAIR_it 3529 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
X509_CERT_PAIR_it 3529 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_method_get_revoke_function 3530 EXIST:!VMS:FUNCTION:
STORE_meth_get_revoke_fn 3530 EXIST:VMS:FUNCTION:
STORE_method_set_get_function 3531 EXIST::FUNCTION:
STORE_modify_number 3532 EXIST::FUNCTION:
STORE_method_get_store_function 3533 EXIST::FUNCTION:
STORE_store_private_key 3534 EXIST::FUNCTION:
BN_GF2m_mod_sqr_arr 3535 EXIST::FUNCTION:
RSA_setup_blinding 3536 EXIST::FUNCTION:RSA
BIO_s_datagram 3537 EXIST::FUNCTION:DGRAM
STORE_Memory 3538 EXIST::FUNCTION:
sk_find_ex 3539 EXIST::FUNCTION:
EC_GROUP_set_curve_GF2m 3540 EXIST::FUNCTION:EC
ENGINE_set_default_ECDSA 3541 EXIST::FUNCTION:ENGINE
POLICY_CONSTRAINTS_new 3542 EXIST::FUNCTION:
BN_GF2m_mod_sqrt 3543 EXIST::FUNCTION:
ECDH_set_default_method 3544 EXIST::FUNCTION:ECDH
EC_KEY_generate_key 3545 EXIST::FUNCTION:EC
SHA384_Update 3546 EXIST::FUNCTION:SHA,SHA512
BN_GF2m_arr2poly 3547 EXIST::FUNCTION:
STORE_method_get_get_function 3548 EXIST::FUNCTION:
STORE_method_set_cleanup_function 3549 EXIST:!VMS:FUNCTION:
STORE_meth_set_cleanup_fn 3549 EXIST:VMS:FUNCTION:
EC_GROUP_check 3550 EXIST::FUNCTION:EC
d2i_ECPrivateKey_bio 3551 EXIST::FUNCTION:BIO,EC
EC_KEY_insert_key_method_data 3552 EXIST::FUNCTION:EC
STORE_method_get_lock_store_function 3553 EXIST:!VMS:FUNCTION:
STORE_meth_get_lock_store_fn 3553 EXIST:VMS:FUNCTION:
X509_VERIFY_PARAM_get_depth 3554 EXIST::FUNCTION:
SHA224_Final 3555 EXIST::FUNCTION:SHA,SHA256
STORE_method_set_update_store_function 3556 EXIST:!VMS:FUNCTION:
STORE_meth_set_update_store_fn 3556 EXIST:VMS:FUNCTION:
SHA224_Update 3557 EXIST::FUNCTION:SHA,SHA256
d2i_ECPrivateKey 3558 EXIST::FUNCTION:EC
ASN1_item_ndef_i2d 3559 EXIST::FUNCTION:
STORE_delete_private_key 3560 EXIST::FUNCTION:
ERR_pop_to_mark 3561 EXIST::FUNCTION:
ENGINE_register_all_STORE 3562 EXIST::FUNCTION:ENGINE
X509_policy_level_get0_node 3563 EXIST::FUNCTION:
i2d_PKCS7_NDEF 3564 EXIST::FUNCTION:
EC_GROUP_get_degree 3565 EXIST::FUNCTION:EC
ASN1_generate_v3 3566 EXIST::FUNCTION:
STORE_ATTR_INFO_modify_cstr 3567 EXIST::FUNCTION:
X509_policy_tree_level_count 3568 EXIST::FUNCTION:
BN_GF2m_add 3569 EXIST::FUNCTION:
EC_KEY_get0_group 3570 EXIST::FUNCTION:EC
STORE_generate_crl 3571 EXIST::FUNCTION:
STORE_store_public_key 3572 EXIST::FUNCTION:
X509_CERT_PAIR_free 3573 EXIST::FUNCTION:
STORE_revoke_private_key 3574 EXIST::FUNCTION:
BN_nist_mod_224 3575 EXIST::FUNCTION:
SHA512_Final 3576 EXIST::FUNCTION:SHA,SHA512
STORE_ATTR_INFO_modify_dn 3577 EXIST::FUNCTION:
STORE_method_get_initialise_function 3578 EXIST:!VMS:FUNCTION:
STORE_meth_get_initialise_fn 3578 EXIST:VMS:FUNCTION:
STORE_delete_number 3579 EXIST::FUNCTION:
i2d_EC_PUBKEY_bio 3580 EXIST::FUNCTION:BIO,EC
BIO_dgram_non_fatal_error 3581 EXIST::FUNCTION:
EC_GROUP_get_asn1_flag 3582 EXIST::FUNCTION:EC
STORE_ATTR_INFO_in_ex 3583 EXIST::FUNCTION:
STORE_list_crl_start 3584 EXIST::FUNCTION:
ECDH_get_ex_new_index 3585 EXIST::FUNCTION:ECDH
STORE_method_get_modify_function 3586 EXIST:!VMS:FUNCTION:
STORE_meth_get_modify_fn 3586 EXIST:VMS:FUNCTION:
v2i_ASN1_BIT_STRING 3587 EXIST::FUNCTION:
STORE_store_certificate 3588 EXIST::FUNCTION:
OBJ_bsearch_ex 3589 EXIST::FUNCTION:
X509_STORE_CTX_set_default 3590 EXIST::FUNCTION:
STORE_ATTR_INFO_set_sha1str 3591 EXIST::FUNCTION:
BN_GF2m_mod_inv 3592 EXIST::FUNCTION:
BN_GF2m_mod_exp 3593 EXIST::FUNCTION:
STORE_modify_public_key 3594 EXIST::FUNCTION:
STORE_method_get_list_start_function 3595 EXIST:!VMS:FUNCTION:
STORE_meth_get_list_start_fn 3595 EXIST:VMS:FUNCTION:
EC_GROUP_get0_seed 3596 EXIST::FUNCTION:EC
STORE_store_arbitrary 3597 EXIST::FUNCTION:
STORE_method_set_unlock_store_function 3598 EXIST:!VMS:FUNCTION:
STORE_meth_set_unlock_store_fn 3598 EXIST:VMS:FUNCTION:
BN_GF2m_mod_div_arr 3599 EXIST::FUNCTION:
ENGINE_set_ECDSA 3600 EXIST::FUNCTION:ENGINE
STORE_create_method 3601 EXIST::FUNCTION:
ECPKParameters_print 3602 EXIST::FUNCTION:BIO,EC
EC_KEY_get0_private_key 3603 EXIST::FUNCTION:EC
PEM_write_EC_PUBKEY 3604 EXIST:!WIN16:FUNCTION:EC
X509_VERIFY_PARAM_set1 3605 EXIST::FUNCTION:
ECDH_set_method 3606 EXIST::FUNCTION:ECDH
v2i_GENERAL_NAME_ex 3607 EXIST::FUNCTION:
ECDH_set_ex_data 3608 EXIST::FUNCTION:ECDH
STORE_generate_key 3609 EXIST::FUNCTION:
BN_nist_mod_521 3610 EXIST::FUNCTION:
X509_policy_tree_get0_level 3611 EXIST::FUNCTION:
EC_GROUP_set_point_conversion_form 3612 EXIST:!VMS:FUNCTION:EC
EC_GROUP_set_point_conv_form 3612 EXIST:VMS:FUNCTION:EC
PEM_read_EC_PUBKEY 3613 EXIST:!WIN16:FUNCTION:EC
i2d_ECDSA_SIG 3614 EXIST::FUNCTION:ECDSA
ECDSA_OpenSSL 3615 EXIST::FUNCTION:ECDSA
STORE_delete_crl 3616 EXIST::FUNCTION:
EC_KEY_get_enc_flags 3617 EXIST::FUNCTION:EC
ASN1_const_check_infinite_end 3618 EXIST::FUNCTION:
EVP_PKEY_delete_attr 3619 EXIST::FUNCTION:
ECDSA_set_default_method 3620 EXIST::FUNCTION:ECDSA
EC_POINT_set_compressed_coordinates_GF2m 3621 EXIST:!VMS:FUNCTION:EC
EC_POINT_set_compr_coords_GF2m 3621 EXIST:VMS:FUNCTION:EC
EC_GROUP_cmp 3622 EXIST::FUNCTION:EC
STORE_revoke_certificate 3623 EXIST::FUNCTION:
BN_get0_nist_prime_256 3624 EXIST::FUNCTION:
STORE_method_get_delete_function 3625 EXIST:!VMS:FUNCTION:
STORE_meth_get_delete_fn 3625 EXIST:VMS:FUNCTION:
SHA224_Init 3626 EXIST::FUNCTION:SHA,SHA256
PEM_read_ECPrivateKey 3627 EXIST:!WIN16:FUNCTION:EC
SHA512_Init 3628 EXIST::FUNCTION:SHA,SHA512
STORE_parse_attrs_endp 3629 EXIST::FUNCTION:
BN_set_negative 3630 EXIST::FUNCTION:
ERR_load_ECDSA_strings 3631 EXIST::FUNCTION:ECDSA
EC_GROUP_get_basis_type 3632 EXIST::FUNCTION:EC
STORE_list_public_key_next 3633 EXIST::FUNCTION:
i2v_ASN1_BIT_STRING 3634 EXIST::FUNCTION:
STORE_OBJECT_free 3635 EXIST::FUNCTION:
BN_nist_mod_384 3636 EXIST::FUNCTION:
i2d_X509_CERT_PAIR 3637 EXIST::FUNCTION:
PEM_write_ECPKParameters 3638 EXIST:!WIN16:FUNCTION:EC
ECDH_compute_key 3639 EXIST::FUNCTION:ECDH
STORE_ATTR_INFO_get0_sha1str 3640 EXIST::FUNCTION:
ENGINE_register_all_ECDH 3641 EXIST::FUNCTION:ENGINE
pqueue_pop 3642 EXIST::FUNCTION:
STORE_ATTR_INFO_get0_cstr 3643 EXIST::FUNCTION:
POLICY_CONSTRAINTS_it 3644 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_CONSTRAINTS_it 3644 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_get_ex_new_index 3645 EXIST::FUNCTION:
EVP_PKEY_get_attr_by_OBJ 3646 EXIST::FUNCTION:
X509_VERIFY_PARAM_add0_policy 3647 EXIST::FUNCTION:
BN_GF2m_mod_solve_quad 3648 EXIST::FUNCTION:
SHA256 3649 EXIST::FUNCTION:SHA,SHA256
i2d_ECPrivateKey_fp 3650 EXIST::FUNCTION:EC,FP_API
X509_policy_tree_get0_user_policies 3651 EXIST:!VMS:FUNCTION:
X509_pcy_tree_get0_usr_policies 3651 EXIST:VMS:FUNCTION:
OPENSSL_DIR_read 3652 EXIST::FUNCTION:
ENGINE_register_all_ECDSA 3653 EXIST::FUNCTION:ENGINE
X509_VERIFY_PARAM_lookup 3654 EXIST::FUNCTION:
EC_POINT_get_affine_coordinates_GF2m 3655 EXIST:!VMS:FUNCTION:EC
EC_POINT_get_affine_coords_GF2m 3655 EXIST:VMS:FUNCTION:EC
EC_GROUP_dup 3656 EXIST::FUNCTION:EC
ENGINE_get_default_ECDSA 3657 EXIST::FUNCTION:ENGINE
EC_KEY_new 3658 EXIST::FUNCTION:EC
SHA256_Transform 3659 EXIST::FUNCTION:SHA,SHA256
EC_KEY_set_enc_flags 3660 EXIST::FUNCTION:EC
ECDSA_verify 3661 EXIST::FUNCTION:ECDSA
EC_POINT_point2hex 3662 EXIST::FUNCTION:EC
ENGINE_get_STORE 3663 EXIST::FUNCTION:ENGINE
SHA512 3664 EXIST::FUNCTION:SHA,SHA512
STORE_get_certificate 3665 EXIST::FUNCTION:
ECDSA_do_sign_ex 3666 EXIST::FUNCTION:ECDSA
ECDSA_do_verify 3667 EXIST::FUNCTION:ECDSA
d2i_ECPrivateKey_fp 3668 EXIST::FUNCTION:EC,FP_API
STORE_delete_certificate 3669 EXIST::FUNCTION:
SHA512_Transform 3670 EXIST::FUNCTION:SHA,SHA512
X509_STORE_set1_param 3671 EXIST::FUNCTION:
STORE_method_get_ctrl_function 3672 EXIST::FUNCTION:
STORE_free 3673 EXIST::FUNCTION:
PEM_write_ECPrivateKey 3674 EXIST:!WIN16:FUNCTION:EC
STORE_method_get_unlock_store_function 3675 EXIST:!VMS:FUNCTION:
STORE_meth_get_unlock_store_fn 3675 EXIST:VMS:FUNCTION:
STORE_get_ex_data 3676 EXIST::FUNCTION:
EC_KEY_set_public_key 3677 EXIST::FUNCTION:EC
PEM_read_ECPKParameters 3678 EXIST:!WIN16:FUNCTION:EC
X509_CERT_PAIR_new 3679 EXIST::FUNCTION:
ENGINE_register_STORE 3680 EXIST::FUNCTION:ENGINE
RSA_generate_key_ex 3681 EXIST::FUNCTION:RSA
DSA_generate_parameters_ex 3682 EXIST::FUNCTION:DSA
ECParameters_print_fp 3683 EXIST::FUNCTION:EC,FP_API
X509V3_NAME_from_section 3684 EXIST::FUNCTION:
EVP_PKEY_add1_attr 3685 EXIST::FUNCTION:
STORE_modify_crl 3686 EXIST::FUNCTION:
STORE_list_private_key_start 3687 EXIST::FUNCTION:
POLICY_MAPPINGS_it 3688 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_MAPPINGS_it 3688 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
GENERAL_SUBTREE_it 3689 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
GENERAL_SUBTREE_it 3689 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
EC_GROUP_get_curve_name 3690 EXIST::FUNCTION:EC
PEM_write_X509_CERT_PAIR 3691 EXIST:!WIN16:FUNCTION:
BIO_dump_indent_cb 3692 EXIST::FUNCTION:
d2i_X509_CERT_PAIR 3693 EXIST::FUNCTION:
STORE_list_private_key_endp 3694 EXIST::FUNCTION:
asn1_const_Finish 3695 EXIST::FUNCTION:
i2d_EC_PUBKEY_fp 3696 EXIST::FUNCTION:EC,FP_API
BN_nist_mod_256 3697 EXIST::FUNCTION:
X509_VERIFY_PARAM_add0_table 3698 EXIST::FUNCTION:
pqueue_free 3699 EXIST::FUNCTION:
BN_BLINDING_create_param 3700 EXIST::FUNCTION:
ECDSA_size 3701 EXIST::FUNCTION:ECDSA
d2i_EC_PUBKEY_bio 3702 EXIST::FUNCTION:BIO,EC
BN_get0_nist_prime_521 3703 EXIST::FUNCTION:
STORE_ATTR_INFO_modify_sha1str 3704 EXIST::FUNCTION:
BN_generate_prime_ex 3705 EXIST::FUNCTION:
EC_GROUP_new_by_curve_name 3706 EXIST::FUNCTION:EC
SHA256_Final 3707 EXIST::FUNCTION:SHA,SHA256
DH_generate_parameters_ex 3708 EXIST::FUNCTION:DH
PEM_read_bio_ECPrivateKey 3709 EXIST::FUNCTION:EC
STORE_method_get_cleanup_function 3710 EXIST:!VMS:FUNCTION:
STORE_meth_get_cleanup_fn 3710 EXIST:VMS:FUNCTION:
ENGINE_get_ECDH 3711 EXIST::FUNCTION:ENGINE
d2i_ECDSA_SIG 3712 EXIST::FUNCTION:ECDSA
BN_is_prime_fasttest_ex 3713 EXIST::FUNCTION:
ECDSA_sign 3714 EXIST::FUNCTION:ECDSA
X509_policy_check 3715 EXIST::FUNCTION:
EVP_PKEY_get_attr_by_NID 3716 EXIST::FUNCTION:
STORE_set_ex_data 3717 EXIST::FUNCTION:
ENGINE_get_ECDSA 3718 EXIST::FUNCTION:ENGINE
EVP_ecdsa 3719 EXIST::FUNCTION:SHA
BN_BLINDING_get_flags 3720 EXIST::FUNCTION:
PKCS12_add_cert 3721 EXIST::FUNCTION:
STORE_OBJECT_new 3722 EXIST::FUNCTION:
ERR_load_ECDH_strings 3723 EXIST::FUNCTION:ECDH
EC_KEY_dup 3724 EXIST::FUNCTION:EC
EVP_CIPHER_CTX_rand_key 3725 EXIST::FUNCTION:
ECDSA_set_method 3726 EXIST::FUNCTION:ECDSA
a2i_IPADDRESS_NC 3727 EXIST::FUNCTION:
d2i_ECParameters 3728 EXIST::FUNCTION:EC
STORE_list_certificate_end 3729 EXIST::FUNCTION:
STORE_get_crl 3730 EXIST::FUNCTION:
X509_POLICY_NODE_print 3731 EXIST::FUNCTION:
SHA384_Init 3732 EXIST::FUNCTION:SHA,SHA512
EC_GF2m_simple_method 3733 EXIST::FUNCTION:EC
ECDSA_set_ex_data 3734 EXIST::FUNCTION:ECDSA
SHA384_Final 3735 EXIST::FUNCTION:SHA,SHA512
PKCS7_set_digest 3736 EXIST::FUNCTION:
EC_KEY_print 3737 EXIST::FUNCTION:BIO,EC
STORE_method_set_lock_store_function 3738 EXIST:!VMS:FUNCTION:
STORE_meth_set_lock_store_fn 3738 EXIST:VMS:FUNCTION:
ECDSA_get_ex_new_index 3739 EXIST::FUNCTION:ECDSA
SHA384 3740 EXIST::FUNCTION:SHA,SHA512
POLICY_MAPPING_new 3741 EXIST::FUNCTION:
STORE_list_certificate_endp 3742 EXIST::FUNCTION:
X509_STORE_CTX_get0_policy_tree 3743 EXIST::FUNCTION:
EC_GROUP_set_asn1_flag 3744 EXIST::FUNCTION:EC
EC_KEY_check_key 3745 EXIST::FUNCTION:EC
d2i_EC_PUBKEY_fp 3746 EXIST::FUNCTION:EC,FP_API
PKCS7_set0_type_other 3747 EXIST::FUNCTION:
PEM_read_bio_X509_CERT_PAIR 3748 EXIST::FUNCTION:
pqueue_next 3749 EXIST::FUNCTION:
STORE_method_get_list_end_function 3750 EXIST:!VMS:FUNCTION:
STORE_meth_get_list_end_fn 3750 EXIST:VMS:FUNCTION:
EVP_PKEY_add1_attr_by_OBJ 3751 EXIST::FUNCTION:
X509_VERIFY_PARAM_set_time 3752 EXIST::FUNCTION:
pqueue_new 3753 EXIST::FUNCTION:
ENGINE_set_default_ECDH 3754 EXIST::FUNCTION:ENGINE
STORE_new_method 3755 EXIST::FUNCTION:
PKCS12_add_key 3756 EXIST::FUNCTION:
DSO_merge 3757 EXIST::FUNCTION:
EC_POINT_hex2point 3758 EXIST::FUNCTION:EC
BIO_dump_cb 3759 EXIST::FUNCTION:
SHA256_Update 3760 EXIST::FUNCTION:SHA,SHA256
pqueue_insert 3761 EXIST::FUNCTION:
pitem_free 3762 EXIST::FUNCTION:
BN_GF2m_mod_inv_arr 3763 EXIST::FUNCTION:
ENGINE_unregister_ECDSA 3764 EXIST::FUNCTION:ENGINE
BN_BLINDING_set_thread_id 3765 EXIST::FUNCTION:
BN_X931_generate_Xpq 3325 NOEXIST::FUNCTION:
RSA_X931_generate_key 3326 NOEXIST::FUNCTION:
BN_X931_derive_prime 3327 NOEXIST::FUNCTION:
BN_X931_generate_prime 3328 NOEXIST::FUNCTION:
RSA_X931_derive 3329 NOEXIST::FUNCTION:
BIO_new_dgram 3330 EXIST::FUNCTION:
BN_get0_nist_prime_384 3331 EXIST::FUNCTION:
ERR_set_mark 3332 EXIST::FUNCTION:
X509_STORE_CTX_set0_crls 3333 EXIST::FUNCTION:
ENGINE_set_STORE 3334 EXIST::FUNCTION:ENGINE
ENGINE_register_ECDSA 3335 EXIST::FUNCTION:ENGINE
STORE_method_set_list_start_function 3336 EXIST:!VMS:FUNCTION:
STORE_meth_set_list_start_fn 3336 EXIST:VMS:FUNCTION:
BN_BLINDING_invert_ex 3337 EXIST::FUNCTION:
NAME_CONSTRAINTS_free 3338 EXIST::FUNCTION:
STORE_ATTR_INFO_set_number 3339 EXIST::FUNCTION:
BN_BLINDING_get_thread_id 3340 EXIST::FUNCTION:
X509_STORE_CTX_set0_param 3341 EXIST::FUNCTION:
POLICY_MAPPING_it 3342 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_MAPPING_it 3342 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_parse_attrs_start 3343 EXIST::FUNCTION:
POLICY_CONSTRAINTS_free 3344 EXIST::FUNCTION:
EVP_PKEY_add1_attr_by_NID 3345 EXIST::FUNCTION:
BN_nist_mod_192 3346 EXIST::FUNCTION:
EC_GROUP_get_trinomial_basis 3347 EXIST::FUNCTION:EC
STORE_set_method 3348 EXIST::FUNCTION:
GENERAL_SUBTREE_free 3349 EXIST::FUNCTION:
NAME_CONSTRAINTS_it 3350 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
NAME_CONSTRAINTS_it 3350 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
ECDH_get_default_method 3351 EXIST::FUNCTION:ECDH
PKCS12_add_safe 3352 EXIST::FUNCTION:
EC_KEY_new_by_curve_name 3353 EXIST::FUNCTION:EC
STORE_method_get_update_store_function 3354 EXIST:!VMS:FUNCTION:
STORE_meth_get_update_store_fn 3354 EXIST:VMS:FUNCTION:
ENGINE_register_ECDH 3355 EXIST::FUNCTION:ENGINE
SHA512_Update 3356 EXIST::FUNCTION:SHA,SHA512
i2d_ECPrivateKey 3357 EXIST::FUNCTION:EC
BN_get0_nist_prime_192 3358 EXIST::FUNCTION:
STORE_modify_certificate 3359 EXIST::FUNCTION:
EC_POINT_set_affine_coordinates_GF2m 3360 EXIST:!VMS:FUNCTION:EC
EC_POINT_set_affine_coords_GF2m 3360 EXIST:VMS:FUNCTION:EC
BN_GF2m_mod_exp_arr 3361 EXIST::FUNCTION:
STORE_ATTR_INFO_modify_number 3362 EXIST::FUNCTION:
X509_keyid_get0 3363 EXIST::FUNCTION:
ENGINE_load_gmp 3364 EXIST::FUNCTION:ENGINE,GMP,STATIC_ENGINE
pitem_new 3365 EXIST::FUNCTION:
BN_GF2m_mod_mul_arr 3366 EXIST::FUNCTION:
STORE_list_public_key_endp 3367 EXIST::FUNCTION:
o2i_ECPublicKey 3368 EXIST::FUNCTION:EC
EC_KEY_copy 3369 EXIST::FUNCTION:EC
BIO_dump_fp 3370 EXIST::FUNCTION:FP_API
X509_policy_node_get0_parent 3371 EXIST::FUNCTION:
EC_GROUP_check_discriminant 3372 EXIST::FUNCTION:EC
i2o_ECPublicKey 3373 EXIST::FUNCTION:EC
EC_KEY_precompute_mult 3374 EXIST::FUNCTION:EC
a2i_IPADDRESS 3375 EXIST::FUNCTION:
STORE_method_set_initialise_function 3376 EXIST:!VMS:FUNCTION:
STORE_meth_set_initialise_fn 3376 EXIST:VMS:FUNCTION:
X509_STORE_CTX_set_depth 3377 EXIST::FUNCTION:
X509_VERIFY_PARAM_inherit 3378 EXIST::FUNCTION:
EC_POINT_point2bn 3379 EXIST::FUNCTION:EC
STORE_ATTR_INFO_set_dn 3380 EXIST::FUNCTION:
X509_policy_tree_get0_policies 3381 EXIST::FUNCTION:
EC_GROUP_new_curve_GF2m 3382 EXIST::FUNCTION:EC
STORE_destroy_method 3383 EXIST::FUNCTION:
ENGINE_unregister_STORE 3384 EXIST::FUNCTION:ENGINE
EVP_PKEY_get1_EC_KEY 3385 EXIST::FUNCTION:EC
STORE_ATTR_INFO_get0_number 3386 EXIST::FUNCTION:
ENGINE_get_default_ECDH 3387 EXIST::FUNCTION:ENGINE
EC_KEY_get_conv_form 3388 EXIST::FUNCTION:EC
ASN1_OCTET_STRING_NDEF_it 3389 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
ASN1_OCTET_STRING_NDEF_it 3389 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_delete_public_key 3390 EXIST::FUNCTION:
STORE_get_public_key 3391 EXIST::FUNCTION:
STORE_modify_arbitrary 3392 EXIST::FUNCTION:
ENGINE_get_static_state 3393 EXIST::FUNCTION:ENGINE
pqueue_iterator 3394 EXIST::FUNCTION:
ECDSA_SIG_new 3395 EXIST::FUNCTION:ECDSA
OPENSSL_DIR_end 3396 EXIST::FUNCTION:
BN_GF2m_mod_sqr 3397 EXIST::FUNCTION:
EC_POINT_bn2point 3398 EXIST::FUNCTION:EC
X509_VERIFY_PARAM_set_depth 3399 EXIST::FUNCTION:
EC_KEY_set_asn1_flag 3400 EXIST::FUNCTION:EC
STORE_get_method 3401 EXIST::FUNCTION:
EC_KEY_get_key_method_data 3402 EXIST::FUNCTION:EC
ECDSA_sign_ex 3403 EXIST::FUNCTION:ECDSA
STORE_parse_attrs_end 3404 EXIST::FUNCTION:
EC_GROUP_get_point_conversion_form 3405 EXIST:!VMS:FUNCTION:EC
EC_GROUP_get_point_conv_form 3405 EXIST:VMS:FUNCTION:EC
STORE_method_set_store_function 3406 EXIST::FUNCTION:
STORE_ATTR_INFO_in 3407 EXIST::FUNCTION:
PEM_read_bio_ECPKParameters 3408 EXIST::FUNCTION:EC
EC_GROUP_get_pentanomial_basis 3409 EXIST::FUNCTION:EC
EVP_PKEY_add1_attr_by_txt 3410 EXIST::FUNCTION:
BN_BLINDING_set_flags 3411 EXIST::FUNCTION:
X509_VERIFY_PARAM_set1_policies 3412 EXIST::FUNCTION:
X509_VERIFY_PARAM_set1_name 3413 EXIST::FUNCTION:
X509_VERIFY_PARAM_set_purpose 3414 EXIST::FUNCTION:
STORE_get_number 3415 EXIST::FUNCTION:
ECDSA_sign_setup 3416 EXIST::FUNCTION:ECDSA
BN_GF2m_mod_solve_quad_arr 3417 EXIST::FUNCTION:
EC_KEY_up_ref 3418 EXIST::FUNCTION:EC
POLICY_MAPPING_free 3419 EXIST::FUNCTION:
BN_GF2m_mod_div 3420 EXIST::FUNCTION:
X509_VERIFY_PARAM_set_flags 3421 EXIST::FUNCTION:
EC_KEY_free 3422 EXIST::FUNCTION:EC
STORE_method_set_list_next_function 3423 EXIST:!VMS:FUNCTION:
STORE_meth_set_list_next_fn 3423 EXIST:VMS:FUNCTION:
PEM_write_bio_ECPrivateKey 3424 EXIST::FUNCTION:EC
d2i_EC_PUBKEY 3425 EXIST::FUNCTION:EC
STORE_method_get_generate_function 3426 EXIST:!VMS:FUNCTION:
STORE_meth_get_generate_fn 3426 EXIST:VMS:FUNCTION:
STORE_method_set_list_end_function 3427 EXIST:!VMS:FUNCTION:
STORE_meth_set_list_end_fn 3427 EXIST:VMS:FUNCTION:
pqueue_print 3428 EXIST::FUNCTION:
EC_GROUP_have_precompute_mult 3429 EXIST::FUNCTION:EC
EC_KEY_print_fp 3430 EXIST::FUNCTION:EC,FP_API
BN_GF2m_mod_arr 3431 EXIST::FUNCTION:
PEM_write_bio_X509_CERT_PAIR 3432 EXIST::FUNCTION:
EVP_PKEY_cmp 3433 EXIST::FUNCTION:
X509_policy_level_node_count 3434 EXIST::FUNCTION:
STORE_new_engine 3435 EXIST::FUNCTION:
STORE_list_public_key_start 3436 EXIST::FUNCTION:
X509_VERIFY_PARAM_new 3437 EXIST::FUNCTION:
ECDH_get_ex_data 3438 EXIST::FUNCTION:ECDH
EVP_PKEY_get_attr 3439 EXIST::FUNCTION:
ECDSA_do_sign 3440 EXIST::FUNCTION:ECDSA
ENGINE_unregister_ECDH 3441 EXIST::FUNCTION:ENGINE
ECDH_OpenSSL 3442 EXIST::FUNCTION:ECDH
EC_KEY_set_conv_form 3443 EXIST::FUNCTION:EC
EC_POINT_dup 3444 EXIST::FUNCTION:EC
GENERAL_SUBTREE_new 3445 EXIST::FUNCTION:
STORE_list_crl_endp 3446 EXIST::FUNCTION:
EC_get_builtin_curves 3447 EXIST::FUNCTION:EC
X509_policy_node_get0_qualifiers 3448 EXIST:!VMS:FUNCTION:
X509_pcy_node_get0_qualifiers 3448 EXIST:VMS:FUNCTION:
STORE_list_crl_end 3449 EXIST::FUNCTION:
EVP_PKEY_set1_EC_KEY 3450 EXIST::FUNCTION:EC
BN_GF2m_mod_sqrt_arr 3451 EXIST::FUNCTION:
i2d_ECPrivateKey_bio 3452 EXIST::FUNCTION:BIO,EC
ECPKParameters_print_fp 3453 EXIST::FUNCTION:EC,FP_API
pqueue_find 3454 EXIST::FUNCTION:
ECDSA_SIG_free 3455 EXIST::FUNCTION:ECDSA
PEM_write_bio_ECPKParameters 3456 EXIST::FUNCTION:EC
STORE_method_set_ctrl_function 3457 EXIST::FUNCTION:
STORE_list_public_key_end 3458 EXIST::FUNCTION:
EC_KEY_set_private_key 3459 EXIST::FUNCTION:EC
pqueue_peek 3460 EXIST::FUNCTION:
STORE_get_arbitrary 3461 EXIST::FUNCTION:
STORE_store_crl 3462 EXIST::FUNCTION:
X509_policy_node_get0_policy 3463 EXIST::FUNCTION:
PKCS12_add_safes 3464 EXIST::FUNCTION:
BN_BLINDING_convert_ex 3465 EXIST::FUNCTION:
X509_policy_tree_free 3466 EXIST::FUNCTION:
OPENSSL_ia32cap_loc 3467 EXIST::FUNCTION:
BN_GF2m_poly2arr 3468 EXIST::FUNCTION:
STORE_ctrl 3469 EXIST::FUNCTION:
STORE_ATTR_INFO_compare 3470 EXIST::FUNCTION:
BN_get0_nist_prime_224 3471 EXIST::FUNCTION:
i2d_ECParameters 3472 EXIST::FUNCTION:EC
i2d_ECPKParameters 3473 EXIST::FUNCTION:EC
BN_GENCB_call 3474 EXIST::FUNCTION:
d2i_ECPKParameters 3475 EXIST::FUNCTION:EC
STORE_method_set_generate_function 3476 EXIST:!VMS:FUNCTION:
STORE_meth_set_generate_fn 3476 EXIST:VMS:FUNCTION:
ENGINE_set_ECDH 3477 EXIST::FUNCTION:ENGINE
NAME_CONSTRAINTS_new 3478 EXIST::FUNCTION:
SHA256_Init 3479 EXIST::FUNCTION:SHA,SHA256
EC_KEY_get0_public_key 3480 EXIST::FUNCTION:EC
PEM_write_bio_EC_PUBKEY 3481 EXIST::FUNCTION:EC
STORE_ATTR_INFO_set_cstr 3482 EXIST::FUNCTION:
STORE_list_crl_next 3483 EXIST::FUNCTION:
STORE_ATTR_INFO_in_range 3484 EXIST::FUNCTION:
ECParameters_print 3485 EXIST::FUNCTION:BIO,EC
STORE_method_set_delete_function 3486 EXIST:!VMS:FUNCTION:
STORE_meth_set_delete_fn 3486 EXIST:VMS:FUNCTION:
STORE_list_certificate_next 3487 EXIST::FUNCTION:
ASN1_generate_nconf 3488 EXIST::FUNCTION:
BUF_memdup 3489 EXIST::FUNCTION:
BN_GF2m_mod_mul 3490 EXIST::FUNCTION:
STORE_method_get_list_next_function 3491 EXIST:!VMS:FUNCTION:
STORE_meth_get_list_next_fn 3491 EXIST:VMS:FUNCTION:
STORE_ATTR_INFO_get0_dn 3492 EXIST::FUNCTION:
STORE_list_private_key_next 3493 EXIST::FUNCTION:
EC_GROUP_set_seed 3494 EXIST::FUNCTION:EC
X509_VERIFY_PARAM_set_trust 3495 EXIST::FUNCTION:
STORE_ATTR_INFO_free 3496 EXIST::FUNCTION:
STORE_get_private_key 3497 EXIST::FUNCTION:
EVP_PKEY_get_attr_count 3498 EXIST::FUNCTION:
STORE_ATTR_INFO_new 3499 EXIST::FUNCTION:
EC_GROUP_get_curve_GF2m 3500 EXIST::FUNCTION:EC
STORE_method_set_revoke_function 3501 EXIST:!VMS:FUNCTION:
STORE_meth_set_revoke_fn 3501 EXIST:VMS:FUNCTION:
STORE_store_number 3502 EXIST::FUNCTION:
BN_is_prime_ex 3503 EXIST::FUNCTION:
STORE_revoke_public_key 3504 EXIST::FUNCTION:
X509_STORE_CTX_get0_param 3505 EXIST::FUNCTION:
STORE_delete_arbitrary 3506 EXIST::FUNCTION:
PEM_read_X509_CERT_PAIR 3507 EXIST:!WIN16:FUNCTION:
X509_STORE_set_depth 3508 EXIST::FUNCTION:
ECDSA_get_ex_data 3509 EXIST::FUNCTION:ECDSA
SHA224 3510 EXIST::FUNCTION:SHA,SHA256
BIO_dump_indent_fp 3511 EXIST::FUNCTION:FP_API
EC_KEY_set_group 3512 EXIST::FUNCTION:EC
BUF_strndup 3513 EXIST::FUNCTION:
STORE_list_certificate_start 3514 EXIST::FUNCTION:
BN_GF2m_mod 3515 EXIST::FUNCTION:
X509_REQ_check_private_key 3516 EXIST::FUNCTION:
EC_GROUP_get_seed_len 3517 EXIST::FUNCTION:EC
ERR_load_STORE_strings 3518 EXIST::FUNCTION:
PEM_read_bio_EC_PUBKEY 3519 EXIST::FUNCTION:EC
STORE_list_private_key_end 3520 EXIST::FUNCTION:
i2d_EC_PUBKEY 3521 EXIST::FUNCTION:EC
ECDSA_get_default_method 3522 EXIST::FUNCTION:ECDSA
ASN1_put_eoc 3523 EXIST::FUNCTION:
X509_STORE_CTX_get_explicit_policy 3524 EXIST:!VMS:FUNCTION:
X509_STORE_CTX_get_expl_policy 3524 EXIST:VMS:FUNCTION:
X509_VERIFY_PARAM_table_cleanup 3525 EXIST::FUNCTION:
STORE_modify_private_key 3526 EXIST::FUNCTION:
X509_VERIFY_PARAM_free 3527 EXIST::FUNCTION:
EC_METHOD_get_field_type 3528 EXIST::FUNCTION:EC
EC_GFp_nist_method 3529 EXIST::FUNCTION:EC
STORE_method_set_modify_function 3530 EXIST:!VMS:FUNCTION:
STORE_meth_set_modify_fn 3530 EXIST:VMS:FUNCTION:
STORE_parse_attrs_next 3531 EXIST::FUNCTION:
ENGINE_load_padlock 3532 EXIST::FUNCTION:ENGINE
EC_GROUP_set_curve_name 3533 EXIST::FUNCTION:EC
X509_CERT_PAIR_it 3534 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
X509_CERT_PAIR_it 3534 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_method_get_revoke_function 3535 EXIST:!VMS:FUNCTION:
STORE_meth_get_revoke_fn 3535 EXIST:VMS:FUNCTION:
STORE_method_set_get_function 3536 EXIST::FUNCTION:
STORE_modify_number 3537 EXIST::FUNCTION:
STORE_method_get_store_function 3538 EXIST::FUNCTION:
STORE_store_private_key 3539 EXIST::FUNCTION:
BN_GF2m_mod_sqr_arr 3540 EXIST::FUNCTION:
RSA_setup_blinding 3541 EXIST::FUNCTION:RSA
BIO_s_datagram 3542 EXIST::FUNCTION:DGRAM
STORE_Memory 3543 EXIST::FUNCTION:
sk_find_ex 3544 EXIST::FUNCTION:
EC_GROUP_set_curve_GF2m 3545 EXIST::FUNCTION:EC
ENGINE_set_default_ECDSA 3546 EXIST::FUNCTION:ENGINE
POLICY_CONSTRAINTS_new 3547 EXIST::FUNCTION:
BN_GF2m_mod_sqrt 3548 EXIST::FUNCTION:
ECDH_set_default_method 3549 EXIST::FUNCTION:ECDH
EC_KEY_generate_key 3550 EXIST::FUNCTION:EC
SHA384_Update 3551 EXIST::FUNCTION:SHA,SHA512
BN_GF2m_arr2poly 3552 EXIST::FUNCTION:
STORE_method_get_get_function 3553 EXIST::FUNCTION:
STORE_method_set_cleanup_function 3554 EXIST:!VMS:FUNCTION:
STORE_meth_set_cleanup_fn 3554 EXIST:VMS:FUNCTION:
EC_GROUP_check 3555 EXIST::FUNCTION:EC
d2i_ECPrivateKey_bio 3556 EXIST::FUNCTION:BIO,EC
EC_KEY_insert_key_method_data 3557 EXIST::FUNCTION:EC
STORE_method_get_lock_store_function 3558 EXIST:!VMS:FUNCTION:
STORE_meth_get_lock_store_fn 3558 EXIST:VMS:FUNCTION:
X509_VERIFY_PARAM_get_depth 3559 EXIST::FUNCTION:
SHA224_Final 3560 EXIST::FUNCTION:SHA,SHA256
STORE_method_set_update_store_function 3561 EXIST:!VMS:FUNCTION:
STORE_meth_set_update_store_fn 3561 EXIST:VMS:FUNCTION:
SHA224_Update 3562 EXIST::FUNCTION:SHA,SHA256
d2i_ECPrivateKey 3563 EXIST::FUNCTION:EC
ASN1_item_ndef_i2d 3564 EXIST::FUNCTION:
STORE_delete_private_key 3565 EXIST::FUNCTION:
ERR_pop_to_mark 3566 EXIST::FUNCTION:
ENGINE_register_all_STORE 3567 EXIST::FUNCTION:ENGINE
X509_policy_level_get0_node 3568 EXIST::FUNCTION:
i2d_PKCS7_NDEF 3569 EXIST::FUNCTION:
EC_GROUP_get_degree 3570 EXIST::FUNCTION:EC
ASN1_generate_v3 3571 EXIST::FUNCTION:
STORE_ATTR_INFO_modify_cstr 3572 EXIST::FUNCTION:
X509_policy_tree_level_count 3573 EXIST::FUNCTION:
BN_GF2m_add 3574 EXIST::FUNCTION:
EC_KEY_get0_group 3575 EXIST::FUNCTION:EC
STORE_generate_crl 3576 EXIST::FUNCTION:
STORE_store_public_key 3577 EXIST::FUNCTION:
X509_CERT_PAIR_free 3578 EXIST::FUNCTION:
STORE_revoke_private_key 3579 EXIST::FUNCTION:
BN_nist_mod_224 3580 EXIST::FUNCTION:
SHA512_Final 3581 EXIST::FUNCTION:SHA,SHA512
STORE_ATTR_INFO_modify_dn 3582 EXIST::FUNCTION:
STORE_method_get_initialise_function 3583 EXIST:!VMS:FUNCTION:
STORE_meth_get_initialise_fn 3583 EXIST:VMS:FUNCTION:
STORE_delete_number 3584 EXIST::FUNCTION:
i2d_EC_PUBKEY_bio 3585 EXIST::FUNCTION:BIO,EC
BIO_dgram_non_fatal_error 3586 EXIST::FUNCTION:
EC_GROUP_get_asn1_flag 3587 EXIST::FUNCTION:EC
STORE_ATTR_INFO_in_ex 3588 EXIST::FUNCTION:
STORE_list_crl_start 3589 EXIST::FUNCTION:
ECDH_get_ex_new_index 3590 EXIST::FUNCTION:ECDH
STORE_method_get_modify_function 3591 EXIST:!VMS:FUNCTION:
STORE_meth_get_modify_fn 3591 EXIST:VMS:FUNCTION:
v2i_ASN1_BIT_STRING 3592 EXIST::FUNCTION:
STORE_store_certificate 3593 EXIST::FUNCTION:
OBJ_bsearch_ex 3594 EXIST::FUNCTION:
X509_STORE_CTX_set_default 3595 EXIST::FUNCTION:
STORE_ATTR_INFO_set_sha1str 3596 EXIST::FUNCTION:
BN_GF2m_mod_inv 3597 EXIST::FUNCTION:
BN_GF2m_mod_exp 3598 EXIST::FUNCTION:
STORE_modify_public_key 3599 EXIST::FUNCTION:
STORE_method_get_list_start_function 3600 EXIST:!VMS:FUNCTION:
STORE_meth_get_list_start_fn 3600 EXIST:VMS:FUNCTION:
EC_GROUP_get0_seed 3601 EXIST::FUNCTION:EC
STORE_store_arbitrary 3602 EXIST::FUNCTION:
STORE_method_set_unlock_store_function 3603 EXIST:!VMS:FUNCTION:
STORE_meth_set_unlock_store_fn 3603 EXIST:VMS:FUNCTION:
BN_GF2m_mod_div_arr 3604 EXIST::FUNCTION:
ENGINE_set_ECDSA 3605 EXIST::FUNCTION:ENGINE
STORE_create_method 3606 EXIST::FUNCTION:
ECPKParameters_print 3607 EXIST::FUNCTION:BIO,EC
EC_KEY_get0_private_key 3608 EXIST::FUNCTION:EC
PEM_write_EC_PUBKEY 3609 EXIST:!WIN16:FUNCTION:EC
X509_VERIFY_PARAM_set1 3610 EXIST::FUNCTION:
ECDH_set_method 3611 EXIST::FUNCTION:ECDH
v2i_GENERAL_NAME_ex 3612 EXIST::FUNCTION:
ECDH_set_ex_data 3613 EXIST::FUNCTION:ECDH
STORE_generate_key 3614 EXIST::FUNCTION:
BN_nist_mod_521 3615 EXIST::FUNCTION:
X509_policy_tree_get0_level 3616 EXIST::FUNCTION:
EC_GROUP_set_point_conversion_form 3617 EXIST:!VMS:FUNCTION:EC
EC_GROUP_set_point_conv_form 3617 EXIST:VMS:FUNCTION:EC
PEM_read_EC_PUBKEY 3618 EXIST:!WIN16:FUNCTION:EC
i2d_ECDSA_SIG 3619 EXIST::FUNCTION:ECDSA
ECDSA_OpenSSL 3620 EXIST::FUNCTION:ECDSA
STORE_delete_crl 3621 EXIST::FUNCTION:
EC_KEY_get_enc_flags 3622 EXIST::FUNCTION:EC
ASN1_const_check_infinite_end 3623 EXIST::FUNCTION:
EVP_PKEY_delete_attr 3624 EXIST::FUNCTION:
ECDSA_set_default_method 3625 EXIST::FUNCTION:ECDSA
EC_POINT_set_compressed_coordinates_GF2m 3626 EXIST:!VMS:FUNCTION:EC
EC_POINT_set_compr_coords_GF2m 3626 EXIST:VMS:FUNCTION:EC
EC_GROUP_cmp 3627 EXIST::FUNCTION:EC
STORE_revoke_certificate 3628 EXIST::FUNCTION:
BN_get0_nist_prime_256 3629 EXIST::FUNCTION:
STORE_method_get_delete_function 3630 EXIST:!VMS:FUNCTION:
STORE_meth_get_delete_fn 3630 EXIST:VMS:FUNCTION:
SHA224_Init 3631 EXIST::FUNCTION:SHA,SHA256
PEM_read_ECPrivateKey 3632 EXIST:!WIN16:FUNCTION:EC
SHA512_Init 3633 EXIST::FUNCTION:SHA,SHA512
STORE_parse_attrs_endp 3634 EXIST::FUNCTION:
BN_set_negative 3635 EXIST::FUNCTION:
ERR_load_ECDSA_strings 3636 EXIST::FUNCTION:ECDSA
EC_GROUP_get_basis_type 3637 EXIST::FUNCTION:EC
STORE_list_public_key_next 3638 EXIST::FUNCTION:
i2v_ASN1_BIT_STRING 3639 EXIST::FUNCTION:
STORE_OBJECT_free 3640 EXIST::FUNCTION:
BN_nist_mod_384 3641 EXIST::FUNCTION:
i2d_X509_CERT_PAIR 3642 EXIST::FUNCTION:
PEM_write_ECPKParameters 3643 EXIST:!WIN16:FUNCTION:EC
ECDH_compute_key 3644 EXIST::FUNCTION:ECDH
STORE_ATTR_INFO_get0_sha1str 3645 EXIST::FUNCTION:
ENGINE_register_all_ECDH 3646 EXIST::FUNCTION:ENGINE
pqueue_pop 3647 EXIST::FUNCTION:
STORE_ATTR_INFO_get0_cstr 3648 EXIST::FUNCTION:
POLICY_CONSTRAINTS_it 3649 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_CONSTRAINTS_it 3649 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
STORE_get_ex_new_index 3650 EXIST::FUNCTION:
EVP_PKEY_get_attr_by_OBJ 3651 EXIST::FUNCTION:
X509_VERIFY_PARAM_add0_policy 3652 EXIST::FUNCTION:
BN_GF2m_mod_solve_quad 3653 EXIST::FUNCTION:
SHA256 3654 EXIST::FUNCTION:SHA,SHA256
i2d_ECPrivateKey_fp 3655 EXIST::FUNCTION:EC,FP_API
X509_policy_tree_get0_user_policies 3656 EXIST:!VMS:FUNCTION:
X509_pcy_tree_get0_usr_policies 3656 EXIST:VMS:FUNCTION:
OPENSSL_DIR_read 3657 EXIST::FUNCTION:
ENGINE_register_all_ECDSA 3658 EXIST::FUNCTION:ENGINE
X509_VERIFY_PARAM_lookup 3659 EXIST::FUNCTION:
EC_POINT_get_affine_coordinates_GF2m 3660 EXIST:!VMS:FUNCTION:EC
EC_POINT_get_affine_coords_GF2m 3660 EXIST:VMS:FUNCTION:EC
EC_GROUP_dup 3661 EXIST::FUNCTION:EC
ENGINE_get_default_ECDSA 3662 EXIST::FUNCTION:ENGINE
EC_KEY_new 3663 EXIST::FUNCTION:EC
SHA256_Transform 3664 EXIST::FUNCTION:SHA,SHA256
EC_KEY_set_enc_flags 3665 EXIST::FUNCTION:EC
ECDSA_verify 3666 EXIST::FUNCTION:ECDSA
EC_POINT_point2hex 3667 EXIST::FUNCTION:EC
ENGINE_get_STORE 3668 EXIST::FUNCTION:ENGINE
SHA512 3669 EXIST::FUNCTION:SHA,SHA512
STORE_get_certificate 3670 EXIST::FUNCTION:
ECDSA_do_sign_ex 3671 EXIST::FUNCTION:ECDSA
ECDSA_do_verify 3672 EXIST::FUNCTION:ECDSA
d2i_ECPrivateKey_fp 3673 EXIST::FUNCTION:EC,FP_API
STORE_delete_certificate 3674 EXIST::FUNCTION:
SHA512_Transform 3675 EXIST::FUNCTION:SHA,SHA512
X509_STORE_set1_param 3676 EXIST::FUNCTION:
STORE_method_get_ctrl_function 3677 EXIST::FUNCTION:
STORE_free 3678 EXIST::FUNCTION:
PEM_write_ECPrivateKey 3679 EXIST:!WIN16:FUNCTION:EC
STORE_method_get_unlock_store_function 3680 EXIST:!VMS:FUNCTION:
STORE_meth_get_unlock_store_fn 3680 EXIST:VMS:FUNCTION:
STORE_get_ex_data 3681 EXIST::FUNCTION:
EC_KEY_set_public_key 3682 EXIST::FUNCTION:EC
PEM_read_ECPKParameters 3683 EXIST:!WIN16:FUNCTION:EC
X509_CERT_PAIR_new 3684 EXIST::FUNCTION:
ENGINE_register_STORE 3685 EXIST::FUNCTION:ENGINE
RSA_generate_key_ex 3686 EXIST::FUNCTION:RSA
DSA_generate_parameters_ex 3687 EXIST::FUNCTION:DSA
ECParameters_print_fp 3688 EXIST::FUNCTION:EC,FP_API
X509V3_NAME_from_section 3689 EXIST::FUNCTION:
EVP_PKEY_add1_attr 3690 EXIST::FUNCTION:
STORE_modify_crl 3691 EXIST::FUNCTION:
STORE_list_private_key_start 3692 EXIST::FUNCTION:
POLICY_MAPPINGS_it 3693 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
POLICY_MAPPINGS_it 3693 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
GENERAL_SUBTREE_it 3694 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE:
GENERAL_SUBTREE_it 3694 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION:
EC_GROUP_get_curve_name 3695 EXIST::FUNCTION:EC
PEM_write_X509_CERT_PAIR 3696 EXIST:!WIN16:FUNCTION:
BIO_dump_indent_cb 3697 EXIST::FUNCTION:
d2i_X509_CERT_PAIR 3698 EXIST::FUNCTION:
STORE_list_private_key_endp 3699 EXIST::FUNCTION:
asn1_const_Finish 3700 EXIST::FUNCTION:
i2d_EC_PUBKEY_fp 3701 EXIST::FUNCTION:EC,FP_API
BN_nist_mod_256 3702 EXIST::FUNCTION:
X509_VERIFY_PARAM_add0_table 3703 EXIST::FUNCTION:
pqueue_free 3704 EXIST::FUNCTION:
BN_BLINDING_create_param 3705 EXIST::FUNCTION:
ECDSA_size 3706 EXIST::FUNCTION:ECDSA
d2i_EC_PUBKEY_bio 3707 EXIST::FUNCTION:BIO,EC
BN_get0_nist_prime_521 3708 EXIST::FUNCTION:
STORE_ATTR_INFO_modify_sha1str 3709 EXIST::FUNCTION:
BN_generate_prime_ex 3710 EXIST::FUNCTION:
EC_GROUP_new_by_curve_name 3711 EXIST::FUNCTION:EC
SHA256_Final 3712 EXIST::FUNCTION:SHA,SHA256
DH_generate_parameters_ex 3713 EXIST::FUNCTION:DH
PEM_read_bio_ECPrivateKey 3714 EXIST::FUNCTION:EC
STORE_method_get_cleanup_function 3715 EXIST:!VMS:FUNCTION:
STORE_meth_get_cleanup_fn 3715 EXIST:VMS:FUNCTION:
ENGINE_get_ECDH 3716 EXIST::FUNCTION:ENGINE
d2i_ECDSA_SIG 3717 EXIST::FUNCTION:ECDSA
BN_is_prime_fasttest_ex 3718 EXIST::FUNCTION:
ECDSA_sign 3719 EXIST::FUNCTION:ECDSA
X509_policy_check 3720 EXIST::FUNCTION:
EVP_PKEY_get_attr_by_NID 3721 EXIST::FUNCTION:
STORE_set_ex_data 3722 EXIST::FUNCTION:
ENGINE_get_ECDSA 3723 EXIST::FUNCTION:ENGINE
EVP_ecdsa 3724 EXIST::FUNCTION:SHA
BN_BLINDING_get_flags 3725 EXIST::FUNCTION:
PKCS12_add_cert 3726 EXIST::FUNCTION:
STORE_OBJECT_new 3727 EXIST::FUNCTION:
ERR_load_ECDH_strings 3728 EXIST::FUNCTION:ECDH
EC_KEY_dup 3729 EXIST::FUNCTION:EC
EVP_CIPHER_CTX_rand_key 3730 EXIST::FUNCTION:
ECDSA_set_method 3731 EXIST::FUNCTION:ECDSA
a2i_IPADDRESS_NC 3732 EXIST::FUNCTION:
d2i_ECParameters 3733 EXIST::FUNCTION:EC
STORE_list_certificate_end 3734 EXIST::FUNCTION:
STORE_get_crl 3735 EXIST::FUNCTION:
X509_POLICY_NODE_print 3736 EXIST::FUNCTION:
SHA384_Init 3737 EXIST::FUNCTION:SHA,SHA512
EC_GF2m_simple_method 3738 EXIST::FUNCTION:EC
ECDSA_set_ex_data 3739 EXIST::FUNCTION:ECDSA
SHA384_Final 3740 EXIST::FUNCTION:SHA,SHA512
PKCS7_set_digest 3741 EXIST::FUNCTION:
EC_KEY_print 3742 EXIST::FUNCTION:BIO,EC
STORE_method_set_lock_store_function 3743 EXIST:!VMS:FUNCTION:
STORE_meth_set_lock_store_fn 3743 EXIST:VMS:FUNCTION:
ECDSA_get_ex_new_index 3744 EXIST::FUNCTION:ECDSA
SHA384 3745 EXIST::FUNCTION:SHA,SHA512
POLICY_MAPPING_new 3746 EXIST::FUNCTION:
STORE_list_certificate_endp 3747 EXIST::FUNCTION:
X509_STORE_CTX_get0_policy_tree 3748 EXIST::FUNCTION:
EC_GROUP_set_asn1_flag 3749 EXIST::FUNCTION:EC
EC_KEY_check_key 3750 EXIST::FUNCTION:EC
d2i_EC_PUBKEY_fp 3751 EXIST::FUNCTION:EC,FP_API
PKCS7_set0_type_other 3752 EXIST::FUNCTION:
PEM_read_bio_X509_CERT_PAIR 3753 EXIST::FUNCTION:
pqueue_next 3754 EXIST::FUNCTION:
STORE_method_get_list_end_function 3755 EXIST:!VMS:FUNCTION:
STORE_meth_get_list_end_fn 3755 EXIST:VMS:FUNCTION:
EVP_PKEY_add1_attr_by_OBJ 3756 EXIST::FUNCTION:
X509_VERIFY_PARAM_set_time 3757 EXIST::FUNCTION:
pqueue_new 3758 EXIST::FUNCTION:
ENGINE_set_default_ECDH 3759 EXIST::FUNCTION:ENGINE
STORE_new_method 3760 EXIST::FUNCTION:
PKCS12_add_key 3761 EXIST::FUNCTION:
DSO_merge 3762 EXIST::FUNCTION:
EC_POINT_hex2point 3763 EXIST::FUNCTION:EC
BIO_dump_cb 3764 EXIST::FUNCTION:
SHA256_Update 3765 EXIST::FUNCTION:SHA,SHA256
pqueue_insert 3766 EXIST::FUNCTION:
pitem_free 3767 EXIST::FUNCTION:
BN_GF2m_mod_inv_arr 3768 EXIST::FUNCTION:
ENGINE_unregister_ECDSA 3769 EXIST::FUNCTION:ENGINE
BN_BLINDING_set_thread_id 3770 EXIST::FUNCTION:

View File

@@ -24,6 +24,8 @@ $infile="MINFO";
%ops=(
"VC-WIN32", "Microsoft Visual C++ [4-6] - Windows NT or 9X",
"VC-WIN64I", "Microsoft C/C++ - Win64/IA-64",
"VC-WIN64A", "Microsoft C/C++ - Win64/x64",
"VC-CE", "Microsoft eMbedded Visual C++ 3.0 - Windows CE ONLY",
"VC-NT", "Microsoft Visual C++ [4-6] - Windows NT ONLY",
"Mingw32", "GNU C++ - Windows NT or 9x",
@@ -120,9 +122,10 @@ $bin_dir=(defined($VARS{'BIN'}))?$VARS{'BIN'}:'';
$NT=0;
push(@INC,"util/pl","pl");
if (($platform eq "VC-WIN32") || ($platform eq "VC-NT"))
if (($platform =~ /VC-(.+)/))
{
$NT = 1 if $platform eq "VC-NT";
$FLAVOR=$1;
$NT = 1 if $1 eq "NT";
require 'VC-32.pl';
}
elsif ($platform eq "VC-CE")
@@ -272,10 +275,10 @@ for (;;)
{ $ex_libs .= " $val";}
if ($key eq "TEST")
{ $test.=&var_add($dir,$val); }
{ $test.=&var_add($dir,$val, 0); }
if (($key eq "PROGS") || ($key eq "E_OBJ"))
{ $e_exe.=&var_add($dir,$val); }
{ $e_exe.=&var_add($dir,$val, 0); }
if ($key eq "LIB")
{
@@ -284,13 +287,13 @@ for (;;)
}
if ($key eq "EXHEADER")
{ $exheader.=&var_add($dir,$val); }
{ $exheader.=&var_add($dir,$val, 1); }
if ($key eq "HEADER")
{ $header.=&var_add($dir,$val); }
{ $header.=&var_add($dir,$val, 1); }
if ($key eq "LIBOBJ")
{ $libobj=&var_add($dir,$val); }
{ $libobj=&var_add($dir,$val, 0); }
if (!($_=<IN>))
{ $_="RELATIVE_DIRECTORY=FINISHED\n"; }
@@ -527,11 +530,11 @@ foreach (split(/\s+/,$exheader)){ $h{$_}=1; }
foreach (split(/\s+/,$header)) { $h.=$_." " unless $h{$_}; }
chop($h); $header=$h;
$defs.=&do_defs("HEADER",$header,"\$(INCL_D)",".h");
$rules.=&do_copy_rule("\$(INCL_D)",$header,".h");
$defs.=&do_defs("HEADER",$header,"\$(INCL_D)","");
$rules.=&do_copy_rule("\$(INCL_D)",$header,"");
$defs.=&do_defs("EXHEADER",$exheader,"\$(INCO_D)",".h");
$rules.=&do_copy_rule("\$(INCO_D)",$exheader,".h");
$defs.=&do_defs("EXHEADER",$exheader,"\$(INCO_D)","");
$rules.=&do_copy_rule("\$(INCO_D)",$exheader,"");
$defs.=&do_defs("T_OBJ",$test,"\$(OBJ_D)",$obj);
$rules.=&do_compile_rule("\$(OBJ_D)",$test,"\$(APP_CFLAGS)");
@@ -649,7 +652,7 @@ print $rules;
# directories
sub var_add
{
local($dir,$val)=@_;
local($dir,$val,$keepext)=@_;
local(@a,$_,$ret);
return("") if $no_engine && $dir =~ /\/engine/;
@@ -678,7 +681,7 @@ sub var_add
$val =~ s/^\s*(.*)\s*$/$1/;
@a=split(/\s+/,$val);
grep(s/\.[och]$//,@a);
grep(s/\.[och]$//,@a) unless $keepext;
@a=grep(!/^e_.*_3d$/,@a) if $no_des;
@a=grep(!/^e_.*_d$/,@a) if $no_des;

View File

@@ -11,8 +11,27 @@ $rm='del';
# C compiler stuff
$cc='cl';
$cflags=' /MD /W3 /WX /G5 /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32';
$lflags="/nologo /subsystem:console /machine:I386 /opt:ref";
if ($FLAVOR =~ /WIN64/)
{
# Note that we currently don't have /WX on Win64! There is a lot of
# warnings, but only of two types:
#
# C4344: conversion from '__int64' to 'int/long', possible loss of data
# C4267: conversion from 'size_t' to 'int/long', possible loss of data
#
# Amount of latter type is minimized by aliasing strlen to function of
# own desing and limiting its return value to 2GB-1 (see e_os.h). As
# per 0.9.8 release remaining warnings were explicitly examines and
# considered safe to ignore.
#
$cflags=' /MD /W3 /Ox /Gs0 /GF /Gy /nologo -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DOPENSSL_SYSNAME_WIN32 -DOPENSSL_SYSNAME_WINNT -DUNICODE -D_UNICODE';
$lflags="/nologo /subsystem:console /opt:ref";
}
else
{
$cflags=' /MD /W3 /WX /G5 /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32';
$lflags="/nologo /subsystem:console /machine:I386 /opt:ref";
}
$mlflags='';
$out_def="out32";
@@ -38,6 +57,7 @@ $exep='.exe';
if ($no_sock)
{ $ex_libs=""; }
else { $ex_libs="wsock32.lib user32.lib gdi32.lib"; }
$ex_libs="$ex_libs bufferoverflowu.lib" if ($FLAVOR =~ /WIN64/);
# static library stuff
$mklib='lib';
@@ -115,6 +135,9 @@ EXHEADER= $(EXHEADER) $(INCO_D)\applink.c
LIBS_DEP=$(LIBS_DEP) $(OBJ_D)\applink.obj
CRYPTOOBJ=$(OBJ_D)\uplink.obj $(CRYPTOOBJ)
___
$banner.=<<'___' if ($FLAVOR =~ /WIN64/);
CRYPTOOBJ=ms\uptable.obj $(CRYPTOOBJ)
___
}
@@ -140,6 +163,7 @@ sub do_lib_rule
{
local($ex)=($target =~ /O_SSL/)?' $(L_CRYPTO)':'';
$ex.=' wsock32.lib gdi32.lib advapi32.lib user32.lib';
$ex.=' bufferoverflowu.lib' if ($FLAVOR =~ /WIN64/);
$ret.="\t\$(LINK) \$(MLFLAGS) $efile$target /def:ms/${Name}.def @<<\n \$(SHLIB_EX_OBJ) $objs $ex\n<<\n";
}
$ret.="\n";

View File

@@ -425,6 +425,7 @@ if ($name ne 'something') {
}
next if /^=cut\b/; # DB_File and Net::Ping have =cut before NAME
next if /^=pod\b/; # It is OK to have =pod before NAME
next if /^=for\s+comment\b/; # It is OK to have =for comment before NAME
die "$0: Invalid man page - 1st pod line is not NAME in $ARGV[0]\n" unless $lax;
}
die "$0: Invalid man page - no documentation in $ARGV[0]\n" unless $lax;

View File

@@ -49,7 +49,7 @@ if (open(IN,"<Makefile")) {
}
$cversion=`$cc -v 2>&1`;
$cversion=`$cc -V 2>&1` if $cversion =~ "usage";
$cversion=`$cc -V 2>&1` if $cversion =~ "[Uu]sage";
$cversion=`$cc -V |head -1` if $cversion =~ "Error";
$cversion=`$cc --version` if $cversion eq "";
$cversion =~ s/Reading specs.*\n//;