Compare commits

..

273 Commits

Author SHA1 Message Date
Richard Levitte
c387a61fdd 0.9.6d-beta1 is about to be built. Change version numbers and strings
accordingly.
2002-04-17 12:28:37 +00:00
Bodo Möller
5d2175eddb check return values
Submitted by: Nils Larsch
2002-04-17 09:29:54 +00:00
Lutz Jänicke
7680669c33 Fix CRLF problem in BASE64 decode. 2002-04-15 09:51:10 +00:00
Bodo Möller
a6ec2d58ba improve binary compatibility 2002-04-14 08:25:41 +00:00
Bodo Möller
82c77c1b32 Implement known-IV countermeasure.
Fix length checks in ssl3_get_client_hello().

Use s->s3->in_read_app_data differently to fix ssl3_read_internal().
2002-04-13 22:49:28 +00:00
Ulf Möller
ea72ff2df7 error reported by Karsten Braaten 2002-04-13 10:00:01 +00:00
Bodo Möller
4e5b835c6a synchronize with OpenSSL-engine-0_9_6-stable 2002-04-12 13:44:04 +00:00
Richard Levitte
1171f28f97 Check error code from a2d_ASN1_OBJECT(). 2002-04-11 22:14:51 +00:00
Lutz Jänicke
5c04e56285 Synchronize with 0.9.7-stable 2002-04-11 18:45:15 +00:00
Lutz Jänicke
9bac8d91d9 Keep my own specially optimized HP-UX shared library building up to date. 2002-04-10 12:37:59 +00:00
Bodo Möller
875e8fca2d harmonize capitalization 2002-04-09 12:43:18 +00:00
Ulf Möller
39ee29b02c error reported by Karsten Braaten 2002-04-07 13:33:26 +00:00
Richard Levitte
847b76dd0e Allow longer program names (VMS allows up to 39 characters).
Submitted by Compaq.
2002-04-06 20:22:32 +00:00
Richard Levitte
c901a0538b make update 2002-04-06 19:08:51 +00:00
Richard Levitte
a5ee2b5232 Allow longer program names (VMS allows up to 39 characters).
Submitted by Compaq.
2002-04-06 18:59:43 +00:00
Richard Levitte
f520a2a8c2 Recognise DEC C++ as equivalent to DEC C for the definitions of OPENSSL_EXTERN and OPENSSL_GLOBAL.
Submitted by Compaq.
2002-04-06 11:37:07 +00:00
Richard Levitte
78e7617324 Use recv() and send() for socket communication on VMS instead of read()
and write().  The reason is that read() and write() make additional record
level locking which causes hangs of Compaq Secure Web Server (Apache) with
SSL.
Submitted by Compaq.
2002-04-06 11:35:40 +00:00
Richard Levitte
56d490cd40 Don't define RSA-specifici variables when RSA isn't used. 2002-04-06 09:57:52 +00:00
Richard Levitte
9bd313b83d Make shared libraries resolve global symbols within themselves first.
Currently only on GNUish linkers...
Submitted by Steven Bade <sbade@austin.ibm.com>
2002-04-06 09:42:31 +00:00
Lutz Jänicke
50e4d01fa0 Fix buggy object definitions (Svenning Sorensen <sss@sss.dnsalias.net>). 2002-04-04 17:56:57 +00:00
Richard Levitte
4a579233b4 Fix of mixup bwtween SOMAXCONN and SO_MAXCONN.
Furthermore, make SO_MAXCONN the first choice, since that's the standard
(as far as I know).
2002-03-29 23:48:29 +00:00
Lutz Jänicke
ca3bba36c4 Fix typo (Craig Davison <cd@securityfocus.com>). 2002-03-25 17:10:20 +00:00
Ben Laurie
a37d05fa56 Fix warning. 2002-03-25 12:53:25 +00:00
Lutz Jänicke
b111c5b8ce Fix buggy if-condition (thomas poindessous <poinde_t@epita.fr>). 2002-03-21 19:14:56 +00:00
Lutz Jänicke
7228bfb439 Remove superflous (and buggy) statement <justin.fletcher@ntlworld.com>. 2002-03-21 19:11:19 +00:00
Bodo Möller
687f9d2b94 fix DH_generate_parameters for general 'generator' 2002-03-20 16:01:29 +00:00
Lutz Jänicke
6bcba344b5 Map new X509 verification errors to alert codes (Tom Wu <tom@arcot.com>). 2002-03-19 16:47:09 +00:00
Bodo Möller
6cebd2dd00 in INCLUDES, use '-I../..' so that we find "e_os.h" 2002-03-18 10:54:56 +00:00
Bodo Möller
b82a94ee26 use '-I../..' so that we find "e_os.h" 2002-03-18 10:53:01 +00:00
Bodo Möller
ba5541e1ad Rename 'cray-t90-cc' into 'cray-j90'.
Add to 'config'.
2002-03-15 16:47:23 +00:00
Bodo Möller
84b45fda86 oops -- undo previous commit, I'm still waiting for confirmation
from Weny Palm
2002-03-15 11:09:31 +00:00
Bodo Möller
7aacd4c458 fix ssl3_pending 2002-03-15 10:53:34 +00:00
Lutz Jänicke
e18ed57afd Add missing strength entries. 2002-03-14 18:56:59 +00:00
Bodo Möller
ff9722c7f1 use BIO_nwrite() more properly to demonstrate the general idea of
BIO_nwrite0/BIO_nwrite (the previous code was OK for BIO pairs but not
in general)
2002-03-14 09:49:10 +00:00
Bodo Möller
08f38d887e we need e_os.h 2002-03-14 09:45:37 +00:00
Bodo Möller
5798378a22 add a paragraph from 0.9.7-dev/0.9.8-dev 2002-03-12 12:22:08 +00:00
Richard Levitte
e1fefe8124 Typo. 2002-03-06 06:13:44 +00:00
Bodo Möller
b8b09625dc Rephrase statement on the security of two-key 3DES.
[Chosen plaintext attack: R. Merkle, M. Hellman: "On the Security of
  Multiple Encryption", CACM 24 (1981) pp. 465-467, p. 776.

  Known plaintext angriff: P.C. van Oorschot, M. Wiener: "A
  known-plaintext attack on two-key triple encryption", EUROCRYPT '90.]
2002-03-05 15:30:41 +00:00
Richard Levitte
54d78c4778 Make it so one can select tests from within the test directory 2002-03-04 15:58:49 +00:00
Bodo Möller
354d263e44 _INT_MAX should read INT_MAX (this is correct in the 0.9.7-dev and
main branches)
2002-03-01 14:05:30 +00:00
Bodo Möller
f85b14c4ba add missing '#endif'
Submitted by:  Oscar Jacobsson <oscar@jacobsson.org>
2002-03-01 14:01:27 +00:00
Lutz Jänicke
ec20856622 Fix the fix (Yoram Zahavi)... 2002-02-27 11:26:20 +00:00
Lutz Jänicke
e463138be9 SSL_clear != SSL_free/SSL_new 2002-02-27 08:11:18 +00:00
Lutz Jänicke
ce1e801013 Make sure to remove bad sessions in SSL_clear() (found by Yoram Zahavi). 2002-02-26 21:50:28 +00:00
Richard Levitte
03a6dcdf31 make update 2002-02-26 14:18:23 +00:00
Richard Levitte
bfb863b8b5 As in 0.9.7 and on, let's remove the use of MS_FAR, and thereby the
need for e_os.h.
2002-02-21 16:38:09 +00:00
Bodo Möller
f261295d9c disable '#ifdef DEBUG' sections 2002-02-21 14:07:55 +00:00
Bodo Möller
f4702b467e disable '#ifdef DEBUG' sections 2002-02-21 12:56:50 +00:00
Richard Levitte
2aa5dac48f Stop assuming the IV is 8 bytes long, use the real size instead.
This is especially important for AES that has a 16 bytes IV.
2002-02-20 17:55:34 +00:00
Richard Levitte
fae0ff419a Including openssl/e_os.h in the OpenSSL 0.9.6 branch is legal, since
it's exported.  Changing that is a BIG step, which has been done in
0.9.7-dev.
2002-02-20 17:39:25 +00:00
Richard Levitte
74e6916996 Merge in Cygwin-related changes from main trunk. 2002-02-16 22:45:06 +00:00
Richard Levitte
99738e6393 Give the linux-sparv9 target shared capability.
Submitted by Ian Marsh <mushypea@dominion.net.uk>
2002-02-15 16:22:58 +00:00
Lutz Jänicke
0df2a19b10 Even though it is not really practical people should know about it. 2002-02-15 09:36:08 +00:00
cvs2svn
1c8f840653 This commit was manufactured by cvs2svn to create branch
'OpenSSL_0_9_6-stable'.
2002-02-15 07:41:45 +00:00
Lutz Jänicke
f0d6ee6be8 Even though it is not really practical people should know about it. 2002-02-15 07:41:42 +00:00
Bodo Möller
e65991f977 fix indentation 2002-02-14 16:08:55 +00:00
Bodo Möller
e2d39e421d fix indentation 2002-02-14 16:06:19 +00:00
Richard Levitte
3e83e686ba Add the configuration target VxWorks. 2002-02-14 15:37:38 +00:00
Richard Levitte
2ff622cf9d Add the configuration target VxWorks. 2002-02-14 15:36:50 +00:00
Bodo Möller
8f06b00373 make it possible to disable memory checking for timings 2002-02-14 14:41:13 +00:00
Bodo Möller
1dea1f4509 '-C' is still quite broken 2002-02-14 14:30:20 +00:00
Bodo Möller
44411db8e0 fix '-C' 2002-02-14 14:25:33 +00:00
Bodo Möller
23ac7a1407 fix memory leak 2002-02-14 14:21:49 +00:00
Bodo Möller
dda640835f move ECDSA test right after EC test 2002-02-14 14:03:32 +00:00
Bodo Möller
6cc3700314 don't call OPENSSL_config(), this does not make any sense during "make test" 2002-02-14 13:51:20 +00:00
Richard Levitte
cc1489d2f2 Make sure memset() is defined by including string.h
Notified by Oscar Jacobsson <oscar@jacobsson.org>
2002-02-14 13:51:04 +00:00
Richard Levitte
016029c69f For some reason, getting the topmost error was done the same way as
getting the bottommost one.  I hope I understood correctly how this
should be done.  It seems to work when running evp_test in an
environment where it can't find openssl.cnf.
2002-02-14 13:45:26 +00:00
Richard Levitte
516b848286 make update, with libeay.num remade to match the 0.9.7-stable one. 2002-02-14 13:43:30 +00:00
Richard Levitte
b92fb90de5 make update 2002-02-14 13:37:29 +00:00
Richard Levitte
8481a0905b The Cygwin shared extension was shifted. 2002-02-14 13:36:38 +00:00
Richard Levitte
c4202285ef The Cygwin shared extension was shifted. 2002-02-14 13:36:28 +00:00
Richard Levitte
44bbfcddaf At Corinna Vinschen's request, change CygWin32 to Cygwin 2002-02-14 12:29:02 +00:00
Richard Levitte
49e045482a At Corinna Vinschen's request, change CygWin32 to Cygwin 2002-02-14 12:28:24 +00:00
Bodo Möller
d8309efc72 EC_GROUP_get_group_by_name() is now called EC_GROUP_new_by_name() 2002-02-14 10:23:20 +00:00
Ben Laurie
f43acc8a50 Fix warnings. 2002-02-14 09:59:35 +00:00
Richard Levitte
6b7b277900 Correct sh, please 2002-02-14 02:20:41 +00:00
Richard Levitte
ba47f5c9b0 Correct sh, please 2002-02-14 02:20:34 +00:00
Bodo Möller
5e99ec6c7c it's year 2002 now 2002-02-13 18:22:18 +00:00
Bodo Möller
4d94ae00d5 ECDSA support
Submitted by: Nils Larsch <nla@trustcenter.de>
2002-02-13 18:21:51 +00:00
Bodo Möller
60d8bae30d some modifications to named curve support 2002-02-13 17:57:52 +00:00
Richard Levitte
0caec9e8f8 Modify the main trunk version to 0.9.8-dev.
0.9.7 now lives in the branch OpenSSL_0_9_7-stable.
2002-02-13 17:46:38 +00:00
Bodo Möller
4f85a2e21e new locks 2002-02-13 17:25:27 +00:00
Bodo Möller
945e15a253 add support for named curves
Submitted by: Nils Larsch <nla@trustcenter.de>
2002-02-13 17:22:59 +00:00
Richard Levitte
52f3038667 Update the configuration of CygWin32 to use the new capabilities of
CygWin 1.3.x, which includes thread and shared library support.

Submitted by Corinna Vinschen <vinschen@redhat.com> and modified a
little bit.
2002-02-13 14:45:19 +00:00
Richard Levitte
1fe198b6f9 Update the configuration of CygWin32 to use the new capabilities of
CygWin 1.3.x, which includes thread and shared library support.

Submitted by Corinna Vinschen <vinschen@redhat.com> and modified a
little bit.
2002-02-13 14:44:33 +00:00
Richard Levitte
1827be43ab Merge in the slightly more efficient variant of link-shared from the
main trunk.
2002-02-13 10:32:07 +00:00
Bodo Möller
78d6603aad We should implement a countermeasure against the predictable-IV CBC
weakness in SSL/TLS
2002-02-13 10:21:25 +00:00
Richard Levitte
7241ae1a0a Move teh silencer to the right place. 2002-02-13 10:16:37 +00:00
Richard Levitte
5f58d6a5e0 Make link-shard a little bit more efficient. If there are no
extensions to link together, there's no point looping at all.
2002-02-13 10:15:05 +00:00
Ulf Möller
8935c03618 add casts as in head (required for VC++) 2002-02-11 17:44:30 +00:00
Lutz Jänicke
76dca45720 Backport from 0.9.7:
Make removal from internal session cache more robust and do not store
into internal session cache when it won't be looked up anyway.
2002-02-10 12:52:57 +00:00
Lutz Jänicke
acfe628b6e Make removal from session cache more robust. 2002-02-10 12:46:41 +00:00
Bodo Möller
182d8435f0 add a wish 2002-02-09 01:49:53 +00:00
Lutz Jänicke
4de920c91d Do not store unneeded data. 2002-02-08 15:15:04 +00:00
Richard Levitte
3cd039dd8f Add notes on the added support for aep and sureware crypto cards in
0.9.7.
2002-02-07 22:15:53 +00:00
Richard Levitte
81269a81ee Remove an unused variable. 2002-02-07 21:55:22 +00:00
Richard Levitte
3537525e00 Oops, do not unlock CRYPTO_LOCK_DYNLOCK when we locked
CRYPTO_LOCK_RAND...
2002-02-07 21:49:21 +00:00
Richard Levitte
d38f3ad1ee I forgot to include the aep and sureware vendor header files. 2002-02-07 21:43:05 +00:00
Richard Levitte
e083f91497 Because AEP and we used the same AEP_R_ prefix for error reasons,
lets change our prefix to AEPHK_R_.  Otherwise, we get very mysterious
errors because we happen to redefine AEP_R_OK and AEP_R_GENERAL_ERROR.
2002-02-07 21:12:08 +00:00
Richard Levitte
ba2cad19cf Add aep and sureware implementations and clean up some error reasons
that were never part of the engine framework.

The aep and sureware implementations are taken directly from 0.9.6c
[engine] and have been modified to fit the newer engine framework and
to be possible to build shared libraries of.

The aep implementation has gone through quite a bunch of tests and is
cleaned up (there were some misunderstandings in it about how to use
locks).

The sureware hasn't been tested at all in this incarnation and is
basically a quick hack to get it to compile properly.
2002-02-07 20:44:14 +00:00
Richard Levitte
db0a1efcc9 Certain reasons aren't really part of the engine framework, so let's
make them ubsec-specific in the ubsec implementation.
2002-02-07 20:37:55 +00:00
Richard Levitte
9074521458 Generate the individual engines' error strings and macros
automatically.
2002-02-07 20:02:49 +00:00
Richard Levitte
f924200e1b If the intended header file doesn't exist, create it. 2002-02-07 19:23:35 +00:00
Richard Levitte
de2f6e4dae 'make update' 2002-02-05 17:34:58 +00:00
Richard Levitte
44bdb056d4 With the changed des_old API, let's complete the work by renaming the
functions in ui_compat.  This gave reason to rework that part more
thoroughly, so here are the changes made:

1. Add DES_read_password() and DES_read_2passwords() with the same
   functionality as the corresponding old des_ functions, as a
   convenience to the users.
2. Add UI_UTIL_read_pw_string() and UI_UTIL_read_pw() with the
   functionality from des_read_pw_string() and des_read_pw(), again as
   a concenience to the users.
3. Rename des_read_password(), des_read_2passwords(),
   des_read_pw_string() and des_read_pw() by changing des_ to
   _ossl_old_des_, and add the usual mapping macros.
4. Move the implementation of des_read_password() and
   des_read_2passwords() to the des directory, since they are tightly
   tied to DES anyway.

This change was inspired by a patch from Assar Westerlund <assar@sics.se>:

There are some functions that didn't get the kick-away-old-des-and-
replace-des-with-DES action.  Here's a patch that adds DES_ and des_
(in des_old.h) versions of des_read_pw_string et al.  This patch
includes some of the first des_old.h semi-colon macro fixes that I've
already sent.
2002-02-05 17:15:18 +00:00
Richard Levitte
c31bbf1e68 Apply one patch from Assar Westerlund <assar@sics.se>:
The following patch makes sure that string2key does not use weak DES
keys (then making them non-weak by xor:ing with 0xF0).
2002-02-05 15:05:42 +00:00
Richard Levitte
5e68f8ce15 Apply three patches from Assar Westerlund <assar@kth.se>:
This patch makes the macros in des_old.h actually pretend to be
functions.

There's no reason not to define _ossl_old_crypt when using
PERL5/FreeBSD/darwin/Next, since it makes using crypt and including
des.h break.  Here's a trivial patch.

This patch fixes some of the typos used in macro names in des_old.h
and the number of arguments for some of them.
2002-02-05 06:02:58 +00:00
Richard Levitte
b9a3ef4c6e ASN1_BIT_STRING_set_bit() didn't clear previously set bits 2002-02-03 21:31:41 +00:00
Richard Levitte
a5f158fa0b ASN1_BIT_STRING_set_bit() didn't clear previously set bits 2002-02-03 21:27:04 +00:00
Dr. Stephen Henson
1955b87423 #undef some things that cause a conflict under Win32 when
wincrypt.h is included.
2002-02-02 13:19:27 +00:00
Lutz Jänicke
866eedb936 Shut up compiler warnings for inconsistent declarations. 2002-01-29 17:14:50 +00:00
Lutz Jänicke
f701551f36 HP-UX 32bit:
* When linking against shared libraries, the absolute path is remembered.
  - When linking against -L.., '..' is remembered inside the executable,
    so it will fail after "make install" or when not called from inside the
    "apps/" subdirectory of the build tree.
  - When using the "+cdp" option of "ld", the ".." information can be
    exchanged against $(INSTALL_TOP)/lib. In this case the executable
    will however refuse to work before "make install" has been called.
    This makes testing the 'openssl' executable a problem.
* Solution 1:
  Relink the "openssl" executable, when "make install" is called.
  This would however require significant changes to the toplevel Makefile
  and the apps/ Makefile.
* Solution 2:
  Statically link against libssl and libcrypto, so that the "openssl"
  executable is no longer dependant on the openssl shared libraries.

Select option 2 for HP-UX 32bit, as this requires the smallest change.
2002-01-29 16:32:40 +00:00
Lutz Jänicke
adc4df3616 Make SHLIB_TARGET available in subdirs (here: apps/) 2002-01-29 16:20:08 +00:00
Richard Levitte
1199e2d8cf Apply patch from Toomas Kiisk <vix@cyber.ee> and complete it. 2002-01-29 12:36:01 +00:00
Lutz Jänicke
0f180d1d1d Superflous '\' messes up with HP-UX make. 2002-01-28 16:30:06 +00:00
Bodo Möller
072569e0f1 Undo previous change, X509_check_issued() was correct.
[See
     Message-ID: <3BB07999.30432AD2@celocom.com>
     Date: Tue, 25 Sep 2001 13:33:29 +0100
     From: Dr S N Henson <drh@celocom.com>
     To: openssl-dev@openssl.org
     Subject: Re: Error in v3_purp.c
]
2002-01-27 17:41:12 +00:00
Richard Levitte
1a11273bc3 Merge in the sanity checker from 0.9.7-dev. 2002-01-27 17:05:39 +00:00
Richard Levitte
ba9786e4b8 Spelling correction. 2002-01-27 16:12:27 +00:00
Richard Levitte
613599ffff Correct the number of colons for the targets aix43-cc, aix43-gcc,
alpha-cc, alpha-cc-rpath, alpha-gcc, alpha164-cc and alphaold-cc.
2002-01-27 16:03:40 +00:00
Richard Levitte
c9c21d3b89 Detect one-step shifts of the dso_scheme. 2002-01-27 15:58:34 +00:00
Richard Levitte
d0d046eca2 I got some reports that some targets have weird dso_schemes.
Therefore, I've added a sanity checker.

Note that it can be combined with almost any other argument (the other
arguments will be completely ignored), with "reconf" as the blatant
exception, since it also has the behavior of ignoring all following
command line arguments.  If --test-sanity and reconf are both used on
the command line, the first one wins.
2002-01-27 15:52:37 +00:00
Richard Levitte
babc4d0e7a Make sure libssl.sl will depend on the local libcrypto.sl, not on
another (that possibly doesn't even exist!).
2002-01-26 16:50:40 +00:00
Lutz Jänicke
2a81428489 Remove blanks at begin of empty lines irritating epv_test.c 2002-01-26 15:24:38 +00:00
Richard Levitte
7073e9e2a0 Update SCO5 targets. 2002-01-26 05:24:05 +00:00
Richard Levitte
c9c111468c Update SCO5 targets. 2002-01-26 05:21:08 +00:00
Richard Levitte
d866df33a1 Apply a small patch from Dan Lanz <lanz@zolera.com> to get shared
libraries with debug-linux-elf.
2002-01-26 05:08:31 +00:00
Richard Levitte
73feb5418d Apply a small patch from Dan Lanz <lanz@zolera.com> to get shared
libraries with debug-linux-elf.
2002-01-26 05:07:56 +00:00
Richard Levitte
b3467218f8 According to the main trunk, Darwin should get USE_TOD defined. 2002-01-26 05:02:45 +00:00
Richard Levitte
b77fcddb6b Apply a small patch from Oscar Jacobsson <oscar@jacobsson.org> that
makes things more compilable with VC++.
2002-01-26 04:50:41 +00:00
Richard Levitte
f6fbd470e3 It looks like I didn't remove everything that has to do with the
non-existant aestest.c.
2002-01-26 04:45:37 +00:00
Richard Levitte
f760c5d80b From reports I've seen, it looks like TIMES is wrong for Darwin. 2002-01-26 04:44:39 +00:00
Richard Levitte
63810d8566 Apply a small patch from Diego R. Lopez <diego.lopez@rediris.es>,
making X509_check_issued() properly match an issuer that's found in a
Authority Key Identifier.
2002-01-26 04:25:16 +00:00
Richard Levitte
123c401967 GCC uses __i386__. 2002-01-26 03:57:41 +00:00
Richard Levitte
a3fffd648b Add old patch from Robert Dahlem <Robert.Dahlem@ffm2.siemens.de> to
make it possible to produce shared libraries on ReliantUNIX.
2002-01-26 03:17:27 +00:00
Richard Levitte
2d57b73a50 I got a request to make the "old des" symbols more closely tied to
OpenSSL.  Adding '_ossl' in the name seems to be a good way to do
this.
2002-01-26 01:14:09 +00:00
Richard Levitte
4fd350e8f5 Apply Neale Ferguson's patch to add a configuration target for linux-s390x 2002-01-25 22:13:26 +00:00
Richard Levitte
f14845d999 Apply Neale Ferguson's patch to add a configuration target for linux-s390x 2002-01-25 22:06:59 +00:00
Richard Levitte
80bb905d3d Apply the following changes by Toomas Kiisk <vix@cyber.ee>:
* make openssl rsa work with -engine chil
* misc changes, including debug-linux-ppro Configure target
  and FORMAT_NETSCAPE-aware load_{,pub}key()

This completes the application of his changes.
2002-01-25 19:43:52 +00:00
Richard Levitte
a297985f42 Apply a change by Toomas Kiisk <vix@cyber.ee>:
* Fix a crashbug and a logic bug in hwcrhk_load_pubkey()
2002-01-25 17:45:30 +00:00
Richard Levitte
404dcc5e8e I must learn to compile before I commit... 2002-01-25 17:35:19 +00:00
Richard Levitte
8242a6a9fc Document the change in rsautl. 2002-01-25 17:00:56 +00:00
Richard Levitte
17bcb8d465 Add -keyform. Document -engine. 2002-01-25 16:51:46 +00:00
Richard Levitte
72165799a8 There is no aestest currently. The EVP tester is used to check the
AES algorithm.
2002-01-25 07:52:25 +00:00
Geoff Thorpe
f1c2a9de45 The 'type' parameter, an EVP_MD pointer, represents the type of digest
required as well as a default implementation (when no ENGINE provides a
replacement implementation). This change makes sure the correct
implementation's "init()" handler is used rather than assuming 'type'.
2002-01-25 03:13:50 +00:00
Richard Levitte
52b66a622d Keep the NIST AES vectors that were there previously. 2002-01-24 18:09:50 +00:00
Bodo Möller
273db408a8 sort functions ... 2002-01-24 17:17:33 +00:00
Bodo Möller
957b6db3b1 fix formatting of automatically generated error section 2002-01-24 16:20:42 +00:00
Bodo Möller
a14e2d9dfe New functions
ERR_peek_last_error
    ERR_peek_last_error_line
    ERR_peek_last_error_line_data
(supersedes ERR_peek_top_error).

Rename OPENSSL_NO_OLD_DES_SUPPORT into OPENSSL_DISABLE_OLD_DES_SUPPORT
because OPENSSL_NO_... indicates disabled algorithms (according to
mkdef.pl).
2002-01-24 16:16:43 +00:00
Bodo Möller
a8b94d6409 Reword CHANGES entry for _old_des_..., as it was a little complicated
syntactically.
2002-01-24 14:05:55 +00:00
Richard Levitte
fe19c448f0 make update
libeay.num got tweaked so the old des symbols would retain their
positions.
2002-01-24 12:31:54 +00:00
Richard Levitte
fcf6473199 Because of recent changes, there's no need to hack the des symbols any
more.
2002-01-24 12:30:15 +00:00
Richard Levitte
1285221370 To avoid all kinds of link-level clashes, rename all old des_*
functions to _old_des_*.
2002-01-24 12:26:50 +00:00
Richard Levitte
5dcf517d84 To avoid all kinds of link-level clashes, rename all old des_*
functions to _old_des_*.
2002-01-24 12:19:13 +00:00
Lutz Jänicke
9b2f486c9e Document the current behaviour of the DES interface. 2002-01-23 10:12:45 +00:00
Ben Laurie
24995f3a10 Support old DES APIs by default. 2002-01-22 23:19:01 +00:00
Ben Laurie
0fc5cf0870 Make no config file not an error. Move /dev/crypto config to ctrl. 2002-01-22 22:29:58 +00:00
Dr. Stephen Henson
f78d4a35f8 Constification. 2002-01-22 02:06:33 +00:00
Dr. Stephen Henson
df5eaa8a52 default_algorithms option in ENGINE config. 2002-01-22 01:40:18 +00:00
Lutz Jänicke
bc52146aee Typos (jsyn <jsyn@openbsd.org>). 2002-01-21 18:02:27 +00:00
Lutz Jänicke
6ce46d69f5 Typos (jsyn <jsyn@openbsd.org>). 2002-01-21 18:01:46 +00:00
Lutz Jänicke
575e664a7c Fix incorrect BIO_*_ctrl() macros (Shay Harding <sharding@ccbill.com>). 2002-01-21 17:59:37 +00:00
Lutz Jänicke
348c9e5985 Fix incorrect BIO_*_ctrl() macros (Shay Harding <sharding@ccbill.com>). 2002-01-21 17:58:53 +00:00
Richard Levitte
7389c848d4 Use FIPS-197 vectors for AES. The NIST vectors were constructed by
reencrypting or redecrypting the ciphertext 10000 times, which of
course gives higly different results.
2002-01-21 17:55:38 +00:00
Richard Levitte
4d393410f3 Add more of the NIST test vectors for AES.
For some reason, they give incorrect results with the OpenSSL
implementation.  I wonder why...
2002-01-21 16:09:45 +00:00
Richard Levitte
bd69750360 Bring VMS up to date with development. 2002-01-21 15:37:53 +00:00
Dr. Stephen Henson
c9501c223f Initial ENGINE config module, docs to follow.
Fix buffer overrun errors in OPENSSL_conf().
2002-01-21 03:02:36 +00:00
Ben Laurie
9dd5ae6553 Constification, add config to /dev/crypto. 2002-01-18 16:51:05 +00:00
Bodo Möller
e1e876072d disable broken code 2002-01-18 12:28:05 +00:00
Ben Laurie
dd2589494f Other errors are possible. 2002-01-18 12:19:24 +00:00
Ben Laurie
1cfa8a397f Stupid apps should die, not fail silently. 2002-01-18 11:46:39 +00:00
Ben Laurie
bdae099862 Fix memory leak. 2002-01-18 11:32:30 +00:00
Ben Laurie
cca28b291c Constification, missing declaration, update dependencies. 2002-01-18 10:59:43 +00:00
Geoff Thorpe
062d3e39e7 Correct for the recent prototype changes. 2002-01-17 01:51:37 +00:00
Ulf Möller
06e6478d6f *** empty log message *** 2002-01-16 19:22:36 +00:00
Ulf Möller
e29f478a7a *** empty log message *** 2002-01-16 19:22:13 +00:00
Geoff Thorpe
1b58b616e3 Produce less confusing statistics when "-out_totals" is used. 2002-01-16 05:31:02 +00:00
Geoff Thorpe
c70d381775 The sample certs had expired, so these are newer ones that should last
quite a bit longer.
2002-01-16 05:29:11 +00:00
Bodo Möller
508d8b1617 run test_evp before test_ssl 2002-01-15 11:43:51 +00:00
Bodo Möller
19fa8cfe5a Bugfix: In ssl3_accept, don't use a local variable 'got_new_session'
to indicate that a real handshake is taking place (the value will be
lost during multiple invocations). Set s->new_session to 2 instead.
2002-01-14 23:42:47 +00:00
Bodo Möller
8c74b5e56c Bugfix: In ssl3_accept, don't use a local variable 'got_new_session'
to indicate that a real handshake is taking place (the value will be
lost during multiple invocations). Set s->new_session to 2 instead.
2002-01-14 23:40:26 +00:00
Bodo Möller
5f18fe493e Return -1 from ssl3_get_server_done (ssl3/s3_clnt.c) if
the SSL_R_LENGTH_MISMATCH error is detected.
2002-01-14 12:42:38 +00:00
Bodo Möller
c59ba5b528 Return -1 from ssl3_get_server_done (ssl3/s3_clnt.c) if
the SSL_R_LENGTH_MISMATCH error is detected.
2002-01-14 12:37:59 +00:00
Ben Laurie
45d87a1ffe Prototype info function. 2002-01-12 15:56:13 +00:00
Ben Laurie
a3feb21bbe Add client_cert_cb prototype. 2002-01-12 13:15:40 +00:00
Ben Laurie
37530362fa Return value could be undefined. 2002-01-12 13:13:22 +00:00
Geoff Thorpe
fd69886aed - Network errors could pollute the buffers because -1 isn't noticed in an
"unsigned int".
- Remove redundant processing with machine->ssl is NULL.
- Remove compiler warnings about uninitialised 'ctx' (it's not used
  uninitialised, but gcc can't see that).
2002-01-10 06:03:12 +00:00
Richard Levitte
d16e3759a8 Patches to make OpenSSL compilable on MacOS/X.
Submitted by Pier Fumagalli <pier@betaversion.org>
2002-01-08 09:19:55 +00:00
Richard Levitte
fd795679bb Patches to make OpenSSL compilable on MacOS/X.
Submitted by Pier Fumagalli <pier@betaversion.org>
2002-01-08 09:19:31 +00:00
Geoff Thorpe
e523f5f389 - libtool finally annoyed me too much, so I'm nuking it,
- tidy up some output,
- print a warning when running an SSL server with no cert,
- only log each connect/disconnect if the new "-out_conns" switch is used.
2002-01-08 02:58:55 +00:00
Geoff Thorpe
e4dd79bbc8 - Add the same header stuff to aes_locl.h as is in des_locl.h to avoid
undefined functions (memset, etc).
- Put a .cvsignore in the aes directory too.
2002-01-05 12:55:08 +00:00
Dr. Stephen Henson
bc37d996fc Experimental configuration code.
Incomplete, largely untested and subject to change/deletion.
2002-01-05 01:37:16 +00:00
Bodo Möller
31cafe53c9 add a sentence previously deleted by accident 2002-01-04 15:22:40 +00:00
Bodo Möller
31961f7308 use some descriptions from Lutz' redundant manual page
instead of the previous ones
2002-01-04 15:21:26 +00:00
Bodo Möller
dc4ddcd2bb add documentation for SSLeay_version(SSLEAY_DIR) and
'openssl version -d'

use some descriptions from Lutz' redundant manual page
instead of the previous ones
2002-01-04 15:17:09 +00:00
Lutz Jänicke
2e1b411f23 Tsss, SSLeay_version() was already documented, it just was not linked in. 2002-01-04 15:08:34 +00:00
Lutz Jänicke
5256b021f3 Tsss, SSLeay_version() was already documented, it just was not linked in. 2002-01-04 15:05:51 +00:00
Bodo Möller
1bb68d62ab synchronize with engine-0.9.6 tree 2002-01-04 15:03:25 +00:00
Bodo Möller
4d77825557 add symbols reserved in 'engine' tree (tagged as NOEXIST) 2002-01-04 15:02:40 +00:00
Lutz Jänicke
439c7ba540 Add information as provided by Richard Levitte on openssl-users :-) 2002-01-04 14:57:31 +00:00
cvs2svn
edbbf22a0e This commit was manufactured by cvs2svn to create branch
'OpenSSL_0_9_6-stable'.
2002-01-04 14:55:39 +00:00
Lutz Jänicke
4ab1e7ceaf Add information as provided by Richard Levitte on openssl-users :-) 2002-01-04 14:55:38 +00:00
Dr. Stephen Henson
06623ff028 Update PEM docs 2002-01-04 13:35:37 +00:00
Bodo Möller
67d48c8cc8 fix 'Configure TABLE' output 2002-01-04 13:30:05 +00:00
Bodo Möller
1cb8923507 fix 'Configure TABLE' output 2002-01-04 13:29:20 +00:00
Bodo Möller
83f1147664 Changes that break something should be included in CHANGES
to make it easier to fix things.
2002-01-04 13:28:04 +00:00
Bodo Möller
d59fb0dd2f Changes that break something should be included in CHANGES
to make it easier to fix things.
2002-01-04 13:27:52 +00:00
Bodo Möller
245f44e2ab add automatically generated ERR_load_... prototype 2002-01-04 13:12:08 +00:00
Bodo Möller
e5d6528a12 fix EVP_CIPHER_mode macro
Submitted by: "Dan S. Camper" <dan@bti.net>
2002-01-04 13:04:45 +00:00
Bodo Möller
4d4744ef48 fix EVP_CIPHER_mode macro
Submitted by: "Dan S. Camper" <dan@bti.net>
2002-01-04 13:04:15 +00:00
Geoff Thorpe
980afccf98 Constify. 2002-01-04 07:01:35 +00:00
Richard Levitte
0242564c17 Better clarification on perl 2002-01-03 18:53:55 +00:00
Richard Levitte
9bd2cd745f Better clarification on perl 2002-01-03 18:53:47 +00:00
Richard Levitte
e8d2e6cac2 Use the variable $(PERL) to invoke perl.
Noted by Joe Orton <jorton@redhat.com>
2002-01-03 14:08:02 +00:00
Richard Levitte
015fbde807 make update 2002-01-02 17:31:23 +00:00
Richard Levitte
ba1b888384 Implement speed measurement for AES.
Submitted by Stephen Sprunk <stephen@sprunk.org> as part of his AES
integration patch.
2002-01-02 16:57:57 +00:00
Richard Levitte
6f9079fd50 Because Rijndael is more known as AES, use crypto/aes instead of
crypto/rijndael.  Additionally, I applied the AES integration patch
from Stephen Sprunk <stephen@sprunk.org> and fiddled it to work
properly with the normal EVP constructs (and incidently work the same
way as all other symmetric cipher implementations).

This results in an API that looks a lot like the rest of the OpenSSL
cipher suite.
2002-01-02 16:55:35 +00:00
Richard Levitte
c938563a81 The block size may be something other than 8! 2002-01-02 16:51:17 +00:00
Richard Levitte
40928698bb When RSA or DSA are disabled, do not include the stuff that's specific
to them.
2002-01-02 12:45:51 +00:00
Richard Levitte
138d8ab0c7 make update 2002-01-02 12:44:54 +00:00
Richard Levitte
47cc5525a2 RSA counter should only be defined of RSA is available. 2002-01-02 12:40:38 +00:00
Richard Levitte
67fec850e1 Allow verification of other types than DATA.
Submitted by Leonard Janke <leonard@votehere.net>
2002-01-02 11:54:38 +00:00
Richard Levitte
651fa63e2b Allow verification of other types than DATA.
Submitted by Leonard Janke <leonard@votehere.net>
2002-01-02 11:54:32 +00:00
Richard Levitte
82db6e1646 Say that recent CygWin perl versions work as well.
Submitted by Eric Hanchrow <erich@votehere.net>
2002-01-02 11:25:17 +00:00
Richard Levitte
6a40c26308 Say that recent CygWin perl versions work as well.
Submitted by Eric Hanchrow <erich@votehere.net>
2002-01-02 11:25:11 +00:00
Richard Levitte
b7342e116b Allow 8-bit characters. This is not really complete, it only marks
characters with the highest bit set as HIGHBIT.  We need to expand
this to support the UTF-8 character set properly.  However, this
solves the problem that the character 0x80 (which is common in UTF-8)
gets masked to 0x00.
Patch submitted by "Huang Yuzhen" <huangyuzhen@bj.tom.com>
2002-01-02 11:06:17 +00:00
Richard Levitte
e7227322b3 Allow 8-bit characters. This is not really complete, it only marks
characters with the highest bit set as HIGHBIT.  We need to expand
this to support the UTF-8 character set properly.  However, this
solves the problem that the character 0x80 (which is common in UTF-8)
gets masked to 0x00.
Patch submitted by "Huang Yuzhen" <huangyuzhen@bj.tom.com>
2002-01-02 11:06:02 +00:00
Richard Levitte
9d7bb313e3 On Solaris64, cc needs the flag -xarch=v9 when linking shared
libraries.  Make a general change to support shared library
linking flags in general.
Noted by Nick Briggs <briggs@parc.xerox.com>
2002-01-02 10:30:40 +00:00
Richard Levitte
a5595fde9a On Solaris64, cc needs the flag -xarch=v9 when linking shared
libraries.  Make a general change to support shared library
linking flags in general.
Noted by Nick Briggs <briggs@parc.xerox.com>
2002-01-02 10:30:07 +00:00
Richard Levitte
00b6ab09fc Add support for Linux on HP/PA.
Submitted by "Bryan W. Headley" <bheadley@interaccess.com>
2002-01-02 10:00:52 +00:00
Richard Levitte
95f8c7195c Add support for Linux on HP/PA.
Submitted by "Bryan W. Headley" <bheadley@interaccess.com>
2002-01-02 10:00:22 +00:00
Ulf Möller
dcbbf83dba ssl3_read_bytes bug fix
Submitted by: D P Chang <dpc@qualys.com>
Reviewed by: Bodo
2001-12-28 17:14:35 +00:00
Ulf Möller
c99b94be3e ssl3_read_bytes bug fix
Submitted by: D P Chang <dpc@qualys.com>
Reviewed by: Bodo
2001-12-28 17:13:10 +00:00
Bodo Möller
3c89d78dba update FAQ and CHANGES file (0.9.6c has been released) 2001-12-21 12:29:52 +00:00
Bodo Möller
b9bb1c5f77 This should be in 0.9.6c, but somehow escaped from the commit ...
But note that 0.9.6c has correct versions of the files autogenerated
from objects.txt (obj_mac.h, obj_dat.h), so libraries built from
the source distribution will not be buggy.
2001-12-21 12:23:05 +00:00
Bodo Möller
87af0e5e19 Fix FAQ, although in case there is another release from this tree,
it won't be correct anymore anyway: current version is 0.9.6c.
not 0.9.6b.
(The engine version does not have this typo.)
2001-12-21 12:15:36 +00:00
Richard Levitte
76b5524d3d Status update 2001-12-21 03:23:20 +00:00
Richard Levitte
84fcd6f83e Status update 2001-12-21 03:23:15 +00:00
Richard Levitte
0b421d35fb The release has been tagged, so let's move on to 0.9.6d, which we hope will never be released. 2001-12-21 02:26:39 +00:00
Richard Levitte
a92ae07091 And just for the sake of completeness, let's add some standard macros... 2001-12-21 01:12:29 +00:00
Richard Levitte
68809d3969 Better use the same number in all branches, to avoid confusion 2001-12-21 01:08:40 +00:00
Richard Levitte
d6a89fcf88 Do not forget to compile comp_err.c 2001-12-20 22:12:10 +00:00
Richard Levitte
ef5f6a08ff Synchronise with the 0.9.6 branch. 2001-12-20 16:58:26 +00:00
Ben Laurie
7c517a04b1 Security fix. 2001-12-20 12:18:08 +00:00
Ulf Möller
d78e52987e Cygwin patch. Submitted by Michael Kobar <mkobar@lymeware.com> 2001-12-19 19:37:31 +00:00
Bodo Möller
755cc53a6e formatting consistency 2001-12-17 19:28:05 +00:00
Bodo Möller
1226c472b7 oops 2001-12-17 19:26:43 +00:00
Bodo Möller
4d7072f4b5 remove redundant ERR_load_... declarations 2001-12-17 19:22:23 +00:00
Bodo Möller
b5348a095d consistency with 0.9.6 stable "CHANGES" 2001-12-17 19:11:03 +00:00
Bodo Möller
66df02fd98 fix BN_rand_range 2001-12-14 10:09:29 +00:00
Richard Levitte
206eb6a11d Change pkcs12 so the certificates coming from -in do not get tossed if
-certfile is given as well.
2001-12-12 16:49:02 +00:00
Richard Levitte
f11fd3f4e1 Implement failover for ubsec. Submitted by Subramanian Ramamoorthy
<sram@broadcom.com> with the following comment:

[...] We have implemented failover (ie, if for some reason that the
hardware fails, the implementation detects this failure and performs
this operation as if no hardware is present, ie, in software) for
sometime now and have tested it here with our hardware. [...]

This change was cc:ed to exports@crypto.com
2001-12-12 12:53:13 +00:00
Richard Levitte
29b108f939 make update 2001-12-11 10:57:13 +00:00
Ulf Möller
31106cc750 name confusion with HP library function prototype (?) 2001-12-10 18:52:06 +00:00
Ben Laurie
ff3fa48fc7 Improve back compatibility. 2001-12-09 21:53:31 +00:00
Bodo Möller
87166e1fb6 fix warnings (one of them was clearly justified) 2001-12-07 17:02:01 +00:00
Dr. Stephen Henson
f3e24baddf Don't overwrite signing time. 2001-12-07 00:36:32 +00:00
Lutz Jänicke
a6977ee73d HPUX 9.X on m68k with gcc
("Anton J. Gamel" <gamel@anna.anatomie.uni-freiburg.de>)
2001-12-06 13:15:51 +00:00
Richard Levitte
d4704d5245 UID was never a lable for uniqueIdentifier. However, LDAP and certain
RFCs concerning X.500 directories use UID as a shorter name for the
attribute type userId, which is defined by CCITT and available through
RFCs 1274 and 2247.

Unfortunately, if some applications have used the name "UID" for the
uniqueIdentifier attribute type, they will produce incorrect results.
However, I found it better to follow the standards that are out there
rather than having our own incompatible one.
2001-12-04 11:01:17 +00:00
Richard Levitte
8f0edcb3d2 I was recently informed that some people wrongly use ssleay.txt as
main documentation, so let's warn them a little more, so the word
"OBSOLETE" really gets understood.
2001-12-04 07:38:17 +00:00
Bodo Möller
35e25255e0 crypto/objects stuff 2001-12-03 14:03:23 +00:00
Bodo Möller
c3fbf5d9a8 Fix: 2.5.29 is "id-ce", not "ld-ce" (sort of a typo in objects.h).
Fix (?): Delete 'ip-pda 6' (id-pda-pseudonym) because it does not exist
in RFC 3039.

Also change Perl scripts to put auto-generation warning in the
first lines of the file.
2001-12-03 13:47:22 +00:00
Dr. Stephen Henson
55e42c93a8 EVP_BytesToKey documentation. 2001-12-03 03:07:37 +00:00
Dr. Stephen Henson
6a0dec9584 Make EVP_SealInit() return the correct value. 2001-12-01 23:09:38 +00:00
Dr. Stephen Henson
21a85f1977 Add -pubkey option to req command. 2001-12-01 23:03:30 +00:00
Dr. Stephen Henson
322de0c8c1 NO_DSA, NO_RSA patches. 2001-12-01 22:41:39 +00:00
Lutz Jänicke
6a9af68b56 Support for QNX (wrat@jump.net (the wharf rat)). 2001-11-30 09:38:57 +00:00
Richard Levitte
b6e4dac217 Certain missing algorithms make some SSL versions or TLS impossible to
build.
2001-11-27 11:48:30 +00:00
Bodo Möller
8a0a9392ab discuss -name and default_ca more correctly (I hope) 2001-11-26 12:13:50 +00:00
Geoff Thorpe
bcbe4e5254 This looks to have been a typo. 2001-11-24 04:02:42 +00:00
Bodo Möller
47ff5c6279 For future portability reasons MIT is moving all macros to function
calls.  This patch allows compilation either way.

Submitted by: Jeffrey Altman <jaltman@columbia.edu>
2001-11-23 21:50:50 +00:00
Bodo Möller
898f856c44 info on 0.9.6 engine branch 2001-11-23 21:12:44 +00:00
Bodo Möller
883b0c2274 fix submitted by Andy Schneider <andy.schneider@bjss.co.uk>
(in main branch, hn_ncipher.c is already correct)
2001-11-23 20:58:40 +00:00
Bodo Möller
4f94d1a8b1 check OPENSSL_NO_... before including header files that might be
disabled
2001-11-22 11:13:10 +00:00
101 changed files with 2885 additions and 1558 deletions

116
CHANGES
View File

@@ -2,6 +2,122 @@
OpenSSL CHANGES
_______________
Changes between 0.9.6c and 0.9.6d [XX xxx XXXX]
*) Check various X509_...() return values in apps/req.c.
[Nils Larsch <nla@trustcenter.de>]
*) Fix BASE64 decode (EVP_DecodeUpdate) for data with CR/LF ended lines:
an end-of-file condition would erronously be flagged, when the CRLF
was just at the end of a processed block. The bug was discovered when
processing data through a buffering memory BIO handing the data to a
BASE64-decoding BIO. Bug fund and patch submitted by Pavel Tsekov
<ptsekov@syntrex.com> and Nedelcho Stanev.
[Lutz Jaenicke]
*) Implement a countermeasure against a vulnerability recently found
in CBC ciphersuites in SSL 3.0/TLS 1.0: Send an empty fragment
before application data chunks to avoid the use of known IVs
with data potentially chosen by the attacker.
[Bodo Moeller]
*) Fix length checks in ssl3_get_client_hello().
[Bodo Moeller]
*) TLS/SSL library bugfix: use s->s3->in_read_app_data differently
to prevent ssl3_read_internal() from incorrectly assuming that
ssl3_read_bytes() found application data while handshake
processing was enabled when in fact s->s3->in_read_app_data was
merely automatically cleared during the initial handshake.
[Bodo Moeller; problem pointed out by Arne Ansper <arne@ats.cyber.ee>]
*) Fix object definitions for Private and Enterprise: they were not
recognized in their shortname (=lowercase) representation. Extend
obj_dat.pl to issue an error when using undefined keywords instead
of silently ignoring the problem (Svenning Sorensen
<sss@sss.dnsalias.net>).
[Lutz Jaenicke]
*) Fix DH_generate_parameters() so that it works for 'non-standard'
generators, i.e. generators other than 2 and 5. (Previously, the
code did not properly initialise the 'add' and 'rem' values to
BN_generate_prime().)
In the new general case, we do not insist that 'generator' is
actually a primitive root: This requirement is rather pointless;
a generator of the order-q subgroup is just as good, if not
better.
[Bodo Moeller]
*) Map new X509 verification errors to alerts. Discovered and submitted by
Tom Wu <tom@arcot.com>.
[Lutz Jaenicke]
*) Fix ssl3_pending() (ssl/s3_lib.c) to prevent SSL_pending() from
returning non-zero before the data has been completely received
when using non-blocking I/O.
[Bodo Moeller; problem pointed out by John Hughes]
*) Some of the ciphers missed the strength entry (SSL_LOW etc).
[Ben Laurie, Lutz Jaenicke]
*) Fix bug in SSL_clear(): bad sessions were not removed (found by
Yoram Zahavi <YoramZ@gilian.com>).
[Lutz Jaenicke]
*) Add information about CygWin 1.3 and on, and preserve proper
configuration for the versions before that.
[Corinna Vinschen <vinschen@redhat.com> and Richard Levitte]
*) Make removal from session cache (SSL_CTX_remove_session()) more robust:
check whether we deal with a copy of a session and do not delete from
the cache in this case. Problem reported by "Izhar Shoshani Levi"
<izhar@checkpoint.com>.
[Lutz Jaenicke]
*) Do not store session data into the internal session cache, if it
is never intended to be looked up (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
flag is set). Proposed by Aslam <aslam@funk.com>.
[Lutz Jaenicke]
*) Have ASN1_BIT_STRING_set_bit() really clear a bit when the requested
value is 0.
[Richard Levitte]
*) [In 0.9.6c-engine release:]
Fix a crashbug and a logic bug in hwcrhk_load_pubkey()
[Toomas Kiisk <vix@cyber.ee> via Richard Levitte]
*) Add the configuration target linux-s390x.
[Neale Ferguson <Neale.Ferguson@SoftwareAG-USA.com> via Richard Levitte]
*) The earlier bugfix for the SSL3_ST_SW_HELLO_REQ_C case of
ssl3_accept (ssl/s3_srvr.c) incorrectly used a local flag
variable as an indication that a ClientHello message has been
received. As the flag value will be lost between multiple
invocations of ssl3_accept when using non-blocking I/O, the
function may not be aware that a handshake has actually taken
place, thus preventing a new session from being added to the
session cache.
To avoid this problem, we now set s->new_session to 2 instead of
using a local variable.
[Lutz Jaenicke, Bodo Moeller]
*) Bugfix: Return -1 from ssl3_get_server_done (ssl3/s3_clnt.c)
if the SSL_R_LENGTH_MISMATCH error is detected.
[Geoff Thorpe, Bodo Moeller]
*) New 'shared_ldflag' column in Configure platform table.
[Richard Levitte]
*) Fix EVP_CIPHER_mode macro.
["Dan S. Camper" <dan@bti.net>]
*) Fix ssl3_read_bytes (ssl/s3_pkt.c): To ignore messages of unknown
type, we must throw them away by setting rr->length to 0.
[D P Chang <dpc@qualys.com>]
Changes between 0.9.6b and 0.9.6c [21 dec 2001]
*) Fix BN_rand_range bug pointed out by Dominikus Scherkl

253
Configure
View File

@@ -10,7 +10,7 @@ use strict;
# see INSTALL for instructions.
my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] os/compiler[:flags]\n";
my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--test-sanity] os/compiler[:flags]\n";
# Options:
#
@@ -23,6 +23,9 @@ my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-
# default). This needn't be set in advance, you can
# just as well use "make INSTALL_PREFIX=/whatever install".
#
# --test-sanity Make a number of sanity checks on the data in this file.
# This is a debugging tool for OpenSSL developers.
#
# rsaref use RSAref
# [no-]threads [don't] try to create a library that is suitable for
# multithreaded applications (default is "threads" if we
@@ -97,7 +100,7 @@ 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
#config-string $cc : $cflags : $unistd : $thread_cflag : $lflags : $bn_ops : $bn_obj : $des_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $dso_scheme : $shared_target : $shared_cflag
#config-string $cc : $cflags : $unistd : $thread_cflag : $lflags : $bn_ops : $bn_obj : $des_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $dso_scheme : $shared_target : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib
my %table=(
# File 'TABLE' (created by 'make TABLE') contains the data from this list,
@@ -132,35 +135,35 @@ 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:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
#### Solaris x86 with Sun C setups
"solaris-x86-cc","cc:-fast -O -Xa::-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)",
"solaris-x86-cc","cc:-fast -O -Xa::-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)",
#### 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:.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:solaris-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:solaris-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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::.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:solaris-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:solaris-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:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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::.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:.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:solaris-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::.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:solaris-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:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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:.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",
"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:-xarch=v9:.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:.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)",
"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::",
@@ -169,7 +172,7 @@ my %table=(
"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o::::",
# it's a real mess with -mcpu=ultrasparc option under Linux, but
# -Wa,-Av8plus should do the trick no matter what.
"linux-sparcv9","gcc:-mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o:",
"linux-sparcv9","gcc:-mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# !!!Folowing can't be even tested yet!!!
# We have to wait till 64-bit glibc for SPARC is operational!!!
#"linux64-sparcv9","sparc64-linux-gcc:-m64 -mcpu=v9 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::::asm/md5-sparcv9.o:",
@@ -180,17 +183,17 @@ my %table=(
#### IRIX 5.x configs
# -mips2 flag is added by ./config when appropriate.
"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR::::::::::dlfcn:irix-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR::::::::::dlfcn:irix-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR::::::::::dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR::::::::::dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
#### IRIX 6.x configs
# 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:${mips3_irix_asm}:dlfcn:irix-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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}:dlfcn:irix-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# N64 ABI builds.
"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}:dlfcn:irix-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}:dlfcn:irix-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}:dlfcn:irix-shared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
#### Unified HP-UX ANSI C configs.
# Special notes:
@@ -222,44 +225,44 @@ my %table=(
#
#!#"hpux-parisc-cc","cc:-Ae +O3 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
# Since there is mention of this in shlib/hpux10-cc.sh
"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux64-parisc-cc","cc:-Ae +DD64 +O3 +ESlit -z -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dlfcn:hpux64-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux64-parisc-cc","cc:-Ae +DD64 +O3 +ESlit -z -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dlfcn:hpux64-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# More attempts at unified 10.X and 11.X targets for HP C compiler.
#
# Chris Ruemmler <ruemmler@cup.hp.com>
# Kevin Steves <ks@hp.se>
"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2.o:::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2W.o:::::::::dlfcn:hpux64-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc1_1-cc","cc:+DA1.1 +DS1.1 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2.o:::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2W.o:::::::::dlfcn:hpux64-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-parisc1_1-cc","cc:+DA1.1 +DS1.1 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# HPUX 9.X config.
# Don't use the bundled cc. It is broken. Use HP ANSI C if possible, or
# egcs. gcc 2.8.1 is also broken.
"hpux-cc", "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O3 -z::(unknown):-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-cc", "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O3 -z::(unknown):-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# If hpux-cc fails (e.g. during "make test"), try the next one; otherwise,
# please report your OS and compiler version to the openssl-bugs@openssl.org
# mailing list.
"hpux-brokencc", "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 -z::(unknown):-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-brokencc", "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 -z::(unknown):-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown):-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown):-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# If hpux-gcc fails, try this one:
"hpux-brokengcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown):-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux-brokengcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown):-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# HPUX 9.X on Motorola 68k platforms with gcc
"hpux-m68k-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown)::BN_LLONG DES_PTR DES_UNROLL:::",
# HPUX 10.X config. Supports threads.
"hpux10-cc", "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O3 -z::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux10-cc", "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O3 -z::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# If hpux10-cc fails, try this one (if still fails, try deleting BN_LLONG):
"hpux10-brokencc", "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 -z::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux10-brokencc", "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 -z::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:+Z::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux10-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux10-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# If hpux10-gcc fails, try this one:
"hpux10-brokengcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::-D_REENTRANT:-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"hpux10-brokengcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::-D_REENTRANT:-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl:hpux-shared:-fPIC::.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# HPUX 11.X from www.globus.org.
# Only works on PA-RISC 2.0 cpus, and not optimized. Why?
@@ -270,6 +273,9 @@ my %table=(
#### HP MPE/iX http://jazz.external.hp.com/src/openssl/
"MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB::(unknown):-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:::",
#### PARISC Linux setups
"linux-parisc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
# Dec Alpha, OSF/1 - the alpha164-cc is historical, for the conversion
# from the older DEC C Compiler to the newer compiler. It's now the
# same as the preferred entry, alpha-cc. If you are still using the
@@ -295,15 +301,15 @@ my %table=(
#
# 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:${alpha_asm}:dlfcn:alpha-osf1-shared::.so",
"alphaold-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::.so",
"alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
"alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
"alpha-cc-rpath", "cc:-std1 -tune host -fast -readonly_strings::-pthread::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared-rpath::.so",
"alpha-gcc","gcc:-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
"alphaold-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
"alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared:::.so",
"alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared:::.so",
"alpha-cc-rpath", "cc:-std1 -tune host -fast -readonly_strings::-pthread::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared-rpath:::.so",
#
# This probably belongs in a different section.
#
"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)",
"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:
@@ -318,8 +324,8 @@ 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:${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-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}",
@@ -328,23 +334,24 @@ my %table=(
# 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:.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",
"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:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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}",
"linux-mipsel", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::(unknown)::BN_LLONG:::",
"linux-mips", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::(unknown)::BN_LLONG:::",
"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::::::::::dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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::-pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"linux-s390x", "gcc:-DB_ENDIAN -DTERMIO -DNO_ASM -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::SIXTY_FOUR_BIT_LONG:::::::::::linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:asm/ia64.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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::-pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE::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):-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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
@@ -357,7 +364,7 @@ my %table=(
"qnx6", "cc:-DL_ENDIAN -DTERMIOS::(unknown):-lsocket:${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:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"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.0x fails destest with -O
"unixware-2.0","cc:-DFILIO_H::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} ${x86_gcc_opts}:::",
@@ -372,7 +379,7 @@ my %table=(
"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread:-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
"unixware-7-pentium","cc:-O -DFILIO_H -Kalloca -Kpentium::-Kthread:-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
"unixware-7-pentium_pro","cc:-O -DFILIO_H -Kalloca -Kpentium_pro::-Kthread:-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT:-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -m486 -Wall::-D_REENTRANT:-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# OpenUNIX 8
"OpenUNIX-8","cc:-O -DFILIO_H -Kalloca::-Kthread:-lsocket -lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
@@ -389,7 +396,7 @@ my %table=(
"aix43-gcc", "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR::::::::::dlfcn:",
#
# Cray T90 (SDSC)
# Cray T90 and similar (SDSC)
# It's Big-endian, but the algorithms work properly when B_ENDIAN is NOT
# defined. The T90 ints and longs are 8 bytes long, and apparently the
# B_ENDIAN code assumes 4 byte ints. Fortunately, the non-B_ENDIAN and
@@ -399,7 +406,10 @@ my %table=(
#'Taking the address of a bit field is not allowed. '
#'An expression with bit field exists as the operand of "sizeof" '
# (written by Wayne Schroeder <schroede@SDSC.EDU>)
"cray-t90-cc", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::(unknown)::SIXTY_FOUR_BIT_LONG DES_INT:::",
#
# j90 is considered the base machine type for unicos machines,
# so this configuration is now called "cray-j90" ...
"cray-j90", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::(unknown)::SIXTY_FOUR_BIT_LONG DES_INT:::",
#
# Cray T3E (Research Center Juelich, beckman@acl.lanl.gov)
@@ -421,9 +431,11 @@ my %table=(
# 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", "cc:-belf::(unknown):-lsocket -lresolv:${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 ...
"sco5-cc-shared","cc:-belf:::-lsocket -lresolv -lnsl:MD2_CHAR RC4_INDEX ${x86_gcc_des}::::::::::dlfcn:svr3-shared:-Kpic",
"sco5-gcc-shared","gcc:-O3 -DFILIO_H -fomit-frame-pointer:::-lsocket -lresolv -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC",
# Sinix/ReliantUNIX RM400
# NOTE: The CDS++ Compiler up to V2.0Bsomething has the IRIX_CC_BUG optimizer problem. Better use -g */
@@ -458,8 +470,9 @@ my %table=(
# and its library files in util/pl/*)
"Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
# CygWin32
"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
# Cygwin
"Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -m486 -Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -m486 -Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32:cygwin-shared:::.dll",
# Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
"ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown)::::::",
@@ -468,23 +481,49 @@ 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::::::::::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)",
"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 or Darwin) setup
"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
"darwin-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
"darwin-ppc-cc","cc:-O3 -D_DARWIN -DB_ENDIAN::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::::::::::darwin-shared:-fPIC:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
##### Sony NEWS-OS 4.x
"newsos4-gcc","gcc:-O -DB_ENDIAN -DNEWS4::(unknown):-lmld -liberty:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
##### VxWorks for various targets
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DVXWORKS -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::-r:::::",
);
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
BC-16 Mingw32);
my $idx = 0;
my $idx_cc = $idx++;
my $idx_cflags = $idx++;
my $idx_unistd = $idx++;
my $idx_thread_cflag = $idx++;
my $idx_lflags = $idx++;
my $idx_bn_ops = $idx++;
my $idx_bn_obj = $idx++;
my $idx_des_obj = $idx++;
my $idx_bf_obj = $idx++;
my $idx_md5_obj = $idx++;
my $idx_sha1_obj = $idx++;
my $idx_cast_obj = $idx++;
my $idx_rc4_obj = $idx++;
my $idx_rmd160_obj = $idx++;
my $idx_rc5_obj = $idx++;
my $idx_dso_scheme = $idx++;
my $idx_shared_target = $idx++;
my $idx_shared_cflag = $idx++;
my $idx_shared_ldflag = $idx++;
my $idx_shared_extension = $idx++;
my $idx_ranlib = $idx++;
my $prefix="";
my $openssldir="";
my $exe_ext="";
@@ -557,7 +596,11 @@ PROCESS_ARGS:
foreach (@argvcopy)
{
s /^-no-/no-/; # some people just can't read the instructions
if (/^no-asm$/)
if (/^--test-sanity$/)
{
exit(&test_sanity());
}
elsif (/^no-asm$/)
{
$no_asm=1;
$flags .= "-DNO_ASM ";
@@ -686,13 +729,17 @@ if ($target eq "LIST") {
exit 0;
}
if ($target =~ m/^CygWin32(-.*)$/) {
$target = "Cygwin".$1;
}
print "Configuring for $target\n";
&usage if (!defined($table{$target}));
my $IsWindows=scalar grep /^$target$/,@WinTargets;
$exe_ext=".exe" if ($target eq "CygWin32");
$exe_ext=".exe" if ($target eq "Cygwin");
$openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");
$prefix=$openssldir if $prefix eq "";
@@ -705,9 +752,29 @@ $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 $shared_extension,my $ranlib)=
split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
my $cc = $fields[$idx_cc];
my $cflags = $fields[$idx_cflags];
my $unistd = $fields[$idx_unistd];
my $thread_cflag = $fields[$idx_thread_cflag];
my $lflags = $fields[$idx_lflags];
my $bn_ops = $fields[$idx_bn_ops];
my $bn_obj = $fields[$idx_bn_obj];
my $des_obj = $fields[$idx_des_obj];
my $bf_obj = $fields[$idx_bf_obj];
my $md5_obj = $fields[$idx_md5_obj];
my $sha1_obj = $fields[$idx_sha1_obj];
my $cast_obj = $fields[$idx_cast_obj];
my $rc4_obj = $fields[$idx_rc4_obj];
my $rmd160_obj = $fields[$idx_rmd160_obj];
my $rc5_obj = $fields[$idx_rc5_obj];
my $dso_scheme = $fields[$idx_dso_scheme];
my $shared_target = $fields[$idx_shared_target];
my $shared_cflag = $fields[$idx_shared_cflag];
my $shared_ldflag = $fields[$idx_shared_ldflag];
my $shared_extension = $fields[$idx_shared_extension];
my $ranlib = $fields[$idx_ranlib];
$cflags="$flags$cflags" if ($flags ne "");
# The DSO code currently always implements all functions so that no
@@ -921,6 +988,7 @@ while (<IN>)
my $sotmp = $1;
s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp.\$(SHLIB_MAJOR) .s$sotmp/;
}
s/^SHARED_LDFLAGS=.*/SHARED_LDFLAGS=$shared_ldflag/;
print OUT $_."\n";
}
close(IN);
@@ -1208,7 +1276,7 @@ sub print_table_entry
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 $shared_extension,my $ranlib)=
my $shared_ldflag,my $shared_extension,my $ranlib)=
split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
print <<EOF
@@ -1232,7 +1300,44 @@ sub print_table_entry
\$dso_scheme = $dso_scheme
\$shared_target= $shared_target
\$shared_cflag = $shared_cflag
\$shared_ldflag = $shared_ldflag
\$shared_extension = $shared_extension
\$ranlib = $ranlib
EOF
}
sub test_sanity
{
my $errorcnt = 0;
print STDERR "=" x 70, "\n";
print STDERR "=== SANITY TESTING!\n";
print STDERR "=== No configuration will be done, all other arguments will be ignored!\n";
print STDERR "=" x 70, "\n";
foreach $target (sort keys %table)
{
@fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
if ($fields[$idx_dso_scheme-1] =~ /^(dl|dlfcn|win32|vms)$/)
{
$errorcnt++;
print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] values\n";
print STDERR " in the previous field\n";
}
elsif ($fields[$idx_dso_scheme+1] =~ /^(dl|dlfcn|win32|vms)$/)
{
$errorcnt++;
print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] values\n";
print STDERR " in the following field\n";
}
elsif ($fields[$idx_dso_scheme] !~ /^(dl|dlfcn|win32|vms|)$/)
{
$errorcnt++;
print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] field = ",$fields[$idx_dso_scheme],"\n";
print STDERR " valid values are 'dl', 'dlfcn', 'win32' and 'vms'\n";
}
}
print STDERR "No sanity errors detected!\n" if $errorcnt == 0;
return $errorcnt;
}

2
FAQ
View File

@@ -59,7 +59,7 @@ OpenSSL - Frequently Asked Questions
* Which is the current version of OpenSSL?
The current version is available from <URL: http://www.openssl.org>.
OpenSSL 0.9.6b was released on December 21st, 2001.
OpenSSL 0.9.6c was released on December 21st, 2001.
In addition to the current stable release, you can also access daily
snapshots of the OpenSSL development version at <URL:

View File

@@ -269,6 +269,11 @@
Note on shared libraries
------------------------
Shared library is currently an experimental feature. The only reason to
have them would be to conserve memory on systems where several program
are using OpenSSL. Binary backward compatibility can't be guaranteed
before OpenSSL version 1.0.
For some systems, the OpenSSL Configure script knows what is needed to
build shared libraries for libcrypto and libssl. On these systems,
the shared libraries are currently not created by default, but giving

View File

@@ -2,16 +2,19 @@
INSTALLATION ON THE WIN32 PLATFORM
----------------------------------
Heres a few comments about building OpenSSL in Windows environments. Most of
this is tested on Win32 but it may also work in Win 3.1 with some
Heres a few comments about building OpenSSL in Windows environments. Most
of this is tested on Win32 but it may also work in Win 3.1 with some
modification.
You need Perl for Win32 (available from http://www.activestate.com/ActivePerl)
You need Perl for Win32. Unless you will build on Cygwin, you will need
ActiveState Perl, available from http://www.activestate.com/ActivePerl.
For Cygwin users, there's more info in the Cygwin section.
and one of the following C compilers:
* Visual C++
* Borland C
* GNU C (Mingw32 or Cygwin32)
* GNU C (Mingw32 or Cygwin)
If you want to compile in the assembly language routines with Visual C++ then
you will need an assembler. This is worth doing because it will result in
@@ -78,7 +81,7 @@
There are various changes you can make to the Win32 compile environment. By
default the library is not compiled with debugging symbols. If you add 'debug'
to the mk1mk.pl lines in the do_* batch file then debugging symbols will be
to the mk1mf.pl lines in the do_* batch file then debugging symbols will be
compiled in.
The default Win32 environment is to leave out any Windows NT specific
@@ -134,28 +137,30 @@
> cd out
> ..\ms\test
GNU C (CygWin32)
---------------
GNU C (Cygwin)
--------------
CygWin32 provides a bash shell and GNU tools environment running on
Cygwin provides a bash shell and GNU tools environment running on
NT 4.0, Windows 9x and Windows 2000. Consequently, a make of OpenSSL
with CygWin is closer to a GNU bash environment such as Linux rather
with Cygwin is closer to a GNU bash environment such as Linux rather
than other W32 makes that are based on a single makefile approach.
CygWin32 implements Posix/Unix calls through cygwin1.dll, and is
Cygwin implements Posix/Unix calls through cygwin1.dll, and is
contrasted to Mingw32 which links dynamically to msvcrt.dll or
crtdll.dll.
To build OpenSSL using CygWin32:
To build OpenSSL using Cygwin:
* Install CygWin32 (see http://sourceware.cygnus.com/cygwin)
* Install Cygwin (see http://sourceware.cygnus.com/cygwin)
* Install Perl and ensure it is in the path
* Install Perl and ensure it is in the path (recent Cygwin perl
(version 5.6.1-2 of the latter has been reported to work) or
ActivePerl)
* Run the CygWin bash shell
* Run the Cygwin bash shell
* $ tar zxvf openssl-x.x.x.tar.gz
$ cd openssl-x.x.x
$ ./Configure no-threads CygWin32
$ ./config
[...]
$ make
[...]
@@ -164,27 +169,28 @@
This will create a default install in /usr/local/ssl.
CygWin32 Notes:
Cygwin Notes:
"make test" and normal file operations may fail in directories
mounted as text (i.e. mount -t c:\somewhere /home) due to CygWin
mounted as text (i.e. mount -t c:\somewhere /home) due to Cygwin
stripping of carriage returns. To avoid this ensure that a binary
mount is used, e.g. mount -b c:\somewhere /home.
As of version 1.1.1 CygWin32 is relatively unstable in its handling
As of version 1.1.1 Cygwin is relatively unstable in its handling
of cr/lf issues. These make procedures succeeded with versions 1.1 and
the snapshot 20000524 (Slow!).
"bc" is not provided in the CygWin32 distribution. This causes a
"bc" is not provided in the Cygwin distribution. This causes a
non-fatal error in "make test" but is otherwise harmless. If
desired, GNU bc can be built with CygWin32 without change.
desired, GNU bc can be built with Cygwin without change.
Installation
------------
There's currently no real installation procedure for Win32. There are,
however, some suggestions:
If you used the Cygwin procedure above, you have already installed and
can skip this section. For all other procedures, there's currently no real
installation procedure for Win32. There are, however, some suggestions:
- do nothing. The include files are found in the inc32/ subdirectory,
all binaries are found in out32dll/ or out32/ depending if you built

View File

@@ -12,7 +12,7 @@
---------------
/* ====================================================================
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions

View File

@@ -183,6 +183,7 @@ SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
SHARED_SSL=libssl$(SHLIB_EXT)
SHARED_LIBS=
SHARED_LIBS_LINK_EXTS=
SHARED_LDFLAGS=
GENERAL= Makefile
BASENAME= openssl
@@ -235,19 +236,22 @@ clean-shared:
done; \
fi; \
( set -x; rm -f lib$$i$(SHLIB_EXT) ); \
if [ "$(PLATFORM)" = "Cygwin" ]; then \
( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \
fi; \
done
link-shared:
@for i in $(SHLIBDIRS); do \
prev=lib$$i$(SHLIB_EXT); \
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
@if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
tmp="$(SHARED_LIBS_LINK_EXTS)"; \
for i in $(SHLIBDIRS); do \
prev=lib$$i$(SHLIB_EXT); \
for j in $${tmp:-x}; do \
( set -x; ln -f -s $$prev lib$$i$$j ); \
prev=lib$$i$$j; \
done; \
fi; \
done
done; \
fi
build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
@@ -255,8 +259,10 @@ do_bsd-gcc-shared: do_gnu-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} \
( set -x; ${CC} ${SHARED_LDFLAGS} \
-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-Wl,-Bsymbolic \
-Wl,--whole-archive lib$$i.a \
-Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
libs="$$libs -l$$i"; \
@@ -269,13 +275,35 @@ DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
[ -n "$$my_ld" ] && \
$$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1
# For Darwin AKA Mac OS/X (dyld)
do_darwin-shared:
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x ; ${CC} --verbose -dynamiclib -o lib$$i${SHLIB_EXT} \
lib$$i.a $$libs -all_load -current_version ${SHLIB_MAJOR}.${SHLIB_MINOR} \
-compatibility_version ${SHLIB_MAJOR}.`echo ${SHLIB_MINOR} | cut -d. -f1` \
-install_name ${INSTALLTOP}/lib/lib$$i${SHLIB_EXT} ) || exit 1; \
libs="$$libs -l`basename $$i${SHLIB_EXT} .dylib`"; \
echo "" ; \
done
do_cygwin-shared:
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; ${CC} -shared -o cyg$$i.dll \
-Wl,-Bsymbolic \
-Wl,--whole-archive lib$$i.a \
-Wl,--out-implib,lib$$i.dll.a \
-Wl,--no-whole-archive $$libs ) || exit 1; \
libs="$$libs -l$$i"; \
done
# This assumes that GNU utilities are *not* used
do_alpha-osf1-shared:
if ${DETECT_GNU_LD}; then \
$(MAKE) do_gnu-shared; \
else \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; ${CC} -shared -o lib$$i.so \
( set -x; ${CC} ${SHARED_LDFLAGS} \
-shared -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$$i"; \
@@ -290,7 +318,8 @@ do_tru64-shared:
$(MAKE) do_gnu-shared; \
else \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; ${CC} -shared -msym -o lib$$i.so \
( set -x; ${CC} ${SHARED_LDFLAGS} \
-shared -msym -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$$i"; \
@@ -305,7 +334,8 @@ do_tru64-shared-rpath:
$(MAKE) do_gnu-shared; \
else \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; ${CC} -shared -msym -o lib$$i.so \
( set -x; ${CC} ${SHARED_LDFLAGS} \
-shared -msym -o lib$$i.so \
-rpath ${INSTALLTOP}/lib \
-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
@@ -321,15 +351,16 @@ do_solaris-shared:
else \
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} \
set -x; ${CC} ${SHARED_LDFLAGS} \
-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$$i"; \
done; \
fi
# UnixWare 7 and OpenUNIX 8 native compilers used
do_svr5-shared:
# OpenServer 5 native compilers used
do_svr3-shared:
if ${DETECT_GNU_LD}; then \
$(MAKE) do_gnu-shared; \
else \
@@ -347,13 +378,34 @@ do_svr5-shared:
done; \
fi
# UnixWare 7 and OpenUNIX 8 native compilers used
do_svr5-shared:
if ${DETECT_GNU_LD}; then \
$(MAKE) do_gnu-shared; \
else \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
find . -name "*.o" -print > allobjs ; \
OBJS= ; export OBJS ; \
for obj in `ar t lib$$i.a` ; do \
OBJS="$${OBJS} `grep $$obj allobjs`" ; \
done ; \
set -x; ${CC} ${SHARED_LDFLAGS} \
-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
$${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
libs="$$libs -l$$i"; \
done; \
fi
# This assumes that GNU utilities are *not* used
do_irix-shared:
if ${DETECT_GNU_LD}; then \
$(MAKE) do_gnu-shared; \
else \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; ${CC} -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
( set -x; ${CC} ${SHARED_LDFLAGS} \
-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-all lib$$i.a $$libs ${EX_LIBS} -lc) || exit 1; \
libs="$$libs -l$$i"; \
@@ -362,8 +414,9 @@ do_irix-shared:
# This assumes that GNU utilities are *not* used
do_hpux-shared:
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; /usr/ccs/bin/ld +vnocompatwarnings \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
+vnocompatwarnings \
-b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-Fl lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
@@ -372,8 +425,9 @@ do_hpux-shared:
# This assumes that GNU utilities are *not* used
do_hpux64-shared:
libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; /usr/ccs/bin/ld -b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
-b -z -o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+forceload lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
libs="$$libs -L. -l$$i"; \
@@ -409,7 +463,7 @@ do_hpux64-shared:
# HP/UX-64bit: /usr/ccs/bin/ld
# AIX: $(CC)
ALLSYMSFLAG=-bnogc
SHAREDFLAGS=-G -bE:lib$$i.exp -bM:SRE
SHAREDFLAGS=${SHARED_LDFLAGS} -G -bE:lib$$i.exp -bM:SRE
SHAREDCMD=$(CC)
do_aix-shared:
libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
@@ -598,10 +652,18 @@ install: all install_docs
tmp="$(SHARED_LIBS)"; \
for i in $${tmp:-x}; \
do \
if [ -f "$$i" ]; then \
if [ -f "$$i" -o -f "$$i.a" ]; then \
( echo installing $$i; \
cp -f $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \
if [ "$(PLATFORM)" != "Cygwin" ]; then \
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
else \
c=`echo $$i | sed 's/^lib/cyg/'`; \
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \
cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \
fi ); \
fi \
done; \
( here="`pwd`"; \

5
NEWS
View File

@@ -5,6 +5,11 @@
This file gives a brief overview of the major changes between each OpenSSL
release. For more details please read the CHANGES file.
Changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d:
o Various SSL/TLS library bugfixes.
o Fix DH parameter generation for 'non-standard' generators.
Changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c:
o Various SSL/TLS library bugfixes.

4
README
View File

@@ -1,7 +1,7 @@
OpenSSL 0.9.6c 21 dec 2001
OpenSSL 0.9.6d-beta1 17 Apr 2002
Copyright (c) 1998-2001 The OpenSSL Project
Copyright (c) 1998-2002 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
All rights reserved.

8
STATUS
View File

@@ -1,10 +1,12 @@
OpenSSL STATUS Last modified at
______________ $Date: 2001/11/14 21:21:04 $
______________ $Date: 2002/04/17 12:28:37 $
DEVELOPMENT STATE
o OpenSSL 0.9.7: Under development...
o OpenSSL 0.9.6d: Feature freeze, beta1 April 17th, 2002
o OpenSSL 0.9.6c: Released on December 21st, 2001
o OpenSSL 0.9.6b: Released on July 9th, 2001
o OpenSSL 0.9.6a: Released on April 5th, 2001
o OpenSSL 0.9.6: Released on September 24th, 2000
@@ -47,10 +49,6 @@
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

349
TABLE

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -82,7 +82,7 @@
# else
# include <unixlib.h>
# endif
# else
# elif !defined(VXWORKS)
# include <sys/file.h>
# endif
#endif

View File

@@ -87,8 +87,8 @@ int MAIN(int argc, char **argv)
BIO *bmd=NULL;
BIO *out = NULL;
const char *name;
#define PROG_NAME_SIZE 16
char pname[PROG_NAME_SIZE];
#define PROG_NAME_SIZE 39
char pname[PROG_NAME_SIZE+1];
int separator=0;
int debug=0;
const char *outfile = NULL, *keyfile = NULL;

View File

@@ -99,8 +99,8 @@ int MAIN(int argc, char **argv)
const EVP_CIPHER *cipher=NULL,*c;
char *inf=NULL,*outf=NULL;
BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
#define PROG_NAME_SIZE 16
char pname[PROG_NAME_SIZE];
#define PROG_NAME_SIZE 39
char pname[PROG_NAME_SIZE+1];
apps_startup();

View File

@@ -88,8 +88,8 @@ BIO *bio_err=NULL;
int main(int Argc, char *Argv[])
{
ARGS arg;
#define PROG_NAME_SIZE 16
char pname[PROG_NAME_SIZE];
#define PROG_NAME_SIZE 39
char pname[PROG_NAME_SIZE+1];
FUNCTION f,*fp;
MS_STATIC char *prompt,buf[1024],config_name[256];
int n,i,ret=0;

View File

@@ -283,7 +283,7 @@ int MAIN(int argc, char **argv)
goto end;
}
dtmp=X509_get_pubkey(xtmp);
if ((dtmp=X509_get_pubkey(xtmp)) == NULL) goto end;
if (dtmp->type == EVP_PKEY_DSA)
dsa_params=DSAparams_dup(dtmp->pkey.dsa);
EVP_PKEY_free(dtmp);
@@ -718,17 +718,14 @@ loop:
/* Set version to V3 */
if(!X509_set_version(x509ss, 2)) goto end;
ASN1_INTEGER_set(X509_get_serialNumber(x509ss),0L);
if (!ASN1_INTEGER_set(X509_get_serialNumber(x509ss),0L)) goto end;
X509_set_issuer_name(x509ss,
X509_REQ_get_subject_name(req));
X509_gmtime_adj(X509_get_notBefore(x509ss),0);
X509_gmtime_adj(X509_get_notAfter(x509ss),
(long)60*60*24*days);
X509_set_subject_name(x509ss,
X509_REQ_get_subject_name(req));
if (!X509_set_issuer_name(x509ss, X509_REQ_get_subject_name(req))) goto end;
if (!X509_gmtime_adj(X509_get_notBefore(x509ss),0)) goto end;
if (!X509_gmtime_adj(X509_get_notAfter(x509ss), (long)60*60*24*days)) goto end;
if (!X509_set_subject_name(x509ss, X509_REQ_get_subject_name(req))) goto end;
tmppkey = X509_REQ_get_pubkey(req);
X509_set_pubkey(x509ss,tmppkey);
if (!tmppkey || !X509_set_pubkey(x509ss,tmppkey)) goto end;
EVP_PKEY_free(tmppkey);
/* Set up V3 context struct */
@@ -959,7 +956,7 @@ static int make_REQ(X509_REQ *req, EVP_PKEY *pkey, int attribs)
else i = prompt_info(req, dn_sk, dn_sect, attr_sk, attr_sect, attribs);
if(!i) goto err;
X509_REQ_set_pubkey(req,pkey);
if (!X509_REQ_set_pubkey(req,pkey)) goto err;
ret=1;
err:

View File

@@ -82,7 +82,7 @@
#include "wintext.h"
#endif
#if !defined(MSDOS) && (!defined(VMS) || defined(__DECC))
#if !defined(MSDOS) && !defined(VXWORKS) && (!defined(VMS) || defined(__DECC)) || defined (_DARWIN)
#define TIMES
#endif
@@ -102,7 +102,7 @@
#undef TIMES
#endif
#ifndef TIMES
#if !defined(TIMES) && !defined(VXWORKS)
#include <sys/timeb.h>
#endif
@@ -139,6 +139,8 @@
#undef BUFSIZZ
#define BUFSIZZ 1024*10
#undef min
#undef max
#define min(a,b) (((a) < (b)) ? (a) : (b))
#define max(a,b) (((a) > (b)) ? (a) : (b))
@@ -368,6 +370,22 @@ static double tm_Time_F(int s)
ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
return((ret == 0.0)?1e-6:ret);
}
#elif defined(VXWORKS)
{
static unsigned long tick_start, tick_end;
if( s == START )
{
tick_start = tickGet();
return 0;
}
else
{
tick_end = tickGet();
ret = (double)(tick_end - tick_start) / (double)sysClkRateGet();
return((ret == 0.0)?1e-6:ret);
}
}
#else /* !times() */
static struct timeb tstart,tend;
long i;

View File

@@ -454,9 +454,9 @@ int MAIN(int argc, char **argv)
} else if(operation == SMIME_VERIFY) {
STACK_OF(X509) *signers;
if(PKCS7_verify(p7, other, store, indata, out, flags)) {
BIO_printf(bio_err, "Verification Successful\n");
BIO_printf(bio_err, "Verification successful\n");
} else {
BIO_printf(bio_err, "Verification Failure\n");
BIO_printf(bio_err, "Verification failure\n");
goto end;
}
signers = PKCS7_get0_signers(p7, other, flags);

View File

@@ -82,12 +82,12 @@
#include <openssl/rand.h>
#include <openssl/err.h>
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(_DARWIN)
# define USE_TOD
#elif !defined(MSDOS) && (!defined(VMS) || defined(__DECC))
#elif !defined(MSDOS) && !defined(VXWORKS) && (!defined(VMS) || defined(__DECC))
# define TIMES
#endif
#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX) && !defined(MPE) && !defined(__NetBSD__)
#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX) && !defined(MPE) && !defined(__NetBSD__) && !defined(_DARWIN) && !defined(VXWORKS)
# define TIMEB
#endif
@@ -115,7 +115,7 @@
#include <sys/timeb.h>
#endif
#if !defined(TIMES) && !defined(TIMEB) && !defined(USE_TOD)
#if !defined(TIMES) && !defined(TIMEB) && !defined(USE_TOD) && !defined(VXWORKS)
#error "It seems neither struct tms nor struct timeb is supported in this platform!"
#endif
@@ -224,7 +224,7 @@ static double Time_F(int s, int usertime)
#ifdef USE_TOD
if(usertime)
{
{
static struct rusage tstart,tend;
if (s == START)
@@ -284,7 +284,23 @@ static double Time_F(int s, int usertime)
# if defined(TIMES) && defined(TIMEB)
else
# endif
# ifdef TIMEB
# ifdef VXWORKS
{
static unsigned long tick_start, tick_end;
if( s == START )
{
tick_start = tickGet();
return 0;
}
else
{
tick_end = tickGet();
ret = (double)(tick_end - tick_start) / (double)sysClkRateGet();
return((ret < 0.001)?0.001:ret);
}
}
# elif defined(TIMEB)
{
static struct timeb tstart,tend;
long i;
@@ -303,6 +319,7 @@ static double Time_F(int s, int usertime)
}
}
# endif
#endif
}
@@ -318,7 +335,9 @@ int MAIN(int argc, char **argv)
#define DSA_NUM 3
long count,rsa_count;
int i,j,k;
#ifndef NO_RSA
unsigned rsa_num;
#endif
#ifndef NO_MD2
unsigned char md2[MD2_DIGEST_LENGTH];
#endif

44
config
View File

@@ -299,9 +299,24 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
;;
CYGWIN*)
echo "${MACHINE}-whatever-cygwin32"; exit 0
case "$RELEASE" in
[bB]*|1.0|1.[12].*)
echo "${MACHINE}-whatever-cygwin_pre1.3"
;;
*)
echo "${MACHINE}-whatever-cygwin"
;;
esac
exit 0
;;
*"CRAY T3E")
echo "t3e-cray-unicosmk"; exit 0;
;;
*CRAY*)
echo "j90-cray-unicos"; exit 0;
;;
esac
#
@@ -503,8 +518,29 @@ EOF
sun4d) OUT="linux-sparcv8" ;;
*) OUT="linux-sparcv7" ;;
esac ;;
parisc-*-linux2)
CPUARCH=`awk '/cpu family/{print substr($5,1,3)}' /proc/cpuinfo`
CPUSCHEDULE=`awk '/^cpu.[ ]: PA/{print substr($3,3)}' /proc/cpuinfo`
# ??TODO ?? Model transformations
# 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off
# assuming no further arch. identification will ever be used by GCC.
# 1. I'm most concerned about whether is a 7300LC is closer to a 7100 versus a 7100LC.
# 2. The variant 64-bit processors cause concern should GCC support explicit schedulers
# for these chips in the future.
# PA7300LC -> 7100LC (1.1)
# PA8200 -> 8000 (2.0)
# PA8500 -> 8000 (2.0)
# PA8600 -> 8000 (2.0)
CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8?00/8000/'`
# Finish Model transformations
options="$options -mschedule=$CPUSCHEDULE -march=$CPUARCH"
OUT="linux-parisc" ;;
arm*-*-linux2) OUT="linux-elf-arm" ;;
s390-*-linux2) OUT="linux-s390" ;;
s390x-*-linux?) OUT="linux-s390x" ;;
*-*-linux2) OUT="linux-elf" ;;
*-*-linux1) OUT="linux-aout" ;;
sun4u*-*-solaris2)
@@ -560,8 +596,10 @@ EOF
# *-aix) OUT="aix-$CC" ;;
# *-dgux) OUT="dgux" ;;
mips-sony-newsos4) OUT="newsos4-gcc" ;;
*-*-cygwin32) OUT="CygWin32"
options="$options no-threads no-asm" ;;
*-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;;
*-*-cygwin) OUT="Cygwin" ;;
t3e-cray-unicosmk) OUT="cray-t3e" ;;
j90-cray-unicos) OUT="cray-j90" ;;
*) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
esac

View File

@@ -6,7 +6,7 @@ DIR= crypto
TOP= ..
CC= cc
INCLUDE= -I. -I../include
INCLUDES= -I.. -I../../include
INCLUDES= -I.. -I../.. -I../../include
CFLAG= -g
INSTALL_PREFIX=
OPENSSLDIR= /usr/local/ssl

View File

@@ -936,40 +936,40 @@ t_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
t_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
t_bitst.o: ../../include/openssl/des.h ../../include/openssl/dh.h
t_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
t_bitst.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
t_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
t_bitst.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
t_bitst.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
t_bitst.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
t_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
t_bitst.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
t_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
t_bitst.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
t_bitst.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
t_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
t_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
t_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
t_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h
t_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
t_bitst.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
t_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
t_bitst.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
t_bitst.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
t_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
t_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
t_bitst.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
t_bitst.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
t_bitst.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
t_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
t_bitst.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
t_bitst.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
t_bitst.o: ../cryptlib.h
t_crl.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
t_crl.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
t_crl.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
t_crl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
t_crl.o: ../../include/openssl/des.h ../../include/openssl/dh.h
t_crl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
t_crl.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
t_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
t_crl.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
t_crl.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
t_crl.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
t_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
t_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
t_crl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
t_crl.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
t_crl.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
t_crl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
t_crl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
t_crl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
t_crl.o: ../../include/openssl/x509v3.h ../cryptlib.h
t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
t_crl.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
t_crl.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
t_crl.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
t_crl.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
t_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
t_crl.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
t_crl.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
t_crl.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
t_crl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
t_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
t_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
t_crl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
t_crl.o: ../cryptlib.h
t_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
t_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
t_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
@@ -985,20 +985,20 @@ t_req.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
t_req.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
t_req.o: ../../include/openssl/des.h ../../include/openssl/dh.h
t_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
t_req.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
t_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h
t_req.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
t_req.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
t_req.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
t_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
t_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
t_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
t_req.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
t_req.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
t_req.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
t_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
t_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
t_req.o: ../../include/openssl/x509v3.h ../cryptlib.h
t_req.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
t_req.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
t_req.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
t_req.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
t_req.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
t_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
t_req.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
t_req.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
t_req.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
t_req.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
t_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
t_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
t_req.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
t_req.o: ../cryptlib.h
t_spki.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
t_spki.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
t_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
@@ -1024,20 +1024,20 @@ t_x509.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
t_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
t_x509.o: ../../include/openssl/des.h ../../include/openssl/dh.h
t_x509.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
t_x509.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
t_x509.o: ../../include/openssl/err.h ../../include/openssl/evp.h
t_x509.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
t_x509.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
t_x509.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
t_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
t_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
t_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
t_x509.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
t_x509.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
t_x509.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
t_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
t_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
t_x509.o: ../../include/openssl/x509v3.h ../cryptlib.h
t_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
t_x509.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
t_x509.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
t_x509.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
t_x509.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
t_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
t_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
t_x509.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
t_x509.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
t_x509.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
t_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
t_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
t_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
t_x509.o: ../cryptlib.h
t_x509a.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
t_x509a.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
@@ -1310,21 +1310,20 @@ x_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
x_x509.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
x_x509.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
x_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
x_x509.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
x_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x_x509.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x_x509.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x_x509.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x_x509.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x_x509.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x_x509.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
x_x509.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
x_x509.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
x_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
x_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
x_x509.o: ../cryptlib.h
x_x509.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x_x509.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x_x509.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x_x509.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x_x509.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
x_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
x_x509.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
x_x509.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
x_x509.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
x_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
x_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
x_x509.o: ../../include/openssl/x509v3.h ../cryptlib.h
x_x509a.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
x_x509a.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
x_x509a.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h

View File

@@ -224,6 +224,7 @@ int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
w=n/8;
v=1<<(7-(n&0x07));
iv= ~v;
if (!value) v=0;
a->flags&= ~(ASN1_STRING_FLAG_BITS_LEFT|0x07); /* clear, set on write */

View File

@@ -203,7 +203,7 @@ ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s,
if (s == NULL)
return(NULL);
#if defined(THREADS) && !defined(WIN32)
#if defined(THREADS) && !defined(WIN32) && ! defined(_DARWIN)
gmtime_r(&t,&data); /* should return &data, but doesn't on some systems, so we don't even look at the return value */
ts=&data;
#else

View File

@@ -113,7 +113,7 @@ ASN1_TIME *d2i_ASN1_TIME(ASN1_TIME **a, unsigned char **pp, long length)
ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t)
{
struct tm *ts;
#if defined(THREADS) && !defined(WIN32) && !defined(__CYGWIN32__)
#if defined(THREADS) && !defined(WIN32) && !defined(__CYGWIN32__) && !defined(_DARWIN)
struct tm data;
gmtime_r(&t,&data);

View File

@@ -203,7 +203,7 @@ ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
if (s == NULL)
return(NULL);
#if defined(THREADS) && !defined(WIN32) && !defined(__CYGWIN32__)
#if defined(THREADS) && !defined(WIN32) && !defined(__CYGWIN32__) && !defined(_DARWIN)
gmtime_r(&t,&data); /* should return &data, but doesn't on some systems, so we don't even look at the return value */
ts=&data;
#else
@@ -286,7 +286,7 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
t -= offset*60; /* FIXME: may overflow in extreme cases */
#if defined(THREADS) && !defined(WIN32) && !defined(__CYGWIN32__)
#if defined(THREADS) && !defined(WIN32) && !defined(__CYGWIN32__) && !defined(_DARWIN)
{ struct tm data; gmtime_r(&t, &data); tm = &data; }
#else
tm = gmtime(&t);

View File

@@ -72,9 +72,9 @@
#endif
#ifdef SO_MAXCONN
#define MAX_LISTEN SOMAXCONN
#elif defined(SO_MAXCONN)
#define MAX_LISTEN SO_MAXCONN
#elif defined(SOMAXCONN)
#define MAX_LISTEN SOMAXCONN
#else
#define MAX_LISTEN 32
#endif

View File

@@ -200,7 +200,7 @@ static int linebuffer_write(BIO *b, const char *in, int inl)
}
}
#ifdef DEBUG
#if 0
BIO_write(b->next_bio, "<*<", 3);
#endif
i=BIO_write(b->next_bio,
@@ -210,13 +210,13 @@ BIO_write(b->next_bio, "<*<", 3);
ctx->obuf_len = orig_olen;
BIO_copy_next_retry(b);
#ifdef DEBUG
#if 0
BIO_write(b->next_bio, ">*>", 3);
#endif
if (i < 0) return((num > 0)?num:i);
if (i == 0) return(num);
}
#ifdef DEBUG
#if 0
BIO_write(b->next_bio, ">*>", 3);
#endif
if (i < ctx->obuf_len)
@@ -229,20 +229,20 @@ BIO_write(b->next_bio, ">*>", 3);
buffer if a NL was found and there is anything to write. */
if ((foundnl || p - in > ctx->obuf_size) && p - in > 0)
{
#ifdef DEBUG
#if 0
BIO_write(b->next_bio, "<*<", 3);
#endif
i=BIO_write(b->next_bio,in,p - in);
if (i <= 0)
{
BIO_copy_next_retry(b);
#ifdef DEBUG
#if 0
BIO_write(b->next_bio, ">*>", 3);
#endif
if (i < 0) return((num > 0)?num:i);
if (i == 0) return(num);
}
#ifdef DEBUG
#if 0
BIO_write(b->next_bio, ">*>", 3);
#endif
num+=i;

View File

@@ -356,8 +356,8 @@ typedef struct bio_f_buffer_ctx_struct
#define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port)
#define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0)
#define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1)
#define BIO_get_conn_ip(b,ip) BIO_ptr_ctrl(b,BIO_C_SET_CONNECT,2)
#define BIO_get_conn_int_port(b,port) BIO_int_ctrl(b,BIO_C_SET_CONNECT,3,port)
#define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2)
#define BIO_get_conn_int_port(b) BIO_int_ctrl(b,BIO_C_GET_CONNECT,3)
#define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL)

View File

@@ -23,7 +23,12 @@
#include <openssl/crypto.h>
#include "openssl/e_os.h"
#ifndef SSIZE_MAX
/* VxWorks defines SSiZE_MAX with an empty value causing compile errors */
#if defined(VXWORKS)
# undef SSIZE_MAX
# define SSIZE_MAX INT_MAX
#elif !defined(SSIZE_MAX)
# define SSIZE_MAX INT_MAX
#endif

View File

@@ -75,7 +75,7 @@
# include <starlet.h>
#elif defined(__ultrix)
# include <sys/syslog.h>
#elif !defined(MSDOS) /* Unix */
#elif !defined(MSDOS) && !defined(VXWORKS) /* Unix */
# include <syslog.h>
#endif

View File

@@ -5,7 +5,7 @@
DIR= conf
TOP= ../..
CC= cc
INCLUDES= -I.. -I../../include
INCLUDES= -I.. -I../.. -I../../include
CFLAG=-g
INSTALL_PREFIX=
OPENSSLDIR= /usr/local/ssl
@@ -80,30 +80,25 @@ clean:
# DO NOT DELETE THIS LINE -- make depend depends on it.
conf_api.o: ../../include/openssl/bio.h ../../include/openssl/conf.h
conf_api.o: ../../include/openssl/conf_api.h ../../include/openssl/crypto.h
conf_api.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
conf_api.o: ../../e_os.h ../../include/openssl/bio.h
conf_api.o: ../../include/openssl/conf.h ../../include/openssl/conf_api.h
conf_api.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
conf_api.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
conf_api.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
conf_api.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
conf_def.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
conf_def.o: ../../include/openssl/conf.h ../../include/openssl/conf_api.h
conf_def.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h
conf_def.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
conf_def.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
conf_def.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
conf_def.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
conf_def.o: conf_def.h
conf_def.o: ../../include/openssl/crypto.h ../../include/openssl/err.h
conf_def.o: ../../include/openssl/lhash.h ../../include/openssl/opensslv.h
conf_def.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
conf_def.o: ../../include/openssl/symhacks.h conf_def.h
conf_err.o: ../../include/openssl/bio.h ../../include/openssl/conf.h
conf_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h
conf_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
conf_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
conf_err.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
conf_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
conf_err.o: ../../include/openssl/crypto.h ../../include/openssl/err.h
conf_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslv.h
conf_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
conf_err.o: ../../include/openssl/symhacks.h
conf_lib.o: ../../include/openssl/bio.h ../../include/openssl/conf.h
conf_lib.o: ../../include/openssl/conf_api.h ../../include/openssl/crypto.h
conf_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
conf_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
conf_lib.o: ../../include/openssl/opensslconf.h
conf_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
conf_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h

View File

@@ -56,14 +56,13 @@
* [including the GNU Public Licence.]
*/
#ifndef HEADER_CONF_H
#ifndef HEADER_CONF_H
#define HEADER_CONF_H
#include <openssl/bio.h>
#include <openssl/lhash.h>
#include <openssl/stack.h>
#include <openssl/safestack.h>
#include <openssl/e_os.h>
#ifdef __cplusplus
extern "C" {
@@ -86,14 +85,14 @@ typedef struct conf_method_st CONF_METHOD;
struct conf_method_st
{
const char *name;
CONF *(MS_FAR *create)(CONF_METHOD *meth);
int (MS_FAR *init)(CONF *conf);
int (MS_FAR *destroy)(CONF *conf);
int (MS_FAR *destroy_data)(CONF *conf);
int (MS_FAR *load)(CONF *conf, BIO *bp, long *eline);
int (MS_FAR *dump)(CONF *conf, BIO *bp);
int (MS_FAR *is_number)(CONF *conf, char c);
int (MS_FAR *to_int)(CONF *conf, char c);
CONF *(*create)(CONF_METHOD *meth);
int (*init)(CONF *conf);
int (*destroy)(CONF *conf);
int (*destroy_data)(CONF *conf);
int (*load)(CONF *conf, BIO *bp, long *eline);
int (*dump)(CONF *conf, BIO *bp);
int (*is_number)(CONF *conf, char c);
int (*to_int)(CONF *conf, char c);
};
int CONF_set_default_method(CONF_METHOD *meth);

View File

@@ -67,6 +67,7 @@
#include <string.h>
#include <openssl/conf.h>
#include <openssl/conf_api.h>
#include "e_os.h"
static void value_free_hash(CONF_VALUE *a, LHASH *conf);
static void value_free_stack(CONF_VALUE *a,LHASH *conf);

View File

@@ -71,6 +71,7 @@
#define CONF_COMMENT 128
#define CONF_FCOMMENT 2048
#define CONF_EOF 8
#define CONF_HIGHBIT 4096
#define CONF_ALPHA (CONF_UPPER|CONF_LOWER)
#define CONF_ALPHA_NUMERIC (CONF_ALPHA|CONF_NUMBER|CONF_UNDER)
#define CONF_ALPHA_NUMERIC_PUNCT (CONF_ALPHA|CONF_NUMBER|CONF_UNDER| \
@@ -78,68 +79,102 @@
#define KEYTYPES(c) ((unsigned short *)((c)->meth_data))
#ifndef CHARSET_EBCDIC
#define IS_COMMENT(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_ALPHA_NUMERIC)
#define IS_COMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC)
#define IS_ALPHA_NUMERIC_PUNCT(c,a) \
(KEYTYPES(c)[(a)&0x7f]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_DQUOTE)
(KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_DQUOTE)
#define IS_HIGHBIT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_HIGHBIT)
#else /*CHARSET_EBCDIC*/
#define IS_COMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_ALPHA_NUMERIC)
#define IS_COMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ALPHA_NUMERIC)
#define IS_ALPHA_NUMERIC_PUNCT(c,a) \
(KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_DQUOTE)
(KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_DQUOTE)
#define IS_HIGHBIT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_HIGHBIT)
#endif /*CHARSET_EBCDIC*/
static unsigned short CONF_type_default[128]={
0x008,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x000,0x010,0x010,0x000,0x000,0x010,0x000,0x000,
0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x010,0x200,0x040,0x080,0x000,0x200,0x200,0x040,
0x000,0x000,0x200,0x200,0x200,0x200,0x200,0x200,
0x001,0x001,0x001,0x001,0x001,0x001,0x001,0x001,
0x001,0x001,0x000,0x200,0x000,0x000,0x000,0x200,
0x200,0x002,0x002,0x002,0x002,0x002,0x002,0x002,
0x002,0x002,0x002,0x002,0x002,0x002,0x002,0x002,
0x002,0x002,0x002,0x002,0x002,0x002,0x002,0x002,
0x002,0x002,0x002,0x000,0x020,0x000,0x200,0x100,
0x040,0x004,0x004,0x004,0x004,0x004,0x004,0x004,
0x004,0x004,0x004,0x004,0x004,0x004,0x004,0x004,
0x004,0x004,0x004,0x004,0x004,0x004,0x004,0x004,
0x004,0x004,0x004,0x000,0x200,0x000,0x200,0x000,
static unsigned short CONF_type_default[256]={
0x0008,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0010,0x0010,0x0000,0x0000,0x0010,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0010,0x0200,0x0040,0x0080,0x0000,0x0200,0x0200,0x0040,
0x0000,0x0000,0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,
0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
0x0001,0x0001,0x0000,0x0200,0x0000,0x0000,0x0000,0x0200,
0x0200,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
0x0002,0x0002,0x0002,0x0000,0x0020,0x0000,0x0200,0x0100,
0x0040,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
0x0004,0x0004,0x0004,0x0000,0x0200,0x0000,0x0200,0x0000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
};
static unsigned short CONF_type_win32[128]={
0x008,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x000,0x010,0x010,0x000,0x000,0x010,0x000,0x000,
0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
0x010,0x200,0x400,0x000,0x000,0x200,0x200,0x000,
0x000,0x000,0x200,0x200,0x200,0x200,0x200,0x200,
0x001,0x001,0x001,0x001,0x001,0x001,0x001,0x001,
0x001,0x001,0x000,0xA00,0x000,0x000,0x000,0x200,
0x200,0x002,0x002,0x002,0x002,0x002,0x002,0x002,
0x002,0x002,0x002,0x002,0x002,0x002,0x002,0x002,
0x002,0x002,0x002,0x002,0x002,0x002,0x002,0x002,
0x002,0x002,0x002,0x000,0x000,0x000,0x200,0x100,
0x000,0x004,0x004,0x004,0x004,0x004,0x004,0x004,
0x004,0x004,0x004,0x004,0x004,0x004,0x004,0x004,
0x004,0x004,0x004,0x004,0x004,0x004,0x004,0x004,
0x004,0x004,0x004,0x000,0x200,0x000,0x200,0x000,
static unsigned short CONF_type_win32[256]={
0x0008,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0010,0x0010,0x0000,0x0000,0x0010,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
0x0010,0x0200,0x0400,0x0000,0x0000,0x0200,0x0200,0x0000,
0x0000,0x0000,0x0200,0x0200,0x0200,0x0200,0x0200,0x0200,
0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,0x0001,
0x0001,0x0001,0x0000,0x0A00,0x0000,0x0000,0x0000,0x0200,
0x0200,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,0x0002,
0x0002,0x0002,0x0002,0x0000,0x0000,0x0000,0x0200,0x0100,
0x0000,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,0x0004,
0x0004,0x0004,0x0004,0x0000,0x0200,0x0000,0x0200,0x0000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,0x1000,
};

View File

@@ -12,8 +12,9 @@ $DQUOTE=0x400;
$COMMENT=0x80;
$FCOMMENT=0x800;
$EOF=0x08;
$HIGHBIT=0x1000;
foreach (0 .. 127)
foreach (0 .. 255)
{
$v=0;
$c=sprintf("%c",$_);
@@ -27,11 +28,12 @@ foreach (0 .. 127)
$v|=$QUOTE if ($c =~ /['`"]/); # for emacs: "`'}/)
$v|=$COMMENT if ($c =~ /\#/);
$v|=$EOF if ($c =~ /\0/);
$v|=$HIGHBIT if ($c =~/[\x80-\xff]/);
push(@V_def,$v);
}
foreach (0 .. 127)
foreach (0 .. 255)
{
$v=0;
$c=sprintf("%c",$_);
@@ -44,6 +46,7 @@ foreach (0 .. 127)
$v|=$DQUOTE if ($c =~ /["]/); # for emacs: "}/)
$v|=$FCOMMENT if ($c =~ /;/);
$v|=$EOF if ($c =~ /\0/);
$v|=$HIGHBIT if ($c =~/[\x80-\xff]/);
push(@V_w32,$v);
}
@@ -122,6 +125,7 @@ print <<"EOF";
#define CONF_COMMENT $COMMENT
#define CONF_FCOMMENT $FCOMMENT
#define CONF_EOF $EOF
#define CONF_HIGHBIT $HIGHBIT
#define CONF_ALPHA (CONF_UPPER|CONF_LOWER)
#define CONF_ALPHA_NUMERIC (CONF_ALPHA|CONF_NUMBER|CONF_UNDER)
#define CONF_ALPHA_NUMERIC_PUNCT (CONF_ALPHA|CONF_NUMBER|CONF_UNDER| \\
@@ -129,51 +133,53 @@ print <<"EOF";
#define KEYTYPES(c) ((unsigned short *)((c)->meth_data))
#ifndef CHARSET_EBCDIC
#define IS_COMMENT(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_ALPHA_NUMERIC)
#define IS_COMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC)
#define IS_ALPHA_NUMERIC_PUNCT(c,a) \\
(KEYTYPES(c)[(a)&0x7f]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[(a)&0x7f]&CONF_DQUOTE)
(KEYTYPES(c)[(a)&0xff]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_DQUOTE)
#define IS_HIGHBIT(c,a) (KEYTYPES(c)[(a)&0xff]&CONF_HIGHBIT)
#else /*CHARSET_EBCDIC*/
#define IS_COMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_ALPHA_NUMERIC)
#define IS_COMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_COMMENT)
#define IS_FCOMMENT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_FCOMMENT)
#define IS_EOF(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_EOF)
#define IS_ESC(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ESC)
#define IS_NUMBER(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_NUMBER)
#define IS_WS(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_WS)
#define IS_ALPHA_NUMERIC(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ALPHA_NUMERIC)
#define IS_ALPHA_NUMERIC_PUNCT(c,a) \\
(KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0x7f]&CONF_DQUOTE)
(KEYTYPES(c)[os_toascii[a]&0xff]&CONF_ALPHA_NUMERIC_PUNCT)
#define IS_QUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_QUOTE)
#define IS_DQUOTE(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_DQUOTE)
#define IS_HIGHBIT(c,a) (KEYTYPES(c)[os_toascii[a]&0xff]&CONF_HIGHBIT)
#endif /*CHARSET_EBCDIC*/
EOF
print "static unsigned short CONF_type_default[128]={";
print "static unsigned short CONF_type_default[256]={";
for ($i=0; $i<128; $i++)
for ($i=0; $i<256; $i++)
{
print "\n\t" if ($i % 8) == 0;
printf "0x%03X,",$V_def[$i];
printf "0x%04X,",$V_def[$i];
}
print "\n\t};\n\n";
print "static unsigned short CONF_type_win32[128]={";
print "static unsigned short CONF_type_win32[256]={";
for ($i=0; $i<128; $i++)
for ($i=0; $i<256; $i++)
{
print "\n\t" if ($i % 8) == 0;
printf "0x%03X,",$V_w32[$i];
printf "0x%04X,",$V_w32[$i];
}
print "\n\t};\n\n";

View File

@@ -61,7 +61,7 @@ static unsigned const char cov_2char[64]={
void fcrypt_body(DES_LONG *out,des_key_schedule ks,
DES_LONG Eswap0, DES_LONG Eswap1);
#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT)
#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(_DARWIN)
char *crypt(const char *buf, const char *salt)
{
return(des_crypt(buf, salt));

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
#if !defined(MSDOS) && !defined(VMS) && !defined(WIN32)
#if !defined(MSDOS) && !defined(VMS) && !defined(WIN32) && !defined(VXWORKS)
#include <openssl/opensslconf.h>
#ifdef OPENSSL_UNISTD
# include OPENSSL_UNISTD
@@ -133,6 +133,12 @@
#define SGTTY
#endif
#if defined(VXWORKS)
#undef TERMIOS
#undef TERMIO
#undef SGTTY
#endif
#ifdef TERMIOS
#include <termios.h>
#define TTY_STRUCT struct termios
@@ -240,7 +246,7 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
long status;
unsigned short channel = 0;
#else
#ifndef MSDOS
#if !defined(MSDOS) && !defined(VXWORKS)
TTY_STRUCT tty_orig,tty_new;
#endif
#endif
@@ -268,7 +274,7 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
#ifdef MSDOS
if ((tty=fopen("con","r")) == NULL)
tty=stdin;
#elif defined(MAC_OS_pre_X)
#elif defined(MAC_OS_pre_X) || defined(VXWORKS)
tty=stdin;
#else
#ifndef MPE
@@ -366,7 +372,7 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
error:
fprintf(stderr,"\n");
#ifdef DEBUG
#if 0
perror("fgets(tty)");
#endif
/* What can we do if there is an error? */

View File

@@ -195,6 +195,7 @@ void ERR_load_DH_strings(void);
#define DH_F_DH_NEW 105
/* Reason codes. */
#define DH_R_BAD_GENERATOR 101
#define DH_R_NO_PRIVATE_VALUE 100
#ifdef __cplusplus

View File

@@ -1,6 +1,6 @@
/* crypto/dh/dh_err.c */
/* ====================================================================
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
* Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -77,6 +77,7 @@ static ERR_STRING_DATA DH_str_functs[]=
static ERR_STRING_DATA DH_str_reasons[]=
{
{DH_R_BAD_GENERATOR ,"bad generator"},
{DH_R_NO_PRIVATE_VALUE ,"no private value"},
{0,NULL}
};

View File

@@ -82,7 +82,10 @@
* Since DH should be using a safe prime (both p and q are prime),
* this generator function can take a very very long time to run.
*/
/* Actually there is no reason to insist that 'generator' be a generator.
* It's just as OK (and in some sense better) to use a generator of the
* order-q subgroup.
*/
DH *DH_generate_parameters(int prime_len, int generator,
void (*callback)(int,int,void *), void *cb_arg)
{
@@ -100,30 +103,43 @@ DH *DH_generate_parameters(int prime_len, int generator,
t2 = BN_CTX_get(ctx);
if (t1 == NULL || t2 == NULL) goto err;
if (generator <= 1)
{
DHerr(DH_F_DH_GENERATE_PARAMETERS, DH_R_BAD_GENERATOR);
goto err;
}
if (generator == DH_GENERATOR_2)
{
BN_set_word(t1,24);
BN_set_word(t2,11);
if (!BN_set_word(t1,24)) goto err;
if (!BN_set_word(t2,11)) goto err;
g=2;
}
#ifdef undef /* does not work for safe primes */
#if 0 /* does not work for safe primes */
else if (generator == DH_GENERATOR_3)
{
BN_set_word(t1,12);
BN_set_word(t2,5);
if (!BN_set_word(t1,12)) goto err;
if (!BN_set_word(t2,5)) goto err;
g=3;
}
#endif
else if (generator == DH_GENERATOR_5)
{
BN_set_word(t1,10);
BN_set_word(t2,3);
if (!BN_set_word(t1,10)) goto err;
if (!BN_set_word(t2,3)) goto err;
/* BN_set_word(t3,7); just have to miss
* out on these ones :-( */
g=5;
}
else
{
/* in the general case, don't worry if 'generator' is a
* generator or not: since we are using safe primes,
* it will generate either an order-q or an order-2q group,
* which both is OK */
if (!BN_set_word(t1,2)) goto err;
if (!BN_set_word(t2,1)) goto err;
g=generator;
}
p=BN_generate_prime(NULL,prime_len,1,t1,t2,callback,cb_arg);
if (p == NULL) goto err;

View File

@@ -66,6 +66,7 @@
#include <openssl/bio.h>
#include <openssl/bn.h>
#include <openssl/rand.h>
#include <openssl/err.h>
#ifdef NO_DH
int main(int argc, char *argv[])
@@ -112,6 +113,16 @@ int main(int argc, char *argv[])
a=DH_generate_parameters(64,DH_GENERATOR_5,cb,out);
if (a == NULL) goto err;
if (!DH_check(a, &i)) goto err;
if (i & DH_CHECK_P_NOT_PRIME)
BIO_puts(out, "p value is not prime\n");
if (i & DH_CHECK_P_NOT_SAFE_PRIME)
BIO_puts(out, "p value is not a safe prime\n");
if (i & DH_UNABLE_TO_CHECK_GENERATOR)
BIO_puts(out, "unable to check the generator value\n");
if (i & DH_NOT_SUITABLE_GENERATOR)
BIO_puts(out, "the g value is not a generator\n");
BIO_puts(out,"\np =");
BN_print(out,a->p);
BIO_puts(out,"\ng =");
@@ -170,6 +181,8 @@ int main(int argc, char *argv[])
else
ret=0;
err:
ERR_print_errors_fp(stderr);
if (abuf != NULL) OPENSSL_free(abuf);
if (bbuf != NULL) OPENSSL_free(bbuf);
if(b != NULL) DH_free(b);

View File

@@ -92,21 +92,21 @@ err_all.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
err_all.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
err_all.o: ../../include/openssl/des.h ../../include/openssl/dh.h
err_all.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h
err_all.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
err_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h
err_all.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
err_all.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
err_all.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
err_all.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
err_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
err_all.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs12.h
err_all.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h
err_all.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
err_all.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
err_all.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
err_all.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
err_all.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
err_all.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
err_all.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
err_all.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
err_all.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
err_all.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
err_all.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
err_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
err_all.o: ../../include/openssl/opensslv.h ../../include/openssl/pem2.h
err_all.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h
err_all.o: ../../include/openssl/rand.h ../../include/openssl/rc2.h
err_all.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
err_all.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
err_all.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
err_all.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
err_all.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
err_all.o: ../../include/openssl/x509v3.h
err_prn.o: ../../include/openssl/bio.h ../../include/openssl/buffer.h
err_prn.o: ../../include/openssl/crypto.h ../../include/openssl/e_os.h
err_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h

View File

@@ -277,6 +277,13 @@ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
eof++;
}
if (v == B64_CR)
{
ln = 0;
if (exp_nl)
continue;
}
/* eoln */
if (v == B64_EOLN)
{

View File

@@ -499,7 +499,7 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,
#define EVP_CIPHER_key_length(e) ((e)->key_len)
#define EVP_CIPHER_iv_length(e) ((e)->iv_len)
#define EVP_CIPHER_flags(e) ((e)->flags)
#define EVP_CIPHER_mode(e) ((e)->flags) & EVP_CIPH_MODE)
#define EVP_CIPHER_mode(e) (((e)->flags) & EVP_CIPH_MODE)
#define EVP_CIPHER_CTX_cipher(e) ((e)->cipher)
#define EVP_CIPHER_CTX_nid(e) ((e)->cipher->nid)

View File

@@ -75,7 +75,6 @@ main()
buf[0]='\0';
fgets(buf,256,stdin);
if (buf[0] == '\0') break;
buf[256]='\0';
i=strlen(buf);
p=OPENSSL_malloc(i+1);
memcpy(p,buf,i+1);

View File

@@ -2,7 +2,7 @@
# SSLeay/crypto/md/Makefile
#
DIR= md
DIR= md2
TOP= ../..
CC= cc
INCLUDES=

View File

@@ -14,6 +14,7 @@ MAKE= make -f Makefile.ssl
MAKEDEPEND= $(TOP)/util/domd $(TOP)
MAKEFILE= Makefile.ssl
AR= ar r
PERL= perl
CFLAGS= $(INCLUDES) $(CFLAG)
@@ -44,11 +45,11 @@ lib: $(LIBOBJ)
@touch lib
obj_dat.h: obj_dat.pl obj_mac.h
perl obj_dat.pl obj_mac.h obj_dat.h
$(PERL) obj_dat.pl obj_mac.h obj_dat.h
# objects.pl both reads and writes obj_mac.num
obj_mac.h: objects.pl objects.txt obj_mac.num
perl objects.pl objects.txt obj_mac.num obj_mac.h
$(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
files:
$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO

View File

@@ -645,6 +645,8 @@ int OBJ_create(char *oid, char *sn, char *ln)
return(0);
}
i=a2d_ASN1_OBJECT(buf,i,oid,-1);
if (i == 0)
goto err;
op=(ASN1_OBJECT *)ASN1_OBJECT_create(OBJ_new_nid(1),buf,i,sn,ln);
if (op == NULL)
goto err;

View File

@@ -67,7 +67,7 @@
#define NUM_LN 402
#define NUM_OBJ 376
static unsigned char lvalues[2941]={
static unsigned char lvalues[2951]={
0x00, /* [ 0] OBJ_undef */
0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 1] OBJ_rsadsi */
0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 7] OBJ_pkcs */
@@ -429,21 +429,21 @@ static unsigned char lvalues[2941]={
0x2B,0x06,0x01,0x05, /* [2851] OBJ_Security */
0x2B,0x06,0x01,0x06, /* [2855] OBJ_SNMPv2 */
0x2B,0x06,0x01,0x07, /* [2859] OBJ_Mail */
0x01, /* [2863] OBJ_Enterprises */
0xBA,0x82,0x58, /* [2864] OBJ_dcObject */
0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x19,/* [2867] OBJ_domainComponent */
0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0D,/* [2877] OBJ_Domain */
0x50, /* [2887] OBJ_joint_iso_ccitt */
0x55,0x01,0x05, /* [2888] OBJ_selected_attribute_types */
0x55,0x01,0x05,0x37, /* [2891] OBJ_clearance */
0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x03,/* [2895] OBJ_md4WithRSAEncryption */
0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0A, /* [2904] OBJ_ac_proxying */
0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0B, /* [2912] OBJ_sinfo_access */
0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x06, /* [2920] OBJ_id_aca_encAttrs */
0x55,0x04,0x48, /* [2928] OBJ_role */
0x55,0x1D,0x24, /* [2931] OBJ_policy_constraints */
0x55,0x1D,0x37, /* [2934] OBJ_target_information */
0x55,0x1D,0x38, /* [2937] OBJ_no_rev_avail */
0x2B,0x06,0x01,0x04,0x01, /* [2863] OBJ_Enterprises */
0x2B,0x06,0x01,0x04,0x01,0x8B,0x3A,0x82,0x58,/* [2868] OBJ_dcObject */
0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x01,0x19,/* [2877] OBJ_domainComponent */
0x09,0x92,0x26,0x89,0x93,0xF2,0x2C,0x64,0x04,0x0D,/* [2887] OBJ_Domain */
0x50, /* [2897] OBJ_joint_iso_ccitt */
0x55,0x01,0x05, /* [2898] OBJ_selected_attribute_types */
0x55,0x01,0x05,0x37, /* [2901] OBJ_clearance */
0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x01,0x03,/* [2905] OBJ_md4WithRSAEncryption */
0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0A, /* [2914] OBJ_ac_proxying */
0x2B,0x06,0x01,0x05,0x05,0x07,0x01,0x0B, /* [2922] OBJ_sinfo_access */
0x2B,0x06,0x01,0x05,0x05,0x07,0x0A,0x06, /* [2930] OBJ_id_aca_encAttrs */
0x55,0x04,0x48, /* [2938] OBJ_role */
0x55,0x1D,0x24, /* [2941] OBJ_policy_constraints */
0x55,0x1D,0x37, /* [2944] OBJ_target_information */
0x55,0x1D,0x38, /* [2947] OBJ_no_rev_avail */
};
static ASN1_OBJECT nid_objs[NUM_NID]={
@@ -1052,29 +1052,29 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
{"security","Security",NID_Security,4,&(lvalues[2851]),0},
{"snmpv2","SNMPv2",NID_SNMPv2,4,&(lvalues[2855]),0},
{"mail","Mail",NID_Mail,4,&(lvalues[2859]),0},
{"enterprises","Enterprises",NID_Enterprises,1,&(lvalues[2863]),0},
{"dcobject","dcObject",NID_dcObject,3,&(lvalues[2864]),0},
{"DC","domainComponent",NID_domainComponent,10,&(lvalues[2867]),0},
{"domain","Domain",NID_Domain,10,&(lvalues[2877]),0},
{"enterprises","Enterprises",NID_Enterprises,5,&(lvalues[2863]),0},
{"dcobject","dcObject",NID_dcObject,9,&(lvalues[2868]),0},
{"DC","domainComponent",NID_domainComponent,10,&(lvalues[2877]),0},
{"domain","Domain",NID_Domain,10,&(lvalues[2887]),0},
{"JOINT-ISO-CCITT","joint-iso-ccitt",NID_joint_iso_ccitt,1,
&(lvalues[2887]),0},
&(lvalues[2897]),0},
{"selected-attribute-types","Selected Attribute Types",
NID_selected_attribute_types,3,&(lvalues[2888]),0},
{"clearance","clearance",NID_clearance,4,&(lvalues[2891]),0},
NID_selected_attribute_types,3,&(lvalues[2898]),0},
{"clearance","clearance",NID_clearance,4,&(lvalues[2901]),0},
{"RSA-MD4","md4WithRSAEncryption",NID_md4WithRSAEncryption,9,
&(lvalues[2895]),0},
{"ac-proxying","ac-proxying",NID_ac_proxying,8,&(lvalues[2904]),0},
&(lvalues[2905]),0},
{"ac-proxying","ac-proxying",NID_ac_proxying,8,&(lvalues[2914]),0},
{"subjectInfoAccess","Subject Information Access",NID_sinfo_access,8,
&(lvalues[2912]),0},
&(lvalues[2922]),0},
{"id-aca-encAttrs","id-aca-encAttrs",NID_id_aca_encAttrs,8,
&(lvalues[2920]),0},
{"role","role",NID_role,3,&(lvalues[2928]),0},
&(lvalues[2930]),0},
{"role","role",NID_role,3,&(lvalues[2938]),0},
{"policyConstraints","X509v3 Policy Constraints",
NID_policy_constraints,3,&(lvalues[2931]),0},
NID_policy_constraints,3,&(lvalues[2941]),0},
{"targetInformation","X509v3 AC Targeting",NID_target_information,3,
&(lvalues[2934]),0},
&(lvalues[2944]),0},
{"noRevAvail","X509v3 No Revocation Available",NID_no_rev_avail,3,
&(lvalues[2937]),0},
&(lvalues[2947]),0},
};
static ASN1_OBJECT *sn_objs[NUM_SN]={
@@ -1889,7 +1889,6 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
static ASN1_OBJECT *obj_objs[NUM_OBJ]={
&(nid_objs[ 0]),/* OBJ_undef 0 */
&(nid_objs[389]),/* OBJ_Enterprises 1 */
&(nid_objs[181]),/* OBJ_iso 1 */
&(nid_objs[182]),/* OBJ_member_body 1 2 */
&(nid_objs[379]),/* OBJ_org 1 3 */
@@ -1935,7 +1934,6 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
&(nid_objs[126]),/* OBJ_ext_key_usage 2 5 29 37 */
&(nid_objs[402]),/* OBJ_target_information 2 5 29 55 */
&(nid_objs[403]),/* OBJ_no_rev_avail 2 5 29 56 */
&(nid_objs[390]),/* OBJ_dcObject 1466 344 */
&(nid_objs[382]),/* OBJ_Directory 1 3 6 1 1 */
&(nid_objs[383]),/* OBJ_Management 1 3 6 1 2 */
&(nid_objs[384]),/* OBJ_Experimental 1 3 6 1 3 */
@@ -1949,6 +1947,7 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
&(nid_objs[96]),/* OBJ_mdc2WithRSA 2 5 8 3 100 */
&(nid_objs[95]),/* OBJ_mdc2 2 5 8 3 101 */
&(nid_objs[184]),/* OBJ_X9_57 1 2 840 10040 */
&(nid_objs[389]),/* OBJ_Enterprises 1 3 6 1 4 1 */
&(nid_objs[104]),/* OBJ_md5WithRSA 1 3 14 3 2 3 */
&(nid_objs[29]),/* OBJ_des_ecb 1 3 14 3 2 6 */
&(nid_objs[31]),/* OBJ_des_cbc 1 3 14 3 2 7 */
@@ -2142,6 +2141,7 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
&(nid_objs[188]),/* OBJ_SMIME 1 2 840 113549 1 9 16 */
&(nid_objs[156]),/* OBJ_friendlyName 1 2 840 113549 1 9 20 */
&(nid_objs[157]),/* OBJ_localKeyID 1 2 840 113549 1 9 21 */
&(nid_objs[390]),/* OBJ_dcObject 1 3 6 1 4 1 1466 344 */
&(nid_objs[91]),/* OBJ_bf_cbc 1 3 6 1 4 1 3029 1 2 */
&(nid_objs[315]),/* OBJ_id_regCtrl_regToken 1 3 6 1 5 5 7 5 1 1 */
&(nid_objs[316]),/* OBJ_id_regCtrl_authenticator 1 3 6 1 5 5 7 5 1 2 */

View File

@@ -1817,12 +1817,12 @@
#define SN_Enterprises "enterprises"
#define LN_Enterprises "Enterprises"
#define NID_Enterprises 389
#define OBJ_Enterprises OBJ_private,1L
#define OBJ_Enterprises OBJ_Private,1L
#define SN_dcObject "dcobject"
#define LN_dcObject "dcObject"
#define NID_dcObject 390
#define OBJ_dcObject OBJ_enterprises,1466L,344L
#define OBJ_dcObject OBJ_Enterprises,1466L,344L
#define SN_domainComponent "DC"
#define LN_domainComponent "domainComponent"

View File

@@ -208,6 +208,8 @@ sub process_oid
if (!($a[0] =~ /^[0-9]+$/))
{
$a[0] =~ s/-/_/g;
if (!defined($obj{$a[0]}))
{ die "$ARGV[0]:$o:Undefined identifier ",$a[0],"\n"; }
$pref_oid = "OBJ_" . $a[0];
$pref_sep = ",";
shift @a;

View File

@@ -406,10 +406,9 @@ id-on 1 : id-on-personalData
# personal data attributes
id-pda 1 : id-pda-dateOfBirth
id-pda 2 : id-pda-placeOfBirth
id-pda 3 : id-pda-pseudonym
id-pda 4 : id-pda-gender
id-pda 5 : id-pda-countryOfCitizenship
id-pda 6 : id-pda-countryOfResidence
id-pda 3 : id-pda-gender
id-pda 4 : id-pda-countryOfCitizenship
id-pda 5 : id-pda-countryOfResidence
# attribute certificate attributes
id-aca 1 : id-aca-authenticationInfo
@@ -594,10 +593,10 @@ internet 5 : security : Security
internet 6 : snmpv2 : SNMPv2
internet 7 : mail : Mail
private 1 : enterprises : Enterprises
Private 1 : enterprises : Enterprises
# RFC 2247
enterprises 1466 344 : dcobject : dcObject
Enterprises 1466 344 : dcobject : dcObject
# Stray OIDs we don't know the full name of each step for
# RFC 2247

View File

@@ -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 0x0090603fL
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.6c 21 dec 2001"
#define OPENSSL_VERSION_NUMBER 0x00906041L
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.6d-beta1 17 Apr 2002"
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@@ -326,7 +326,7 @@ int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc,
/* create the right magic header stuff */
buf[0]='\0';
PEM_proc_type(buf,PEM_TYPE_ENCRYPTED);
PEM_dek_info(buf,objstr,8,(char *)iv);
PEM_dek_info(buf,objstr,enc->iv_len,(char *)iv);
/* use the normal code to write things out */
i=PEM_write_bio(bp,PEM_STRING_RSA,buf,data,i);

View File

@@ -373,7 +373,7 @@ int PEM_ASN1_write_bio(int (*i2d)(), const char *name, BIO *bp, char *x,
kstr=(unsigned char *)buf;
}
RAND_add(data,i,0);/* put in the RSA key. */
if (RAND_pseudo_bytes(iv,8) < 0) /* Generate a salt */
if (RAND_pseudo_bytes(iv,enc->iv_len) < 0) /* Generate a salt */
goto err;
/* The 'iv' is used as the iv and as a salt. It is
* NOT taken from the BytesToKey function */
@@ -383,7 +383,7 @@ int PEM_ASN1_write_bio(int (*i2d)(), const char *name, BIO *bp, char *x,
buf[0]='\0';
PEM_proc_type(buf,PEM_TYPE_ENCRYPTED);
PEM_dek_info(buf,objstr,8,(char *)iv);
PEM_dek_info(buf,objstr,enc->iv_len,(char *)iv);
/* k=strlen(buf); */
EVP_EncryptInit(&ctx,enc,key,iv);
@@ -506,7 +506,7 @@ int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
PEMerr(PEM_F_PEM_GET_EVP_CIPHER_INFO,PEM_R_UNSUPPORTED_ENCRYPTION);
return(0);
}
if (!load_iv((unsigned char **)&header,&(cipher->iv[0]),8)) return(0);
if (!load_iv((unsigned char **)&header,&(cipher->iv[0]),enc->iv_len)) return(0);
return(1);
}

View File

@@ -123,13 +123,12 @@ pk7_doit.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
pk7_doit.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
pk7_doit.o: ../../include/openssl/des.h ../../include/openssl/dh.h
pk7_doit.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
pk7_doit.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
pk7_doit.o: ../../include/openssl/err.h ../../include/openssl/evp.h
pk7_doit.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
pk7_doit.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
pk7_doit.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
pk7_doit.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
pk7_doit.o: ../../include/openssl/opensslconf.h
pk7_doit.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
pk7_doit.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
pk7_doit.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
pk7_doit.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
pk7_doit.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
pk7_doit.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
pk7_doit.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
pk7_doit.o: ../../include/openssl/rand.h ../../include/openssl/rc2.h
pk7_doit.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
@@ -183,12 +182,12 @@ pk7_smime.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
pk7_smime.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
pk7_smime.o: ../../include/openssl/des.h ../../include/openssl/dh.h
pk7_smime.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
pk7_smime.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
pk7_smime.o: ../../include/openssl/err.h ../../include/openssl/evp.h
pk7_smime.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
pk7_smime.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
pk7_smime.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
pk7_smime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
pk7_smime.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
pk7_smime.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
pk7_smime.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
pk7_smime.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
pk7_smime.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
pk7_smime.o: ../../include/openssl/objects.h
pk7_smime.o: ../../include/openssl/opensslconf.h
pk7_smime.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
pk7_smime.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h

View File

@@ -67,6 +67,38 @@ static int add_attribute(STACK_OF(X509_ATTRIBUTE) **sk, int nid, int atrtype,
void *value);
static ASN1_TYPE *get_attribute(STACK_OF(X509_ATTRIBUTE) *sk, int nid);
static int PKCS7_type_is_other(PKCS7* p7)
{
int isOther=1;
int nid=OBJ_obj2nid(p7->type);
switch( nid )
{
case NID_pkcs7_data:
case NID_pkcs7_signed:
case NID_pkcs7_enveloped:
case NID_pkcs7_signedAndEnveloped:
case NID_pkcs7_digest:
case NID_pkcs7_encrypted:
isOther=0;
break;
default:
isOther=1;
}
return isOther;
}
static int PKCS7_type_is_octet_string(PKCS7* p7)
{
if ( 0==PKCS7_type_is_other(p7) )
return 0;
return (V_ASN1_OCTET_STRING==p7->d.other->type) ? 1 : 0;
}
BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
{
int i,j;
@@ -222,13 +254,20 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
if (p7->detached)
bio=BIO_new(BIO_s_null());
else {
if (PKCS7_type_is_signed(p7) &&
PKCS7_type_is_data(p7->d.sign->contents)) {
ASN1_OCTET_STRING *os;
os=p7->d.sign->contents->d.data;
if (os->length > 0) bio =
BIO_new_mem_buf(os->data, os->length);
}
if (PKCS7_type_is_signed(p7) ) {
if ( PKCS7_type_is_data(p7->d.sign->contents)) {
ASN1_OCTET_STRING *os;
os=p7->d.sign->contents->d.data;
if (os->length > 0)
bio = BIO_new_mem_buf(os->data, os->length);
}
else if ( PKCS7_type_is_octet_string(p7->d.sign->contents) ) {
ASN1_OCTET_STRING *os;
os=p7->d.sign->contents->d.other->value.octet_string;
if (os->length > 0)
bio = BIO_new_mem_buf(os->data, os->length);
}
}
if(bio == NULL) {
bio=BIO_new(BIO_s_mem());
BIO_set_mem_eof_return(bio,0);

View File

@@ -75,7 +75,11 @@ int RAND_egd_bytes(const char *path,int bytes)
#include <sys/types.h>
#include <sys/socket.h>
#ifndef NO_SYS_UN_H
#include <sys/un.h>
# ifdef VXWORKS
# include <streams/un.h>
# else
# include <sys/un.h>
# endif
#else
struct sockaddr_un {
short sun_family; /* AF_UNIX */

View File

@@ -311,7 +311,7 @@ int RAND_poll(void)
if (gen(hProvider, sizeof(buf), buf) != 0)
{
RAND_add(buf, sizeof(buf), sizeof(buf));
#ifdef DEBUG
#if 0
printf("randomness from PROV_RSA_FULL\n");
#endif
}
@@ -324,7 +324,7 @@ int RAND_poll(void)
if (gen(hProvider, sizeof(buf), buf) != 0)
{
RAND_add(buf, sizeof(buf), sizeof(buf));
#ifdef DEBUG
#if 0
printf("randomness from PROV_INTEL_SEC\n");
#endif
}
@@ -510,7 +510,7 @@ int RAND_poll(void)
FreeLibrary(kernel);
}
#ifdef DEBUG
#if 0
printf("Exiting RAND_poll\n");
#endif

View File

@@ -101,9 +101,14 @@ typedef struct rsa_meth_st
* compatibility this functionality is only enabled if the RSA_FLAG_SIGN_VER
* option is set in 'flags'.
*/
int (*rsa_sign)(int type, unsigned char *m, unsigned int m_len,
/* changed m_len to m_length to avoid a conflict with a #define in
vxworks for m_len for the mbuf code. This only shows up in apps
that have USE_SOCKETS defined */
int (*rsa_sign)(int type, unsigned char *m, unsigned int m_length,
unsigned char *sigret, unsigned int *siglen, RSA *rsa);
int (*rsa_verify)(int dtype, unsigned char *m, unsigned int m_len,
int (*rsa_verify)(int dtype, unsigned char *m, unsigned int m_length,
unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
} RSA_METHOD;
@@ -226,16 +231,16 @@ RSA *d2i_Netscape_RSA_2(RSA **a, unsigned char **pp, long length, int (*cb)());
/* The following 2 functions sign and verify a X509_SIG ASN1 object
* inside PKCS#1 padded RSA encryption */
int RSA_sign(int type, unsigned char *m, unsigned int m_len,
int RSA_sign(int type, unsigned char *m, unsigned int m_length,
unsigned char *sigret, unsigned int *siglen, RSA *rsa);
int RSA_verify(int type, unsigned char *m, unsigned int m_len,
int RSA_verify(int type, unsigned char *m, unsigned int m_length,
unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
/* The following 2 function sign and verify a ASN1_OCTET_STRING
* object inside PKCS#1 padded RSA encryption */
int RSA_sign_ASN1_OCTET_STRING(int type, unsigned char *m, unsigned int m_len,
int RSA_sign_ASN1_OCTET_STRING(int type, unsigned char *m, unsigned int m_length,
unsigned char *sigret, unsigned int *siglen, RSA *rsa);
int RSA_verify_ASN1_OCTET_STRING(int type, unsigned char *m, unsigned int m_len,
int RSA_verify_ASN1_OCTET_STRING(int type, unsigned char *m, unsigned int m_length,
unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
int RSA_blinding_on(RSA *rsa, BN_CTX *ctx);

View File

@@ -178,8 +178,10 @@ int MGF1(unsigned char *mask, long len, unsigned char *seed, long seedlen)
for (i = 0; outlen < len; i++)
{
cnt[0] = (i >> 24) & 255, cnt[1] = (i >> 16) & 255,
cnt[2] = (i >> 8) & 255, cnt[3] = i & 255;
cnt[0] = (unsigned char)((i >> 24) & 255);
cnt[1] = (unsigned char)((i >> 16) & 255);
cnt[2] = (unsigned char)((i >> 8)) & 255;
cnt[3] = (unsigned char)(i & 255);
SHA1_Init(&c);
SHA1_Update(&c, seed, seedlen);
SHA1_Update(&c, cnt, 4);

View File

@@ -67,9 +67,11 @@
#ifndef MSDOS
# ifndef WIN32
# ifndef VXWORKS
# if !defined(VMS) || defined(__DECC)
# define TIMES
# endif
# endif
# endif
#endif
@@ -95,7 +97,7 @@
#include <sys/param.h>
#endif
#ifndef TIMES
#if !defined(TIMES) && !defined(VXWORKS)
#include <sys/timeb.h>
#endif
@@ -125,7 +127,11 @@ typedef struct ms_tm
HANDLE thread_id;
FILETIME ms_win32;
# else
# ifdef VXWORKS
unsigned long ticks;
# else
struct timeb ms_timeb;
# endif
# endif
#endif
} MS_TM;
@@ -163,7 +169,11 @@ void ms_time_get(char *a)
# ifdef WIN32
GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32));
# else
# ifdef VXWORKS
tm->ticks = tickGet();
# else
ftime(&tm->ms_timeb);
# endif
# endif
#endif
}
@@ -193,10 +203,14 @@ double ms_time_diff(char *ap, char *bp)
ret=((double)(lb-la))/1e7;
}
# else
# ifdef VXWORKS
ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet();
# else
ret= (double)(b->ms_timeb.time-a->ms_timeb.time)+
(((double)b->ms_timeb.millitm)-
((double)a->ms_timeb.millitm))/1000.0;
# endif
# endif
#endif
return((ret < 0.0000001)?0.0000001:ret);
}
@@ -214,9 +228,13 @@ int ms_time_cmp(char *ap, char *bp)
d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7;
d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7;
# else
# ifdef VXWORKS
d = (b->ticks - a->ticks);
# else
d= (double)(b->ms_timeb.time-a->ms_timeb.time)+
(((double)b->ms_timeb.millitm)-(double)a->ms_timeb.millitm)/1000.0;
# endif
# endif
#endif
if (d == 0.0)
ret=0;

View File

@@ -134,13 +134,12 @@ x509_att.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
x509_att.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
x509_att.o: ../../include/openssl/des.h ../../include/openssl/dh.h
x509_att.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
x509_att.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x509_att.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x509_att.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x509_att.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x509_att.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x509_att.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x509_att.o: ../../include/openssl/opensslconf.h
x509_att.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x509_att.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x509_att.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x509_att.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x509_att.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x509_att.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x509_att.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x509_att.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x509_att.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -155,13 +154,12 @@ x509_cmp.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
x509_cmp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
x509_cmp.o: ../../include/openssl/des.h ../../include/openssl/dh.h
x509_cmp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
x509_cmp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x509_cmp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x509_cmp.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x509_cmp.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x509_cmp.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x509_cmp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x509_cmp.o: ../../include/openssl/opensslconf.h
x509_cmp.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x509_cmp.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x509_cmp.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x509_cmp.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x509_cmp.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x509_cmp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x509_cmp.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x509_cmp.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x509_cmp.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -232,13 +230,12 @@ x509_ext.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
x509_ext.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
x509_ext.o: ../../include/openssl/des.h ../../include/openssl/dh.h
x509_ext.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
x509_ext.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x509_ext.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x509_ext.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x509_ext.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x509_ext.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x509_ext.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x509_ext.o: ../../include/openssl/opensslconf.h
x509_ext.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x509_ext.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x509_ext.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x509_ext.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x509_ext.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x509_ext.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x509_ext.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x509_ext.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x509_ext.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -349,13 +346,12 @@ x509_trs.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
x509_trs.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
x509_trs.o: ../../include/openssl/des.h ../../include/openssl/dh.h
x509_trs.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
x509_trs.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x509_trs.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x509_trs.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x509_trs.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x509_trs.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x509_trs.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x509_trs.o: ../../include/openssl/opensslconf.h
x509_trs.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x509_trs.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x509_trs.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x509_trs.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x509_trs.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x509_trs.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x509_trs.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x509_trs.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x509_trs.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -389,33 +385,32 @@ x509_v3.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
x509_v3.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
x509_v3.o: ../../include/openssl/des.h ../../include/openssl/dh.h
x509_v3.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
x509_v3.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x509_v3.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x509_v3.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x509_v3.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x509_v3.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x509_v3.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x509_v3.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
x509_v3.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
x509_v3.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
x509_v3.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
x509_v3.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
x509_v3.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
x509_v3.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
x509_v3.o: ../../include/openssl/x509v3.h ../cryptlib.h
x509_v3.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x509_v3.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x509_v3.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x509_v3.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x509_v3.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x509_v3.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x509_v3.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x509_v3.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x509_v3.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
x509_v3.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
x509_v3.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
x509_v3.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
x509_v3.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
x509_v3.o: ../cryptlib.h
x509_vfy.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
x509_vfy.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
x509_vfy.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
x509_vfy.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
x509_vfy.o: ../../include/openssl/des.h ../../include/openssl/dh.h
x509_vfy.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
x509_vfy.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
x509_vfy.o: ../../include/openssl/err.h ../../include/openssl/evp.h
x509_vfy.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
x509_vfy.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
x509_vfy.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
x509_vfy.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
x509_vfy.o: ../../include/openssl/opensslconf.h
x509_vfy.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
x509_vfy.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
x509_vfy.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
x509_vfy.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
x509_vfy.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
x509_vfy.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
x509_vfy.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
x509_vfy.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
x509_vfy.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h

View File

@@ -89,54 +89,53 @@ v3_akey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_akey.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_akey.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_akey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_akey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_akey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_akey.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_akey.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_akey.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_akey.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_akey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_akey.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_akey.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_akey.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_akey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_akey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_akey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_akey.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_akey.o: ../cryptlib.h
v3_akey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_akey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_akey.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_akey.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_akey.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_akey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_akey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_akey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_akey.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_akey.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_akey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_akey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_akey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_akey.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_alt.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_alt.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_alt.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_alt.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_alt.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_alt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_alt.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_alt.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_alt.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_alt.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_alt.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_alt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_alt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_alt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_alt.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_alt.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_alt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_alt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_alt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_alt.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_alt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_alt.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_alt.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_alt.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_alt.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_alt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_alt.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_alt.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_alt.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_alt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_alt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_alt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_alt.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_alt.o: ../cryptlib.h
v3_bcons.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
v3_bcons.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
v3_bcons.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_bcons.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_bcons.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_bcons.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_bcons.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_bcons.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_bcons.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_bcons.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_bcons.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_bcons.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_bcons.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_bcons.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_bcons.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_bcons.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_bcons.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_bcons.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_bcons.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_bcons.o: ../../include/openssl/opensslconf.h
v3_bcons.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_bcons.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_bcons.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -151,13 +150,12 @@ v3_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_bitst.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_bitst.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_bitst.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_bitst.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_bitst.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_bitst.o: ../../include/openssl/opensslconf.h
v3_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_bitst.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_bitst.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_bitst.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_bitst.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_bitst.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -172,33 +170,33 @@ v3_conf.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_conf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_conf.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_conf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_conf.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_conf.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_conf.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_conf.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_conf.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_conf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_conf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_conf.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_conf.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_conf.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_conf.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_conf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_conf.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_conf.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_conf.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_conf.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_conf.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_conf.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_conf.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_conf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_conf.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_conf.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_conf.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_conf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_conf.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_conf.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_conf.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_conf.o: ../cryptlib.h
v3_cpols.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
v3_cpols.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
v3_cpols.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_cpols.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_cpols.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_cpols.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_cpols.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_cpols.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_cpols.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_cpols.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_cpols.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_cpols.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_cpols.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_cpols.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_cpols.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_cpols.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_cpols.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_cpols.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_cpols.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_cpols.o: ../../include/openssl/opensslconf.h
v3_cpols.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_cpols.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_cpols.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -213,54 +211,52 @@ v3_crld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_crld.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_crld.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_crld.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_crld.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_crld.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_crld.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_crld.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_crld.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_crld.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_crld.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_crld.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_crld.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_crld.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_crld.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_crld.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_crld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_crld.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_crld.o: ../cryptlib.h
v3_crld.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_crld.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_crld.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_crld.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_crld.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_crld.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_crld.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_crld.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_crld.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_crld.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_crld.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_crld.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_crld.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_crld.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_enum.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_enum.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_enum.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_enum.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_enum.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_enum.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_enum.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_enum.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_enum.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_enum.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_enum.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_enum.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_enum.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_enum.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_enum.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_enum.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_enum.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_enum.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_enum.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_enum.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_enum.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_enum.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_enum.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_enum.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_enum.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_enum.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_enum.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_enum.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_enum.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_enum.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_enum.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_enum.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_enum.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_enum.o: ../cryptlib.h
v3_extku.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_extku.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_extku.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_extku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_extku.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_extku.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_extku.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_extku.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_extku.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_extku.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_extku.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_extku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_extku.o: ../../include/openssl/opensslconf.h
v3_extku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_extku.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_extku.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_extku.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_extku.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_extku.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_extku.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_extku.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_extku.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -275,196 +271,193 @@ v3_genn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_genn.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_genn.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_genn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_genn.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_genn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_genn.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_genn.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_genn.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_genn.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_genn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_genn.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_genn.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_genn.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_genn.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_genn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_genn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_genn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_genn.o: ../cryptlib.h
v3_genn.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_genn.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_genn.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_genn.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_genn.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_genn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_genn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_genn.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_genn.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_genn.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_genn.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_genn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_genn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_genn.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_ia5.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_ia5.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_ia5.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_ia5.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_ia5.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_ia5.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_ia5.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_ia5.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_ia5.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_ia5.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_ia5.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_ia5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_ia5.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_ia5.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_ia5.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_ia5.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_ia5.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_ia5.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_ia5.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_ia5.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_ia5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_ia5.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_ia5.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_ia5.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_ia5.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_ia5.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_ia5.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_ia5.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_ia5.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_ia5.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_ia5.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_ia5.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_ia5.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_ia5.o: ../cryptlib.h
v3_info.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
v3_info.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
v3_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_info.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_info.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_info.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_info.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_info.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_info.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_info.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_info.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_info.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_info.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_info.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_info.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_info.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_info.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_info.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_info.o: ../cryptlib.h
v3_info.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_info.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_info.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_info.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_info.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_info.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_info.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_info.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_info.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_info.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_info.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_info.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_int.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_int.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_int.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_int.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_int.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_int.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_int.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_int.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_int.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_int.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_int.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_int.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_int.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_int.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_int.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_int.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_int.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_int.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_int.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_int.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_int.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_int.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_int.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_int.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_int.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_int.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_int.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_int.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_int.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_int.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_int.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_int.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_int.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_int.o: ../cryptlib.h
v3_lib.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_lib.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_lib.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_lib.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_lib.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_lib.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_lib.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_lib.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_lib.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_lib.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_lib.o: ../../include/openssl/x509v3.h ../cryptlib.h ext_dat.h
v3_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_lib.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_lib.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_lib.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_lib.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_lib.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_lib.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_lib.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_lib.o: ../cryptlib.h ext_dat.h
v3_pku.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
v3_pku.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
v3_pku.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_pku.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_pku.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_pku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_pku.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_pku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_pku.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_pku.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_pku.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_pku.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_pku.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_pku.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_pku.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_pku.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_pku.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_pku.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_pku.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_pku.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_pku.o: ../cryptlib.h
v3_pku.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_pku.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_pku.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_pku.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_pku.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_pku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_pku.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_pku.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_pku.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_pku.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_pku.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_pku.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_pku.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_pku.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_prn.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_prn.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_prn.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_prn.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_prn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_prn.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_prn.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_prn.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_prn.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_prn.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_prn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_prn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_prn.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_prn.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_prn.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_prn.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_prn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_prn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_prn.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_prn.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_prn.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_prn.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_prn.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_prn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_prn.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_prn.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_prn.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_prn.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_prn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_prn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_prn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_prn.o: ../cryptlib.h
v3_purp.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_purp.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_purp.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_purp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_purp.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_purp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_purp.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_purp.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_purp.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_purp.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_purp.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_purp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_purp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_purp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_purp.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_purp.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_purp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_purp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_purp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_purp.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_purp.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_purp.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_purp.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_purp.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_purp.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_purp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_purp.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_purp.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_purp.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_purp.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_purp.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_purp.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_purp.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_purp.o: ../cryptlib.h
v3_skey.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3_skey.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3_skey.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_skey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_skey.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_skey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_skey.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_skey.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_skey.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_skey.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_skey.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_skey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_skey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_skey.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_skey.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_skey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_skey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_skey.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_skey.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_skey.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_skey.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_skey.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_skey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_skey.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_skey.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_skey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_skey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_skey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_skey.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_skey.o: ../cryptlib.h
v3_sxnet.o: ../../include/openssl/asn1.h ../../include/openssl/asn1_mac.h
v3_sxnet.o: ../../include/openssl/bio.h ../../include/openssl/blowfish.h
v3_sxnet.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h
v3_sxnet.o: ../../include/openssl/cast.h ../../include/openssl/conf.h
v3_sxnet.o: ../../include/openssl/crypto.h ../../include/openssl/des.h
v3_sxnet.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h
v3_sxnet.o: ../../include/openssl/e_os.h ../../include/openssl/e_os.h
v3_sxnet.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_sxnet.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_sxnet.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_sxnet.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_sxnet.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_sxnet.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_sxnet.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_sxnet.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_sxnet.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_sxnet.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_sxnet.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_sxnet.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_sxnet.o: ../../include/openssl/opensslconf.h
v3_sxnet.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_sxnet.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_sxnet.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
@@ -479,36 +472,36 @@ v3_utl.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3_utl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3_utl.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3_utl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3_utl.o: ../../include/openssl/e_os.h ../../include/openssl/e_os2.h
v3_utl.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3_utl.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3_utl.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3_utl.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3_utl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3_utl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3_utl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3_utl.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3_utl.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3_utl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3_utl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3_utl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3_utl.o: ../../include/openssl/x509v3.h ../cryptlib.h
v3_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3_utl.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3_utl.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3_utl.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3_utl.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3_utl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3_utl.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3_utl.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3_utl.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3_utl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3_utl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3_utl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3_utl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3_utl.o: ../cryptlib.h
v3err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
v3err.o: ../../include/openssl/blowfish.h ../../include/openssl/bn.h
v3err.o: ../../include/openssl/buffer.h ../../include/openssl/cast.h
v3err.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h
v3err.o: ../../include/openssl/des.h ../../include/openssl/dh.h
v3err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os.h
v3err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
v3err.o: ../../include/openssl/evp.h ../../include/openssl/idea.h
v3err.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h
v3err.o: ../../include/openssl/md4.h ../../include/openssl/md5.h
v3err.o: ../../include/openssl/mdc2.h ../../include/openssl/obj_mac.h
v3err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h
v3err.o: ../../include/openssl/opensslv.h ../../include/openssl/pkcs7.h
v3err.o: ../../include/openssl/rc2.h ../../include/openssl/rc4.h
v3err.o: ../../include/openssl/rc5.h ../../include/openssl/ripemd.h
v3err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h
v3err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h
v3err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h
v3err.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h
v3err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h
v3err.o: ../../include/openssl/err.h ../../include/openssl/evp.h
v3err.o: ../../include/openssl/idea.h ../../include/openssl/lhash.h
v3err.o: ../../include/openssl/md2.h ../../include/openssl/md4.h
v3err.o: ../../include/openssl/md5.h ../../include/openssl/mdc2.h
v3err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h
v3err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h
v3err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rc2.h
v3err.o: ../../include/openssl/rc4.h ../../include/openssl/rc5.h
v3err.o: ../../include/openssl/ripemd.h ../../include/openssl/rsa.h
v3err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h
v3err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
v3err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h
v3err.o: ../../include/openssl/x509v3.h

View File

@@ -250,7 +250,7 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(char *line)
*p = 0;
ntmp = strip_spaces(q);
q = p + 1;
#ifdef DEBUG
#if 0
printf("%s\n", ntmp);
#endif
if(!ntmp) {
@@ -266,7 +266,7 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(char *line)
state = HDR_NAME;
*p = 0;
vtmp = strip_spaces(q);
#ifdef DEBUG
#if 0
printf("%s\n", ntmp);
#endif
if(!vtmp) {
@@ -283,7 +283,7 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(char *line)
if(state == HDR_VALUE) {
vtmp = strip_spaces(q);
#ifdef DEBUG
#if 0
printf("%s=%s\n", ntmp, vtmp);
#endif
if(!vtmp) {
@@ -293,7 +293,7 @@ STACK_OF(CONF_VALUE) *X509V3_parse_list(char *line)
X509V3_add_value(ntmp, vtmp, &values);
} else {
ntmp = strip_spaces(q);
#ifdef DEBUG
#if 0
printf("%s\n", ntmp);
#endif
if(!ntmp) {

View File

@@ -91,8 +91,8 @@ char **argv;
EVP_CIPHER *cipher=NULL,*c;
char *inf=NULL,*outf=NULL;
BIO *in=NULL,*out=NULL,*b64=NULL,*benc=NULL,*rbio=NULL,*wbio=NULL;
#define PROG_NAME_SIZE 16
char pname[PROG_NAME_SIZE];
#define PROG_NAME_SIZE 39
char pname[PROG_NAME_SIZE+1];
apps_startup();

View File

@@ -72,7 +72,7 @@ void main_encrypt(void)
pubKey[0] = ReadPublicKey(PUBFILE);
if(!pubKey)
if(!pubKey[0])
{
fprintf(stderr,"Error: can't load public key");
exit(1);

View File

@@ -49,7 +49,7 @@ with a leading '-' for negative numbers, to the B<BIO> or B<FILE>
B<fp>.
BN_bn2mpi() and BN_mpi2bn() convert B<BIGNUM>s from and to a format
that consists of the number's length in bytes represented as a 3-byte
that consists of the number's length in bytes represented as a 4-byte
big-endian number, and the number itself in big-endian format, where
the most significant bit signals a negative number (the representation
of numbers with the MSB set is prefixed with null byte).

View File

@@ -2,7 +2,7 @@
=head1 NAME
OPENSSL_VERSION_NUMBER, SSLeay SSLeay_version - get OpenSSL version number
OPENSSL_VERSION_NUMBER, SSLeay, SSLeay_version - get OpenSSL version number
=head1 SYNOPSIS
@@ -11,7 +11,7 @@ OPENSSL_VERSION_NUMBER, SSLeay SSLeay_version - get OpenSSL version number
#include <openssl/crypto.h>
long SSLeay(void);
char *SSLeay_version(int t);
const char *SSLeay_version(int t);
=head1 DESCRIPTION
@@ -55,21 +55,28 @@ SSLeay_version() returns different strings depending on B<t>:
=over 4
=item SSLEAY_VERSION
The text variant of the version number and the release date. For example,
"OpenSSL 0.9.5a 1 Apr 2000".
=item SSLEAY_CFLAGS
The flags given to the C compiler when compiling OpenSSL are returned in a
string.
The compiler flags set for the compilation process in the form
"compiler: ..." if available or "compiler: information not available"
otherwise.
=item SSLEAY_BUILT_ON
The date of the build process in the form "built on: ..." if available
or "built on: date not available" otherwise.
=item SSLEAY_PLATFORM
The platform name used when OpenSSL was configured is returned.
The "Configure" target of the library build in the form "platform: ..."
if available or "platform: information not available" otherwise.
=back
If the data request isn't available, a text saying that the information is
not available is returned.
For an unknown B<t>, the text "not available" is returned.
=head1 RETURN VALUE

View File

@@ -19,7 +19,7 @@ be seeded prior to calling RSA_generate_key().
The modulus size will be B<num> bits, and the public exponent will be
B<e>. Key sizes with B<num> E<lt> 1024 should be considered insecure.
The exponent is an odd number, typically 3 or 65535.
The exponent is an odd number, typically 3, 17 or 65537.
A callback function may be used to provide feedback about the
progress of the key generation. If B<callback> is not B<NULL>, it

View File

@@ -27,7 +27,7 @@ BF_cfb64_encrypt, BF_ofb64_encrypt, BF_options - Blowfish encryption
=head1 DESCRIPTION
This library implements the Blowfish cipher, which is invented and described
This library implements the Blowfish cipher, which was invented and described
by Counterpane (see http://www.counterpane.com/blowfish.html ).
Blowfish is a block cipher that operates on 64 bit (8 byte) blocks of data.
@@ -57,7 +57,7 @@ for the same message. B<ivec> may be initialized with anything, but the
recipient needs to know what it was initialized with, or it won't be able
to decrypt. Some programs and protocols simplify this, like SSH, where
B<ivec> is simply initialized to zero.
BF_cbc_encrypt() operates of data that is a multiple of 8 bytes long, while
BF_cbc_encrypt() operates on data that is a multiple of 8 bytes long, while
BF_cfb64_encrypt() and BF_ofb64_encrypt() are used to encrypt an variable
number of bytes (the amount does not have to be an exact multiple of 8). The
purpose of the latter two is to simulate stream ciphers, and therefore, they

View File

@@ -46,7 +46,8 @@ L<sha(3)|sha(3)>
=item AUXILIARY FUNCTIONS
L<err(3)|err(3)>, L<threads(3)|threads(3)>, L<rand(3)|rand(3)>
L<err(3)|err(3)>, L<threads(3)|threads(3)>, L<rand(3)|rand(3)>,
L<OPENSSL_VERSION_NUMBER(3)|OPENSSL_VERSION_NUMBER(3)>
=item INPUT/OUTPUT, DATA ENCODING

View File

@@ -204,8 +204,8 @@ just one key.
=item *
If the first and last key are the same, the key length is 112 bits.
There are attacks that could reduce the key space to 55 bit's but it
requires 2^56 blocks of memory.
There are attacks that could reduce the effective key strength
to only slightly more than 56 bits, but these require a lot of memory.
=item *

View File

@@ -33,6 +33,7 @@ error stack to find out the reason for failure otherwise.
L<ssl(3)|ssl(3)>,
L<SSL_CTX_use_certificate(3)|SSL_CTX_use_certificate(3)>,
L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>,
L<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)>
=cut

View File

@@ -0,0 +1,90 @@
=pod
=head1 NAME
SSL_CTX_set_client_cert_cb, SSL_CTX_get_client_cert_cb - handle client certificate callback function
=head1 SYNOPSIS
#include <openssl/ssl.h>
void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey));
int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey);
=head1 DESCRIPTION
SSL_CTX_set_client_cert_cb() sets the B<client_cert_cb()> callback, that is
called when a client certificate is requested by a server.
When B<client_cert_cb()> is NULL, not callback function is used.
SSL_CTX_get_client_cert_cb() returns a pointer to the currently set callback
function.
client_cert_cb() is the application defined callback. If it wants to
set a certificate, a certificate/private key combination must be set
using the B<x509> and B<pkey> arguments and "1" must be returned. The
certificate will be installed into B<ssl>, see the NOTES and BUGS sections.
If no certificate should be set, "0" has to be returned and the default
certificate will be sent. A fatal error can be indicated by returning
a negative value, in which case the handshake will be canceled.
=head1 NOTES
During a handshake (or renegotiation) a server may request a certificate
from the client. A client certificate must only be sent, when the server
did send the request.
When no callback function is set, an OpenSSL client will send the certificate
that was set using the
L<SSL_CTX_use_certificate(3)|SSL_CTX_use_certificate(3)> family of functions.
The TLS standard requires that only a certificate is sent, if it matches
the list of acceptable CAs sent by the server. This constraint is
violated by the default behavior of the OpenSSL library. Using the
callback function it is possible to implement a proper selection routine
or to allow a user interaction to choose the certificate to be sent.
The callback function can obtain the list of acceptable CAs using the
L<SSL_get_client_CA_list(3)|SSL_get_client_CA_list(3)> function.
If a callback function is defined, the callback function will be called.
If the callback function returns a certificate, the OpenSSL library
will try to load the private key and certificate data into the SSL
object using SSL_use_certificate() and SSL_use_private_key() functions.
Thus it will permanently override the certificate and key previously
installed and will not be reset by calling L<SSL_clear(3)|SSL_clear(3)>.
If the callback returns no certificate, the OpenSSL library will send
the certificate previously installed for the SSL_CTX object or the specific
certificate of the SSL object, if available.
=head1 BUGS
The client_cert_cb() cannot return a complete certificate chain, it can
only return one client certificate. If the chain only has a length of 2,
the root CA certificate may be omitted according to the TLS standard and
thus a standard conforming answer can be sent to the server. For a
longer chain, the client must send the complete chain (with the option
to leave out the root CA certificate). This can only be accomplished by
either adding the intermediate CA certificates into the trusted
certificate store for the SSL_CTX object (resulting in having to add
CA certificates that otherwise maybe would not be trusted), or by adding
the chain certificates using the
L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>
function, which is only available for the SSL_CTX object as a whole and that
therefore probably can only apply for one client certificate, making
the concept of the callback function (to allow the choice from several
certificates) questionable.
Once the SSL object has been used in conjunction with the callback function,
the certificate will be set for the SSL object and will not be cleared
even when L<SSL_clear(3)|SSL_clear(3)> is being called. It is therefore
mandatory to destroy the SSL object using L<SSL_free(3)|SSL_free(3)>
and create a new one to return to the previous state.
=head1 SEE ALSO
L<ssl(3)|ssl(3)>, L<SSL_CTX_use_certificate(3)|SSL_CTX_use_certificate(3)>,
L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>,
L<SSL_get_client_CA_list(3)|SSL_get_client_CA_list(3)>,
L<SSL_clear(3)|SSL_clear(3)>, L<SSL_free(3)|SSL_free(3)>
=cut

View File

@@ -149,6 +149,7 @@ L<ssl(3)|ssl(3)>, L<SSL_new(3)|SSL_new(3)>, L<SSL_clear(3)|SSL_clear(3)>,
L<SSL_CTX_load_verify_locations(3)|SSL_CTX_load_verify_locations(3)>,
L<SSL_CTX_set_default_passwd_cb(3)|SSL_CTX_set_default_passwd_cb(3)>,
L<SSL_CTX_set_cipher_list(3)|SSL_CTX_set_cipher_list(3)>,
L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>,
L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>
=cut

View File

@@ -25,6 +25,25 @@ if L<SSL_shutdown(3)|SSL_shutdown(3)> was not called for the connection
or at least L<SSL_set_shutdown(3)|SSL_set_shutdown(3)> was used to
set the SSL_SENT_SHUTDOWN state.
If a session was closed cleanly, the session object will be kept and all
settings corresponding. This explicitly means, that e.g. the special method
used during the session will be kept for the next handshake. So if the
session was a TLSv1 session, a SSL client object will use a TLSv1 client
method for the next handshake and a SSL server object will use a TLSv1
server method, even if SSLv23_*_methods were chosen on startup. This
will might lead to connection failures (see L<SSL_new(3)|SSL_new(3)>)
for a description of the method's properties.
=head1 WARNINGS
SSL_clear() resets the SSL object to allow for another connection. The
reset operation however keeps several settings of the last sessions
(some of these settings were made automatically during the last
handshake). It only makes sense when opening a new session (or reusing
an old one) with the same peer that shares these settings.
SSL_clear() is not a short form for the sequence
L<SSL_free(3)|SSL_free(3)>; L<SSL_new(3)|SSL_new(3)>; .
=head1 RETURN VALUES
The following return values can occur:
@@ -44,6 +63,7 @@ The SSL_clear() operation was successful.
L<SSL_new(3)|SSL_new(3)>, L<SSL_free(3)|SSL_free(3)>,
L<SSL_shutdown(3)|SSL_shutdown(3)>, L<SSL_set_shutdown(3)|SSL_set_shutdown(3)>,
L<SSL_CTX_set_options(3)|SSL_CTX_set_options(3)>, L<ssl(3)|ssl(3)>
L<SSL_CTX_set_options(3)|SSL_CTX_set_options(3)>, L<ssl(3)|ssl(3)>,
L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>
=cut

View File

@@ -47,6 +47,7 @@ the server did not send a list of CAs (client mode).
=head1 SEE ALSO
L<ssl(3)|ssl(3)>,
L<SSL_CTX_set_client_CA_list(3)|SSL_CTX_set_client_CA_list(3)>
L<SSL_CTX_set_client_CA_list(3)|SSL_CTX_set_client_CA_list(3)>,
L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>
=cut

View File

@@ -667,6 +667,7 @@ L<SSL_CTX_set_cert_store(3)|SSL_CTX_set_cert_store(3)>,
L<SSL_CTX_set_cert_verify_callback(3)|SSL_CTX_set_cert_verify_callback(3)>,
L<SSL_CTX_set_cipher_list(3)|SSL_CTX_set_cipher_list(3)>,
L<SSL_CTX_set_client_CA_list(3)|SSL_CTX_set_client_CA_list(3)>,
L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>,
L<SSL_CTX_set_default_passwd_cb(3)|SSL_CTX_set_default_passwd_cb(3)>,
L<SSL_CTX_set_info_callback(3)|SSL_CTX_set_info_callback(3)>,
L<SSL_CTX_set_mode(3)|SSL_CTX_set_mode(3)>,

17
e_os.h
View File

@@ -82,6 +82,12 @@ extern "C" {
#define DEVRANDOM "/dev/urandom"
#endif
#if defined(VXWORKS)
# define NO_SYS_PARAM_H
# define NO_CHMOD
# define NO_SYSLOG
#endif
#if defined(__MWERKS__) && defined(macintosh)
# if macintosh==1
# ifndef MAC_OS_GUSI_SOURCE
@@ -148,6 +154,13 @@ extern "C" {
#define closesocket(s) MacSocket_close(s)
#define readsocket(s,b,n) MacSocket_recv((s),(b),(n),true)
#define writesocket(s,b,n) MacSocket_send((s),(b),(n))
#elif defined(VMS)
#define get_last_socket_error() errno
#define clear_socket_error() errno=0
#define ioctlsocket(a,b,c) ioctl(a,b,c)
#define closesocket(s) close(s)
#define readsocket(s,b,n) recv((s),(b),(n),0)
#define writesocket(s,b,n) send((s),(b),(n),0)
#else
#define get_last_socket_error() errno
#define clear_socket_error() errno=0
@@ -348,7 +361,9 @@ extern HINSTANCE _hInstance;
# ifndef NO_SYS_PARAM_H
# include <sys/param.h>
# endif
# ifndef MPE
# ifdef VXWORKS
# include <time.h>
# elif !defined(MPE)
# include <sys/time.h> /* Needed under linux for FD_XXX */
# endif

View File

@@ -23,7 +23,7 @@ extern "C" {
declared explicitely with globaldef and globalref. On other OS:es,
these macros are defined with something sensible. */
#if defined(VMS) && !defined(__DECC)
#if defined(VMS) && !defined(__DECC) && !defined(__DECCXX)
# define OPENSSL_EXTERN globalref
# define OPENSSL_GLOBAL globaldef
#else

View File

@@ -1,12 +1,12 @@
# Makefile.hpux-cc
major=1
major=0.9.6d
slib=libssl
sh_slib=$(slib).so.$(major)
sh_slib=$(slib).sl.$(major)
clib=libcrypto
sh_clib=$(clib).so.$(major)
sh_clib=$(clib).sl.$(major)
all : $(clib).sl $(slib).sl
@@ -20,31 +20,14 @@ $(slib)_pic.a : $(slib).a
cp -p $? $@
$(sh_clib) : $(clib)_pic.a
echo "collecting all object files for $@"
find . -name \*.o -print > allobjs
for obj in `ar t $(clib)_pic.a`; \
do \
grep /$$obj allobjs; \
done >objlist
echo "linking $@"
ld -b -s -z +h $@ -o $@ `cat objlist` -lc
rm allobjs objlist
ld -b -s -z +h $@ -o $@ -Fl $(clib)_pic.a -ldld -lc
$(clib).sl : $(sh_clib)
rm -f $@
ln -s $? $@
$(sh_slib) : $(slib)_pic.a $(clib).sl
echo "collecting all object files for $@"
find . -name \*.o -print > allobjs
for obj in `ar t $(slib)_pic.a`; \
do \
grep /$$obj allobjs; \
done >objlist
echo "linking $@"
ld -b -s -z +h $@ +b /usr/local/ssl/lib:/usr/lib -o $@ `cat objlist` \
-L. -lcrypto -lc
rm -f allobjs objlist
ld -b -s -z +h $@ -o $@ -Fl $(slib)_pic.a -ldld -lc
$(slib).sl : $(sh_slib)
rm -f $@

View File

@@ -20,7 +20,9 @@
# WARNING: At high optimization levels, HP's ANSI-C compiler can chew up
# large amounts of memory and CPU time. Make sure to have at least
# 128MB of RAM available and that your kernel is configured to allow
# at least 128MB data size (maxdsiz parameter).
# at least 128MB data size (maxdsiz parameter which can be obtained
# by multiplying 'echo maxdsiz/D | adb -k /stand/vmunix /dev/kmem'
# by 'getconf PAGE_SIZE').
# The installation process can take several hours, even on fast
# machines. +O4 optimization of the libcrypto.sl shared library may
# take 1 hour on a C200 (200MHz PA8200 CPU), +O3 compilation of
@@ -40,7 +42,7 @@ SITEFLAGS="+DAportable +w1"
MYFLAGS="-D_REENTRANT +Oall $SITEFLAGS"
# Configure for pic and build the static pic libraries
perl5 Configure hpux-parisc-cc-o4 +z ${MYFLAGS}
perl5 Configure no-shared hpux-parisc-cc-o4 +Z ${MYFLAGS}
make clean
make DIRS="crypto ssl"
# Rename the static pic libs and build dynamic libraries from them
@@ -58,21 +60,21 @@ mkdir /usr/local
mkdir /usr/local/ssl
mkdir /usr/local/ssl/lib
chmod 444 lib*_pic.a
chmod 555 lib*.so.1
cp -p lib*_pic.a lib*.so.1 /usr/local/ssl/lib
(cd /usr/local/ssl/lib ; ln -sf libcrypto.so.1 libcrypto.sl ; ln -sf libssl.so.1 libssl.sl)
chmod 555 lib*.sl.0.9.6d
cp -p lib*_pic.a lib*.sl.0.9.6d /usr/local/ssl/lib
(cd /usr/local/ssl/lib ; ln -sf libcrypto.sl.0.9.6d libcrypto.sl ; ln -sf libssl.sl.0.9.6d libssl.sl)
# Reconfigure without pic to compile the executables. Unfortunately, while
# performing this task we have to recompile the library components, even
# though we use the already installed shared libs anyway.
#
perl5 Configure hpux-parisc-cc-o4 ${MYFLAGS}
perl5 Configure no-shared hpux-parisc-cc-o4 ${MYFLAGS}
make clean
# Hack the Makefiles to pick up the dynamic libraries during linking
#
sed 's/^PEX_LIBS=.*$/PEX_LIBS=-L\/usr\/local\/ssl\/lib -Wl,+b,\/usr\/local\/ssl\/lib:\/usr\/lib/' Makefile.ssl >xxx; mv xxx Makefile.ssl
sed 's/^PEX_LIBS=.*$/PEX_LIBS=-L\/usr\/local\/ssl\/lib/' Makefile.ssl >xxx; mv xxx Makefile.ssl
sed 's/-L\.\.//' apps/Makefile.ssl >xxx; mv xxx apps/Makefile.ssl
sed 's/-L\.\.//' test/Makefile.ssl >xxx; mv xxx test/Makefile.ssl
# Build the static libs and the executables in one make.
@@ -83,7 +85,7 @@ make install
# Finally build the static libs with +O3. This time we only need the libraries,
# once created, they are simply copied into place.
#
perl5 Configure hpux-parisc-cc ${MYFLAGS}
perl5 Configure no-shared hpux-parisc-cc ${MYFLAGS}
make clean
make DIRS="crypto ssl"
chmod 644 libcrypto.a libssl.a

View File

@@ -572,24 +572,23 @@ ssl_cert.o: ../include/openssl/comp.h ../include/openssl/conf.h
ssl_cert.o: ../include/openssl/crypto.h ../include/openssl/des.h
ssl_cert.o: ../include/openssl/dh.h ../include/openssl/dsa.h
ssl_cert.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
ssl_cert.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
ssl_cert.o: ../include/openssl/err.h ../include/openssl/evp.h
ssl_cert.o: ../include/openssl/idea.h ../include/openssl/lhash.h
ssl_cert.o: ../include/openssl/md2.h ../include/openssl/md4.h
ssl_cert.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
ssl_cert.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
ssl_cert.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
ssl_cert.o: ../include/openssl/pem.h ../include/openssl/pem2.h
ssl_cert.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
ssl_cert.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
ssl_cert.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
ssl_cert.o: ../include/openssl/safestack.h ../include/openssl/sha.h
ssl_cert.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
ssl_cert.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
ssl_cert.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
ssl_cert.o: ../include/openssl/tls1.h ../include/openssl/x509.h
ssl_cert.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h
ssl_cert.o: ssl_locl.h
ssl_cert.o: ../include/openssl/e_os2.h ../include/openssl/err.h
ssl_cert.o: ../include/openssl/evp.h ../include/openssl/idea.h
ssl_cert.o: ../include/openssl/lhash.h ../include/openssl/md2.h
ssl_cert.o: ../include/openssl/md4.h ../include/openssl/md5.h
ssl_cert.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
ssl_cert.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
ssl_cert.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
ssl_cert.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
ssl_cert.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
ssl_cert.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
ssl_cert.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
ssl_cert.o: ../include/openssl/sha.h ../include/openssl/ssl.h
ssl_cert.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
ssl_cert.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
ssl_cert.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
ssl_cert.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
ssl_cert.o: ../include/openssl/x509v3.h ssl_locl.h
ssl_ciph.o: ../include/openssl/asn1.h ../include/openssl/bio.h
ssl_ciph.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
ssl_ciph.o: ../include/openssl/buffer.h ../include/openssl/cast.h
@@ -662,24 +661,23 @@ ssl_lib.o: ../include/openssl/buffer.h ../include/openssl/cast.h
ssl_lib.o: ../include/openssl/comp.h ../include/openssl/conf.h
ssl_lib.o: ../include/openssl/crypto.h ../include/openssl/des.h
ssl_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h
ssl_lib.o: ../include/openssl/e_os.h ../include/openssl/e_os.h
ssl_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
ssl_lib.o: ../include/openssl/evp.h ../include/openssl/idea.h
ssl_lib.o: ../include/openssl/lhash.h ../include/openssl/md2.h
ssl_lib.o: ../include/openssl/md4.h ../include/openssl/md5.h
ssl_lib.o: ../include/openssl/mdc2.h ../include/openssl/obj_mac.h
ssl_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
ssl_lib.o: ../include/openssl/opensslv.h ../include/openssl/pem.h
ssl_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
ssl_lib.o: ../include/openssl/rc2.h ../include/openssl/rc4.h
ssl_lib.o: ../include/openssl/rc5.h ../include/openssl/ripemd.h
ssl_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
ssl_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h
ssl_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h
ssl_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h
ssl_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h
ssl_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
ssl_lib.o: ../include/openssl/x509v3.h ssl_locl.h
ssl_lib.o: ../include/openssl/e_os.h ../include/openssl/e_os2.h
ssl_lib.o: ../include/openssl/err.h ../include/openssl/evp.h
ssl_lib.o: ../include/openssl/idea.h ../include/openssl/lhash.h
ssl_lib.o: ../include/openssl/md2.h ../include/openssl/md4.h
ssl_lib.o: ../include/openssl/md5.h ../include/openssl/mdc2.h
ssl_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
ssl_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
ssl_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h
ssl_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rc2.h
ssl_lib.o: ../include/openssl/rc4.h ../include/openssl/rc5.h
ssl_lib.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h
ssl_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h
ssl_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h
ssl_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h
ssl_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
ssl_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h
ssl_lib.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h ssl_locl.h
ssl_rsa.o: ../include/openssl/asn1.h ../include/openssl/bio.h
ssl_rsa.o: ../include/openssl/blowfish.h ../include/openssl/bn.h
ssl_rsa.o: ../include/openssl/buffer.h ../include/openssl/cast.h

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -528,6 +528,8 @@ int ssl_verify_alarm_type(long type)
case X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD:
case X509_V_ERR_CERT_NOT_YET_VALID:
case X509_V_ERR_CRL_NOT_YET_VALID:
case X509_V_ERR_CERT_UNTRUSTED:
case X509_V_ERR_CERT_REJECTED:
al=SSL_AD_BAD_CERTIFICATE;
break;
case X509_V_ERR_CERT_SIGNATURE_FAILURE:
@@ -549,11 +551,16 @@ int ssl_verify_alarm_type(long type)
case X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:
case X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:
case X509_V_ERR_CERT_CHAIN_TOO_LONG:
case X509_V_ERR_PATH_LENGTH_EXCEEDED:
case X509_V_ERR_INVALID_CA:
al=SSL_AD_UNKNOWN_CA;
break;
case X509_V_ERR_APPLICATION_VERIFICATION:
al=SSL_AD_HANDSHAKE_FAILURE;
break;
case X509_V_ERR_INVALID_PURPOSE:
al=SSL_AD_UNSUPPORTED_CERTIFICATE;
break;
default:
al=SSL_AD_CERTIFICATE_UNKNOWN;
break;
@@ -565,6 +572,7 @@ int ssl3_setup_buffers(SSL *s)
{
unsigned char *p;
unsigned int extra;
size_t len;
if (s->s3->rbuf.buf == NULL)
{
@@ -572,18 +580,21 @@ int ssl3_setup_buffers(SSL *s)
extra=SSL3_RT_MAX_EXTRA;
else
extra=0;
if ((p=OPENSSL_malloc(SSL3_RT_MAX_PACKET_SIZE+extra))
== NULL)
len = SSL3_RT_MAX_PACKET_SIZE + extra;
if ((p=OPENSSL_malloc(len)) == NULL)
goto err;
s->s3->rbuf.buf=p;
s->s3->rbuf.buf = p;
s->s3->rbuf_len = len;
}
if (s->s3->wbuf.buf == NULL)
{
if ((p=OPENSSL_malloc(SSL3_RT_MAX_PACKET_SIZE))
== NULL)
len = SSL3_RT_MAX_PACKET_SIZE;
len += SSL3_RT_HEADER_LENGTH + 256; /* extra space for empty fragment */
if ((p=OPENSSL_malloc(len)) == NULL)
goto err;
s->s3->wbuf.buf=p;
s->s3->wbuf.buf = p;
s->s3->wbuf_len = len;
}
s->packet= &(s->s3->rbuf.buf[0]);
return(1);

View File

@@ -55,6 +55,59 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#include <stdio.h>
#include <openssl/buffer.h>
@@ -1314,6 +1367,7 @@ static int ssl3_get_server_done(SSL *s)
/* should contain no data */
ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_DECODE_ERROR);
SSLerr(SSL_F_SSL3_GET_SERVER_DONE,SSL_R_LENGTH_MISMATCH);
return -1;
}
ret=1;
return(ret);

View File

@@ -55,6 +55,59 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#include <stdio.h>
#include <openssl/md5.h>
@@ -305,9 +358,17 @@ int ssl3_setup_key_block(SSL *s)
s->s3->tmp.key_block_length=num;
s->s3->tmp.key_block=p;
ssl3_generate_key_block(s,p,num);
/* enable vulnerability countermeasure for CBC ciphers with
* known-IV problem (http://www.openssl.org/~bodo/tls-cbc.txt) */
s->s3->need_empty_fragments = 1;
#ifndef NO_RC4
if ((s->session->cipher != NULL) && ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4))
s->s3->need_empty_fragments = 0;
#endif
return(1);
err:
SSLerr(SSL_F_SSL3_SETUP_KEY_BLOCK,ERR_R_MALLOC_FAILURE);

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -170,7 +170,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
SSL3_TXT_ADH_RC4_128_MD5,
SSL3_CK_ADH_RC4_128_MD5,
SSL_kEDH |SSL_aNULL|SSL_RC4 |SSL_MD5 |SSL_SSLV3,
SSL_NOT_EXP,
SSL_NOT_EXP|SSL_MEDIUM,
0,
128,
128,
@@ -196,7 +196,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
SSL3_TXT_ADH_DES_64_CBC_SHA,
SSL3_CK_ADH_DES_64_CBC_SHA,
SSL_kEDH |SSL_aNULL|SSL_DES |SSL_SHA1|SSL_SSLV3,
SSL_NOT_EXP,
SSL_NOT_EXP|SSL_LOW,
0,
56,
56,
@@ -209,7 +209,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
SSL3_TXT_ADH_DES_192_CBC_SHA,
SSL3_CK_ADH_DES_192_CBC_SHA,
SSL_kEDH |SSL_aNULL|SSL_3DES |SSL_SHA1|SSL_SSLV3,
SSL_NOT_EXP,
SSL_NOT_EXP|SSL_HIGH,
0,
168,
168,
@@ -518,7 +518,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
SSL3_TXT_FZA_DMS_RC4_SHA,
SSL3_CK_FZA_DMS_RC4_SHA,
SSL_kFZA|SSL_aFZA |SSL_RC4 |SSL_SHA1|SSL_SSLV3,
SSL_NOT_EXP,
SSL_NOT_EXP|SSL_MEDIUM,
0,
128,
128,
@@ -612,7 +612,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={
TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA,
TLS1_CK_DHE_DSS_WITH_RC4_128_SHA,
SSL_kEDH|SSL_aDSS|SSL_RC4|SSL_SHA|SSL_TLSV1,
SSL_NOT_EXP,
SSL_NOT_EXP|SSL_MEDIUM,
0,
128,
128,
@@ -693,6 +693,9 @@ SSL_CIPHER *ssl3_get_cipher(unsigned int u)
int ssl3_pending(SSL *s)
{
if (s->rstate == SSL_ST_READ_BODY)
return 0;
return (s->s3->rrec.type == SSL3_RT_APPLICATION_DATA) ? s->s3->rrec.length : 0;
}
@@ -737,6 +740,7 @@ void ssl3_free(SSL *s)
void ssl3_clear(SSL *s)
{
unsigned char *rp,*wp;
size_t rlen, wlen;
ssl3_cleanup_key_block(s);
if (s->s3->tmp.ca_names != NULL)
@@ -752,12 +756,16 @@ void ssl3_clear(SSL *s)
DH_free(s->s3->tmp.dh);
#endif
rp=s->s3->rbuf.buf;
wp=s->s3->wbuf.buf;
rp = s->s3->rbuf.buf;
wp = s->s3->wbuf.buf;
rlen = s->s3->rbuf_len;
wlen = s->s3->wbuf_len;
memset(s->s3,0,sizeof *s->s3);
if (rp != NULL) s->s3->rbuf.buf=rp;
if (wp != NULL) s->s3->wbuf.buf=wp;
s->s3->rbuf.buf = rp;
s->s3->wbuf.buf = wp;
s->s3->rbuf_len = rlen;
s->s3->wbuf_len = wlen;
ssl_free_wbio_buffer(s);
@@ -1312,13 +1320,12 @@ static int ssl3_read_internal(SSL *s, void *buf, int len, int peek)
if (s->s3->renegotiate) ssl3_renegotiate_check(s);
s->s3->in_read_app_data=1;
ret=ssl3_read_bytes(s,SSL3_RT_APPLICATION_DATA,buf,len,peek);
if ((ret == -1) && (s->s3->in_read_app_data == 0))
if ((ret == -1) && (s->s3->in_read_app_data == 2))
{
/* ssl3_read_bytes decided to call s->handshake_func, which
* called ssl3_read_bytes to read handshake data.
* However, ssl3_read_bytes actually found application data
* and thinks that application data makes sense here (signalled
* by resetting 'in_read_app_data', strangely); so disable
* and thinks that application data makes sense here; so disable
* handshake processing and try to read application data again. */
s->in_handshake++;
ret=ssl3_read_bytes(s,SSL3_RT_APPLICATION_DATA,buf,len,peek);

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -117,7 +117,7 @@
#include "ssl_locl.h"
static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
unsigned int len);
unsigned int len, int create_empty_fragment);
static int ssl3_write_pending(SSL *s, int type, const unsigned char *buf,
unsigned int len);
static int ssl3_get_record(SSL *s);
@@ -162,9 +162,7 @@ static int ssl3_read_n(SSL *s, int n, int max, int extend)
{
/* avoid buffer overflow */
int max_max = SSL3_RT_MAX_PACKET_SIZE - s->packet_length;
if (s->options & SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER)
max_max += SSL3_RT_MAX_EXTRA;
int max_max = s->s3->rbuf_len - s->packet_length;
if (max > max_max)
max = max_max;
}
@@ -247,14 +245,20 @@ static int ssl3_get_record(SSL *s)
extra=SSL3_RT_MAX_EXTRA;
else
extra=0;
if (extra != (s->s3->rbuf_len - SSL3_RT_MAX_PACKET_SIZE))
{
/* actually likely an application error: SLS_OP_MICROSOFT_BIG_SSLV3_BUFFER
* set after ssl3_setup_buffers() was done */
SSLerr(SSL_F_SSL3_GET_RECORD, SSL_R_INTERNAL_ERROR);
return -1;
}
again:
/* check if we have the header */
if ( (s->rstate != SSL_ST_READ_BODY) ||
(s->packet_length < SSL3_RT_HEADER_LENGTH))
{
n=ssl3_read_n(s,SSL3_RT_HEADER_LENGTH,
SSL3_RT_MAX_PACKET_SIZE,0);
n=ssl3_read_n(s, SSL3_RT_HEADER_LENGTH, s->s3->rbuf_len, 0);
if (n <= 0) return(n); /* error or non-blocking */
s->rstate=SSL_ST_READ_BODY;
@@ -509,7 +513,7 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
if (i == 0)
{
SSLerr(SSL_F_SSL3_WRITE_BYTES,SSL_R_SSL_HANDSHAKE_FAILURE);
return(-1);
return -1;
}
}
@@ -521,18 +525,22 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
else
nw=n;
i=do_ssl3_write(s,type,&(buf[tot]),nw);
i=do_ssl3_write(s, type, &(buf[tot]), nw, 0);
if (i <= 0)
{
s->s3->wnum=tot;
return(i);
return i;
}
if ((i == (int)n) ||
(type == SSL3_RT_APPLICATION_DATA &&
(s->mode & SSL_MODE_ENABLE_PARTIAL_WRITE)))
{
return(tot+i);
/* next chunk of data should get another prepended empty fragment
* in ciphersuites with known-IV weakness: */
s->s3->empty_fragment_done = 0;
return tot+i;
}
n-=i;
@@ -541,15 +549,16 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
}
static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
unsigned int len)
unsigned int len, int create_empty_fragment)
{
unsigned char *p,*plen;
int i,mac_size,clear=0;
int prefix_len = 0;
SSL3_RECORD *wr;
SSL3_BUFFER *wb;
SSL_SESSION *sess;
/* first check is there is a SSL3_RECORD still being written
/* first check if there is a SSL3_BUFFER still being written
* out. This will happen with non blocking IO */
if (s->s3->wbuf.left != 0)
return(ssl3_write_pending(s,type,buf,len));
@@ -563,7 +572,8 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
/* if it went, fall through and send more stuff */
}
if (len == 0) return(len);
if (len == 0 && !create_empty_fragment)
return 0;
wr= &(s->s3->wrec);
wb= &(s->s3->wbuf);
@@ -579,16 +589,44 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
else
mac_size=EVP_MD_size(s->write_hash);
p=wb->buf;
/* 'create_empty_fragment' is true only when this function calls itself */
if (!clear && !create_empty_fragment && !s->s3->empty_fragment_done)
{
/* countermeasure against known-IV weakness in CBC ciphersuites
* (see http://www.openssl.org/~bodo/tls-cbc.txt) */
if (s->s3->need_empty_fragments && type == SSL3_RT_APPLICATION_DATA)
{
/* recursive function call with 'create_empty_fragment' set;
* this prepares and buffers the data for an empty fragment
* (these 'prefix_len' bytes are sent out later
* together with the actual payload) */
prefix_len = do_ssl3_write(s, type, buf, 0, 1);
if (prefix_len <= 0)
goto err;
if (s->s3->wbuf_len < prefix_len + SSL3_RT_MAX_PACKET_SIZE)
{
/* insufficient space */
SSLerr(SSL_F_DO_SSL3_WRITE, SSL_R_INTERNAL_ERROR);
goto err;
}
}
s->s3->empty_fragment_done = 1;
}
p = wb->buf + prefix_len;
/* write the header */
*(p++)=type&0xff;
wr->type=type;
*(p++)=(s->version>>8);
*(p++)=s->version&0xff;
/* record where we are to write out packet length */
/* field where we are to write out packet length */
plen=p;
p+=2;
@@ -639,19 +677,28 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
wr->type=type; /* not needed but helps for debugging */
wr->length+=SSL3_RT_HEADER_LENGTH;
/* Now lets setup wb */
wb->left=wr->length;
wb->offset=0;
if (create_empty_fragment)
{
/* we are in a recursive call;
* just return the length, don't write out anything here
*/
return wr->length;
}
/* now let's set up wb */
wb->left = prefix_len + wr->length;
wb->offset = 0;
/* memorize arguments so that ssl3_write_pending can detect bad write retries later */
s->s3->wpend_tot=len;
s->s3->wpend_buf=buf;
s->s3->wpend_type=type;
s->s3->wpend_ret=len;
/* we now just need to write the buffer */
return(ssl3_write_pending(s,type,buf,len));
return ssl3_write_pending(s,type,buf,len);
err:
return(-1);
return -1;
}
/* if s->s3->wbuf.left != 0, we need to call this */
@@ -1077,6 +1124,7 @@ start:
/* TLS just ignores unknown message types */
if (s->version == TLS1_VERSION)
{
rr->length = 0;
goto start;
}
#endif
@@ -1113,7 +1161,7 @@ start:
)
))
{
s->s3->in_read_app_data=0;
s->s3->in_read_app_data=2;
return(-1);
}
else
@@ -1199,7 +1247,7 @@ int ssl3_dispatch_alert(SSL *s)
void (*cb)()=NULL;
s->s3->alert_dispatch=0;
i=do_ssl3_write(s,SSL3_RT_ALERT,&s->s3->send_alert[0],2);
i = do_ssl3_write(s, SSL3_RT_ALERT, &s->s3->send_alert[0], 2, 0);
if (i <= 0)
{
s->s3->alert_dispatch=1;

View File

@@ -56,7 +56,7 @@
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -167,7 +167,6 @@ int ssl3_accept(SSL *s)
long num1;
int ret= -1;
int new_state,state,skip=0;
int got_new_session=0;
RAND_add(&Time,sizeof(Time),0);
ERR_clear_error();
@@ -280,7 +279,7 @@ int ssl3_accept(SSL *s)
s->shutdown=0;
ret=ssl3_get_client_hello(s);
if (ret <= 0) goto end;
got_new_session=1;
s->new_session = 2;
s->state=SSL3_ST_SW_SRVR_HELLO_A;
s->init_num=0;
break;
@@ -513,7 +512,7 @@ int ssl3_accept(SSL *s)
s->init_num=0;
if (got_new_session) /* skipped if we just sent a HelloRequest */
if (s->new_session == 2) /* skipped if we just sent a HelloRequest */
{
/* actually not necessarily a 'new' session */
@@ -712,7 +711,7 @@ static int ssl3_get_client_hello(SSL *s)
SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO,SSL_R_NO_CIPHERS_SPECIFIED);
goto f_err;
}
if ((i+p) > (d+n))
if ((p+i) >= (d+n))
{
/* not enough data */
al=SSL_AD_DECODE_ERROR;
@@ -769,6 +768,13 @@ static int ssl3_get_client_hello(SSL *s)
/* compression */
i= *(p++);
if ((p+i) > (d+n))
{
/* not enough data */
al=SSL_AD_DECODE_ERROR;
SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO,SSL_R_LENGTH_MISMATCH);
goto f_err;
}
q=p;
for (j=0; j<i; j++)
{
@@ -816,7 +822,7 @@ static int ssl3_get_client_hello(SSL *s)
/* TLS does not mind if there is extra stuff */
if (s->version == SSL3_VERSION)
{
if (p > (d+n))
if (p < (d+n))
{
/* wrong number of bytes,
* there could be more to follow */

View File

@@ -55,6 +55,59 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#ifndef HEADER_SSL_H
#define HEADER_SSL_H
@@ -584,6 +637,8 @@ struct ssl_st
int server; /* are we the server side? - mostly used by SSL_clear*/
int new_session;/* 1 if we are to use a new session.
* 2 if we are a server and are inside a handshake
* (i.e. not just sending a HelloRequest)
* NB: For servers, the 'new' session may actually be a previously
* cached session or even the previous session */
int quiet_shutdown;/* don't send shutdown packets */

View File

@@ -55,6 +55,59 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#ifndef HEADER_SSL3_H
#define HEADER_SSL3_H
@@ -201,10 +254,13 @@ typedef struct ssl3_record_st
typedef struct ssl3_buffer_st
{
unsigned char *buf; /* SSL3_RT_MAX_PACKET_SIZE bytes (more if
* SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER is set) */
int offset; /* where to 'copy from' */
int left; /* how many bytes left */
unsigned char *buf; /* at least SSL3_RT_MAX_PACKET_SIZE bytes,
* see ssl3_setup_buffers() */
#if 0 /* put directly into SSL3_STATE for best possible binary compatibility within 0.9.6 series */
size_t len; /* buffer size */
#endif
int offset; /* where to 'copy from' */
int left; /* how many bytes left */
} SSL3_BUFFER;
#define SSL3_CT_RSA_SIGN 1
@@ -321,6 +377,13 @@ typedef struct ssl3_state_st
int cert_request;
} tmp;
/* flags for countermeasure against known-IV weakness */
int need_empty_fragments;
int empty_fragment_done;
size_t rbuf_len; /* substitute for rbuf.len */
size_t wbuf_len; /* substitute for wbuf.len */
} SSL3_STATE;
/* SSLv3 */

View File

@@ -85,7 +85,6 @@ OPENSSL_GLOBAL SSL3_ENC_METHOD ssl3_undef_enc_method={
int SSL_clear(SSL *s)
{
int state;
if (s->method == NULL)
{
@@ -93,6 +92,12 @@ int SSL_clear(SSL *s)
return(0);
}
if (ssl_clear_bad_session(s))
{
SSL_SESSION_free(s->session);
s->session=NULL;
}
s->error=0;
s->hit=0;
s->shutdown=0;
@@ -110,7 +115,6 @@ int SSL_clear(SSL *s)
}
#endif
state=s->state; /* Keep to check if we throw away the session-id */
s->type=0;
s->state=SSL_ST_BEFORE|((s->server)?SSL_ST_ACCEPT:SSL_ST_CONNECT);
@@ -131,12 +135,6 @@ int SSL_clear(SSL *s)
ssl_clear_cipher_ctx(s);
if (ssl_clear_bad_session(s))
{
SSL_SESSION_free(s->session);
s->session=NULL;
}
s->first_packet=0;
#if 1
@@ -795,7 +793,10 @@ int SSL_shutdown(SSL *s)
int SSL_renegotiate(SSL *s)
{
s->new_session=1;
if (s->new_session == 0)
{
s->new_session=1;
}
return(s->method->ssl_renegotiate(s));
}
@@ -1469,9 +1470,10 @@ void ssl_update_cache(SSL *s,int mode)
* and it would be rather hard to do anyway :-) */
if (s->session->session_id_length == 0) return;
if ((s->ctx->session_cache_mode & mode)
&& (!s->hit)
&& SSL_CTX_add_session(s->ctx,s->session)
i=s->ctx->session_cache_mode;
if ((i & mode) && (!s->hit)
&& ((i & SSL_SESS_CACHE_NO_INTERNAL_LOOKUP)
|| SSL_CTX_add_session(s->ctx,s->session))
&& (s->ctx->new_session_cb != NULL))
{
CRYPTO_add(&s->session->references,1,CRYPTO_LOCK_SSL_SESSION);
@@ -1480,7 +1482,6 @@ void ssl_update_cache(SSL *s,int mode)
}
/* auto flush every 255 connections */
i=s->ctx->session_cache_mode;
if ((!(i & SSL_SESS_CACHE_NO_AUTO_CLEAR)) &&
((i & mode) == mode))
{

View File

@@ -423,10 +423,10 @@ static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
if ((c != NULL) && (c->session_id_length != 0))
{
if(lck) CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);
r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
if (r != NULL)
if ((r = (SSL_SESSION *)lh_retrieve(ctx->sessions,c)) == c)
{
ret=1;
r=(SSL_SESSION *)lh_delete(ctx->sessions,c);
SSL_SESSION_list_remove(ctx,c);
}

View File

@@ -848,10 +848,10 @@ int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count,
if (num > 1)
--num; /* test restartability even more thoroughly */
r = BIO_nwrite(io1, &dataptr, (int)num);
r = BIO_nwrite0(io1, &dataptr);
assert(r > 0);
assert(r <= (int)num);
num = r;
if (r < num)
num = r;
r = BIO_read(io2, dataptr, (int)num);
if (r != (int)num) /* can't happen */
{
@@ -860,6 +860,13 @@ int doit_biopair(SSL *s_ssl, SSL *c_ssl, long count,
goto err;
}
progress = 1;
r = BIO_nwrite(io1, &dataptr, (int)num);
if (r != (int)num) /* can't happen */
{
fprintf(stderr, "ERROR: BIO_nwrite() did not accept "
"BIO_nwrite0() bytes");
goto err;
}
if (debug)
printf((io2 == client_io) ?

View File

@@ -55,6 +55,59 @@
* copied and put under another distribution licence
* [including the GNU Public Licence.]
*/
/* ====================================================================
* Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* openssl-core@openssl.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
#include <stdio.h>
#include <openssl/comp.h>
@@ -380,6 +433,14 @@ printf("\nkey block\n");
{ int z; for (z=0; z<num; z++) printf("%02X%c",p1[z],((z+1)%16)?' ':'\n'); }
#endif
/* enable vulnerability countermeasure for CBC ciphers with
* known-IV problem (http://www.openssl.org/~bodo/tls-cbc.txt) */
s->s3->need_empty_fragments = 1;
#ifndef NO_RC4
if ((s->session->cipher != NULL) && ((s->session->cipher->algorithms & SSL_ENC_MASK) == SSL_RC4))
s->s3->need_empty_fragments = 0;
#endif
return(1);
err:
SSLerr(SSL_F_TLS1_SETUP_KEY_BLOCK,ERR_R_MALLOC_FAILURE);

View File

@@ -81,7 +81,7 @@ HEADER= $(EXHEADER)
ALL= $(GENERAL) $(SRC) $(HEADER)
top:
(cd ..; $(MAKE) DIRS=$(DIR) all)
(cd ..; $(MAKE) DIRS=$(DIR) TESTS=$(TESTS) all)
all: exe
@@ -344,6 +344,7 @@ destest.o: ../include/openssl/des.h ../include/openssl/e_os2.h
destest.o: ../include/openssl/opensslconf.h
dhtest.o: ../include/openssl/bio.h ../include/openssl/bn.h
dhtest.o: ../include/openssl/crypto.h ../include/openssl/dh.h
dhtest.o: ../include/openssl/err.h ../include/openssl/lhash.h
dhtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
dhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h
dhtest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h

View File

@@ -1873,6 +1873,64 @@ BIO_f_linebuffer 2463 EXIST:VMS:FUNCTION:
BN_bntest_rand 2464 EXIST::FUNCTION:
OPENSSL_issetugid 2465 EXIST::FUNCTION:
BN_rand_range 2466 EXIST::FUNCTION:
ERR_load_ENGINE_strings 2467 NOEXIST::FUNCTION:
ENGINE_set_DSA 2468 NOEXIST::FUNCTION:
ENGINE_get_finish_function 2469 NOEXIST::FUNCTION:
ENGINE_get_default_RSA 2470 NOEXIST::FUNCTION:
ENGINE_get_BN_mod_exp 2471 NOEXIST::FUNCTION:
DSA_get_default_openssl_method 2472 NOEXIST::FUNCTION:
ENGINE_set_DH 2473 NOEXIST::FUNCTION:
ENGINE_set_def_BN_mod_exp_crt 2474 NOEXIST::FUNCTION:
ENGINE_set_default_BN_mod_exp_crt 2474 NOEXIST::FUNCTION:
ENGINE_init 2475 NOEXIST::FUNCTION:
DH_get_default_openssl_method 2476 NOEXIST::FUNCTION:
RSA_set_default_openssl_method 2477 NOEXIST::FUNCTION:
ENGINE_finish 2478 NOEXIST::FUNCTION:
ENGINE_load_public_key 2479 NOEXIST::FUNCTION:
ENGINE_get_DH 2480 NOEXIST::FUNCTION:
ENGINE_ctrl 2481 NOEXIST::FUNCTION:
ENGINE_get_init_function 2482 NOEXIST::FUNCTION:
ENGINE_set_init_function 2483 NOEXIST::FUNCTION:
ENGINE_set_default_DSA 2484 NOEXIST::FUNCTION:
ENGINE_get_name 2485 NOEXIST::FUNCTION:
ENGINE_get_last 2486 NOEXIST::FUNCTION:
ENGINE_get_prev 2487 NOEXIST::FUNCTION:
ENGINE_get_default_DH 2488 NOEXIST::FUNCTION:
ENGINE_get_RSA 2489 NOEXIST::FUNCTION:
ENGINE_set_default 2490 NOEXIST::FUNCTION:
ENGINE_get_RAND 2491 NOEXIST::FUNCTION:
ENGINE_get_first 2492 NOEXIST::FUNCTION:
ENGINE_by_id 2493 NOEXIST::FUNCTION:
ENGINE_set_finish_function 2494 NOEXIST::FUNCTION:
ENGINE_get_default_BN_mod_exp_crt 2495 NOEXIST::FUNCTION:
ENGINE_get_def_BN_mod_exp_crt 2495 NOEXIST::FUNCTION:
RSA_get_default_openssl_method 2496 NOEXIST::FUNCTION:
ENGINE_set_RSA 2497 NOEXIST::FUNCTION:
ENGINE_load_private_key 2498 NOEXIST::FUNCTION:
ENGINE_set_default_RAND 2499 NOEXIST::FUNCTION:
ENGINE_set_BN_mod_exp 2500 NOEXIST::FUNCTION:
ENGINE_remove 2501 NOEXIST::FUNCTION:
ENGINE_free 2502 NOEXIST::FUNCTION:
ENGINE_get_BN_mod_exp_crt 2503 NOEXIST::FUNCTION:
ENGINE_get_next 2504 NOEXIST::FUNCTION:
ENGINE_set_name 2505 NOEXIST::FUNCTION:
ENGINE_get_default_DSA 2506 NOEXIST::FUNCTION:
ENGINE_set_default_BN_mod_exp 2507 NOEXIST::FUNCTION:
ENGINE_set_default_RSA 2508 NOEXIST::FUNCTION:
ENGINE_get_default_RAND 2509 NOEXIST::FUNCTION:
ENGINE_get_default_BN_mod_exp 2510 NOEXIST::FUNCTION:
ENGINE_set_RAND 2511 NOEXIST::FUNCTION:
ENGINE_set_id 2512 NOEXIST::FUNCTION:
ENGINE_set_BN_mod_exp_crt 2513 NOEXIST::FUNCTION:
ENGINE_set_default_DH 2514 NOEXIST::FUNCTION:
ENGINE_new 2515 NOEXIST::FUNCTION:
ENGINE_get_id 2516 NOEXIST::FUNCTION:
DSA_set_default_openssl_method 2517 NOEXIST::FUNCTION:
ENGINE_add 2518 NOEXIST::FUNCTION:
DH_set_default_openssl_method 2519 NOEXIST::FUNCTION:
ENGINE_get_DSA 2520 NOEXIST::FUNCTION:
ENGINE_get_ctrl_function 2521 NOEXIST::FUNCTION:
ENGINE_set_ctrl_function 2522 NOEXIST::FUNCTION:
BN_pseudo_rand_range 2523 EXIST::FUNCTION:
X509_STORE_CTX_set_verify_cb 2524 EXIST::FUNCTION:
ERR_load_COMP_strings 2525 EXIST::FUNCTION:

Some files were not shown because too many files have changed in this diff Show More