Compare commits
195 Commits
OpenSSL_0_
...
OpenSSL_0_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86cb01870c | ||
|
|
19086ef67b | ||
|
|
ce3fc3956d | ||
|
|
787f25ab42 | ||
|
|
85794e5556 | ||
|
|
7f950bd8a2 | ||
|
|
bf7b0d2d2b | ||
|
|
83c4e75be9 | ||
|
|
e5f3be2bbb | ||
|
|
fbca4281c8 | ||
|
|
a858b8036c | ||
|
|
d2be2fb241 | ||
|
|
4855eb75a7 | ||
|
|
b1f88ec4e2 | ||
|
|
44924fb2b4 | ||
|
|
0e810cf6b0 | ||
|
|
1777e3fd5e | ||
|
|
509ca689b0 | ||
|
|
3a1dbce19d | ||
|
|
10f2bf6d81 | ||
|
|
1714c07164 | ||
|
|
4cc3d1728f | ||
|
|
3ae82255a9 | ||
|
|
9bcab53f49 | ||
|
|
ae17135ab5 | ||
|
|
1f6b757ae9 | ||
|
|
a496f45f22 | ||
|
|
3485cdb98e | ||
|
|
3e3f04d4b7 | ||
|
|
879d230da3 | ||
|
|
2006dd12d6 | ||
|
|
744b9066e2 | ||
|
|
1e01dbfbb2 | ||
|
|
6ebcd441d6 | ||
|
|
ea09a504ef | ||
|
|
2e3b3c7be5 | ||
|
|
93389c86ca | ||
|
|
8d82218269 | ||
|
|
a8e738f9ad | ||
|
|
bdcb9321ca | ||
|
|
d239b734e1 | ||
|
|
d91722f8e0 | ||
|
|
b6282a2004 | ||
|
|
f14aa30118 | ||
|
|
a4c1a7e317 | ||
|
|
b222cf0624 | ||
|
|
68b08abb14 | ||
|
|
cee3fffab5 | ||
|
|
d1d8608464 | ||
|
|
19d2a20a7f | ||
|
|
0bf5d40787 | ||
|
|
757d479536 | ||
|
|
74c9ace6f0 | ||
|
|
cfb8afc558 | ||
|
|
e8acf5c6f8 | ||
|
|
d5864a1dcb | ||
|
|
9f56705f96 | ||
|
|
7b5b22af5a | ||
|
|
00ecca84a8 | ||
|
|
38c3b405c8 | ||
|
|
e486ec5e0e | ||
|
|
eb272ac0b0 | ||
|
|
9f06ce19dd | ||
|
|
ba61b14f1d | ||
|
|
63c43dcc59 | ||
|
|
8562801137 | ||
|
|
5d8094143e | ||
|
|
5114966e00 | ||
|
|
bb6dcb54f9 | ||
|
|
eed7dd8d75 | ||
|
|
0a3ea5d34a | ||
|
|
a5e4c0bb9e | ||
|
|
70bddeda24 | ||
|
|
f66efab8f7 | ||
|
|
0caa1c11f8 | ||
|
|
c68f050647 | ||
|
|
d58eb72f25 | ||
|
|
11bfaf6cff | ||
|
|
68a54ab591 | ||
|
|
9693045170 | ||
|
|
cad4b840c8 | ||
|
|
37a92e9ce4 | ||
|
|
311e4e9253 | ||
|
|
1896ce3558 | ||
|
|
1874366208 | ||
|
|
0357422d14 | ||
|
|
18c497dffb | ||
|
|
d3ee37c5d9 | ||
|
|
f51cf14b85 | ||
|
|
194dd04699 | ||
|
|
14f7ee4916 | ||
|
|
a29d78e90b | ||
|
|
5b054c6955 | ||
|
|
10654d3a74 | ||
|
|
6017e604f8 | ||
|
|
3837491174 | ||
|
|
86a921af06 | ||
|
|
616df35633 | ||
|
|
e44fcedadf | ||
|
|
6f8f443170 | ||
|
|
d18af3f37e | ||
|
|
48fe4d6233 | ||
|
|
7b8250053b | ||
|
|
251cb4cfed | ||
|
|
24a93e6cdd | ||
|
|
40e15f9d78 | ||
|
|
b4f682d32f | ||
|
|
83d0e5e512 | ||
|
|
4e20b1a656 | ||
|
|
cc5ba6a7b6 | ||
|
|
0396479dec | ||
|
|
e34cfcf7e1 | ||
|
|
1358835050 | ||
|
|
754d494bef | ||
|
|
42909e3968 | ||
|
|
c108108028 | ||
|
|
5451e0d924 | ||
|
|
4ea3855514 | ||
|
|
20a9b1a7cf | ||
|
|
156e85578d | ||
|
|
b28ec12420 | ||
|
|
bb62a8b0c5 | ||
|
|
a75d8bebd2 | ||
|
|
b72ff47037 | ||
|
|
a2b03690a8 | ||
|
|
abb48d5a5f | ||
|
|
0e99546424 | ||
|
|
bd9e2e4c53 | ||
|
|
ff612904d2 | ||
|
|
429cf462d0 | ||
|
|
c62b26fdc6 | ||
|
|
e0a9ba9c3c | ||
|
|
2dc769a1c1 | ||
|
|
4f98cbabde | ||
|
|
98499135d7 | ||
|
|
3285076c8e | ||
|
|
3b4cfea688 | ||
|
|
de10f6900d | ||
|
|
adfe54b7be | ||
|
|
b576337e8b | ||
|
|
4de633dd5f | ||
|
|
91f29a38a0 | ||
|
|
1d5bd6cf71 | ||
|
|
226cc7ded4 | ||
|
|
e869d4bd32 | ||
|
|
60428dbf0a | ||
|
|
70d70a3c81 | ||
|
|
f1f25544e0 | ||
|
|
2e0db07627 | ||
|
|
58fc62296f | ||
|
|
df9cc1535e | ||
|
|
c4b36ff474 | ||
|
|
f418f8c17c | ||
|
|
5277d7cb7c | ||
|
|
0657bf9c14 | ||
|
|
5b438e9b0f | ||
|
|
7b4c588f58 | ||
|
|
1d00800e88 | ||
|
|
774530f412 | ||
|
|
fb171e534e | ||
|
|
7d7db13e67 | ||
|
|
45abac85a9 | ||
|
|
24b8dc9a55 | ||
|
|
d8c79c7f72 | ||
|
|
3a12ce0137 | ||
|
|
9bd35f6376 | ||
|
|
62763f682b | ||
|
|
38e3c5815c | ||
|
|
f8fe20e0d9 | ||
|
|
65e8167079 | ||
|
|
757a8b4621 | ||
|
|
5cac59b6c1 | ||
|
|
bad4058574 | ||
|
|
d8c2adae57 | ||
|
|
786e0c2424 | ||
|
|
794103d285 | ||
|
|
c454dbcd32 | ||
|
|
f3a3106807 | ||
|
|
62dc5aad06 | ||
|
|
45ecfb1973 | ||
|
|
f23478c314 | ||
|
|
3d2e469cfa | ||
|
|
bf401a2aef | ||
|
|
06a2b07bb0 | ||
|
|
8700e7b3cf | ||
|
|
7f19d42e9d | ||
|
|
d7bbd31efe | ||
|
|
fafc7f9875 | ||
|
|
d88a26c489 | ||
|
|
64b48877fa | ||
|
|
b31cc2d9f7 | ||
|
|
f196522159 | ||
|
|
4ff18c8c3e | ||
|
|
db4a465974 | ||
|
|
3cdc8ad07a |
89
CHANGES
89
CHANGES
@@ -4,7 +4,47 @@
|
||||
|
||||
Changes between 0.9.6 and 0.9.6a [xx XXX 2001]
|
||||
|
||||
*) Fix a memory leak in err.c: free err_data string if necessary.
|
||||
*) Fix for asn1_GetSequence() for indefinite length constructed data.
|
||||
If SEQUENCE is length is indefinite just set c->slen to the total
|
||||
amount of data available.
|
||||
[Steve Henson, reported by shige@FreeBSD.org]
|
||||
[This change does not apply to 0.9.7.]
|
||||
|
||||
*) Change bctest to avoid here-documents inside command substitution
|
||||
(workaround for FreeBSD /bin/sh bug).
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Rename 'des_encrypt' to 'des_encrypt1'. This avoids the clashes
|
||||
with des_encrypt() defined on some operating systems, like Solaris
|
||||
and UnixWare.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Check the result of RSA-CRT (see D. Boneh, R. DeMillo, R. Lipton:
|
||||
On the Importance of Eliminating Errors in Cryptographic
|
||||
Computations, J. Cryptology 14 (2001) 2, 101-119,
|
||||
http://theory.stanford.edu/~dabo/papers/faults.ps.gz).
|
||||
[Ulf Moeller]
|
||||
|
||||
*) MIPS assembler BIGNUM division bug fix.
|
||||
[Andy Polyakov]
|
||||
|
||||
*) Fix PKCS#7 decode routines so they correctly update the length
|
||||
after reading an EOC for the EXPLICIT tag.
|
||||
[Steve Henson]
|
||||
[This change does not apply to 0.9.7.]
|
||||
|
||||
*) Fix bug in PKCS#12 key generation routines. This was triggered
|
||||
if a 3DES key was generated with a 0 initial byte. Include
|
||||
PKCS12_BROKEN_KEYGEN compilation option to retain the old
|
||||
(but broken) behaviour.
|
||||
[Steve Henson]
|
||||
|
||||
*) Enhance bctest to search for a working bc along $PATH and print
|
||||
it when found.
|
||||
[Tim Rice <tim@multitalents.net> via Richard Levitte]
|
||||
|
||||
*) Fix memory leaks in err.c: free err_data string if necessary;
|
||||
don't write to the wrong index in ERR_set_error_data.
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Implement ssl23_peek (analogous to ssl23_read), which previously
|
||||
@@ -21,15 +61,6 @@
|
||||
X509_NAME_get_index_by_NID() since 0 is a valid index.
|
||||
[Steve Henson reported by Massimiliano Pala <madwolf@opensca.org>]
|
||||
|
||||
*) Use better test patterns in bntest.
|
||||
[Ulf M<>ller]
|
||||
|
||||
*) Initialise "ex_data" member of RSA/DSA/DH structures prior to calling
|
||||
the method-specific "init()" handler. Also clean up ex_data after
|
||||
calling the method-specific "finish()" handler. Previously, this was
|
||||
happening the other way round.
|
||||
[Geoff Thorpe]
|
||||
|
||||
*) Avoid coredump with unsupported or invalid public keys by checking if
|
||||
X509_get_pubkey() fails in PKCS7_verify(). Fix memory leak when
|
||||
PKCS7_verify() fails with non detached data.
|
||||
@@ -62,6 +93,7 @@
|
||||
*) Fix X509_NAME bug which produced incorrect encoding if X509_NAME
|
||||
was empty.
|
||||
[Steve Henson]
|
||||
[This change does not apply to 0.9.7.]
|
||||
|
||||
*) Use the cached encoding of an X509_NAME structure rather than
|
||||
copying it. This is apparently the reason for the libsafe "errors"
|
||||
@@ -73,7 +105,7 @@
|
||||
Extend BN_[pseudo_]rand: As before, top=1 forces the highest two bits
|
||||
to be set and top=0 forces the highest bit to be set; top=-1 is new
|
||||
and leaves the highest bit random.
|
||||
[Ulf Moeller]
|
||||
[Ulf Moeller, Bodo Moeller]
|
||||
|
||||
*) In the NCONF_...-based implementations for CONF_... queries
|
||||
(crypto/conf/conf_lib.c), if the input LHASH is NULL, avoid using
|
||||
@@ -102,6 +134,7 @@
|
||||
macros previously used would not encode an empty SEQUENCE OF
|
||||
and break the signature.
|
||||
[Steve Henson]
|
||||
[This change does not apply to 0.9.7.]
|
||||
|
||||
*) Zero the premaster secret after deriving the master secret in
|
||||
DH ciphersuites.
|
||||
@@ -154,12 +187,19 @@
|
||||
*) Fix a deadlock in CRYPTO_mem_leaks().
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Use better test patterns in bntest.
|
||||
[Ulf M<>ller]
|
||||
|
||||
*) rand_win.c fix for Borland C.
|
||||
[Ulf M<>ller]
|
||||
|
||||
*) BN_rshift bugfix for n == 0.
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Add a 'bctest' script that checks for some known 'bc' bugs
|
||||
so that 'make test' does not abort just because 'bc' is broken.
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Store verify_result within SSL_SESSION also for client side to
|
||||
avoid potential security hole. (Re-used sessions on the client side
|
||||
always resulted in verify_result==X509_V_OK, not using the original
|
||||
@@ -182,13 +222,40 @@
|
||||
does the actual work for ssl3_read_internal.
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Initialise "ex_data" member of RSA/DSA/DH structures prior to calling
|
||||
the method-specific "init()" handler. Also clean up ex_data after
|
||||
calling the method-specific "finish()" handler. Previously, this was
|
||||
happening the other way round.
|
||||
[Geoff Thorpe]
|
||||
|
||||
*) Increase BN_CTX_NUM (the number of BIGNUMs in a BN_CTX) to 16.
|
||||
The previous value, 12, was not always sufficient for BN_mod_exp().
|
||||
[Bodo Moeller]
|
||||
|
||||
*) Make sure that shared libraries get the internal name engine with
|
||||
the full version number and not just 0. This should mark the
|
||||
shared libraries as not backward compatible. Of course, this should
|
||||
be changed again when we can guarantee backward binary compatibility.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Fix typo in get_cert_by_subject() in by_dir.c
|
||||
[Jean-Marc Desperrier <jean-marc.desperrier@certplus.com>]
|
||||
|
||||
*) Rework the system to generate shared libraries:
|
||||
|
||||
- Make note of the expected extension for the shared libraries and
|
||||
if there is a need for symbolic links from for example libcrypto.so.0
|
||||
to libcrypto.so.0.9.7. There is extended info in Configure for
|
||||
that.
|
||||
|
||||
- Make as few rebuilds of the shared libraries as possible.
|
||||
|
||||
- Still avoid linking the OpenSSL programs with the shared libraries.
|
||||
|
||||
- When installing, install the shared libraries separately from the
|
||||
static ones.
|
||||
[Richard Levitte]
|
||||
|
||||
*) Fix SSL_CTX_set_read_ahead macro to actually use its argument.
|
||||
|
||||
Copy SSL_CTX's read_ahead flag to SSL object directly in SSL_new
|
||||
|
||||
128
Configure
128
Configure
@@ -89,6 +89,11 @@ my $x86_elf_asm="asm/bn86-elf.o asm/co86-elf.o:asm/dx86-elf.o asm/yx86-elf.o:asm
|
||||
my $x86_out_asm="asm/bn86-out.o asm/co86-out.o:asm/dx86-out.o asm/yx86-out.o:asm/bx86-out.o:asm/mx86-out.o:asm/sx86-out.o:asm/cx86-out.o:asm/rx86-out.o:asm/rm86-out.o:asm/r586-out.o";
|
||||
my $x86_bsdi_asm="asm/bn86bsdi.o asm/co86bsdi.o:asm/dx86bsdi.o asm/yx86bsdi.o:asm/bx86bsdi.o:asm/mx86bsdi.o:asm/sx86bsdi.o:asm/cx86bsdi.o:asm/rx86bsdi.o:asm/rm86bsdi.o:asm/r586bsdi.o";
|
||||
|
||||
my $mips3_irix_asm="asm/mips3.o::::::::";
|
||||
# There seems to be boundary faults in asm/alpha.s.
|
||||
#my $alpha_asm="asm/alpha.o::::::::";
|
||||
my $alpha_asm="::::::::";
|
||||
|
||||
# -DB_ENDIAN slows things down on a sparc for md5, but helps sha1.
|
||||
# So the md5_locl.h file has an undef B_ENDIAN if sun is defined
|
||||
|
||||
@@ -127,32 +132,32 @@ 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 -m486 -Wall -DL_ENDIAN -DNO_INLINE_ASM::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_sol_asm}:dlfcn:solaris-shared:-fPIC",
|
||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DNO_INLINE_ASM::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_sol_asm}:dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
#### SPARC Solaris with GNU C setups
|
||||
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:solaris-shared:-fPIC",
|
||||
"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC",
|
||||
"solaris-sparcv9-gcc","gcc:-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-fPIC",
|
||||
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris-sparcv9-gcc","gcc:-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
# gcc pre-2.8 doesn't understand -mcpu=ultrasparc, so fall down to -mv8
|
||||
# but keep the assembler modules.
|
||||
"solaris-sparcv9-gcc27","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:solaris-shared:-fPIC",
|
||||
"solaris-sparcv9-gcc27","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
####
|
||||
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-fPIC",
|
||||
"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mcpu=ultrasparc -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::::::::dlfcn:solaris-shared:-fPIC",
|
||||
"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g -mcpu=ultrasparc -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
#### SPARC Solaris with Sun C setups
|
||||
# DO NOT use /xO[34] on sparc with SC3.0. It is broken, and will not pass the tests
|
||||
"solaris-sparc-sc3","cc:-fast -O -Xa -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR::::::::::dlfcn:solaris-shared:-KPIC",
|
||||
"solaris-sparc-sc3","cc:-fast -O -Xa -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
# SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2.
|
||||
# SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
|
||||
# SC5.0 note: Compiler common patch 107357-01 or later is required!
|
||||
"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::::::::dlfcn:solaris-shared:-KPIC",
|
||||
"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC",
|
||||
"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC",
|
||||
"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:/usr/ccs/bin/ar rs",
|
||||
"solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs",
|
||||
####
|
||||
"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC",
|
||||
"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC",
|
||||
"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
#### SPARC Linux setups
|
||||
"linux-sparcv7","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
|
||||
@@ -178,11 +183,11 @@ my %table=(
|
||||
# Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
|
||||
# './Configure irix-[g]cc' manually.
|
||||
# -mips4 flag is added by ./config when appropriate.
|
||||
"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:asm/mips3.o::",
|
||||
"irix-mips3-cc", "cc:-n32 -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:asm/mips3.o::",
|
||||
"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_irix_asm}",
|
||||
"irix-mips3-cc", "cc:-n32 -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_irix_asm}",
|
||||
# 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:asm/mips3.o::",
|
||||
"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:asm/mips3.o::",
|
||||
"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_irix_asm}",
|
||||
"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_irix_asm}",
|
||||
|
||||
#### Unified HP-UX ANSI C configs.
|
||||
# Special notes:
|
||||
@@ -262,10 +267,10 @@ my %table=(
|
||||
# Dec Alpha, OSF/1 - the alpha164-cc is the flags for a 21164A with
|
||||
# the new compiler
|
||||
# For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
|
||||
"alpha-gcc","gcc:-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:asm/alpha.o:::::::::dlfcn:true64-shared",
|
||||
"alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o:::::::::dlfcn:true64-shared",
|
||||
"alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o:::::::::dlfcn:true64-shared",
|
||||
"FreeBSD-alpha","gcc:-DTERMIOS -O -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2:::",
|
||||
"alpha-gcc","gcc:-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${alpha_asm}:dlfcn:tru64-shared::.so",
|
||||
"alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
|
||||
"alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
|
||||
"FreeBSD-alpha","gcc:-DTERMIOS -O -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
#### Alpha Linux with GNU C and Compaq C setups
|
||||
# Special notes:
|
||||
@@ -280,17 +285,17 @@ my %table=(
|
||||
#
|
||||
# <appro@fy.chalmers.se>
|
||||
#
|
||||
"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o:::::::::dlfcn:linux-shared:-fPIC",
|
||||
"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o:::::::::dlfcn:linux-shared:-fPIC",
|
||||
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:asm/alpha.o::",
|
||||
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:asm/alpha.o::",
|
||||
"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
|
||||
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
|
||||
|
||||
# assembler versions -- currently defunct:
|
||||
##"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:asm/alpha.o::",
|
||||
##"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${alpha_asm}",
|
||||
|
||||
# The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
|
||||
# bn86-elf.o file file since it is hand tweaked assembler.
|
||||
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC",
|
||||
"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-lefence -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
||||
"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
|
||||
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
|
||||
@@ -299,13 +304,13 @@ my %table=(
|
||||
"linux-m68k", "gcc:-DB_ENDIAN -DTERMIO -O2 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::",
|
||||
"linux-s390", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::",
|
||||
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::(unknown)::SIXTY_FOUR_BIT_LONG::",
|
||||
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"NetBSD-x86", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:",
|
||||
"FreeBSD-elf", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"NetBSD-x86", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"FreeBSD-elf", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"FreeBSD", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
|
||||
"bsdi-gcc", "gcc:-O3 -ffast-math -DL_ENDIAN -DPERL5 -m486::(unknown)::RSA_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_bsdi_asm}",
|
||||
"bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||
"bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown):-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"nextstep", "cc:-O -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||
"nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||
# NCR MP-RAS UNIX ver 02.03.01
|
||||
@@ -315,11 +320,16 @@ my %table=(
|
||||
"qnx4", "cc:-DL_ENDIAN -DTERMIO::(unknown)::${x86_gcc_des} ${x86_gcc_opts}:",
|
||||
|
||||
# Linux on ARM
|
||||
"linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC",
|
||||
"linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
# UnixWare 2.0
|
||||
"unixware-2.0","cc:-O -DFILIO_H::(unknown):-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||
"unixware-2.0-pentium","cc:-O -DFILIO_H -Kpentium -Kthread::(unknown):-lsocket -lnsl:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
|
||||
# UnixWare 2.0x fails destest with -O
|
||||
"unixware-2.0","cc:-DFILIO_H::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||
"unixware-2.0-pentium","cc:-DFILIO_H -Kpentium:-Kthread:-lsocket -lnsl -lx:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
|
||||
|
||||
# UnixWare 2.1
|
||||
"unixware-2.1","cc:-O -DFILIO_H::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
|
||||
"unixware-2.1-pentium","cc:-O -DFILIO_H -Kpentium::-Kthread:-lsocket -lnsl -lx:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
|
||||
"unixware-2.1-p6","cc:-O -DFILIO_H -Kp6::-Kthread:-lsocket -lnsl -lx:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
|
||||
|
||||
# UnixWare 7
|
||||
"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread:-lsocket -lnsl:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
|
||||
@@ -327,6 +337,8 @@ my %table=(
|
||||
# IBM's AIX.
|
||||
"aix-cc", "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR:::",
|
||||
"aix-gcc", "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR:::",
|
||||
"aix43-cc", "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
|
||||
"aix43-gcc", "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
|
||||
|
||||
#
|
||||
# Cray T90 (SDSC)
|
||||
@@ -356,9 +368,13 @@ my %table=(
|
||||
"dgux-R4-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown):-lnsl -lsocket:RC4_INDEX:RC4_INDEX DES_UNROLL:::",
|
||||
"dgux-R4-x86-gcc", "gcc:-O3 -fomit-frame-pointer -DL_ENDIAN::(unknown):-lnsl -lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
|
||||
|
||||
# SCO 3 - Tim Rice <tim@multitalents.net>
|
||||
"sco3-gcc", "gcc:-O3 -fomit-frame-pointer -Dssize_t=int -DNO_SYS_UN_H::(unknown)::-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::", # the SCO assembler doesn't seem to like our assembler files ...
|
||||
|
||||
# SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the
|
||||
# SCO cc.
|
||||
"sco5-cc", "cc:::(unknown):-lsocket:${x86_gcc_des} ${x86_gcc_opts}:::", # des options?
|
||||
"sco5-cc-pentium", "cc:-Kpentium::(unknown):-lsocket:${x86_gcc_des} ${x86_gcc_opts}:::", # des options?
|
||||
"sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown):-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::", # the SCO assembler doesn't seem to like our assembler files ...
|
||||
|
||||
# Sinix/ReliantUNIX RM400
|
||||
@@ -398,10 +414,10 @@ my %table=(
|
||||
##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown)::::::",
|
||||
|
||||
# Some OpenBSD from Bob Beck <beck@obtuse.com>
|
||||
"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:::",
|
||||
"OpenBSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn",
|
||||
"OpenBSD", "gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::BN_LLONG RC2_CHAR RC4_INDEX DES_UNROLL:::",
|
||||
"OpenBSD-mips","gcc:-O2 -DL_ENDIAN::(unknown):BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR::::",
|
||||
"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"OpenBSD-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"OpenBSD", "gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::BN_LLONG RC2_CHAR RC4_INDEX DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"OpenBSD-mips","gcc:-O2 -DL_ENDIAN::(unknown):BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
##### MacOS X (a.k.a. Rhapsody) setup
|
||||
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
|
||||
@@ -633,8 +649,8 @@ $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /^\//;
|
||||
print "IsWindows=$IsWindows\n";
|
||||
|
||||
(my $cc,my $cflags,my $unistd,my $thread_cflag,my $lflags,my $bn_ops,my $bn_obj,my $des_obj,my $bf_obj,
|
||||
$md5_obj,$sha1_obj,my $cast_obj,my $rc4_obj,$rmd160_obj,my $rc5_obj,my $dso_scheme,my $shared_target,my $shared_cflag, my $ranlib)=
|
||||
split(/\s*:\s*/,$table{$target} . ":" x 22 , -1);
|
||||
$md5_obj,$sha1_obj,my $cast_obj,my $rc4_obj,$rmd160_obj,my $rc5_obj,my $dso_scheme,my $shared_target,my $shared_cflag,my $shared_extension,my $ranlib)=
|
||||
split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
|
||||
$cflags="$flags$cflags" if ($flags ne "");
|
||||
|
||||
# The DSO code currently always implements all functions so that no
|
||||
@@ -709,15 +725,16 @@ if ($threads)
|
||||
}
|
||||
|
||||
# You will find shlib_mark1 and shlib_mark2 explained in Makefile.org
|
||||
my $shared_mark1 = "";
|
||||
my $shared_mark2 = "";
|
||||
if ($shared_cflag ne "")
|
||||
my $shared_mark = "";
|
||||
if ($shared_target ne "")
|
||||
{
|
||||
$cflags = "$shared_cflag $cflags";
|
||||
if ($shared_cflag ne "")
|
||||
{
|
||||
$cflags = "$shared_cflag $cflags";
|
||||
}
|
||||
if (!$no_shared)
|
||||
{
|
||||
$shared_mark1 = ".shlib-clean.";
|
||||
$shared_mark2 = ".shlib.";
|
||||
#$shared_mark = "\$(SHARED_LIBS)";
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -810,6 +827,7 @@ while (<IN>)
|
||||
s/^SHLIB_VERSION_HISTORY=.*/SHLIB_VERSION_HISTORY=$shlib_version_history/;
|
||||
s/^SHLIB_MAJOR=.*/SHLIB_MAJOR=$shlib_major/;
|
||||
s/^SHLIB_MINOR=.*/SHLIB_MINOR=$shlib_minor/;
|
||||
s/^SHLIB_EXT=.*/SHLIB_EXT=$shared_extension/;
|
||||
s/^INSTALLTOP=.*$/INSTALLTOP=$prefix/;
|
||||
s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/;
|
||||
s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/;
|
||||
@@ -833,9 +851,9 @@ while (<IN>)
|
||||
s/^RANLIB=.*/RANLIB= $ranlib/;
|
||||
s/^PERL=.*/PERL= $perl/;
|
||||
s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
|
||||
s/^SHLIB_MARK1=.*/SHLIB_MARK1=$shared_mark1/;
|
||||
s/^SHLIB_MARK2=.*/SHLIB_MARK2=$shared_mark2/;
|
||||
s/^LIBS=.*/LIBS=libcrypto\.so\* libssl\.so\*/ if (!$no_shared);
|
||||
s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
|
||||
s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
|
||||
s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.so.\$(SHLIB_MAJOR) .so/ if ($shared_extension ne "" && $shared_extension !~ /^\.s[ol]$/);
|
||||
print OUT $_."\n";
|
||||
}
|
||||
close(IN);
|
||||
@@ -1122,8 +1140,9 @@ sub print_table_entry
|
||||
(my $cc,my $cflags,my $unistd,my $thread_cflag,my $lflags,my $bn_ops,
|
||||
my $bn_obj,my $des_obj,my $bf_obj,
|
||||
my $md5_obj,my $sha1_obj,my $cast_obj,my $rc4_obj,my $rmd160_obj,
|
||||
my $rc5_obj,my $dso_scheme,my $shared_target,my $shared_cflag,my $ranlib)=
|
||||
split(/\s*:\s*/,$table{$target} . ":" x 22 , -1);
|
||||
my $rc5_obj,my $dso_scheme,my $shared_target,my $shared_cflag,
|
||||
my $shared_extension,my $ranlib)=
|
||||
split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
|
||||
|
||||
print <<EOF
|
||||
|
||||
@@ -1146,6 +1165,7 @@ sub print_table_entry
|
||||
\$dso_scheme = $dso_scheme
|
||||
\$shared_target= $shared_target
|
||||
\$shared_cflag = $shared_cflag
|
||||
\$shared_extension = $shared_extension
|
||||
\$ranlib = $ranlib
|
||||
EOF
|
||||
}
|
||||
|
||||
176
Makefile.org
176
Makefile.org
@@ -9,6 +9,7 @@ SHLIB_VERSION_NUMBER=
|
||||
SHLIB_VERSION_HISTORY=
|
||||
SHLIB_MAJOR=
|
||||
SHLIB_MINOR=
|
||||
SHLIB_EXT=
|
||||
PLATFORM=dist
|
||||
OPTIONS=
|
||||
CONFIGURE_ARGS=
|
||||
@@ -56,7 +57,7 @@ CC= gcc
|
||||
#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
|
||||
CFLAG= -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
|
||||
DEPFLAG=
|
||||
PEX_LIBS= -L. -L.. -L../.. -L../../..
|
||||
PEX_LIBS=
|
||||
EX_LIBS=
|
||||
AR=ar r
|
||||
RANLIB= ranlib
|
||||
@@ -149,14 +150,11 @@ RMD160_ASM_OBJ= asm/rm86-out.o
|
||||
#RMD160_ASM_OBJ= asm/rm86-out.o # a.out, FreeBSD
|
||||
#RMD160_ASM_OBJ= asm/rm86bsdi.o # bsdi
|
||||
|
||||
# To do special treatment, use "directory names" starting with a period.
|
||||
# When we're prepared to use shared libraries in the programs we link here
|
||||
# we might have SHLIB_MARK1 get the value ".shlib." and SHLIB_MARK2 be empty,
|
||||
# or have that configurable.
|
||||
SHLIB_MARK1=.shlib-clean.
|
||||
SHLIB_MARK2=.shlib.
|
||||
# we might set SHLIB_MARK to '$(SHARED_LIBS)'.
|
||||
SHLIB_MARK=
|
||||
|
||||
DIRS= crypto ssl rsaref $(SHLIB_MARK1) apps test tools $(SHLIB_MARK2)
|
||||
DIRS= crypto ssl rsaref $(SHLIB_MARK) apps test tools
|
||||
SHLIBDIRS= crypto ssl
|
||||
|
||||
# dirs in crypto to build
|
||||
@@ -180,7 +178,10 @@ ONEDIRS=out tmp
|
||||
EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS
|
||||
WDIRS= windows
|
||||
LIBS= libcrypto.a libssl.a
|
||||
SHARED_LIBS=libcrypto.so libssl.so
|
||||
SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
|
||||
SHARED_SSL=libssl$(SHLIB_EXT)
|
||||
SHARED_LIBS=
|
||||
SHARED_LIBS_LINK_EXTS=
|
||||
|
||||
GENERAL= Makefile
|
||||
BASENAME= openssl
|
||||
@@ -190,108 +191,93 @@ WTARFILE= $(NAME)-win.tar
|
||||
EXHEADER= e_os.h e_os2.h
|
||||
HEADER= e_os.h
|
||||
|
||||
all: Makefile.ssl
|
||||
@need_shlib=true; \
|
||||
for i in $(DIRS) ;\
|
||||
do \
|
||||
if [ "$$i" = ".shlib-clean." ]; then \
|
||||
if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
$(MAKE) clean-shared; \
|
||||
fi; \
|
||||
elif [ "$$i" = ".shlib." ]; then \
|
||||
if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
$(MAKE) $(SHARED_LIBS); \
|
||||
fi; \
|
||||
need_shlib=false; \
|
||||
else \
|
||||
(cd $$i && echo "making all in $$i..." && \
|
||||
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
|
||||
fi; \
|
||||
done; \
|
||||
if $$need_shlib && [ "$(SHLIB_MARK1)" != "" -o "$(SHLIB_MARK1)" != "" ]; then \
|
||||
$(MAKE) $(SHARED_LIBS); \
|
||||
fi
|
||||
# When we're prepared to use shared libraries in the programs we link here
|
||||
# we might remove 'clean-shared' from the targets to perform at this stage
|
||||
|
||||
all: clean-shared Makefile.ssl sub_all
|
||||
|
||||
sub_all:
|
||||
@need_shlib=true; \
|
||||
for i in $(DIRS) ;\
|
||||
@for i in $(DIRS); \
|
||||
do \
|
||||
if [ "$$i" = ".shlib-clean." ]; then \
|
||||
if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
$(MAKE) clean-shared; \
|
||||
fi; \
|
||||
elif [ "$$i" = ".shlib." ]; then \
|
||||
if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
$(MAKE) $(SHARED_LIBS); \
|
||||
fi; \
|
||||
need_shlib=false; \
|
||||
else \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making all in $$i..." && \
|
||||
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
|
||||
else \
|
||||
$(MAKE) $$i; \
|
||||
fi; \
|
||||
done; \
|
||||
if $$need_shlib && [ "$(SHLIB_MARK1)" != "" -o "$(SHLIB_MARK1)" != "" ]; then \
|
||||
if echo "$(DIRS)" | \
|
||||
egrep '(^| )(crypto|ssl)( |$$)' > /dev/null 2>&1 && \
|
||||
[ -n "$(SHARED_LIBS)" ]; then \
|
||||
$(MAKE) $(SHARED_LIBS); \
|
||||
fi
|
||||
|
||||
libcrypto.so: libcrypto.a
|
||||
libcrypto$(SHLIB_EXT): libcrypto.a
|
||||
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
$(MAKE) SHLIBDIRS=crypto $(SHLIB_TARGET); \
|
||||
$(MAKE) SHLIBDIRS=crypto build-shared; \
|
||||
else \
|
||||
echo "There's no support for shared libraries on this platform" >&2; \
|
||||
fi
|
||||
libssl.so: libcrypto.so libssl.a
|
||||
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
|
||||
@if [ "$(SHLIB_TARGET)" != "" ]; then \
|
||||
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-L. -lcrypto' $(SHLIB_TARGET); \
|
||||
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
|
||||
else \
|
||||
echo "There's no support for shared libraries on this platform" >&2; \
|
||||
fi
|
||||
|
||||
clean-shared:
|
||||
for i in ${SHLIBDIRS}; do \
|
||||
rm -f lib$$i.so \
|
||||
lib$$i.so.${SHLIB_MAJOR} \
|
||||
lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \
|
||||
@for i in $(SHLIBDIRS); do \
|
||||
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
||||
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
|
||||
for j in $${tmp:-x}; do \
|
||||
( set -x; rm -f lib$$i$$j ); \
|
||||
done; \
|
||||
fi; \
|
||||
( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
|
||||
done
|
||||
|
||||
linux-shared:
|
||||
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
rm -f lib$$i.so \
|
||||
lib$$i.so.${SHLIB_MAJOR} \
|
||||
lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \
|
||||
link-shared:
|
||||
@for i in $(SHLIBDIRS); do \
|
||||
prev=lib$$i$(SHLIB_EXT); \
|
||||
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
|
||||
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
|
||||
for j in $${tmp:-x}; do \
|
||||
( set -x; ln -f -s $$prev lib$$i$$j ); \
|
||||
prev=lib$$i$$j; \
|
||||
done; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
|
||||
|
||||
do_bsd-gcc-shared: linux-shared
|
||||
do_linux-shared: do_gnu-shared
|
||||
do_gnu-shared:
|
||||
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
( set -x; ${CC} -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-Wl,-S,-soname=lib$$i.so.${SHLIB_MAJOR} \
|
||||
-Wl,-S,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-Wl,--whole-archive lib$$i.a \
|
||||
-Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
|
||||
libs="$$libs -L. -l$$i"; \
|
||||
( set -x; \
|
||||
ln -s lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
lib$$i.so.${SHLIB_MAJOR}; \
|
||||
ln -s lib$$i.so.${SHLIB_MAJOR} lib$$i.so ); \
|
||||
libs="$$libs -l$$i"; \
|
||||
done
|
||||
|
||||
# This assumes that GNU utilities are *not* used
|
||||
true64-shared:
|
||||
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
do_tru64-shared:
|
||||
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
( set -x; ${CC} -shared -no_archive -o lib$$i.so \
|
||||
-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
|
||||
-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
|
||||
libs="$$libs -L. -l$$i"; \
|
||||
libs="$$libs -l$$i"; \
|
||||
done
|
||||
|
||||
# This assumes that GNU utilities are *not* used
|
||||
solaris-shared:
|
||||
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
rm -f lib$$i.so \
|
||||
lib$$i.so.${SHLIB_MAJOR} \
|
||||
lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \
|
||||
( set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-h lib$$i.so.${SHLIB_MAJOR} \
|
||||
do_solaris-shared:
|
||||
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
|
||||
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
|
||||
set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
-z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
|
||||
libs="$$libs -L. -l$$i"; \
|
||||
ln -s lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
|
||||
lib$$i.so.${SHLIB_MAJOR}; \
|
||||
ln -s lib$$i.so.${SHLIB_MAJOR} lib$$i.so; \
|
||||
libs="$$libs -l$$i"; \
|
||||
done
|
||||
|
||||
Makefile.ssl: Makefile.org
|
||||
@@ -306,7 +292,7 @@ clean:
|
||||
rm -f shlib/*.o *.o core a.out fluff *.map rehash.time testlog make.log cctest cctest.c
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making clean in $$i..." && \
|
||||
$(MAKE) SDIRS='${SDIRS}' clean ) || exit 1; \
|
||||
rm -f $(LIBS); \
|
||||
@@ -327,7 +313,7 @@ files:
|
||||
$(PERL) $(TOP)/util/files.pl Makefile.ssl > $(TOP)/MINFO
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making 'files' in $$i..." && \
|
||||
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' files ) || exit 1; \
|
||||
fi; \
|
||||
@@ -338,7 +324,7 @@ links:
|
||||
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl
|
||||
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
|
||||
@for i in $(DIRS); do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making links in $$i..." && \
|
||||
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PERL='${PERL}' links ) || exit 1; \
|
||||
fi; \
|
||||
@@ -348,7 +334,7 @@ dclean:
|
||||
rm -f *.bak
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making dclean in $$i..." && \
|
||||
$(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \
|
||||
fi; \
|
||||
@@ -372,7 +358,7 @@ report:
|
||||
depend:
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making dependencies $$i..." && \
|
||||
$(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' depend ) || exit 1; \
|
||||
fi; \
|
||||
@@ -381,7 +367,7 @@ depend:
|
||||
lint:
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making lint $$i..." && \
|
||||
$(MAKE) SDIRS='${SDIRS}' lint ) || exit 1; \
|
||||
fi; \
|
||||
@@ -390,7 +376,7 @@ lint:
|
||||
tags:
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i && echo "making tags $$i..." && \
|
||||
$(MAKE) SDIRS='${SDIRS}' tags ) || exit 1; \
|
||||
fi; \
|
||||
@@ -452,7 +438,7 @@ install: all install_docs
|
||||
done;
|
||||
@for i in $(DIRS) ;\
|
||||
do \
|
||||
if echo "$$i" | grep -v '^\.'; then \
|
||||
if [ -d "$$i" ]; then \
|
||||
(cd $$i; echo "installing $$i..."; \
|
||||
$(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}' EX_LIBS='${EX_LIBS}' SDIRS='${SDIRS}' RANLIB='${RANLIB}' install ); \
|
||||
fi; \
|
||||
@@ -462,11 +448,24 @@ install: all install_docs
|
||||
if [ -f "$$i" ]; then \
|
||||
( echo installing $$i; \
|
||||
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
||||
(echo $$i | grep '\\.a$$' > /dev/null 2>&1) \
|
||||
&& $(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
||||
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
|
||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
|
||||
fi \
|
||||
done
|
||||
@if [ -n "$(SHARED_LIBS)" ]; then \
|
||||
tmp="$(SHARED_LIBS)"; \
|
||||
for i in $${tmp:-x}; \
|
||||
do \
|
||||
if [ -f "$$i" ]; then \
|
||||
( echo installing $$i; \
|
||||
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
||||
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
|
||||
fi \
|
||||
done; \
|
||||
( here="`pwd`"; \
|
||||
cd $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
|
||||
make -f $$here/Makefile link-shared ); \
|
||||
fi
|
||||
|
||||
install_docs:
|
||||
@$(PERL) $(TOP)/util/mkdir-p.pl \
|
||||
@@ -493,11 +492,4 @@ install_docs:
|
||||
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/`basename $$i .pod`.$$sec; \
|
||||
done
|
||||
|
||||
shlib: all
|
||||
if [ ! -d shlib_dir ] ; then mkdir shlib_dir ; else rm -f shlib_dir/* ; fi
|
||||
cd shlib_dir ; ar -x ../libcrypto.a && $(CC) -shared ./*.o -Wl,-soname -Wl,libcrypto.so.0.9 \
|
||||
-o ./libcrypto.so.0.9.4 && rm *.o
|
||||
cd shlib_dir ; ar -x ../libssl.a && $(CC) -shared ./*.o -Wl,-soname -Wl,libssl.so.0.9 \
|
||||
-o ./libssl.so.0.9.4 && rm *.o
|
||||
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
||||
|
||||
25
NEWS
25
NEWS
@@ -5,6 +5,31 @@
|
||||
This file gives a brief overview of the major changes between each OpenSSL
|
||||
release. For more details please read the CHANGES file.
|
||||
|
||||
Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a:
|
||||
|
||||
o Security fix: change behavior of OpenSSL to avoid using
|
||||
environment variables when running as root.
|
||||
o Security fix: check the result of RSA-CRT to reduce the
|
||||
possibility of deducing the private key from an incorrectly
|
||||
calculated signature.
|
||||
o Security fix: prevent Bleichenbacher's DSA attack.
|
||||
o Security fix: Zero the premaster secret after deriving the
|
||||
master secret in DH ciphersuites.
|
||||
o Reimplement SSL_peek(), which had various problems.
|
||||
o Compatibility fix: the function des_encrypt() renamed to
|
||||
des_encrypt1() to avoid clashes with some Unixen libc.
|
||||
o Bug fixes for Win32, HP/UX and Irix.
|
||||
o Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
|
||||
memory checking routines.
|
||||
o Bug fixes for RSA operations in threaded enviroments.
|
||||
o Bug fixes in misc. openssl applications.
|
||||
o Remove a few potential memory leaks.
|
||||
o Add tighter checks of BIGNUM routines.
|
||||
o Shared library support has been reworked for generality.
|
||||
o More documentation.
|
||||
o New function BN_rand_range().
|
||||
o Add "-rand" option to openssl s_client and s_server.
|
||||
|
||||
Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6:
|
||||
|
||||
o Some documentation for BIO and SSL libraries.
|
||||
|
||||
2
README
2
README
@@ -1,5 +1,5 @@
|
||||
|
||||
OpenSSL 0.9.6a-beta1 13 Mar 2001
|
||||
OpenSSL 0.9.6a-beta3 30 Mar 2001
|
||||
|
||||
Copyright (c) 1998-2000 The OpenSSL Project
|
||||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
||||
|
||||
66
STATUS
66
STATUS
@@ -1,11 +1,46 @@
|
||||
|
||||
OpenSSL STATUS Last modified at
|
||||
______________ $Date: 2001/03/13 16:08:32 $
|
||||
______________ $Date: 2001/03/22 15:15:58 $
|
||||
|
||||
DEVELOPMENT STATE
|
||||
|
||||
o OpenSSL 0.9.6a: In development...
|
||||
o OpenSSL 0.9.6a: Bugfix release -- under development...
|
||||
Beta 1 released on March 13th, 2001
|
||||
HP-UX 10.20 (hpux-parisc-cc) - PASSED [normal+engine]
|
||||
HP-UX 10.20 (hpux-parisc-gcc) - PASSED [normal+engine]
|
||||
HP-UX 11.00 32bit (hpux-parisc-gcc) - FAILED [engine]
|
||||
"openssl speed rsa1024 -engine cswift" fails unless
|
||||
libswift.sl is renamed to libswift.so.
|
||||
[CORRECTED]
|
||||
HP MPE/iX - PASSED [presumed normal]
|
||||
Linux 2.2.17 SMP (linux-elf) - PASSED [normal+engine]
|
||||
Windows (VC-WIN32) - FAILED [presumed normal]
|
||||
Missing line in ms/32all.bat:
|
||||
perl util\mkfiles.pl >MINFO
|
||||
[CORRECTED]
|
||||
In randfile.c, line 214, signed and unsigned int are mixed.
|
||||
[CORRECTED]
|
||||
In s_client.c and s_server.c, RAND_status() needs to get
|
||||
declared (#include <openssl/rand.h>)
|
||||
[CORRECTED]
|
||||
OpenVMS (any version) - FAILED [normal+engine]
|
||||
Missing instructions in building script.
|
||||
[CORRECTED]
|
||||
AIX 4.3 - FAILED [engine]
|
||||
Needs -DDSO_DLFCN and -DHAVE_DLFCN_H to work.
|
||||
[CORRECTED] (but will not be automagically configured)
|
||||
Irix 6.5.11 - FAILED [presumed normal]
|
||||
BN_sqr test fails.
|
||||
solaris64-sparcv9-cc (SunOS 5.8) - PASSED [normal+engine]
|
||||
BSDI 4.0.1 (bsdi-elf-gcc) - FAILED [engine]
|
||||
Needs -DDSO_DLFCN, -DHAVE_DLFCN_H and -ldl to work.
|
||||
[CORRECTED]
|
||||
mingw32 w/ gcc 2.95.2 - PASSED [presumed normal]
|
||||
|
||||
Beta 2 released on March 21st, 2001
|
||||
OpenVMS (tested on VMS 7.2-1 for Alpha) - PASSED [presumed normal]
|
||||
solaris64-sparcv9-cc (SunOS 5.8) - PASSED [normal]
|
||||
|
||||
o OpenSSL 0.9.6: Released on September 24th, 2000
|
||||
o OpenSSL 0.9.5a: Released on April 1st, 2000
|
||||
o OpenSSL 0.9.5: Released on February 28th, 2000
|
||||
@@ -19,14 +54,13 @@
|
||||
|
||||
AVAILABLE PATCHES
|
||||
|
||||
o CA.pl patch (Damien Miller)
|
||||
|
||||
IN PROGRESS
|
||||
|
||||
o Steve is currently working on (in no particular order):
|
||||
ASN1 code redesign, butchery, replacement.
|
||||
OCSP
|
||||
EVP cipher enhancement.
|
||||
Proper (or at least usable) certificate chain verification.
|
||||
Enhanced certificate chain verification.
|
||||
Private key, certificate and CRL API and implementation.
|
||||
Developing and bugfixing PKCS#7 (S/MIME code).
|
||||
Various X509 issues: character sets, certificate request extensions.
|
||||
@@ -35,19 +69,29 @@
|
||||
o Richard is currently working on:
|
||||
UTIL (a new set of library functions to support some higher level
|
||||
functionality that is currently missing).
|
||||
Dynamic thread-lock support.
|
||||
Shared library support for VMS.
|
||||
OCSP
|
||||
Kerberos 5 authentication
|
||||
Constification
|
||||
|
||||
NEEDS PATCH
|
||||
|
||||
o non-blocking socket on AIX
|
||||
o $(PERL) in */Makefile.ssl
|
||||
o "Sign the certificate?" - "n" creates empty certificate file
|
||||
o apps/ca.c: "Sign the certificate?" - "n" creates empty certificate file
|
||||
|
||||
o OpenSSL_0_9_6-stable:
|
||||
#include <openssl/e_os.h> in exported header files is illegal since
|
||||
e_os.h is suitable only for library-internal use.
|
||||
|
||||
o Whenever strncpy is used, make sure the resulting string is NULL-terminated
|
||||
or an error is reported
|
||||
|
||||
OPEN ISSUES
|
||||
|
||||
o internal_verify doesn't know about X509.v3 (basicConstraints
|
||||
CA flag ...)
|
||||
o crypto/ex_data.c is not really thread-safe and so must be used
|
||||
with care (e.g., extra locking where necessary, or don't call
|
||||
CRYPTO_get_ex_new_index once multiple threads exist).
|
||||
The current API is not suitable for everything that it pretends
|
||||
to offer.
|
||||
|
||||
o The Makefile hierarchy and build mechanism is still not a round thing:
|
||||
|
||||
|
||||
@@ -718,15 +718,15 @@ s_client.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||
s_client.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||
s_client.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
||||
s_client.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||
s_client.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||
s_client.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||
s_client.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||
s_client.o: ../include/openssl/sha.h ../include/openssl/ssl.h
|
||||
s_client.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
|
||||
s_client.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
|
||||
s_client.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
|
||||
s_client.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
||||
s_client.o: s_apps.h
|
||||
s_client.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||
s_client.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||
s_client.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||
s_client.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||
s_client.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
|
||||
s_client.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
|
||||
s_client.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||
s_client.o: ../include/openssl/tls1.h ../include/openssl/x509.h
|
||||
s_client.o: ../include/openssl/x509_vfy.h apps.h s_apps.h
|
||||
s_server.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
s_server.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||
s_server.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||
@@ -742,15 +742,15 @@ s_server.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
|
||||
s_server.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
|
||||
s_server.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
|
||||
s_server.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
|
||||
s_server.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
|
||||
s_server.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
|
||||
s_server.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
|
||||
s_server.o: ../include/openssl/sha.h ../include/openssl/ssl.h
|
||||
s_server.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
|
||||
s_server.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
|
||||
s_server.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
|
||||
s_server.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h
|
||||
s_server.o: s_apps.h
|
||||
s_server.o: ../include/openssl/rand.h ../include/openssl/rc2.h
|
||||
s_server.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
|
||||
s_server.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
|
||||
s_server.o: ../include/openssl/safestack.h ../include/openssl/sha.h
|
||||
s_server.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
|
||||
s_server.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
|
||||
s_server.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
|
||||
s_server.o: ../include/openssl/tls1.h ../include/openssl/x509.h
|
||||
s_server.o: ../include/openssl/x509_vfy.h apps.h s_apps.h
|
||||
s_socket.o: ../include/openssl/asn1.h ../include/openssl/bio.h
|
||||
s_socket.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
|
||||
s_socket.o: ../include/openssl/buffer.h ../include/openssl/cast.h
|
||||
|
||||
@@ -272,6 +272,7 @@ int MAIN(int argc, char **argv)
|
||||
}
|
||||
while (!done);
|
||||
}
|
||||
ret = 0;
|
||||
|
||||
err:
|
||||
ERR_print_errors(bio_err);
|
||||
|
||||
@@ -79,6 +79,7 @@ typedef unsigned int u_int;
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/pem.h>
|
||||
#include <openssl/rand.h>
|
||||
#include "s_apps.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
|
||||
@@ -83,6 +83,7 @@ typedef unsigned int u_int;
|
||||
#include <openssl/pem.h>
|
||||
#include <openssl/x509.h>
|
||||
#include <openssl/ssl.h>
|
||||
#include <openssl/rand.h>
|
||||
#include "s_apps.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
@@ -1351,15 +1352,29 @@ static int www_body(char *hostname, int s, unsigned char *context)
|
||||
|
||||
/* skip the '/' */
|
||||
p= &(buf[5]);
|
||||
dot=0;
|
||||
|
||||
dot = 1;
|
||||
for (e=p; *e != '\0'; e++)
|
||||
{
|
||||
if (e[0] == ' ') break;
|
||||
if ( (e[0] == '.') &&
|
||||
(strncmp(&(e[-1]),"/../",4) == 0))
|
||||
dot=1;
|
||||
if (e[0] == ' ')
|
||||
break;
|
||||
|
||||
switch (dot)
|
||||
{
|
||||
case 1:
|
||||
dot = (e[0] == '.') ? 2 : 0;
|
||||
break;
|
||||
case 2:
|
||||
dot = (e[0] == '.') ? 3 : 0;
|
||||
break;
|
||||
case 3:
|
||||
dot = (e[0] == '/') ? -1 : 0;
|
||||
break;
|
||||
}
|
||||
if (dot == 0)
|
||||
dot = (e[0] == '/') ? 1 : 0;
|
||||
}
|
||||
|
||||
dot = (dot == 3) || (dot == -1); /* filename contains ".." component */
|
||||
|
||||
if (*e == '\0')
|
||||
{
|
||||
|
||||
@@ -831,6 +831,7 @@ int MAIN(int argc, char **argv)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef NO_DSA
|
||||
dsa_c[R_DSA_512][0]=count/1000;
|
||||
dsa_c[R_DSA_512][1]=count/1000/2;
|
||||
for (i=1; i<DSA_NUM; i++)
|
||||
@@ -848,6 +849,7 @@ int MAIN(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#define COND(d) (count < (d))
|
||||
#define COUNT(d) (d)
|
||||
@@ -1173,7 +1175,7 @@ int MAIN(int argc, char **argv)
|
||||
{
|
||||
BIO_printf(bio_err,"RSA verify failure. No RSA verify will be done.\n");
|
||||
ERR_print_errors(bio_err);
|
||||
dsa_doit[j] = 0;
|
||||
rsa_doit[j] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -867,8 +867,10 @@ bad:
|
||||
|
||||
BIO_printf(bio_err,"Generating certificate request\n");
|
||||
|
||||
#ifndef NO_DSA
|
||||
if (pk->type == EVP_PKEY_DSA)
|
||||
digest=EVP_dss1();
|
||||
#endif
|
||||
|
||||
rq=X509_to_X509_REQ(x,pk,digest);
|
||||
EVP_PKEY_free(pk);
|
||||
|
||||
27
config
27
config
@@ -49,10 +49,18 @@ if [ "x$XREL" != "x" ]; then
|
||||
echo "whatever-whatever-sco5"; exit 0
|
||||
;;
|
||||
4.2MP)
|
||||
if [ "x$VERSION" = "x2.1.1" ]; then
|
||||
if [ "x$VERSION" = "x2.01" ]; then
|
||||
echo "${MACHINE}-whatever-unixware201"; exit 0
|
||||
elif [ "x$VERSION" = "x2.02" ]; then
|
||||
echo "${MACHINE}-whatever-unixware202"; exit 0
|
||||
elif [ "x$VERSION" = "x2.03" ]; then
|
||||
echo "${MACHINE}-whatever-unixware203"; exit 0
|
||||
elif [ "x$VERSION" = "x2.1.1" ]; then
|
||||
echo "${MACHINE}-whatever-unixware211"; exit 0
|
||||
elif [ "x$VERSION" = "x2.1.2" ]; then
|
||||
echo "${MACHINE}-whatever-unixware212"; exit 0
|
||||
elif [ "x$VERSION" = "x2.1.3" ]; then
|
||||
echo "${MACHINE}-whatever-unixware213"; exit 0
|
||||
else
|
||||
echo "${MACHINE}-whatever-unixware2"; exit 0
|
||||
fi
|
||||
@@ -79,6 +87,14 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
|
||||
echo "m68k-apple-aux3"; exit 0
|
||||
;;
|
||||
|
||||
AIX:[3456789]:4:*)
|
||||
echo "${MACHINE}-ibm-aix43"; exit 0
|
||||
;;
|
||||
|
||||
AIX:*:[56789]:*)
|
||||
echo "${MACHINE}-ibm-aix43"; exit 0
|
||||
;;
|
||||
|
||||
AIX:*)
|
||||
echo "${MACHINE}-ibm-aix"; exit 0
|
||||
;;
|
||||
@@ -473,9 +489,12 @@ case "$GUESSOS" in
|
||||
*-*-unixware7) OUT="unixware-7" ;;
|
||||
*-*-UnixWare7) OUT="unixware-7" ;;
|
||||
*-*-Unixware7) OUT="unixware-7" ;;
|
||||
*-*-unixware[1-2]*) OUT="unixware-2.0" ;;
|
||||
*-*-UnixWare[1-2]*) OUT="unixware-2.0" ;;
|
||||
*-*-Unixware[1-2]*) OUT="unixware-2.0" ;;
|
||||
*-*-unixware20*) OUT="unixware-2.0" ;;
|
||||
*-*-unixware21*) OUT="unixware-2.1" ;;
|
||||
*-*-UnixWare20*) OUT="unixware-2.0" ;;
|
||||
*-*-UnixWare21*) OUT="unixware-2.1" ;;
|
||||
*-*-Unixware20*) OUT="unixware-2.0" ;;
|
||||
*-*-Unixware21*) OUT="unixware-2.1" ;;
|
||||
BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
|
||||
RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
|
||||
*-siemens-sysv4) OUT="SINIX" ;;
|
||||
|
||||
@@ -301,7 +301,7 @@ int asn1_GetSequence(ASN1_CTX *c, long *length)
|
||||
return(0);
|
||||
}
|
||||
if (c->inf == (1|V_ASN1_CONSTRUCTED))
|
||||
c->slen= *length+ *(c->pp)-c->p;
|
||||
c->slen= *length;
|
||||
c->eos=0;
|
||||
return(1);
|
||||
}
|
||||
|
||||
@@ -307,12 +307,14 @@ PKCS7 *d2i_PKCS7(PKCS7 **a, unsigned char **pp, long length)
|
||||
}
|
||||
if (Tinf == (1|V_ASN1_CONSTRUCTED))
|
||||
{
|
||||
c.q=c.p;
|
||||
if (!ASN1_check_infinite_end(&c.p,c.slen))
|
||||
{
|
||||
c.error=ERR_R_MISSING_ASN1_EOS;
|
||||
c.line=__LINE__;
|
||||
goto err;
|
||||
}
|
||||
c.slen-=(c.p-c.q);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -141,11 +141,12 @@ static int i2d_X509_NAME_entries(X509_NAME *a)
|
||||
}
|
||||
size+=i2d_X509_NAME_ENTRY(ne,NULL);
|
||||
}
|
||||
/* If empty no extra SET OF needed */
|
||||
if (ret)
|
||||
ret+=ASN1_object_size(1,size,V_ASN1_SET);
|
||||
if (fe != NULL)
|
||||
{
|
||||
/* SET OF needed only if entries is non empty */
|
||||
ret+=ASN1_object_size(1,size,V_ASN1_SET);
|
||||
fe->size=size;
|
||||
}
|
||||
|
||||
r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE);
|
||||
|
||||
|
||||
@@ -586,13 +586,13 @@ LEAF(bn_div_3_words)
|
||||
ld a0,(a3)
|
||||
move ta2,a1
|
||||
ld a1,-8(a3)
|
||||
move ta3,ra
|
||||
move v1,zero
|
||||
bne a0,a2,.L_bn_div_3_words_proceed
|
||||
li v0,-1
|
||||
beq a0,a2,.L_bn_div_3_words_skip_div
|
||||
jr ra
|
||||
.L_bn_div_3_words_proceed:
|
||||
move ta3,ra
|
||||
bal bn_div_words
|
||||
move ra,ta3
|
||||
.L_bn_div_3_words_skip_div:
|
||||
dmultu ta2,v0
|
||||
ld t2,-16(a3)
|
||||
move ta0,zero
|
||||
|
||||
@@ -238,6 +238,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
|
||||
{
|
||||
BN_ULONG q,l0;
|
||||
#if defined(BN_DIV3W) && !defined(NO_ASM)
|
||||
BN_ULONG bn_div_3_words(BN_ULONG*,BN_ULONG,BN_ULONG);
|
||||
q=bn_div_3_words(wnump,d1,d0);
|
||||
#else
|
||||
BN_ULONG n0,n1,rem=0;
|
||||
|
||||
@@ -174,7 +174,7 @@ $!
|
||||
$ APPS_DES = "DES/DES,CBC3_ENC"
|
||||
$ APPS_PKCS7 = "ENC/ENC;DEC/DEC;SIGN/SIGN;VERIFY/VERIFY,EXAMPLE"
|
||||
$
|
||||
$ LIB_ = "cryptlib,mem,mem_dbg,cversion,ex_data,tmdiff,cpt_err"
|
||||
$ LIB_ = "cryptlib,mem,mem_dbg,cversion,ex_data,tmdiff,cpt_err,ebcdic,uid"
|
||||
$ LIB_MD2 = "md2_dgst,md2_one"
|
||||
$ LIB_MD4 = "md4_dgst,md4_one"
|
||||
$ LIB_MD5 = "md5_dgst,md5_one"
|
||||
|
||||
@@ -20,11 +20,11 @@ $L="edi";
|
||||
$R="esi";
|
||||
|
||||
&external_label("des_SPtrans");
|
||||
&des_encrypt("des_encrypt",1);
|
||||
&des_encrypt("des_encrypt1",1);
|
||||
&des_encrypt("des_encrypt2",0);
|
||||
&des_encrypt3("des_encrypt3",1);
|
||||
&des_encrypt3("des_decrypt3",0);
|
||||
&cbc("des_ncbc_encrypt","des_encrypt","des_encrypt",0,4,5,3,5,-1);
|
||||
&cbc("des_ncbc_encrypt","des_encrypt1","des_encrypt1",0,4,5,3,5,-1);
|
||||
&cbc("des_ede3_cbc_encrypt","des_encrypt3","des_decrypt3",0,6,7,3,4,5);
|
||||
|
||||
&asm_finish();
|
||||
|
||||
@@ -46,7 +46,7 @@ EOF
|
||||
$L="edi";
|
||||
$R="esi";
|
||||
|
||||
&des_encrypt("des_encrypt",1);
|
||||
&des_encrypt("des_encrypt1",1);
|
||||
&des_encrypt("des_encrypt2",0);
|
||||
|
||||
&des_encrypt3("des_encrypt3",1);
|
||||
|
||||
@@ -8,7 +8,7 @@ assembler for the inner DES routines in libdes :-).
|
||||
|
||||
The file to implement in assembler is des_enc.c. Replace the following
|
||||
4 functions
|
||||
des_encrypt(DES_LONG data[2],des_key_schedule ks, int encrypt);
|
||||
des_encrypt1(DES_LONG data[2],des_key_schedule ks, int encrypt);
|
||||
des_encrypt2(DES_LONG data[2],des_key_schedule ks, int encrypt);
|
||||
des_encrypt3(DES_LONG data[2],des_key_schedule ks1,ks2,ks3);
|
||||
des_decrypt3(DES_LONG data[2],des_key_schedule ks1,ks2,ks3);
|
||||
|
||||
@@ -82,7 +82,7 @@ DES_LONG des_cbc_cksum(const unsigned char *in, des_cblock *output,
|
||||
|
||||
tin0^=tout0; tin[0]=tin0;
|
||||
tin1^=tout1; tin[1]=tin1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
/* fix 15/10/91 eay - thanks to keithr@sco.COM */
|
||||
tout0=tin[0];
|
||||
tout1=tin[1];
|
||||
|
||||
@@ -82,7 +82,7 @@ void des_cfb64_encrypt(const unsigned char *in, unsigned char *out,
|
||||
{
|
||||
c2l(iv,v0); ti[0]=v0;
|
||||
c2l(iv,v1); ti[1]=v1;
|
||||
des_encrypt(ti,schedule,DES_ENCRYPT);
|
||||
des_encrypt1(ti,schedule,DES_ENCRYPT);
|
||||
iv = &(*ivec)[0];
|
||||
v0=ti[0]; l2c(v0,iv);
|
||||
v0=ti[1]; l2c(v0,iv);
|
||||
@@ -102,7 +102,7 @@ void des_cfb64_encrypt(const unsigned char *in, unsigned char *out,
|
||||
{
|
||||
c2l(iv,v0); ti[0]=v0;
|
||||
c2l(iv,v1); ti[1]=v1;
|
||||
des_encrypt(ti,schedule,DES_ENCRYPT);
|
||||
des_encrypt1(ti,schedule,DES_ENCRYPT);
|
||||
iv = &(*ivec)[0];
|
||||
v0=ti[0]; l2c(v0,iv);
|
||||
v0=ti[1]; l2c(v0,iv);
|
||||
|
||||
@@ -100,7 +100,7 @@ void des_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
|
||||
l-=n;
|
||||
ti[0]=v0;
|
||||
ti[1]=v1;
|
||||
des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)ti,schedule,DES_ENCRYPT);
|
||||
c2ln(in,d0,d1,n);
|
||||
in+=n;
|
||||
d0=(d0^ti[0])&mask0;
|
||||
@@ -132,7 +132,7 @@ void des_cfb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
|
||||
l-=n;
|
||||
ti[0]=v0;
|
||||
ti[1]=v1;
|
||||
des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)ti,schedule,DES_ENCRYPT);
|
||||
c2ln(in,d0,d1,n);
|
||||
in+=n;
|
||||
/* 30-08-94 - eay - changed because l>>32 and
|
||||
|
||||
@@ -147,14 +147,14 @@ void des_ecb_encrypt(const_des_cblock *input,des_cblock *output,
|
||||
Data is a pointer to 2 unsigned long's and ks is the
|
||||
des_key_schedule to use. enc, is non zero specifies encryption,
|
||||
zero if decryption. */
|
||||
void des_encrypt(DES_LONG *data,des_key_schedule ks, int enc);
|
||||
void des_encrypt1(DES_LONG *data,des_key_schedule ks, int enc);
|
||||
|
||||
/* This functions is the same as des_encrypt() except that the DES
|
||||
/* This functions is the same as des_encrypt1() except that the DES
|
||||
initial permutation (IP) and final permutation (FP) have been left
|
||||
out. As for des_encrypt(), you should not use this function.
|
||||
out. As for des_encrypt1(), you should not use this function.
|
||||
It is used by the routines in the library that implement triple DES.
|
||||
IP() des_encrypt2() des_encrypt2() des_encrypt2() FP() is the same
|
||||
as des_encrypt() des_encrypt() des_encrypt() except faster :-). */
|
||||
as des_encrypt1() des_encrypt1() des_encrypt1() except faster :-). */
|
||||
void des_encrypt2(DES_LONG *data,des_key_schedule ks, int enc);
|
||||
|
||||
void des_encrypt3(DES_LONG *data, des_key_schedule ks1,
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
#include "des_locl.h"
|
||||
|
||||
void des_encrypt(DES_LONG *data, des_key_schedule ks, int enc)
|
||||
void des_encrypt1(DES_LONG *data, des_key_schedule ks, int enc)
|
||||
{
|
||||
register DES_LONG l,r,t,u;
|
||||
#ifdef DES_PTR
|
||||
|
||||
@@ -118,7 +118,7 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#undef DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#define des_encrypt des_encrypt_u4_cisc_idx
|
||||
#define des_encrypt1 des_encrypt_u4_cisc_idx
|
||||
#define des_encrypt2 des_encrypt2_u4_cisc_idx
|
||||
#define des_encrypt3 des_encrypt3_u4_cisc_idx
|
||||
#define des_decrypt3 des_decrypt3_u4_cisc_idx
|
||||
@@ -130,11 +130,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#undef DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u16_cisc_idx
|
||||
#define des_encrypt1 des_encrypt_u16_cisc_idx
|
||||
#define des_encrypt2 des_encrypt2_u16_cisc_idx
|
||||
#define des_encrypt3 des_encrypt3_u16_cisc_idx
|
||||
#define des_decrypt3 des_decrypt3_u16_cisc_idx
|
||||
@@ -146,11 +146,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#undef DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u4_risc1_idx
|
||||
#define des_encrypt1 des_encrypt_u4_risc1_idx
|
||||
#define des_encrypt2 des_encrypt2_u4_risc1_idx
|
||||
#define des_encrypt3 des_encrypt3_u4_risc1_idx
|
||||
#define des_decrypt3 des_decrypt3_u4_risc1_idx
|
||||
@@ -166,11 +166,11 @@ extern void exit();
|
||||
#define DES_RISC2
|
||||
#undef DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u4_risc2_idx
|
||||
#define des_encrypt1 des_encrypt_u4_risc2_idx
|
||||
#define des_encrypt2 des_encrypt2_u4_risc2_idx
|
||||
#define des_encrypt3 des_encrypt3_u4_risc2_idx
|
||||
#define des_decrypt3 des_decrypt3_u4_risc2_idx
|
||||
@@ -182,11 +182,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#undef DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u16_risc1_idx
|
||||
#define des_encrypt1 des_encrypt_u16_risc1_idx
|
||||
#define des_encrypt2 des_encrypt2_u16_risc1_idx
|
||||
#define des_encrypt3 des_encrypt3_u16_risc1_idx
|
||||
#define des_decrypt3 des_decrypt3_u16_risc1_idx
|
||||
@@ -198,11 +198,11 @@ extern void exit();
|
||||
#define DES_RISC2
|
||||
#undef DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u16_risc2_idx
|
||||
#define des_encrypt1 des_encrypt_u16_risc2_idx
|
||||
#define des_encrypt2 des_encrypt2_u16_risc2_idx
|
||||
#define des_encrypt3 des_encrypt3_u16_risc2_idx
|
||||
#define des_decrypt3 des_decrypt3_u16_risc2_idx
|
||||
@@ -218,11 +218,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#define DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u4_cisc_ptr
|
||||
#define des_encrypt1 des_encrypt_u4_cisc_ptr
|
||||
#define des_encrypt2 des_encrypt2_u4_cisc_ptr
|
||||
#define des_encrypt3 des_encrypt3_u4_cisc_ptr
|
||||
#define des_decrypt3 des_decrypt3_u4_cisc_ptr
|
||||
@@ -234,11 +234,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#define DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u16_cisc_ptr
|
||||
#define des_encrypt1 des_encrypt_u16_cisc_ptr
|
||||
#define des_encrypt2 des_encrypt2_u16_cisc_ptr
|
||||
#define des_encrypt3 des_encrypt3_u16_cisc_ptr
|
||||
#define des_decrypt3 des_decrypt3_u16_cisc_ptr
|
||||
@@ -250,11 +250,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#define DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u4_risc1_ptr
|
||||
#define des_encrypt1 des_encrypt_u4_risc1_ptr
|
||||
#define des_encrypt2 des_encrypt2_u4_risc1_ptr
|
||||
#define des_encrypt3 des_encrypt3_u4_risc1_ptr
|
||||
#define des_decrypt3 des_decrypt3_u4_risc1_ptr
|
||||
@@ -270,11 +270,11 @@ extern void exit();
|
||||
#define DES_RISC2
|
||||
#define DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u4_risc2_ptr
|
||||
#define des_encrypt1 des_encrypt_u4_risc2_ptr
|
||||
#define des_encrypt2 des_encrypt2_u4_risc2_ptr
|
||||
#define des_encrypt3 des_encrypt3_u4_risc2_ptr
|
||||
#define des_decrypt3 des_decrypt3_u4_risc2_ptr
|
||||
@@ -286,11 +286,11 @@ extern void exit();
|
||||
#undef DES_RISC2
|
||||
#define DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u16_risc1_ptr
|
||||
#define des_encrypt1 des_encrypt_u16_risc1_ptr
|
||||
#define des_encrypt2 des_encrypt2_u16_risc1_ptr
|
||||
#define des_encrypt3 des_encrypt3_u16_risc1_ptr
|
||||
#define des_decrypt3 des_decrypt3_u16_risc1_ptr
|
||||
@@ -302,11 +302,11 @@ extern void exit();
|
||||
#define DES_RISC2
|
||||
#define DES_PTR
|
||||
#undef D_ENCRYPT
|
||||
#undef des_encrypt
|
||||
#undef des_encrypt1
|
||||
#undef des_encrypt2
|
||||
#undef des_encrypt3
|
||||
#undef des_decrypt3
|
||||
#define des_encrypt des_encrypt_u16_risc2_ptr
|
||||
#define des_encrypt1 des_encrypt_u16_risc2_ptr
|
||||
#define des_encrypt2 des_encrypt2_u16_risc2_ptr
|
||||
#define des_encrypt3 des_encrypt3_u16_risc2_ptr
|
||||
#define des_decrypt3 des_decrypt3_u16_risc2_ptr
|
||||
@@ -453,7 +453,7 @@ int main(int argc, char **argv)
|
||||
count*=2;
|
||||
Time_F(START);
|
||||
for (i=count; i; i--)
|
||||
des_encrypt(data,&(sch[0]),DES_ENCRYPT);
|
||||
des_encrypt1(data,&(sch[0]),DES_ENCRYPT);
|
||||
d=Time_F(STOP);
|
||||
} while (d < 3.0);
|
||||
ca=count;
|
||||
|
||||
@@ -45,19 +45,19 @@ void main(int argc,char *argv[])
|
||||
{
|
||||
for (i=0; i<1000; i++) /**/
|
||||
{
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
GetTSC(s1);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
GetTSC(e1);
|
||||
GetTSC(s2);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
GetTSC(e2);
|
||||
des_encrypt(&data[0],key,1);
|
||||
des_encrypt1(&data[0],key,1);
|
||||
}
|
||||
|
||||
printf("des %d %d (%d)\n",
|
||||
|
||||
@@ -114,7 +114,7 @@ void des_ecb_encrypt(const_des_cblock *input, des_cblock *output,
|
||||
|
||||
c2l(in,l); ll[0]=l;
|
||||
c2l(in,l); ll[1]=l;
|
||||
des_encrypt(ll,ks,enc);
|
||||
des_encrypt1(ll,ks,enc);
|
||||
l=ll[0]; l2c(l,out);
|
||||
l=ll[1]; l2c(l,out);
|
||||
l=ll[0]=ll[1]=0;
|
||||
|
||||
@@ -95,7 +95,7 @@ void des_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out,
|
||||
{
|
||||
tin[0]=m0;
|
||||
tin[1]=m1;
|
||||
des_encrypt(tin,ks3,1);
|
||||
des_encrypt1(tin,ks3,1);
|
||||
m0=tin[0];
|
||||
m1=tin[1];
|
||||
|
||||
@@ -113,13 +113,13 @@ void des_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out,
|
||||
|
||||
tin[0]=tin0;
|
||||
tin[1]=tin1;
|
||||
des_encrypt(tin,ks1,1);
|
||||
des_encrypt1(tin,ks1,1);
|
||||
tin[0]^=m0;
|
||||
tin[1]^=m1;
|
||||
des_encrypt(tin,ks2,0);
|
||||
des_encrypt1(tin,ks2,0);
|
||||
tin[0]^=m0;
|
||||
tin[1]^=m1;
|
||||
des_encrypt(tin,ks1,1);
|
||||
des_encrypt1(tin,ks1,1);
|
||||
tout0=tin[0];
|
||||
tout1=tin[1];
|
||||
|
||||
@@ -146,7 +146,7 @@ void des_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out,
|
||||
{
|
||||
tin[0]=m0;
|
||||
tin[1]=m1;
|
||||
des_encrypt(tin,ks3,1);
|
||||
des_encrypt1(tin,ks3,1);
|
||||
m0=tin[0];
|
||||
m1=tin[1];
|
||||
|
||||
@@ -158,13 +158,13 @@ void des_ede3_cbcm_encrypt(const unsigned char *in, unsigned char *out,
|
||||
|
||||
tin[0]=tin0;
|
||||
tin[1]=tin1;
|
||||
des_encrypt(tin,ks1,0);
|
||||
des_encrypt1(tin,ks1,0);
|
||||
tin[0]^=m0;
|
||||
tin[1]^=m1;
|
||||
des_encrypt(tin,ks2,1);
|
||||
des_encrypt1(tin,ks2,1);
|
||||
tin[0]^=m0;
|
||||
tin[1]^=m1;
|
||||
des_encrypt(tin,ks1,0);
|
||||
des_encrypt1(tin,ks1,0);
|
||||
tout0=tin[0];
|
||||
tout1=tin[1];
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ void des_ncbc_encrypt(const unsigned char *in, unsigned char *out, long length,
|
||||
c2l(in,tin1);
|
||||
tin0^=tout0; tin[0]=tin0;
|
||||
tin1^=tout1; tin[1]=tin1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
tout0=tin[0]; l2c(tout0,out);
|
||||
tout1=tin[1]; l2c(tout1,out);
|
||||
}
|
||||
@@ -98,7 +98,7 @@ void des_ncbc_encrypt(const unsigned char *in, unsigned char *out, long length,
|
||||
c2ln(in,tin0,tin1,l+8);
|
||||
tin0^=tout0; tin[0]=tin0;
|
||||
tin1^=tout1; tin[1]=tin1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
tout0=tin[0]; l2c(tout0,out);
|
||||
tout1=tin[1]; l2c(tout1,out);
|
||||
}
|
||||
@@ -116,7 +116,7 @@ void des_ncbc_encrypt(const unsigned char *in, unsigned char *out, long length,
|
||||
{
|
||||
c2l(in,tin0); tin[0]=tin0;
|
||||
c2l(in,tin1); tin[1]=tin1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_DECRYPT);
|
||||
tout0=tin[0]^xor0;
|
||||
tout1=tin[1]^xor1;
|
||||
l2c(tout0,out);
|
||||
@@ -128,7 +128,7 @@ void des_ncbc_encrypt(const unsigned char *in, unsigned char *out, long length,
|
||||
{
|
||||
c2l(in,tin0); tin[0]=tin0;
|
||||
c2l(in,tin1); tin[1]=tin1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_DECRYPT);
|
||||
tout0=tin[0]^xor0;
|
||||
tout1=tin[1]^xor1;
|
||||
l2cn(tout0,tout1,out,l+8);
|
||||
|
||||
@@ -87,7 +87,7 @@ void des_ofb64_encrypt(register const unsigned char *in,
|
||||
{
|
||||
if (n == 0)
|
||||
{
|
||||
des_encrypt(ti,schedule,DES_ENCRYPT);
|
||||
des_encrypt1(ti,schedule,DES_ENCRYPT);
|
||||
dp=d;
|
||||
t=ti[0]; l2c(t,dp);
|
||||
t=ti[1]; l2c(t,dp);
|
||||
|
||||
@@ -101,7 +101,7 @@ void des_ofb_encrypt(const unsigned char *in, unsigned char *out, int numbits,
|
||||
{
|
||||
ti[0]=v0;
|
||||
ti[1]=v1;
|
||||
des_encrypt((DES_LONG *)ti,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)ti,schedule,DES_ENCRYPT);
|
||||
vv0=ti[0];
|
||||
vv1=ti[1];
|
||||
c2ln(in,d0,d1,n);
|
||||
|
||||
@@ -85,7 +85,7 @@ void des_pcbc_encrypt(const unsigned char *input, unsigned char *output,
|
||||
c2ln(in,sin0,sin1,length);
|
||||
tin[0]=sin0^xor0;
|
||||
tin[1]=sin1^xor1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_ENCRYPT);
|
||||
tout0=tin[0];
|
||||
tout1=tin[1];
|
||||
xor0=sin0^tout0;
|
||||
@@ -103,7 +103,7 @@ void des_pcbc_encrypt(const unsigned char *input, unsigned char *output,
|
||||
c2l(in,sin1);
|
||||
tin[0]=sin0;
|
||||
tin[1]=sin1;
|
||||
des_encrypt((DES_LONG *)tin,schedule,DES_DECRYPT);
|
||||
des_encrypt1((DES_LONG *)tin,schedule,DES_DECRYPT);
|
||||
tout0=tin[0]^xor0;
|
||||
tout1=tin[1]^xor1;
|
||||
if (length >= 8)
|
||||
|
||||
@@ -204,7 +204,7 @@ int main(int argc, char **argv)
|
||||
count*=2;
|
||||
Time_F(START);
|
||||
for (i=count; i; i--)
|
||||
des_encrypt(data,&(sch[0]),DES_ENCRYPT);
|
||||
des_encrypt1(data,&(sch[0]),DES_ENCRYPT);
|
||||
d=Time_F(STOP);
|
||||
} while (d < 3.0);
|
||||
ca=count;
|
||||
@@ -241,7 +241,7 @@ int main(int argc, char **argv)
|
||||
{
|
||||
DES_LONG data[2];
|
||||
|
||||
des_encrypt(data,&(sch[0]),DES_ENCRYPT);
|
||||
des_encrypt1(data,&(sch[0]),DES_ENCRYPT);
|
||||
}
|
||||
d=Time_F(STOP);
|
||||
printf("%ld des_encrypt's in %.2f second\n",count,d);
|
||||
|
||||
@@ -138,7 +138,7 @@ void des_xcbc_encrypt(const unsigned char *in, unsigned char *out,
|
||||
c2l(in,tin1);
|
||||
tin0^=tout0^inW0; tin[0]=tin0;
|
||||
tin1^=tout1^inW1; tin[1]=tin1;
|
||||
des_encrypt(tin,schedule,DES_ENCRYPT);
|
||||
des_encrypt1(tin,schedule,DES_ENCRYPT);
|
||||
tout0=tin[0]^outW0; l2c(tout0,out);
|
||||
tout1=tin[1]^outW1; l2c(tout1,out);
|
||||
}
|
||||
@@ -147,7 +147,7 @@ void des_xcbc_encrypt(const unsigned char *in, unsigned char *out,
|
||||
c2ln(in,tin0,tin1,l+8);
|
||||
tin0^=tout0^inW0; tin[0]=tin0;
|
||||
tin1^=tout1^inW1; tin[1]=tin1;
|
||||
des_encrypt(tin,schedule,DES_ENCRYPT);
|
||||
des_encrypt1(tin,schedule,DES_ENCRYPT);
|
||||
tout0=tin[0]^outW0; l2c(tout0,out);
|
||||
tout1=tin[1]^outW1; l2c(tout1,out);
|
||||
}
|
||||
@@ -163,7 +163,7 @@ void des_xcbc_encrypt(const unsigned char *in, unsigned char *out,
|
||||
{
|
||||
c2l(in,tin0); tin[0]=tin0^outW0;
|
||||
c2l(in,tin1); tin[1]=tin1^outW1;
|
||||
des_encrypt(tin,schedule,DES_DECRYPT);
|
||||
des_encrypt1(tin,schedule,DES_DECRYPT);
|
||||
tout0=tin[0]^xor0^inW0;
|
||||
tout1=tin[1]^xor1^inW1;
|
||||
l2c(tout0,out);
|
||||
@@ -175,7 +175,7 @@ void des_xcbc_encrypt(const unsigned char *in, unsigned char *out,
|
||||
{
|
||||
c2l(in,tin0); tin[0]=tin0^outW0;
|
||||
c2l(in,tin1); tin[1]=tin1^outW1;
|
||||
des_encrypt(tin,schedule,DES_DECRYPT);
|
||||
des_encrypt1(tin,schedule,DES_DECRYPT);
|
||||
tout0=tin[0]^xor0^inW0;
|
||||
tout1=tin[1]^xor1^inW1;
|
||||
l2cn(tout0,tout1,out,l+8);
|
||||
|
||||
@@ -82,7 +82,7 @@ static int dl_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
|
||||
static int dl_init(DSO *dso);
|
||||
static int dl_finish(DSO *dso);
|
||||
#endif
|
||||
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg);
|
||||
static long dl_ctrl(DSO *dso, int cmd, long larg, void *parg);
|
||||
|
||||
static DSO_METHOD dso_meth_dl = {
|
||||
"OpenSSL 'dl' shared library method",
|
||||
@@ -111,6 +111,11 @@ DSO_METHOD *DSO_METHOD_dl(void)
|
||||
* type so the cast is safe.
|
||||
*/
|
||||
|
||||
#if defined(__hpux)
|
||||
static const char extension[] = ".sl";
|
||||
#else
|
||||
static const char extension[] = ".so";
|
||||
#endif
|
||||
static int dl_load(DSO *dso, const char *filename)
|
||||
{
|
||||
shl_t ptr;
|
||||
@@ -118,12 +123,12 @@ static int dl_load(DSO *dso, const char *filename)
|
||||
int len;
|
||||
|
||||
/* The same comment as in dlfcn_load applies here. bleurgh. */
|
||||
len = strlen(filename);
|
||||
len = strlen(filename) + strlen(extension);
|
||||
if((dso->flags & DSO_FLAG_NAME_TRANSLATION) &&
|
||||
(len + 6 < DSO_MAX_TRANSLATED_SIZE) &&
|
||||
(len + 3 < DSO_MAX_TRANSLATED_SIZE) &&
|
||||
(strstr(filename, "/") == NULL))
|
||||
{
|
||||
sprintf(translated, "lib%s.so", filename);
|
||||
sprintf(translated, "lib%s%s", filename, extension);
|
||||
ptr = shl_load(translated, BIND_IMMEDIATE, NULL);
|
||||
}
|
||||
else
|
||||
@@ -224,7 +229,7 @@ static DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname)
|
||||
return((DSO_FUNC_TYPE)sym);
|
||||
}
|
||||
|
||||
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg)
|
||||
static long dl_ctrl(DSO *dso, int cmd, long larg, void *parg)
|
||||
{
|
||||
if(dso == NULL)
|
||||
{
|
||||
@@ -236,10 +241,10 @@ static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg)
|
||||
case DSO_CTRL_GET_FLAGS:
|
||||
return dso->flags;
|
||||
case DSO_CTRL_SET_FLAGS:
|
||||
dso->flags = (int)larg;
|
||||
dso->flags = larg;
|
||||
return(0);
|
||||
case DSO_CTRL_OR_FLAGS:
|
||||
dso->flags |= (int)larg;
|
||||
dso->flags |= larg;
|
||||
return(0);
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -387,20 +387,18 @@ void ERR_put_error(int lib, int func, int reason, const char *file,
|
||||
|
||||
void ERR_clear_error(void)
|
||||
{
|
||||
int i;
|
||||
ERR_STATE *es;
|
||||
|
||||
es=ERR_get_state();
|
||||
|
||||
#if 0
|
||||
/* hmm... is this needed */
|
||||
for (i=0; i<ERR_NUM_ERRORS; i++)
|
||||
{
|
||||
es->err_buffer[i]=0;
|
||||
err_clear_data(es,i);
|
||||
es->err_file[i]=NULL;
|
||||
es->err_line[i]= -1;
|
||||
err_clear_data(es,i);
|
||||
}
|
||||
#endif
|
||||
es->top=es->bottom=0;
|
||||
}
|
||||
|
||||
@@ -754,8 +752,9 @@ void ERR_set_error_data(char *data, int flags)
|
||||
if (i == 0)
|
||||
i=ERR_NUM_ERRORS-1;
|
||||
|
||||
err_clear_data(es,i);
|
||||
es->err_data[i]=data;
|
||||
es->err_data_flags[es->top]=flags;
|
||||
es->err_data_flags[i]=flags;
|
||||
}
|
||||
|
||||
void ERR_add_error_data(int num, ...)
|
||||
@@ -764,7 +763,7 @@ void ERR_add_error_data(int num, ...)
|
||||
int i,n,s;
|
||||
char *str,*p,*a;
|
||||
|
||||
s=64;
|
||||
s=80;
|
||||
str=OPENSSL_malloc(s+1);
|
||||
if (str == NULL) return;
|
||||
str[0]='\0';
|
||||
|
||||
@@ -136,11 +136,11 @@ static void mdc2_body(MDC2_CTX *c, const unsigned char *in, unsigned int len)
|
||||
|
||||
des_set_odd_parity(&c->h);
|
||||
des_set_key_unchecked(&c->h,k);
|
||||
des_encrypt(d,k,1);
|
||||
des_encrypt1(d,k,1);
|
||||
|
||||
des_set_odd_parity(&c->hh);
|
||||
des_set_key_unchecked(&c->hh,k);
|
||||
des_encrypt(dd,k,1);
|
||||
des_encrypt1(dd,k,1);
|
||||
|
||||
ttin0=tin0^dd[0];
|
||||
ttin1=tin1^dd[1];
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
|
||||
* major minor fix final patch/beta)
|
||||
*/
|
||||
#define OPENSSL_VERSION_NUMBER 0x00906011L
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.6a-beta1 13 Mar 2001"
|
||||
#define OPENSSL_VERSION_NUMBER 0x00906013L
|
||||
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.6a-beta3 30 Mar 2001"
|
||||
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
|
||||
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,
|
||||
const EVP_MD *md_type)
|
||||
{
|
||||
unsigned char *B, *D, *I, *p, *Ai;
|
||||
int Slen, Plen, Ilen;
|
||||
int Slen, Plen, Ilen, Ijlen;
|
||||
int i, j, u, v;
|
||||
BIGNUM *Ij, *Bpl1; /* These hold Ij and B + 1 */
|
||||
EVP_MD_CTX ctx;
|
||||
@@ -180,10 +180,17 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,
|
||||
BN_bin2bn (I + j, v, Ij);
|
||||
BN_add (Ij, Ij, Bpl1);
|
||||
BN_bn2bin (Ij, B);
|
||||
Ijlen = BN_num_bytes (Ij);
|
||||
/* If more than 2^(v*8) - 1 cut off MSB */
|
||||
if (BN_num_bytes (Ij) > v) {
|
||||
if (Ijlen > v) {
|
||||
BN_bn2bin (Ij, B);
|
||||
memcpy (I + j, B + 1, v);
|
||||
#ifndef PKCS12_BROKEN_KEYGEN
|
||||
/* If less than v bytes pad with zeroes */
|
||||
} else if (Ijlen < v) {
|
||||
memset(I + j, 0, v - Ijlen);
|
||||
BN_bn2bin(Ij, I + j + v - Ijlen);
|
||||
#endif
|
||||
} else BN_bn2bin (Ij, I + j);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -588,8 +588,10 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
|
||||
pp=NULL;
|
||||
}
|
||||
|
||||
#ifndef NO_DSA
|
||||
if (si->pkey->type == EVP_PKEY_DSA)
|
||||
ctx_tmp.digest=EVP_dss1();
|
||||
#endif
|
||||
|
||||
if (!EVP_SignFinal(&ctx_tmp,(unsigned char *)buf->data,
|
||||
(unsigned int *)&buf->length,si->pkey))
|
||||
@@ -788,7 +790,9 @@ for (ii=0; ii<md_len; ii++) printf("%02X",md_dat[ii]); printf(" calc\n");
|
||||
ret = -1;
|
||||
goto err;
|
||||
}
|
||||
#ifndef NO_DSA
|
||||
if(pkey->type == EVP_PKEY_DSA) mdc_tmp.digest=EVP_dss1();
|
||||
#endif
|
||||
|
||||
i=EVP_VerifyFinal(&mdc_tmp,os->data,os->length, pkey);
|
||||
EVP_PKEY_free(pkey);
|
||||
|
||||
@@ -482,12 +482,12 @@ static int ssleay_rand_bytes(unsigned char *buf, int num)
|
||||
unpredictable */
|
||||
static int ssleay_rand_pseudo_bytes(unsigned char *buf, int num)
|
||||
{
|
||||
int ret, err;
|
||||
int ret;
|
||||
|
||||
ret = RAND_bytes(buf, num);
|
||||
if (ret == 0)
|
||||
{
|
||||
err = ERR_peek_error();
|
||||
long err = ERR_peek_error();
|
||||
if (ERR_GET_LIB(err) == ERR_LIB_RAND &&
|
||||
ERR_GET_REASON(err) == RAND_R_PRNG_NOT_SEEDED)
|
||||
(void)ERR_get_error();
|
||||
|
||||
@@ -59,6 +59,8 @@
|
||||
#ifndef HEADER_RAND_H
|
||||
#define HEADER_RAND_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
@@ -87,7 +89,7 @@ void RAND_seed(const void *buf,int num);
|
||||
void RAND_add(const void *buf,int num,double entropy);
|
||||
int RAND_load_file(const char *file,long max_bytes);
|
||||
int RAND_write_file(const char *file);
|
||||
const char *RAND_file_name(char *file,int num);
|
||||
const char *RAND_file_name(char *file,size_t num);
|
||||
int RAND_status(void);
|
||||
int RAND_egd(const char *path);
|
||||
int RAND_egd_bytes(const char *path,int bytes);
|
||||
|
||||
@@ -74,7 +74,14 @@ int RAND_egd_bytes(const char *path,int bytes)
|
||||
#include OPENSSL_UNISTD
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#ifndef NO_SYS_UN_H
|
||||
#include <sys/un.h>
|
||||
#else
|
||||
struct sockaddr_un {
|
||||
short sun_family; /* AF_UNIX */
|
||||
char sun_path[108]; /* path name (gag) */
|
||||
};
|
||||
#endif /* NO_SYS_UN_H */
|
||||
#include <string.h>
|
||||
|
||||
#ifndef offsetof
|
||||
|
||||
@@ -726,8 +726,9 @@ int RAND_poll(void)
|
||||
|
||||
#ifdef DEVRANDOM
|
||||
return 1;
|
||||
#endif
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -194,7 +194,7 @@ err:
|
||||
return (rand_err ? -1 : ret);
|
||||
}
|
||||
|
||||
const char *RAND_file_name(char *buf, int size)
|
||||
const char *RAND_file_name(char *buf, size_t size)
|
||||
{
|
||||
char *s=NULL;
|
||||
char *ret=NULL;
|
||||
|
||||
@@ -443,13 +443,14 @@ err:
|
||||
|
||||
static int RSA_eay_mod_exp(BIGNUM *r0, BIGNUM *I, RSA *rsa)
|
||||
{
|
||||
BIGNUM r1,m1;
|
||||
BIGNUM r1,m1,vrfy;
|
||||
int ret=0;
|
||||
BN_CTX *ctx;
|
||||
|
||||
if ((ctx=BN_CTX_new()) == NULL) goto err;
|
||||
BN_init(&m1);
|
||||
BN_init(&r1);
|
||||
BN_init(&vrfy);
|
||||
|
||||
if (rsa->flags & RSA_FLAG_CACHE_PRIVATE)
|
||||
{
|
||||
@@ -530,10 +531,19 @@ static int RSA_eay_mod_exp(BIGNUM *r0, BIGNUM *I, RSA *rsa)
|
||||
if (!BN_mul(&r1,r0,rsa->q,ctx)) goto err;
|
||||
if (!BN_add(r0,&r1,&m1)) goto err;
|
||||
|
||||
if (rsa->e && rsa->n)
|
||||
{
|
||||
if (!rsa->meth->bn_mod_exp(&vrfy,r0,rsa->e,rsa->n,ctx,NULL)) goto err;
|
||||
if (BN_cmp(I, &vrfy) != 0)
|
||||
{
|
||||
if (!rsa->meth->bn_mod_exp(r0,I,rsa->d,rsa->n,ctx,NULL)) goto err;
|
||||
}
|
||||
}
|
||||
ret=1;
|
||||
err:
|
||||
BN_clear_free(&m1);
|
||||
BN_clear_free(&r1);
|
||||
BN_clear_free(&vrfy);
|
||||
BN_CTX_free(ctx);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
@@ -304,6 +304,26 @@ Include some extra certificates:
|
||||
|
||||
Some would argue that the PKCS#12 standard is one big bug :-)
|
||||
|
||||
Versions of OpenSSL before 0.9.6a had a bug in the PKCS#12 key generation
|
||||
routines. Under rare circumstances this could produce a PKCS#12 file encrypted
|
||||
with an invalid key. As a result some PKCS#12 files which triggered this bug
|
||||
from other implementations (MSIE or Netscape) could not be decrypted
|
||||
by OpenSSL and similarly OpenSSL could produce PKCS#12 files which could
|
||||
not be decrypted by other implementations. The chances of producing such
|
||||
a file are relatively small: less than 1 in 256.
|
||||
|
||||
A side effect of fixing this bug is that any old invalidly encrypted PKCS#12
|
||||
files cannot no longer be parsed by the fixed version. Under such circumstances
|
||||
the B<pkcs12> utility will report that the MAC is OK but fail with a decryption
|
||||
error when extracting private keys.
|
||||
|
||||
This problem can be resolved by extracting the private keys and certificates
|
||||
from the PKCS#12 file using an older version of OpenSSL and recreating the PKCS#12
|
||||
file from the keys and certificates using a newer version of OpenSSL. For example:
|
||||
|
||||
old-openssl -in bad.p12 -out keycerts.pem
|
||||
openssl -in keycerts.pem -export -name "My PKCS#12 file" -out fixed.p12
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<pkcs8(1)|pkcs8(1)>
|
||||
|
||||
@@ -8,7 +8,7 @@ RAND_load_file, RAND_write_file, RAND_file_name - PRNG seed file
|
||||
|
||||
#include <openssl/rand.h>
|
||||
|
||||
const char *RAND_file_name(char *buf, int num);
|
||||
const char *RAND_file_name(char *buf, size_t num);
|
||||
|
||||
int RAND_load_file(const char *filename, long max_bytes);
|
||||
|
||||
|
||||
@@ -8,17 +8,17 @@ rand - pseudo-random number generator
|
||||
|
||||
#include <openssl/rand.h>
|
||||
|
||||
int RAND_bytes(unsigned char *buf,int num);
|
||||
int RAND_pseudo_bytes(unsigned char *buf,int num);
|
||||
int RAND_bytes(unsigned char *buf, int num);
|
||||
int RAND_pseudo_bytes(unsigned char *buf, int num);
|
||||
|
||||
void RAND_seed(const void *buf,int num);
|
||||
void RAND_add(const void *buf,int num,int entropy);
|
||||
void RAND_seed(const void *buf, int num);
|
||||
void RAND_add(const void *buf, int num, int entropy);
|
||||
int RAND_status(void);
|
||||
void RAND_screen(void);
|
||||
|
||||
int RAND_load_file(const char *file,long max_bytes);
|
||||
int RAND_load_file(const char *file, long max_bytes);
|
||||
int RAND_write_file(const char *file);
|
||||
const char *RAND_file_name(char *file,int num);
|
||||
const char *RAND_file_name(char *file, size_t num);
|
||||
|
||||
int RAND_egd(const char *path);
|
||||
|
||||
|
||||
47
doc/ssl/SSL_set_connect_state.pod
Normal file
47
doc/ssl/SSL_set_connect_state.pod
Normal file
@@ -0,0 +1,47 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
SSL_set_connect_state, SSL_get_accept_state - prepare SSL object to work in client or server mode
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/ssl.h>
|
||||
|
||||
void SSL_set_connect_state(SSL *ssl);
|
||||
|
||||
void SSL_set_accept_state(SSL *ssl);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
SSL_set_connect_state() B<ssl> to work in client mode.
|
||||
|
||||
SSL_set_accept_state() B<ssl> to work in server mode.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
When the SSL_CTX object was created with L<SSL_CTX_new(3)|SSL_CTX_new(3)>,
|
||||
it was either assigned a dedicated client method, a dedicated server
|
||||
method, or a generic method, that can be used for both client and
|
||||
server connections. (The method might have been changed with
|
||||
L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)> or
|
||||
SSL_set_ssl_method().)
|
||||
|
||||
In order to successfully accomplish the handshake, the SSL routines need
|
||||
to know whether they should act in server or client mode. If the generic
|
||||
method was used, this is not clear from the method itself and must be set
|
||||
with either SSL_set_connect_state() or SSL_set_accept_state(). If these
|
||||
routines are not called, the default value set when L<SSL_new(3)|SSL_new(3)>
|
||||
is called is server mode.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
SSL_set_connect_state() and SSL_set_accept_state() do not return diagnostic
|
||||
information.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<ssl(3)|ssl(3)>, L<SSL_new(3)|SSL_new(3)>, L<SSL_CTX_new(3)|SSL_CTX_new(3)>,
|
||||
L<SSL_CTX_set_ssl_version(3)|SSL_CTX_set_ssl_version(3)>
|
||||
|
||||
=cut
|
||||
@@ -1,10 +1,13 @@
|
||||
set OPTS=no_asm
|
||||
|
||||
perl Configure VC-WIN16
|
||||
perl util\mkfiles.pl >MINFO
|
||||
perl util\mk1mf.pl %OPTS% debug VC-WIN16 >d16.mak
|
||||
perl util\mk1mf.pl %OPTS% VC-WIN16 >16.mak
|
||||
perl util\mk1mf.pl %OPTS% debug dll VC-WIN16 >d16dll.mak
|
||||
perl util\mk1mf.pl %OPTS% dll VC-WIN16 >16dll.mak
|
||||
perl util\mkdef.pl 16 libeay > ms\libeay32.def
|
||||
perl util\mkdef.pl 16 ssleay > ms\ssleay32.def
|
||||
|
||||
nmake -f d16.mak
|
||||
nmake -f 16.mak
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
set OPTS=no-asm
|
||||
|
||||
perl Configure VC-WIN32
|
||||
perl util\mkfiles.pl >MINFO
|
||||
perl util\mk1mf.pl %OPTS% debug VC-WIN32 >d32.mak
|
||||
perl util\mk1mf.pl %OPTS% VC-WIN32 >32.mak
|
||||
perl util\mk1mf.pl %OPTS% debug dll VC-WIN32 >d32dll.mak
|
||||
perl util\mk1mf.pl %OPTS% dll VC-WIN32 >32dll.mak
|
||||
perl util\mkdef.pl 32 libeay > ms\libeay32.def
|
||||
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
|
||||
|
||||
nmake -f d32.mak
|
||||
nmake -f 32.mak
|
||||
|
||||
38
openssl.spec
38
openssl.spec
@@ -1,15 +1,15 @@
|
||||
%define libmaj 0
|
||||
%define libmin 9
|
||||
%define librel 6
|
||||
#%define librev
|
||||
%define librev a
|
||||
Release: 1
|
||||
|
||||
%define openssldir /var/ssl
|
||||
|
||||
Summary: Secure Sockets Layer and cryptography libraries and tools
|
||||
Name: openssl
|
||||
Version: %{libmaj}.%{libmin}.%{librel}
|
||||
#Version: %{libmaj}.%{libmin}.%{librel}%{librev}
|
||||
#Version: %{libmaj}.%{libmin}.%{librel}
|
||||
Version: %{libmaj}.%{libmin}.%{librel}%{librev}
|
||||
Source0: ftp://ftp.openssl.org/source/%{name}-%{version}.tar.gz
|
||||
Copyright: Freely distributable
|
||||
Group: System Environment/Libraries
|
||||
@@ -94,7 +94,7 @@ perl util/perlpath.pl /usr/bin/perl
|
||||
./Configure %{CONFIG_FLAGS} --openssldir=%{openssldir} linux-ppc shared
|
||||
%endif
|
||||
%ifarch alpha
|
||||
./Configure %{CONFIG_FLAGS} --openssldir=%{openssldir} linux-alpha-gcc shared
|
||||
./Configure %{CONFIG_FLAGS} --openssldir=%{openssldir} linux-alpha shared
|
||||
%endif
|
||||
LD_LIBRARY_PATH=`pwd` make
|
||||
LD_LIBRARY_PATH=`pwd` make rehash
|
||||
@@ -102,7 +102,7 @@ LD_LIBRARY_PATH=`pwd` make test
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make install MANDIR=/usr/man INSTALL_PREFIX="$RPM_BUILD_ROOT"
|
||||
make MANDIR=/usr/man INSTALL_PREFIX="$RPM_BUILD_ROOT" install
|
||||
|
||||
# Rename manpages
|
||||
for x in $RPM_BUILD_ROOT/usr/man/man*/*
|
||||
@@ -116,19 +116,6 @@ install -m644 libRSAglue.a $RPM_BUILD_ROOT/usr/lib
|
||||
# Make backwards-compatibility symlink to ssleay
|
||||
ln -s /usr/bin/openssl $RPM_BUILD_ROOT/usr/bin/ssleay
|
||||
|
||||
# Install shared libs
|
||||
install -m644 libcrypto.a $RPM_BUILD_ROOT/usr/lib
|
||||
install -m755 libcrypto.so.%{libmaj}.%{libmin}.%{librel} $RPM_BUILD_ROOT/usr/lib
|
||||
install -m644 libssl.a $RPM_BUILD_ROOT/usr/lib
|
||||
install -m755 libssl.so.%{libmaj}.%{libmin}.%{librel} $RPM_BUILD_ROOT/usr/lib
|
||||
(
|
||||
cd $RPM_BUILD_ROOT/usr/lib
|
||||
ln -s libcrypto.so.%{libmaj}.%{libmin}.%{librel} libcrypto.so.%{libmaj}
|
||||
ln -s libcrypto.so.%{libmaj}.%{libmin}.%{librel} libcrypto.so
|
||||
ln -s libssl.so.%{libmaj}.%{libmin}.%{librel} libssl.so.%{libmaj}
|
||||
ln -s libssl.so.%{libmaj}.%{libmin}.%{librel} libssl.so
|
||||
)
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
@@ -166,6 +153,21 @@ ldconfig
|
||||
ldconfig
|
||||
|
||||
%changelog
|
||||
* Thu Mar 22 2001 Richard Levitte <richard@levitte.org>
|
||||
- Removed redundant subsection that re-installed libcrypto.a and libssl.a
|
||||
as well.
|
||||
* Thu Mar 15 2001 Jeremiah Johnson <jjohnson@penguincomputing.com>
|
||||
- Removed redundant subsection that re-installed libcrypto.so.0.9.6 and
|
||||
libssl.so.0.9.6. As well as the subsection that created symlinks for
|
||||
these. make install handles all this.
|
||||
* Sat Oct 21 2000 Horms <horms@vergenet.net>
|
||||
- Make sure symlinks are created by using -f flag to ln.
|
||||
Otherwise some .so libraries are copied rather than
|
||||
linked in the resulting binary RPM. This causes the package
|
||||
to be larger than neccessary and makes ldconfig complain.
|
||||
* Fri Oct 13 2000 Horms <horms@vergenet.net>
|
||||
- Make defattr is set for files in all packages so packages built as
|
||||
non-root will still be installed with files owned by root.
|
||||
* Thu Sep 14 2000 Richard Levitte <richard@levitte.org>
|
||||
- Changed to adapt to the new (supported) way of making shared libraries
|
||||
- Installs all static libraries, not just libRSAglue.a
|
||||
|
||||
@@ -271,7 +271,9 @@ CERT *ssl_cert_dup(CERT *cert)
|
||||
|
||||
return(ret);
|
||||
|
||||
#ifndef NO_DH /* avoid 'unreferenced label' warning if NO_DH is defined */
|
||||
err:
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
if (ret->rsa_tmp != NULL)
|
||||
RSA_free(ret->rsa_tmp);
|
||||
|
||||
@@ -240,7 +240,7 @@ dclean:
|
||||
mv -f Makefile.new $(MAKEFILE)
|
||||
|
||||
clean:
|
||||
rm -f .rnd tmp.bntest *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss log
|
||||
rm -f .rnd tmp.bntest tmp.bctest *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss log
|
||||
|
||||
$(DLIBSSL):
|
||||
(cd ../ssl; $(MAKE))
|
||||
|
||||
61
test/bctest
61
test/bctest
@@ -11,8 +11,9 @@
|
||||
# running) bc.
|
||||
|
||||
|
||||
# Test for SunOS 5.[78] bc bug (or missing bc)
|
||||
if [ 0 != "`bc <<\EOF
|
||||
# Test for SunOS 5.[78] bc bug
|
||||
SunOStest() {
|
||||
${1} >tmp.bctest <<\EOF
|
||||
obase=16
|
||||
ibase=16
|
||||
a=AD88C418F31B3FC712D0425001D522B3AE9134FF3A98C13C1FCC1682211195406C1A6C66C6A\
|
||||
@@ -26,17 +27,18 @@ b=DCE91E7D120B983EA9A104B5A96D634DD644C37657B1C7860B45E6838999B3DCE5A555583C6\
|
||||
8B3CD64126E1A82E190228020C05B91C8B141F1110086FC2A4C6ED631EBA129D04BB9A19FC53D\
|
||||
3ED0E2017D60A68775B75481449
|
||||
(a/b)*b + (a%b) - a
|
||||
EOF`" ]
|
||||
EOF
|
||||
if [ 0 != "`cat tmp.bctest`" ]
|
||||
then
|
||||
echo "bc does not work. Consider installing GNU bc." >&2
|
||||
echo "cat >/dev/null"
|
||||
exit 1
|
||||
# failure
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Test for SCO bc bug.
|
||||
if [ "0
|
||||
0" != "`bc <<\EOF
|
||||
SCOtest() {
|
||||
${1} >tmp.bctest <<\EOF
|
||||
obase=16
|
||||
ibase=16
|
||||
-FFDD63BA1A4648F0D804F8A1C66C53F0D2110590E8A3907EC73B4AEC6F15AC177F176F2274D2\
|
||||
@@ -62,23 +64,36 @@ F617E3145BBFBE9AFD0D6E437EA4FF6F04BC67C4F1458B4F0F47B64 - 1C2BBBB19B74E86FD32\
|
||||
9E8DB6A8C3B1B9986D57ED5419C2E855F7D5469E35E76334BB42F4C43E3F3A31B9697C171DAC4\
|
||||
D97935A7E1A14AD209D6CF811F55C6DB83AA9E6DFECFCD6669DED7171EE22A40C6181615CAF3F\
|
||||
5296964
|
||||
EOF`" ]
|
||||
EOF
|
||||
if [ "0
|
||||
0" != "`cat tmp.bctest`" ]
|
||||
then
|
||||
echo "bc does not work. Consider installing GNU bc." >&2
|
||||
echo "cat >/dev/null"
|
||||
exit 1
|
||||
# failure
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# bc works, good.
|
||||
# Now check if it knows the 'print' command.
|
||||
if [ "OK" = "`bc 2>/dev/null <<\EOF
|
||||
print \"OK\"
|
||||
EOF`" ]
|
||||
then
|
||||
echo "bc"
|
||||
else
|
||||
echo "sed 's/print.*//' | bc"
|
||||
fi
|
||||
IFS=:
|
||||
for dir in $PATH; do
|
||||
bc="$dir/bc"
|
||||
|
||||
exit 0
|
||||
if [ -x "$bc" -a ! -d "$bc" ]; then
|
||||
if SunOStest "$bc" && SCOtest "$bc"; then
|
||||
# bc works; now check if it knows the 'print' command.
|
||||
if [ "OK" = "`echo 'print \"OK\"' | $bc 2>/dev/null`" ]
|
||||
then
|
||||
echo "$bc"
|
||||
else
|
||||
echo "sed 's/print.*//' | $bc"
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "$bc does not work properly. Looking for another bc ..." >&2
|
||||
fi
|
||||
done
|
||||
|
||||
echo "No working bc found. Consider installing GNU bc." >&2
|
||||
echo "cat >/dev/null"
|
||||
exit 1
|
||||
|
||||
@@ -15,8 +15,8 @@ while(<STDIN>) {
|
||||
my ($file,$deps)=/^(.*): (.*)$/;
|
||||
next if !defined $deps;
|
||||
my @deps=split ' ',$deps;
|
||||
@deps=grep(!/^\/usr\/include/,@deps);
|
||||
@deps=grep(!/^\/usr\/lib\/gcc-lib/,@deps);
|
||||
@deps=grep(!/^\//,@deps);
|
||||
@deps=grep(!/^\\$/,@deps);
|
||||
push @{$files{$file}},@deps;
|
||||
}
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ DH_generate_parameters 204 EXIST::FUNCTION:DH
|
||||
DH_new 205 EXIST::FUNCTION:DH
|
||||
DH_size 206 EXIST::FUNCTION:DH
|
||||
DHparams_print 207 EXIST::FUNCTION:DH
|
||||
DHparams_print_fp 208 EXIST::FUNCTION:DH,FP_API
|
||||
DHparams_print_fp 208 EXIST::FUNCTION:FP_API,DH
|
||||
DSA_free 209 EXIST::FUNCTION:DSA
|
||||
DSA_generate_key 210 EXIST::FUNCTION:DSA
|
||||
DSA_generate_parameters 211 EXIST::FUNCTION:DSA
|
||||
@@ -301,8 +301,8 @@ EVP_des_ede_cfb 308 EXIST::FUNCTION:DES
|
||||
EVP_des_ede_ofb 309 EXIST::FUNCTION:DES
|
||||
EVP_des_ofb 310 EXIST::FUNCTION:DES
|
||||
EVP_desx_cbc 311 EXIST::FUNCTION:DES
|
||||
EVP_dss 312 EXIST::FUNCTION:DSA,SHA
|
||||
EVP_dss1 313 EXIST::FUNCTION:DSA,SHA
|
||||
EVP_dss 312 EXIST::FUNCTION:SHA,DSA
|
||||
EVP_dss1 313 EXIST::FUNCTION:SHA,DSA
|
||||
EVP_enc_null 314 EXIST::FUNCTION:
|
||||
EVP_get_cipherbyname 315 EXIST::FUNCTION:
|
||||
EVP_get_digestbyname 316 EXIST::FUNCTION:
|
||||
@@ -478,7 +478,7 @@ RSA_generate_key 485 EXIST::FUNCTION:RSA
|
||||
RSA_new 486 EXIST::FUNCTION:RSA
|
||||
RSA_new_method 487 EXIST::FUNCTION:RSA
|
||||
RSA_print 488 EXIST::FUNCTION:RSA
|
||||
RSA_print_fp 489 EXIST::FUNCTION:RSA,FP_API
|
||||
RSA_print_fp 489 EXIST::FUNCTION:FP_API,RSA
|
||||
RSA_private_decrypt 490 EXIST::FUNCTION:RSA
|
||||
RSA_private_encrypt 491 EXIST::FUNCTION:RSA
|
||||
RSA_public_decrypt 492 EXIST::FUNCTION:RSA
|
||||
@@ -742,7 +742,7 @@ d2i_PrivateKey 748 EXIST::FUNCTION:
|
||||
d2i_PublicKey 749 EXIST::FUNCTION:
|
||||
d2i_RSAPrivateKey 750 EXIST::FUNCTION:RSA
|
||||
d2i_RSAPrivateKey_bio 751 EXIST::FUNCTION:RSA
|
||||
d2i_RSAPrivateKey_fp 752 EXIST::FUNCTION:RSA,FP_API
|
||||
d2i_RSAPrivateKey_fp 752 EXIST::FUNCTION:FP_API,RSA
|
||||
d2i_RSAPublicKey 753 EXIST::FUNCTION:RSA
|
||||
d2i_X509 754 EXIST::FUNCTION:
|
||||
d2i_X509_ALGOR 755 EXIST::FUNCTION:
|
||||
@@ -779,7 +779,7 @@ des_ede3_cfb64_encrypt 786 EXIST::FUNCTION:DES
|
||||
des_ede3_ofb64_encrypt 787 EXIST::FUNCTION:DES
|
||||
des_enc_read 788 EXIST::FUNCTION:DES
|
||||
des_enc_write 789 EXIST::FUNCTION:DES
|
||||
des_encrypt 790 EXIST::FUNCTION:DES
|
||||
des_encrypt1 790 EXIST::FUNCTION:DES
|
||||
des_encrypt2 791 EXIST::FUNCTION:DES
|
||||
des_encrypt3 792 EXIST::FUNCTION:DES
|
||||
des_fcrypt 793 EXIST::FUNCTION:DES
|
||||
@@ -844,7 +844,7 @@ i2d_PrivateKey 851 EXIST::FUNCTION:
|
||||
i2d_PublicKey 852 EXIST::FUNCTION:
|
||||
i2d_RSAPrivateKey 853 EXIST::FUNCTION:RSA
|
||||
i2d_RSAPrivateKey_bio 854 EXIST::FUNCTION:RSA
|
||||
i2d_RSAPrivateKey_fp 855 EXIST::FUNCTION:RSA,FP_API
|
||||
i2d_RSAPrivateKey_fp 855 EXIST::FUNCTION:FP_API,RSA
|
||||
i2d_RSAPublicKey 856 EXIST::FUNCTION:RSA
|
||||
i2d_X509 857 EXIST::FUNCTION:
|
||||
i2d_X509_ALGOR 858 EXIST::FUNCTION:
|
||||
@@ -933,8 +933,8 @@ d2i_RSAPublicKey_bio 945 EXIST::FUNCTION:RSA
|
||||
i2d_RSAPublicKey_bio 946 EXIST::FUNCTION:RSA
|
||||
PEM_read_RSAPublicKey 947 EXIST:!WIN16:FUNCTION:RSA
|
||||
PEM_write_RSAPublicKey 949 EXIST:!WIN16:FUNCTION:RSA
|
||||
d2i_RSAPublicKey_fp 952 EXIST::FUNCTION:RSA,FP_API
|
||||
i2d_RSAPublicKey_fp 954 EXIST::FUNCTION:RSA,FP_API
|
||||
d2i_RSAPublicKey_fp 952 EXIST::FUNCTION:FP_API,RSA
|
||||
i2d_RSAPublicKey_fp 954 EXIST::FUNCTION:FP_API,RSA
|
||||
BIO_copy_next_retry 955 EXIST::FUNCTION:
|
||||
RSA_flags 956 EXIST::FUNCTION:RSA
|
||||
X509_STORE_add_crl 957 EXIST::FUNCTION:
|
||||
@@ -1212,7 +1212,7 @@ name_cmp 1239 EXIST::FUNCTION:
|
||||
str_dup 1240 NOEXIST::FUNCTION:
|
||||
i2s_ASN1_ENUMERATED 1241 EXIST::FUNCTION:
|
||||
i2s_ASN1_ENUMERATED_TABLE 1242 EXIST::FUNCTION:
|
||||
BIO_s_log 1243 EXIST:!WIN32,!WIN16,!macintosh:FUNCTION:
|
||||
BIO_s_log 1243 EXIST:!WIN16,!WIN32,!macintosh:FUNCTION:
|
||||
BIO_f_reliable 1244 EXIST::FUNCTION:
|
||||
PKCS7_dataFinal 1245 EXIST::FUNCTION:
|
||||
PKCS7_dataDecode 1246 EXIST::FUNCTION:
|
||||
@@ -1535,7 +1535,7 @@ ASN1_STRING_set_default_mask_asc 1960 EXIST:!VMS:FUNCTION:
|
||||
ASN1_STRING_set_def_mask_asc 1960 EXIST:VMS:FUNCTION:
|
||||
PEM_write_bio_RSA_PUBKEY 1961 EXIST::FUNCTION:RSA
|
||||
ASN1_INTEGER_cmp 1963 EXIST::FUNCTION:
|
||||
d2i_RSA_PUBKEY_fp 1964 EXIST::FUNCTION:RSA,FP_API
|
||||
d2i_RSA_PUBKEY_fp 1964 EXIST::FUNCTION:FP_API,RSA
|
||||
X509_trust_set_bit_asc 1967 NOEXIST::FUNCTION:
|
||||
PEM_write_bio_DSA_PUBKEY 1968 EXIST::FUNCTION:
|
||||
X509_STORE_CTX_free 1969 EXIST::FUNCTION:
|
||||
@@ -1638,7 +1638,7 @@ ASN1_BIT_STRING_set 2109 EXIST::FUNCTION:
|
||||
X509_TRUST_get_count 2110 EXIST::FUNCTION:
|
||||
ASN1_INTEGER_free 2111 EXIST::FUNCTION:
|
||||
OTHERNAME_free 2112 EXIST::FUNCTION:
|
||||
i2d_RSA_PUBKEY_fp 2113 EXIST::FUNCTION:RSA,FP_API
|
||||
i2d_RSA_PUBKEY_fp 2113 EXIST::FUNCTION:FP_API,RSA
|
||||
ASN1_INTEGER_dup 2114 EXIST::FUNCTION:
|
||||
d2i_X509_CERT_AUX 2115 EXIST::FUNCTION:
|
||||
PEM_write_bio_PUBKEY 2117 EXIST::FUNCTION:
|
||||
|
||||
Reference in New Issue
Block a user