Compare commits

..

50 Commits

Author SHA1 Message Date
Richard Levitte
04572965ea Time for release of OpenSSL 0.9.7.
The tag will be OpenSSL_0_9_7.
2002-12-30 23:54:11 +00:00
Andy Polyakov
1832f5e751 My English is definitely not good as my assembly skills:-) And it looks
like titles can't be multi-line (it doesn't look good on the FAQ web-page).
2002-12-30 20:20:25 +00:00
Andy Polyakov
d3f56a69fb It probably belongs in PROBLEMS, but it's more likely to be a FAQ. 2002-12-30 11:08:56 +00:00
Richard Levitte
bfbc667397 Since we're including Kerberos 5 headers in our exported header files (when
OpenSSL is configured to use Kerberos), we'd better tell pkg-config users
where they can be found.
PR: 421
2002-12-29 23:03:16 +00:00
Lutz Jänicke
cb284033f5 Add information about AES cipher suites to ciphers manual page.
If no authentication method is mentioned in the cipher suite name (e.g.
AES128-SHA), RSA authentication is used (PR #396).
2002-12-29 21:23:43 +00:00
Lutz Jänicke
ef9d3a10c3 Fix wrong handling of session ID in SSLv2 client code.
PR: 377
2002-12-29 20:58:55 +00:00
Richard Levitte
20c9a50710 OS/2 does binary by default, apparently.
Reported by Brian Havard <brianh@kheldar.apana.org.au>.
2002-12-29 10:20:01 +00:00
Richard Levitte
5b9aa0e474 Make sure OPENSSL_SYS_ macros are defined. 2002-12-28 02:37:05 +00:00
Richard Levitte
475cc45a61 make update 2002-12-28 02:30:47 +00:00
Richard Levitte
21fa937c9f Make sure OPENSSL_SYS_ macros are defined, and in md5_locl.h, switch
back to using OPENSSL_SYS_ULTRASPARC.
2002-12-28 02:30:26 +00:00
Richard Levitte
bae500aa21 make update 2002-12-28 01:35:25 +00:00
Richard Levitte
5534b7f133 Hmm, the variables $x96_elf_asm and others contain a number of colons,
so when removing one reference, if should be replaced with the
appropriate number of colons, or chaos will follow...
2002-12-28 01:35:11 +00:00
Andy Polyakov
163d6401c5 According to Tim Rice <tim@multitalents.net> assembler support in SCO5
never worked anyway. Note this is not going to HEAD as we intend to
provide an alternative solution as soon as 0.9.7 is out.
2002-12-27 16:49:47 +00:00
Andy Polyakov
fc24169eaf I can't confirm the claim being removed and nobody seems to speak up for it.
Yes, this implies that corresponding targets in beta6 pass the test suite.
2002-12-27 15:06:13 +00:00
Andy Polyakov
0c78046356 UltraSPARC performance "tune-up." 2002-12-27 14:50:13 +00:00
Andy Polyakov
4b8e01a22f FAQ addenum as discussed in RT#417. 2002-12-27 14:29:18 +00:00
Richard Levitte
a882c80e6f Kenneth R. Robinette just told me the latest snapshot works well with
MIT Kerberos.
2002-12-27 14:01:42 +00:00
Richard Levitte
5de00c254d Can't find the referense to errors on XP with Kerberos 2002-12-27 08:09:11 +00:00
Richard Levitte
d7b612e737 Add SPKM among the related stanrds. 2002-12-26 22:35:07 +00:00
Richard Levitte
d95b69b32c Updates 2002-12-26 22:25:04 +00:00
Richard Levitte
1dbfa26b5a Update our list of implemented and related standards. 2002-12-26 00:21:55 +00:00
Richard Levitte
342a584c2b Update our list of implemented and related standards. 2002-12-26 00:17:49 +00:00
Richard Levitte
718d8a931d Spelling error.
This patch was taken from the OpenBSD copy of OpenSSL 0.9.7 beta3 with patches
2002-12-25 22:17:00 +00:00
Richard Levitte
39db27cb83 Avoid double definition of config.
PR: 420
2002-12-24 23:53:50 +00:00
Richard Levitte
cc81432b5b Updates 2002-12-24 23:52:10 +00:00
Lutz Jänicke
c71414b3a9 Some more adjustments
Submitted by: Jeffrey Altman <jaltman@columbia.edu>, "Kenneth R. Robinette" <support@securenetterm.com>
2002-12-24 21:53:34 +00:00
Richard Levitte
542e010aa5 Cygwin needs the library locatin for .DLLs to be set in PATH. Unfortunately,
the conditional was set to add the library directory to PATH when the
platform is NOT Cygwin.  Corrected.
PR: 404
2002-12-24 10:50:18 +00:00
Richard Levitte
84ce9aa177 All VMS-specific problems have been solved.
Confirmed by Mark Daniel <Mark.Daniel@wasd.vsm.com.au>
2002-12-24 10:38:08 +00:00
Richard Levitte
4c94c028a7 Finally, a bn_div_words() in VAX assembler that goes through all tests.
PR: 413
2002-12-23 11:25:55 +00:00
Richard Levitte
88a908e50d Stop a possible memory leak.
(I wonder why s2_connect() handles the initial buffer allocation slightly
differently...)
PR: 416
2002-12-21 23:49:25 +00:00
Richard Levitte
d7de7bcf3e Make AES_ENCRYPT and AES_DECRYPT macros instead of static constants.
PR: 411
2002-12-20 18:21:38 +00:00
Andy Polyakov
cbdda5cc87 Fix for "shift count too large" when compiling for hpux-parisc2 and
irix-mips. The bug was introduced with accelerated support for x86_64.
My fault! Fixed now.
2002-12-20 18:10:39 +00:00
Richard Levitte
4e356d9876 More accurate comments. 2002-12-20 16:38:40 +00:00
Richard Levitte
ff3ab1699b A little debugging. 2002-12-20 16:38:09 +00:00
Richard Levitte
8eeefabf32 Propagate MAKEDEPPROG to the subdirs under crypto/. 2002-12-20 15:28:45 +00:00
Lutz Jänicke
214b8b998a Fix Kerberos5/SSL interaction
Submitted by: "Kenneth R. Robinette" <support@securenetterm.com>
Reviewed by:
PR:
2002-12-20 12:47:16 +00:00
Richard Levitte
2ef9e7efe6 Keep the internal lowercase 'surname', for programmer's sake. 2002-12-20 09:39:42 +00:00
Richard Levitte
449598e723 Be consistent with capitalisation of object names. 2002-12-20 09:24:24 +00:00
Richard Levitte
5201cb5acb Be consistent with capitalisation of object names. 2002-12-20 09:18:21 +00:00
Richard Levitte
ab79ac44d5 There was a mixup between INSTALLTOP and OPENSSLDIR... 2002-12-20 07:51:08 +00:00
Richard Levitte
e286dfe6ed We stupidly had a separate LIBKRB5 variable for KRB5 library dependencies,
and then didn't support it very well.  And that when there already is a
useful variable for exactly this kind of thing; EX_LIBS...
2002-12-19 22:10:20 +00:00
Richard Levitte
17e3b273e6 Because the contents of openssl.pc may have to change when a configuration
has been performed (and possibly changed), have it depend on Makefile.ssl.
2002-12-19 21:56:42 +00:00
Richard Levitte
c93c8d1123 Small tweaks for code consistency. 2002-12-19 21:55:50 +00:00
Richard Levitte
d5bf2e06b3 I have no idea what possesed me to compile s_socket.c as POSIXly code.
Incidently, it now compiles so much better without _POSIX_C_SOURCE.
2002-12-19 19:42:55 +00:00
Richard Levitte
bbd6c8bd16 If _XOPEN_SOURCE_EXTENDED or _XOPEN_SOURCE are defined, _POSIX_C_SOURCE gets
defined in DECC$TYPES.H.  If _POSIX_C_SOURCE is defined, certain types do
not get defined (u_char, u_int, ...).  DECC.H gets included by assert.h
and others.  Now, in6.h uses the types u_char, u_int and so on, and gets
included as part of other header inclusions, and will of course fail because
of the missing types.

On the other hand, _XOPEN_SOURCE_EXTENDED is needed to get gethostname()
properly declared...

Solution: define _XOPEN_SOURCE_EXTENDED much later, so DECC$TYPES.H has
a chance to be included *first*, so the otherwise missing types get defined
properly.

Personal: *mumble* *mumble*
2002-12-19 19:38:51 +00:00
Richard Levitte
00f76ad0df It was pointed out to me that .pc files are normally stored in
${prefix}/lib/pkgconfig, not ${prefix}/lib/pkginfo.
2002-12-19 17:44:45 +00:00
Richard Levitte
4b70367430 It was pointed out to me that .pc files are normally stored in
${prefix}/lib/pkgconfig, not ${prefix}/lib/pkginfo.
2002-12-19 17:42:25 +00:00
Richard Levitte
ce9cbfc815 Update the current status 2002-12-18 10:24:04 +00:00
Andy Polyakov
a92a9f02fb Fix for RT#405, Solaris refuses to invoke preprocessor if egrep returns 1.
Linux for example doesn't exhibit this behaviour, but I add "exit 0" to all
potentially affected rules, just to be on the safe side.
2002-12-18 09:02:07 +00:00
Richard Levitte
b65d3741b3 Move on to beta7 (hopefully, that will never appear) 2002-12-17 14:48:24 +00:00
37 changed files with 414 additions and 187 deletions

16
CHANGES
View File

@@ -2,7 +2,21 @@
OpenSSL CHANGES
_______________
Changes between 0.9.6h and 0.9.7 [XX xxx 2002]
Changes between 0.9.6h and 0.9.7 [31 Dec 2002]
*) Fix session ID handling in SSLv2 client code: the SERVER FINISHED
code (06) was taken as the first octet of the session ID and the last
octet was ignored consequently. As a result SSLv2 client side session
caching could not have worked due to the session ID mismatch between
client and server.
Behaviour observed by Crispin Flowerday <crispin@flowerday.cx> as
PR #377.
[Lutz Jaenicke]
*) Change the declaration of needed Kerberos libraries to use EX_LIBS
instead of the special (and badly supported) LIBKRB5. LIBKRB5 is
removed entirely.
[Richard Levitte]
*) The hw_ncipher.c engine requires dynamic locks. Unfortunately, it
seems that in spite of existing for more than a year, many application

View File

@@ -480,7 +480,7 @@ my %table=(
# SCO cc.
"sco5-cc", "cc:-belf::(unknown)::-lsocket -lresolv -lnsl:${x86_gcc_des} ${x86_gcc_opts}::::::::::dlfcn:svr3-shared:-Kpic", # 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 -lresolv -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC", # the SCO assembler doesn't seem to like our assembler files ...
"sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lresolv -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::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 */
@@ -1016,10 +1016,12 @@ else
}
}
$withargs{"krb5-lib"} .= " -lresolv"
if ("$lresolv");
if ("$lresolv" ne "");
$withargs{"krb5-include"} = "-I".$withargs{"krb5-dir"}."/include"
if $withargs{"krb5-include"} eq "" &&
$withargs{"krb5-dir"} ne "";
$libs.=$withargs{"krb5-lib"}." " if $withargs{"krb5-lib"} ne "";
}
# The DSO code currently always implements all functions so that no
@@ -1075,7 +1077,7 @@ else
# }
}
$lflags="$libs$lflags"if ($libs ne "");
$lflags="$libs$lflags" if ($libs ne "");
if ($no_asm)
{
@@ -1238,7 +1240,6 @@ while (<IN>)
s/^ARFLAGS=.*/ARFLAGS= $arflags/;
s/^PERL=.*/PERL= $perl/;
s/^KRB5_INCLUDES=.*/KRB5_INCLUDES=$withargs{"krb5-include"}/;
s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/;
s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no_shared);
@@ -1286,8 +1287,6 @@ print "ARFLAGS =$arflags\n";
print "PERL =$perl\n";
print "KRB5_INCLUDES =",$withargs{"krb5-include"},"\n"
if $withargs{"krb5-include"} ne "";
print "LIBKRB5 =",$withargs{"krb5-lib"},"\n"
if $withargs{"krb5-lib"} ne "";
my $des_ptr=0;
my $des_risc1=0;

32
FAQ
View File

@@ -44,6 +44,8 @@ OpenSSL - Frequently Asked Questions
* What is special about OpenSSL on Redhat?
* Why does the OpenSSL compilation fail on MacOS X?
* Why does the OpenSSL test suite fail on MacOS X?
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
[PROG] Questions about programming with OpenSSL
@@ -66,7 +68,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.6h was released on December 5, 2002.
OpenSSL 0.9.7 was released on December 31, 2002.
In addition to the current stable release, you can also access daily
snapshots of the OpenSSL development version at <URL:
@@ -552,6 +554,34 @@ libraries you just built.
Look in the file PROBLEMS for a more detailed explanation and for possible
solutions.
* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
Failure in BN_sqr test is most likely caused by a failure to configure the
toolkit for current platform or lack of support for the platform in question.
Run './config -t' and './apps/openssl version -p'. Do these platform
identifiers match? If they don't, then you most likely failed to run
./config and you're hereby advised to do so before filing a bug report.
If ./config itself fails to run, then it's most likely problem with your
local environment and you should turn to your system administrator (or
similar). If identifiers match (and/or no alternative identifier is
suggested by ./config script), then the platform is unsupported. There might
or might not be a workaround. Most notably on SPARC64 platforms with GNU
C compiler you should be able to produce a working build by running
'./config -m32'. I understand that -m32 might not be what you want/need,
but the build should be operational. For further details turn to
<openssl-dev@openssl.org>.
* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
As of 0.9.7 assembler routines were overhauled for position independence
of the machine code, which is essential for shared library support. For
some reason OpenBSD is equipped with an out-of-date GNU assembler which
finds the new code offensive. To work around the problem, configure with
no-asm (and sacrifice a great deal of performance) or upgrade /usr/bin/as.
For your convenience a pre-compiled replacement binary is provided at
http://www.openssl.org/~appro/i386-openbsd3-as, which is compiled from
binutils-2.8 released in 1997.
[PROG] ========================================================================
* Is OpenSSL thread-safe?

View File

@@ -159,7 +159,6 @@ RMD160_ASM_OBJ= asm/rm86-out.o
# KRB5 stuff
KRB5_INCLUDES=
LIBKRB5=
# When we're prepared to use shared libraries in the programs we link here
# we might set SHLIB_MARK to '$(SHARED_LIBS)'.
@@ -519,7 +518,7 @@ do_reliantunix-shared:
libs="$$libs -l$$i"; \
done
openssl.pc:
openssl.pc: Makefile.ssl
@ ( echo 'prefix=$(INSTALLTOP)'; \
echo 'exec_prefix=$${prefix}'; \
echo 'libdir=$${exec_prefix}/lib'; \
@@ -530,7 +529,7 @@ openssl.pc:
echo 'Version: '$(VERSION); \
echo 'Requires: '; \
echo 'Libs: -L$${libdir} -lssl -lcrypto $(EX_LIBS)'; \
echo 'Cflags: -I$${includedir}' ) > openssl.pc
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > openssl.pc
Makefile.ssl: Makefile.org
@echo "Makefile.ssl is older than Makefile.org."
@@ -603,7 +602,7 @@ rehash.time: certs
export OPENSSL OPENSSL_DEBUG_MEMORY; \
LD_LIBRARY_PATH="`pwd`"; DYLD_LIBRARY_PATH="`pwd`"; SHLIB_PATH="`pwd`"; LIBPATH="`pwd`"; \
if [ "$(PLATFORM)" = "DJGPP" ]; then PATH="`pwd`\;$$PATH"; \
elif [ "$(PLATFORM)" != "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
elif [ "$(PLATFORM)" = "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
$(PERL) tools/c_rehash certs)
touch rehash.time
@@ -615,7 +614,7 @@ tests: rehash
$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' TESTS='${TESTS}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' TESTS='${TESTS}' OPENSSL_DEBUG_MEMORY=on tests );
@LD_LIBRARY_PATH="`pwd`"; DYLD_LIBRARY_PATH="`pwd`"; SHLIB_PATH="`pwd`"; LIBPATH="`pwd`"; \
if [ "$(PLATFORM)" = "DJGPP" ]; then PATH="`pwd`\;$$PATH"; \
elif [ "$(PLATFORM)" != "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
elif [ "$(PLATFORM)" = "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
apps/openssl version -a
@@ -711,7 +710,7 @@ dist_pem_h:
install: all install_docs
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
$(INSTALL_PREFIX)$(INSTALLTOP)/lib \
$(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkginfo \
$(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \
$(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \
$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \
$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \
@@ -765,7 +764,7 @@ install: all install_docs
set $(MAKE); \
$$1 -f $$here/Makefile link-shared ); \
fi
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkginfo
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig
install_docs:
@$(PERL) $(TOP)/util/mkdir-p.pl \

View File

@@ -62,3 +62,11 @@ What happens is that gcc might optimize a little too agressively, and
you end up with an extra incrementation when *header != '4'.
We recommend that you upgrade gcc to as high a 3.x version as you can.
* solaris64-sparcv9-cc SHA-1 performance with WorkShop 6 compiler.
As subject suggests SHA-1 might perform poorly (4 times slower)
if compiled with WorkShop 6 compiler and -xarch=v9. The cause for
this seems to be the fact that compiler emits multiplication to
perform shift operations:-( To work the problem around configure
with './Configure solaris64-sparcv9-cc -DMD32_REG_T=int'.

2
README
View File

@@ -1,5 +1,5 @@
OpenSSL 0.9.7-beta6 17 Dec 2002
OpenSSL 0.9.7 31 Dec 2002
Copyright (c) 1998-2002 The OpenSSL Project
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson

12
STATUS
View File

@@ -1,16 +1,11 @@
OpenSSL STATUS Last modified at
______________ $Date: 2002/12/17 14:24:51 $
______________ $Date: 2002/12/30 23:54:11 $
DEVELOPMENT STATE
o OpenSSL 0.9.8: Under development...
o OpenSSL 0.9.7-beta6: Released on December 17th, 2002
o OpenSSL 0.9.7-beta5: Released on December 5th, 2002
o OpenSSL 0.9.7-beta4: Released on November 19th, 2002
o OpenSSL 0.9.7-beta3: Released on July 30th, 2002
o OpenSSL 0.9.7-beta2: Released on June 16th, 2002
o OpenSSL 0.9.7-beta1: Released on June 1st, 2002
o OpenSSL 0.9.7: Released on December 31st, 2002
o OpenSSL 0.9.6h: Released on December 5th, 2002
o OpenSSL 0.9.6g: Released on August 9th, 2002
o OpenSSL 0.9.6f: Released on August 8th, 2002
@@ -32,9 +27,6 @@
RELEASE SHOWSTOPPERS
o BN_mod_mul verification fails for mips3-sgi-irix
unless configured with no-asm
o [2002-11-21]
PR 343 mentions that scrubbing memory with 'memset(ptr, 0, n)' may
be optimized away in modern compilers. This is definitely not good

18
TABLE
View File

@@ -3708,15 +3708,15 @@ $thread_cflag = (unknown)
$sys_id =
$lflags = -lsocket -lresolv -lnsl
$bn_ops = BN_LLONG DES_PTR DES_RISC1 DES_UNROLL RC4_INDEX MD2_INT
$bn_obj = asm/bn86-elf.o asm/co86-elf.o
$des_obj = asm/dx86-elf.o asm/yx86-elf.o
$bf_obj = asm/bx86-elf.o
$md5_obj = asm/mx86-elf.o
$sha1_obj = asm/sx86-elf.o
$cast_obj = asm/cx86-elf.o
$rc4_obj = asm/rx86-elf.o
$rmd160_obj = asm/rm86-elf.o
$rc5_obj = asm/r586-elf.o
$bn_obj =
$des_obj =
$bf_obj =
$md5_obj =
$sha1_obj =
$cast_obj =
$rc4_obj =
$rmd160_obj =
$rc5_obj =
$dso_scheme = dlfcn
$shared_target= svr3-shared
$shared_cflag = -fPIC

View File

@@ -18,7 +18,6 @@ PERL= perl
RM= rm -f
# KRB5 stuff
KRB5_INCLUDES=
LIBKRB5=
PEX_LIBS=
EX_LIBS=
@@ -108,7 +107,7 @@ install:
(echo installing $$i; \
cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i ); \
mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
done
@cp openssl.cnf $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
chmod 644 $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf.new; \
@@ -152,7 +151,7 @@ $(PROGRAM): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
-(cd ..; OPENSSL="`pwd`/apps/openssl"; export OPENSSL; \
LIBPATH="`pwd`"; LD_LIBRARY_PATH="`pwd`"; DYLD_LIBRARY_PATH="`pwd`"; SHLIB_PATH="`pwd`"; \
if [ "$(PLATFORM)" = "DJGPP" ]; then PATH="`pwd`\;$$PATH"; \
elif [ "$(PLATFORM)" != "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
elif [ "$(PLATFORM)" = "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH; \
$(PERL) tools/c_rehash certs)

View File

@@ -1021,7 +1021,7 @@ bad:
}
if (verbose)
BIO_printf(bio_err, "Succesfully loaded extensions file %s\n", extfile);
BIO_printf(bio_err, "Successfully loaded extensions file %s\n", extfile);
/* We can have sections in the ext file */
if (!extensions && !(extensions = NCONF_get_string(extconf, "default", "extensions")))

View File

@@ -166,7 +166,7 @@ $! TCPIP_PROGRAMS = ",S_SERVER,S_CLIENT,SESS_ID,CIPHERS,S_TIME,"
$!
$! Setup exceptional compilations
$!
$ COMPILEWITH_CC2 = ",S_SOCKET,S_SERVER,S_CLIENT,"
$ COMPILEWITH_CC2 = ",S_SERVER,S_CLIENT,"
$!
$ PHASE := LIB
$!

View File

@@ -135,7 +135,6 @@ static int req_check_len(int len,int n_min,int n_max);
static int check_end(char *str, char *end);
#ifndef MONOLITH
static char *default_config_file=NULL;
static CONF *config=NULL;
#endif
static CONF *req_conf=NULL;
static int batch=0;

View File

@@ -141,7 +141,7 @@ depend:
@for i in $(SDIRS) ;\
do \
(cd $$i && echo "making depend in crypto/$$i..." && \
$(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' PERL='${PERL}' depend ); \
$(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' depend ); \
done;
clean:

View File

@@ -56,8 +56,9 @@
#error AES is disabled.
#endif
static const int AES_DECRYPT = 0;
static const int AES_ENCRYPT = 1;
#define AES_ENCRYPT 1
#define AES_DECRYPT 0
/* Because array size can't be a const in C, the following two are macros.
Both sizes are in bytes. */
#define AES_MAXNR 14

View File

@@ -247,7 +247,7 @@ static long MS_CALLBACK file_ctrl(BIO *b, int cmd, long num, void *ptr)
ret=0;
break;
}
#if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS)
#if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_OS2)
if (!(num & BIO_FP_TEXT))
strcat(p,"b");
else

View File

@@ -172,7 +172,7 @@ n=12 ;(AP) n by value (input)
; }
;
; Using EDIV would be very easy, if it didn't do signed calculations.
; Any time, any of the input numbers are signed, there are problems,
; Any time any of the input numbers are signed, there are problems,
; usually with integer overflow, at which point it returns useless
; data (the quotient gets the value of l, and the remainder becomes 0).
;
@@ -180,21 +180,26 @@ n=12 ;(AP) n by value (input)
; it by 2 (unsigned), do the division, multiply the resulting quotient
; and remainder by 2, add the bit that was dropped when dividing by 2
; to the remainder, and do some adjustment so the remainder doesn't
; end up larger than the divisor. This method works as long as the
; divisor is positive, so we'll keep that (with a small adjustment)
; as the main method.
; For some cases when the divisor is negative (from EDIV's point of
; view, i.e. when the highest bit is set), dividing the dividend by
; 2 isn't enough, it needs to be divided by 4. Furthermore, the
; divisor needs to be divided by 2 (unsigned) as well, to avoid more
; problems with the sign. In this case, a little extra fiddling with
; the remainder is required.
; end up larger than the divisor. For some cases when the divisor is
; negative (from EDIV's point of view, i.e. when the highest bit is set),
; dividing the dividend by 2 isn't enough, and since some operations
; might generate integer overflows even when the dividend is divided by
; 4 (when the high part of the shifted down dividend ends up being exactly
; half of the divisor, the result is the quotient 0x80000000, which is
; negative...) it needs to be divided by 8. Furthermore, the divisor needs
; to be divided by 2 (unsigned) as well, to avoid more problems with the sign.
; In this case, a little extra fiddling with the remainder is required.
;
; So, the simplest way to handle this is always to divide the dividend
; by 4, and to divide the divisor by 2 if it's highest bit is set.
; After EDIV has been used, the quotient gets multiplied by 4 if the
; original divisor was positive, otherwise 2. The remainder, oddly
; enough, is *always* multiplied by 4.
; by 8, and to divide the divisor by 2 if it's highest bit is set.
; After EDIV has been used, the quotient gets multiplied by 8 if the
; original divisor was positive, otherwise 4. The remainder, oddly
; enough, is *always* multiplied by 8.
; NOTE: in the case mentioned above, where the high part of the shifted
; down dividend ends up being exactly half the shifted down divisor, we
; end up with a 33 bit quotient. That's no problem however, it usually
; means we have ended up with a too large remainder as well, and the
; problem is fixed by the last part of the algorithm (next paragraph).
;
; The routine ends with comparing the resulting remainder with the
; original divisor and if the remainder is larger, subtract the
@@ -204,15 +209,19 @@ n=12 ;(AP) n by value (input)
; The complete algorithm looks like this:
;
; d' = d
; l' = l & 3
; [h,l] = [h,l] >> 2
; l' = l & 7
; [h,l] = [h,l] >> 3
; [q,r] = floor([h,l] / d) # This is the EDIV operation
; if (q < 0) q = -q # I doubt this is necessary any more
;
; r' = r >> 30
; if (d' >= 0) q = q << 1
; q = q << 1
; r = (r << 2) + l'
; r' = r >> 29
; if (d' >= 0)
; q' = q >> 29
; q = q << 3
; else
; q' = q >> 30
; q = q << 2
; r = (r << 3) + l'
;
; if (d' < 0)
; {
@@ -220,14 +229,14 @@ n=12 ;(AP) n by value (input)
; while ([r',r] < 0)
; {
; [r',r] = [r',r] + d
; q = q - 1
; [q',q] = [q',q] - 1
; }
; }
;
; while ([r',r] >= d)
; while ([r',r] >= d')
; {
; [r',r] = [r',r] - d
; q = q + 1
; [r',r] = [r',r] - d'
; [q',q] = [q',q] + 1
; }
;
; return q
@@ -236,31 +245,37 @@ h=4 ;(AP) h by value (input)
l=8 ;(AP) l by value (input)
d=12 ;(AP) d by value (input)
;lprim=r5
;rprim=r6
;dprim=r7
;r2 = l, q
;r3 = h, r
;r4 = d
;r5 = l'
;r6 = r'
;r7 = d'
;r8 = q'
.psect code,nowrt
.entry bn_div_words,^m<r2,r3,r4,r5,r6,r7>
.entry bn_div_words,^m<r2,r3,r4,r5,r6,r7,r8>
movl l(ap),r2
movl h(ap),r3
movl d(ap),r4
bicl3 #^XFFFFFFFC,r2,r5 ; l' = l & 3
bicl3 #^X00000003,r2,r2
bicl3 #^XFFFFFFF8,r2,r5 ; l' = l & 7
bicl3 #^X00000007,r2,r2
bicl3 #^XFFFFFFFC,r3,r6
bicl3 #^X00000003,r3,r3
bicl3 #^XFFFFFFF8,r3,r6
bicl3 #^X00000007,r3,r3
addl r6,r2
rotl #-2,r2,r2 ; l = l >> 2
rotl #-2,r3,r3 ; h = h >> 2
rotl #-3,r2,r2 ; l = l >> 3
rotl #-3,r3,r3 ; h = h >> 3
movl #0,r6
movl r4,r7 ; d' = d
movl #0,r6 ; r' = 0
movl #0,r8 ; q' = 0
tstl r4
beql 666$ ; Uh-oh, the divisor is 0...
bgtr 1$
@@ -277,37 +292,36 @@ d=12 ;(AP) d by value (input)
3$:
tstl r7
blss 4$
ashl #1,r2,r2 ; q = q << 1
4$:
ashl #1,r2,r2 ; q = q << 1
rotl #2,r3,r3 ; r = r << 2
bicl3 #^XFFFFFFFC,r3,r6 ; r' gets the high bits from r
bicl3 #^X00000003,r3,r3
rotl #3,r2,r2 ; q = q << 3
bicl3 #^XFFFFFFF8,r2,r8 ; q' gets the high bits from q
bicl3 #^X00000007,r2,r2
bsb 41$
4$: ; else
rotl #2,r2,r2 ; q = q << 2
bicl3 #^XFFFFFFFC,r2,r8 ; q' gets the high bits from q
bicl3 #^X00000003,r2,r2
41$:
rotl #3,r3,r3 ; r = r << 3
bicl3 #^XFFFFFFF8,r3,r6 ; r' gets the high bits from r
bicl3 #^X00000007,r3,r3
addl r5,r3 ; r = r + l'
tstl r7
bgeq 5$
bitl #1,r7
beql 5$ ; if d < 0 && d & 1
subl r2,r3 ; [r',r] = [r',r] - q
sbwc #0,r6
beql 5$ ; if d' < 0 && d' & 1
subl r2,r3 ; [r',r] = [r',r] - [q',q]
sbwc r8,r6
45$:
bgeq 5$ ; while r < 0
decl r2 ; q = q - 1
addl r7,r3 ; [r',r] = [r',r] + d
decl r2 ; [q',q] = [q',q] - 1
sbwc #0,r8
addl r7,r3 ; [r',r] = [r',r] + d'
adwc #0,r6
brb 45$
5$:
tstl r6
bneq 6$
cmpl r3,r7
blssu 42$ ; while [r',r] >= d'
6$:
subl r7,r3 ; [r',r] = [r',r] - d
sbwc #0,r6
incl r2 ; q = q + 1
brb 5$
; The return points are placed in the middle to keep a short distance from
; all the branch points
42$:
; movl r3,r1
movl r2,r0
@@ -315,6 +329,18 @@ d=12 ;(AP) d by value (input)
666$:
movl #^XFFFFFFFF,r0
ret
5$:
tstl r6
bneq 6$
cmpl r3,r7
blssu 42$ ; while [r',r] >= d'
6$:
subl r7,r3 ; [r',r] = [r',r] - d'
sbwc #0,r6
incl r2 ; [q',q] = [q',q] + 1
adwc #0,r8
brb 5$
.title vax_bn_add_words unsigned add of two arrays
;

View File

@@ -282,6 +282,11 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
q=(BN_ULONG)(((((BN_ULLONG)n0)<<BN_BITS2)|n1)/d0);
#else
q=bn_div_words(n0,n1,d0);
#ifdef BN_DEBUG_LEVITTE
fprintf(stderr,"DEBUG: bn_div_words(0x%08X,0x%08X,0x%08\
X) -> 0x%08X\n",
n0, n1, d0, q);
#endif
#endif
#ifndef REMAINDER_IS_ALREADY_CALCULATED
@@ -306,6 +311,11 @@ int BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num, const BIGNUM *divisor,
BN_ULONG t2l,t2h,ql,qh;
q=bn_div_words(n0,n1,d0);
#ifdef BN_DEBUG_LEVITTE
fprintf(stderr,"DEBUG: bn_div_words(0x%08X,0x%08X,0x%08\
X) -> 0x%08X\n",
n0, n1, d0, q);
#endif
#ifndef REMAINDER_IS_ALREADY_CALCULATED
rem=(n1-q*d0)&BN_MASK2;
#endif

View File

@@ -368,7 +368,7 @@ struct bignum_ctx
lt=(bl)*(lt); \
m1=(bl)*(ht); \
ht =(bh)*(ht); \
m=(m+m1)&BN_MASK2; if (m < m1) ht+=L2HBITS(1L); \
m=(m+m1)&BN_MASK2; if (m < m1) ht+=L2HBITS((BN_ULONG)1); \
ht+=HBITS(m); \
m1=L2HBITS(m); \
lt=(lt+m1)&BN_MASK2; if (lt < m1) ht++; \

View File

@@ -68,25 +68,25 @@ des: des.o cbc3_enc.o lib
# elf
asm/dx86-elf.o: asm/dx86unix.cpp
$(CPP) -DELF \
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC`\
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC; exit 0`\
-x c asm/dx86unix.cpp | as -o asm/dx86-elf.o
asm/yx86-elf.o: asm/yx86unix.cpp
$(CPP) -DELF \
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC`\
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC; exit 0`\
-x c asm/yx86unix.cpp | as -o asm/yx86-elf.o
# solaris
asm/dx86-sol.o: asm/dx86unix.cpp
$(CC) -E -DSOL \
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC`\
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC; exit 0`\
asm/dx86unix.cpp | sed 's/^#.*//' > asm/dx86-sol.s
as -o asm/dx86-sol.o asm/dx86-sol.s
rm -f asm/dx86-sol.s
asm/yx86-sol.o: asm/yx86unix.cpp
$(CC) -E -DSOL \
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC`\
`(echo $(CFLAGS) | egrep -ie '-[fK]PIC') > /dev/null 2>&1 && echo -DPIC; exit 0`\
asm/yx86unix.cpp | sed 's/^#.*//' > asm/yx86-sol.s
as -o asm/yx86-sol.o asm/yx86-sol.s
rm -f asm/yx86-sol.s

View File

@@ -129,7 +129,8 @@ clean:
# DO NOT DELETE THIS LINE -- make depend depends on it.
md5_dgst.o: ../../include/openssl/md5.h ../../include/openssl/opensslconf.h
md5_dgst.o: ../../include/openssl/e_os2.h ../../include/openssl/md5.h
md5_dgst.o: ../../include/openssl/opensslconf.h
md5_dgst.o: ../../include/openssl/opensslv.h ../md32_common.h md5_dgst.c
md5_dgst.o: md5_locl.h
md5_one.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h

View File

@@ -59,6 +59,8 @@
#ifndef HEADER_MD5_H
#define HEADER_MD5_H
#include <openssl/e_os2.h>
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -58,7 +58,7 @@
#include <stdlib.h>
#include <string.h>
#include <openssl/opensslconf.h>
#include <openssl/e_os2.h>
#include <openssl/md5.h>
#ifndef MD5_LONG_LOG2

View File

@@ -826,8 +826,8 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
{"RSA-MDC2","mdc2WithRSA",NID_mdc2WithRSA,4,&(lvalues[531]),0},
{"RC4-40","rc4-40",NID_rc4_40,0,NULL},
{"RC2-40-CBC","rc2-40-cbc",NID_rc2_40_cbc,0,NULL},
{"gn","givenName",NID_givenName,3,&(lvalues[535]),0},
{"SN","surname",NID_surname,3,&(lvalues[538]),0},
{"GN","givenName",NID_givenName,3,&(lvalues[535]),0},
{"SN","surName",NID_surname,3,&(lvalues[538]),0},
{"initials","initials",NID_initials,3,&(lvalues[541]),0},
{NULL,NULL,NID_undef,0,NULL},
{"crlDistributionPoints","X509v3 CRL Distribution Points",
@@ -1780,6 +1780,7 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
&(nid_objs[70]),/* "DSA-SHA1-old" */
&(nid_objs[67]),/* "DSA-old" */
&(nid_objs[297]),/* "DVCS" */
&(nid_objs[99]),/* "GN" */
&(nid_objs[381]),/* "IANA" */
&(nid_objs[34]),/* "IDEA-CBC" */
&(nid_objs[35]),/* "IDEA-CFB" */
@@ -1926,7 +1927,6 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
&(nid_objs[490]),/* "friendlyCountryName" */
&(nid_objs[156]),/* "friendlyName" */
&(nid_objs[509]),/* "generationQualifier" */
&(nid_objs[99]),/* "gn" */
&(nid_objs[163]),/* "hmacWithSHA1" */
&(nid_objs[432]),/* "holdInstructionCallIssuer" */
&(nid_objs[430]),/* "holdInstructionCode" */
@@ -3005,7 +3005,7 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
&(nid_objs[16]),/* "stateOrProvinceName" */
&(nid_objs[498]),/* "subtreeMaximumQuality" */
&(nid_objs[497]),/* "subtreeMinimumQuality" */
&(nid_objs[100]),/* "surname" */
&(nid_objs[100]),/* "surName" */
&(nid_objs[459]),/* "textEncodedORAddress" */
&(nid_objs[293]),/* "textNotice" */
&(nid_objs[106]),/* "title" */

View File

@@ -1596,7 +1596,7 @@
#define OBJ_commonName OBJ_X509,3L
#define SN_surname "SN"
#define LN_surname "surname"
#define LN_surname "surName"
#define NID_surname 100
#define OBJ_surname OBJ_X509,4L
@@ -1642,7 +1642,7 @@
#define NID_name 173
#define OBJ_name OBJ_X509,41L
#define SN_givenName "gn"
#define SN_givenName "GN"
#define LN_givenName "givenName"
#define NID_givenName 99
#define OBJ_givenName OBJ_X509,42L

View File

@@ -531,7 +531,8 @@ algorithm 29 : RSA-SHA1-2 : sha1WithRSA
X500 4 : X509
X509 3 : CN : commonName
X509 4 : SN : surname
!Cname surname
X509 4 : SN : surName
X509 5 : : serialNumber
X509 6 : C : countryName
X509 7 : L : localityName
@@ -541,7 +542,7 @@ X509 11 : OU : organizationalUnitName
X509 12 : : title
X509 13 : : description
X509 41 : name : name
X509 42 : gn : givenName
X509 42 : GN : givenName
X509 43 : : initials
X509 44 : : generationQualifier
X509 45 : : x500UniqueIdentifier

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 0x00907006L
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.7-beta6 17 Dec 2002"
#define OPENSSL_VERSION_NUMBER 0x0090700fL
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.7 31 Dec 2002"
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@@ -55,6 +55,8 @@
#ifndef HEADER_OPENSSL_TYPES_H
#define HEADER_OPENSSL_TYPES_H
#include <openssl/e_os2.h>
#ifdef NO_ASN1_TYPEDEFS
#define ASN1_INTEGER ASN1_STRING
#define ASN1_ENUMERATED ASN1_STRING

View File

@@ -203,6 +203,10 @@ cipher suites using DH, including anonymous DH.
anonymous DH cipher suites.
=item B<AES>
cipher suites using AES.
=item B<3DES>
cipher suites using triple DES.
@@ -236,7 +240,9 @@ cipher suites using SHA1.
=head1 CIPHER SUITE NAMES
The following lists give the SSL or TLS cipher suites names from the
relevant specification and their OpenSSL equivalents.
relevant specification and their OpenSSL equivalents. It should be noted,
that several cipher suite names do not include the authentication used,
e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
=head2 SSL v3.0 cipher suites.
@@ -306,6 +312,24 @@ relevant specification and their OpenSSL equivalents.
TLS_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA
TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA
=head2 AES ciphersuites from RFC3268, extending TLS v1.0
TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA
TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
TLS_DH_DSS_WITH_AES_128_CBC_SHA DH-DSS-AES128-SHA
TLS_DH_DSS_WITH_AES_256_CBC_SHA DH-DSS-AES256-SHA
TLS_DH_RSA_WITH_AES_128_CBC_SHA DH-RSA-AES128-SHA
TLS_DH_RSA_WITH_AES_256_CBC_SHA DH-RSA-AES256-SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE-DSS-AES128-SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE-DSS-AES256-SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA DHE-RSA-AES128-SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE-RSA-AES256-SHA
TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA
TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA
=head2 Additional Export 1024 and other cipher suites
Note: these ciphers can also be used in SSL v3.

View File

@@ -42,9 +42,6 @@ whole or at least great parts) in OpenSSL.
2268 A Description of the RC2(r) Encryption Algorithm. R. Rivest.
January 1998. (Format: TXT=19048 bytes) (Status: INFORMATIONAL)
2314 PKCS 10: Certification Request Syntax Version 1.5. B. Kaliski.
March 1998. (Format: TXT=15814 bytes) (Status: INFORMATIONAL)
2315 PKCS 7: Cryptographic Message Syntax Version 1.5. B. Kaliski.
March 1998. (Format: TXT=69679 bytes) (Status: INFORMATIONAL)
@@ -52,10 +49,6 @@ whole or at least great parts) in OpenSSL.
J. Staddon. October 1998. (Format: TXT=73529 bytes) (Obsoletes
RFC2313) (Status: INFORMATIONAL)
2459 Internet X.509 Public Key Infrastructure Certificate and CRL
Profile. R. Housley, W. Ford, W. Polk, D. Solo. January 1999.
(Format: TXT=278438 bytes) (Status: PROPOSED STANDARD)
PKCS#8: Private-Key Information Syntax Standard
PKCS#12: Personal Information Exchange Syntax Standard, version 1.0.
@@ -65,6 +58,35 @@ PKCS#12: Personal Information Exchange Syntax Standard, version 1.0.
C. Adams. June 1999. (Format: TXT=43243 bytes) (Status: PROPOSED
STANDARD)
2712 Addition of Kerberos Cipher Suites to Transport Layer Security
(TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes)
(Status: PROPOSED STANDARD)
2898 PKCS #5: Password-Based Cryptography Specification Version 2.0.
B. Kaliski. September 2000. (Format: TXT=68692 bytes) (Status:
INFORMATIONAL)
2986 PKCS #10: Certification Request Syntax Specification Version 1.7.
M. Nystrom, B. Kaliski. November 2000. (Format: TXT=27794 bytes)
(Obsoletes RFC2314) (Status: INFORMATIONAL)
3174 US Secure Hash Algorithm 1 (SHA1). D. Eastlake 3rd, P. Jones.
September 2001. (Format: TXT=35525 bytes) (Status: INFORMATIONAL)
3268 Advanced Encryption Standard (AES) Ciphersuites for Transport
Layer Security (TLS). P. Chown. June 2002. (Format: TXT=13530 bytes)
(Status: PROPOSED STANDARD)
3279 Algorithms and Identifiers for the Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List (CRL)
Profile. L. Bassham, W. Polk, R. Housley. April 2002. (Format:
TXT=53833 bytes) (Status: PROPOSED STANDARD)
3280 Internet X.509 Public Key Infrastructure Certificate and
Certificate Revocation List (CRL) Profile. R. Housley, W. Polk, W.
Ford, D. Solo. April 2002. (Format: TXT=295556 bytes) (Obsoletes
RFC2459) (Status: PROPOSED STANDARD)
Related:
--------
@@ -90,23 +112,60 @@ STARTTLS documents.
Certification and Related Services. B. Kaliski. February 1993.
(Format: TXT=17537 bytes) (Status: PROPOSED STANDARD)
2256 A Summary of the X.500(96) User Schema for use with LDAPv3. M.
Wahl. December 1997. (Format: TXT=32377 bytes) (Status: PROPOSED
STANDARD)
2025 The Simple Public-Key GSS-API Mechanism (SPKM). C. Adams. October
1996. (Format: TXT=101692 bytes) (Status: PROPOSED STANDARD)
2487 SMTP Service Extension for Secure SMTP over TLS. P. Hoffman.
January 1999. (Format: TXT=15120 bytes) (Status: PROPOSED STANDARD)
2510 Internet X.509 Public Key Infrastructure Certificate Management
Protocols. C. Adams, S. Farrell. March 1999. (Format: TXT=158178
bytes) (Status: PROPOSED STANDARD)
2511 Internet X.509 Certificate Request Message Format. M. Myers, C.
Adams, D. Solo, D. Kemp. March 1999. (Format: TXT=48278 bytes)
(Status: PROPOSED STANDARD)
2527 Internet X.509 Public Key Infrastructure Certificate Policy and
Certification Practices Framework. S. Chokhani, W. Ford. March 1999.
(Format: TXT=91860 bytes) (Status: INFORMATIONAL)
2538 Storing Certificates in the Domain Name System (DNS). D. Eastlake
3rd, O. Gudmundsson. March 1999. (Format: TXT=19857 bytes) (Status:
PROPOSED STANDARD)
2539 Storage of Diffie-Hellman Keys in the Domain Name System (DNS).
D. Eastlake 3rd. March 1999. (Format: TXT=21049 bytes) (Status:
PROPOSED STANDARD)
2559 Internet X.509 Public Key Infrastructure Operational Protocols -
LDAPv2. S. Boeyen, T. Howes, P. Richard. April 1999. (Format:
TXT=22889 bytes) (Updates RFC1778) (Status: PROPOSED STANDARD)
2585 Internet X.509 Public Key Infrastructure Operational Protocols:
FTP and HTTP. R. Housley, P. Hoffman. May 1999. (Format: TXT=14813
bytes) (Status: PROPOSED STANDARD)
2587 Internet X.509 Public Key Infrastructure LDAPv2 Schema. S.
Boeyen, T. Howes, P. Richard. June 1999. (Format: TXT=15102 bytes)
(Status: PROPOSED STANDARD)
2595 Using TLS with IMAP, POP3 and ACAP. C. Newman. June 1999.
(Format: TXT=32440 bytes) (Status: PROPOSED STANDARD)
2712 Addition of Kerberos Cipher Suites to Transport Layer Security
(TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes)
(Status: PROPOSED STANDARD)
2631 Diffie-Hellman Key Agreement Method. E. Rescorla. June 1999.
(Format: TXT=25932 bytes) (Status: PROPOSED STANDARD)
2632 S/MIME Version 3 Certificate Handling. B. Ramsdell, Ed.. June
1999. (Format: TXT=27925 bytes) (Status: PROPOSED STANDARD)
2716 PPP EAP TLS Authentication Protocol. B. Aboba, D. Simon. October
1999. (Format: TXT=50108 bytes) (Status: EXPERIMENTAL)
2773 Encryption using KEA and SKIPJACK. R. Housley, P. Yee, W. Nace.
February 2000. (Format: TXT=20008 bytes) (Updates RFC0959) (Status:
EXPERIMENTAL)
2797 Certificate Management Messages over CMS. M. Myers, X. Liu, J.
Schaad, J. Weinstein. April 2000. (Format: TXT=103357 bytes) (Status:
PROPOSED STANDARD)
2817 Upgrading to TLS Within HTTP/1.1. R. Khare, S. Lawrence. May
2000. (Format: TXT=27598 bytes) (Updates RFC2616) (Status: PROPOSED
@@ -115,6 +174,77 @@ STARTTLS documents.
2818 HTTP Over TLS. E. Rescorla. May 2000. (Format: TXT=15170 bytes)
(Status: INFORMATIONAL)
2876 Use of the KEA and SKIPJACK Algorithms in CMS. J. Pawling. July
2000. (Format: TXT=29265 bytes) (Status: INFORMATIONAL)
2984 Use of the CAST-128 Encryption Algorithm in CMS. C. Adams.
October 2000. (Format: TXT=11591 bytes) (Status: PROPOSED STANDARD)
2985 PKCS #9: Selected Object Classes and Attribute Types Version 2.0.
M. Nystrom, B. Kaliski. November 2000. (Format: TXT=70703 bytes)
(Status: INFORMATIONAL)
3029 Internet X.509 Public Key Infrastructure Data Validation and
Certification Server Protocols. C. Adams, P. Sylvester, M. Zolotarev,
R. Zuccherato. February 2001. (Format: TXT=107347 bytes) (Status:
EXPERIMENTAL)
3039 Internet X.509 Public Key Infrastructure Qualified Certificates
Profile. S. Santesson, W. Polk, P. Barzin, M. Nystrom. January 2001.
(Format: TXT=67619 bytes) (Status: PROPOSED STANDARD)
3058 Use of the IDEA Encryption Algorithm in CMS. S. Teiwes, P.
Hartmann, D. Kuenzi. February 2001. (Format: TXT=17257 bytes)
(Status: INFORMATIONAL)
3161 Internet X.509 Public Key Infrastructure Time-Stamp Protocol
(TSP). C. Adams, P. Cain, D. Pinkas, R. Zuccherato. August 2001.
(Format: TXT=54585 bytes) (Status: PROPOSED STANDARD)
3185 Reuse of CMS Content Encryption Keys. S. Farrell, S. Turner.
October 2001. (Format: TXT=20404 bytes) (Status: PROPOSED STANDARD)
3207 SMTP Service Extension for Secure SMTP over Transport Layer
Security. P. Hoffman. February 2002. (Format: TXT=18679 bytes)
(Obsoletes RFC2487) (Status: PROPOSED STANDARD)
3217 Triple-DES and RC2 Key Wrapping. R. Housley. December 2001.
(Format: TXT=19855 bytes) (Status: INFORMATIONAL)
3274 Compressed Data Content Type for Cryptographic Message Syntax
(CMS). P. Gutmann. June 2002. (Format: TXT=11276 bytes) (Status:
PROPOSED STANDARD)
3278 Use of Elliptic Curve Cryptography (ECC) Algorithms in
Cryptographic Message Syntax (CMS). S. Blake-Wilson, D. Brown, P.
Lambert. April 2002. (Format: TXT=33779 bytes) (Status:
INFORMATIONAL)
3281 An Internet Attribute Certificate Profile for Authorization. S.
Farrell, R. Housley. April 2002. (Format: TXT=90580 bytes) (Status:
PROPOSED STANDARD)
3369 Cryptographic Message Syntax (CMS). R. Housley. August 2002.
(Format: TXT=113975 bytes) (Obsoletes RFC2630, RFC3211) (Status:
PROPOSED STANDARD)
3370 Cryptographic Message Syntax (CMS) Algorithms. R. Housley. August
2002. (Format: TXT=51001 bytes) (Obsoletes RFC2630, RFC3211) (Status:
PROPOSED STANDARD)
3377 Lightweight Directory Access Protocol (v3): Technical
Specification. J. Hodges, R. Morgan. September 2002. (Format:
TXT=9981 bytes) (Updates RFC2251, RFC2252, RFC2253, RFC2254, RFC2255,
RFC2256, RFC2829, RFC2830) (Status: PROPOSED STANDARD)
3394 Advanced Encryption Standard (AES) Key Wrap Algorithm. J. Schaad,
R. Housley. September 2002. (Format: TXT=73072 bytes) (Status:
INFORMATIONAL)
3436 Transport Layer Security over Stream Control Transmission
Protocol. A. Jungmaier, E. Rescorla, M. Tuexen. December 2002.
(Format: TXT=16333 bytes) (Status: PROPOSED STANDARD)
"Securing FTP with TLS", 01/27/2000, <draft-murray-auth-ftp-ssl-05.txt>
@@ -124,7 +254,3 @@ To be implemented:
These are documents that describe things that are planed to be
implemented in the hopefully short future.
2712 Addition of Kerberos Cipher Suites to Transport Layer Security
(TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes)
(Status: PROPOSED STANDARD)

View File

@@ -17,7 +17,6 @@ MAKEFILE= Makefile.ssl
AR= ar r
# KRB5 stuff
KRB5_INCLUDES=
LIBKRB5=
CFLAGS= $(INCLUDES) $(CFLAG)

View File

@@ -1961,7 +1961,7 @@ krb5_error_code kssl_check_authent(
const EVP_CIPHER *enc = NULL;
unsigned char iv[EVP_MAX_IV_LENGTH];
unsigned char *p, *unenc_authent;
int padl, outl, unencbufsize;
int outl, unencbufsize;
struct tm tm_time, *tm_l, *tm_g;
time_t now, tl, tg, tr, tz_offset;
@@ -2029,44 +2029,23 @@ krb5_error_code kssl_check_authent(
*/
goto err;
}
if (!EVP_DecryptInit_ex(&ciph_ctx, enc, NULL, kssl_ctx->key, iv))
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"EVP_DecryptInit_ex error decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
if (!EVP_DecryptUpdate(&ciph_ctx, unenc_authent, &outl,
dec_authent->cipher->data, dec_authent->cipher->length))
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"EVP_DecryptUpdate error decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
if (outl > unencbufsize)
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"Buffer overflow decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
if (!EVP_DecryptFinal_ex(&ciph_ctx, &(unenc_authent[outl]), &padl))
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"EVP_DecryptFinal_ex error decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
outl += padl;
if (outl > unencbufsize)
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"Buffer overflow decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
EVP_CIPHER_CTX_cleanup(&ciph_ctx);
if (!EVP_CipherInit(&ciph_ctx,enc,kssl_ctx->key,iv,0))
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"EVP_CipherInit error decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
outl = dec_authent->cipher->length;
if (!EVP_Cipher(&ciph_ctx,unenc_authent,dec_authent->cipher->data,outl))
{
kssl_err_set(kssl_err, SSL_R_KRB5_S_INIT,
"EVP_Cipher error decrypting authenticator.\n");
krb5rc = KRB5KRB_AP_ERR_BAD_INTEGRITY;
goto err;
}
EVP_CIPHER_CTX_cleanup(&ciph_ctx);
#ifdef KSSL_DEBUG
printf("kssl_check_authent: decrypted authenticator[%d] =\n", outl);
@@ -2115,6 +2094,7 @@ krb5_error_code kssl_check_authent(
if (auth) KRB5_AUTHENT_free((KRB5_AUTHENT *) auth);
if (dec_authent) KRB5_ENCDATA_free(dec_authent);
if (unenc_authent) free(unenc_authent);
EVP_CIPHER_CTX_cleanup(&ciph_ctx);
return krb5rc;
}

View File

@@ -105,7 +105,7 @@ SSL_METHOD *SSLv23_client_method(void)
int ssl23_connect(SSL *s)
{
BUF_MEM *buf;
BUF_MEM *buf=NULL;
unsigned long Time=time(NULL);
void (*cb)(const SSL *ssl,int type,int val)=NULL;
int ret= -1;
@@ -159,6 +159,7 @@ int ssl23_connect(SSL *s)
goto end;
}
s->init_buf=buf;
buf=NULL;
}
if (!ssl3_setup_buffers(s)) { ret= -1; goto end; }
@@ -207,6 +208,8 @@ int ssl23_connect(SSL *s)
}
end:
s->in_handshake--;
if (buf != NULL)
BUF_MEM_free(buf);
if (cb != NULL)
cb(s,SSL_CB_CONNECT_EXIT,ret);
return(ret);

View File

@@ -208,10 +208,13 @@ int ssl2_connect(SSL *s)
if (!BUF_MEM_grow(buf,
SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER))
{
if (buf == s->init_buf)
buf=NULL;
ret= -1;
goto end;
}
s->init_buf=buf;
buf=NULL;
s->init_num=0;
s->state=SSL2_ST_SEND_CLIENT_HELLO_A;
s->ctx->stats.sess_connect++;
@@ -338,6 +341,8 @@ int ssl2_connect(SSL *s)
}
end:
s->in_handshake--;
if (buf != NULL)
BUF_MEM_free(buf);
if (cb != NULL)
cb(s,SSL_CB_CONNECT_EXIT,ret);
return(ret);
@@ -1009,7 +1014,7 @@ static int get_server_finished(SSL *s)
* or bad things can happen */
/* ZZZZZZZZZZZZZ */
s->session->session_id_length=SSL2_SSL_SESSION_ID_LENGTH;
memcpy(s->session->session_id,p,SSL2_SSL_SESSION_ID_LENGTH);
memcpy(s->session->session_id,p+1,SSL2_SSL_SESSION_ID_LENGTH);
}
else
{

View File

@@ -164,7 +164,7 @@ SSL_METHOD *SSLv3_client_method(void)
int ssl3_connect(SSL *s)
{
BUF_MEM *buf;
BUF_MEM *buf=NULL;
unsigned long Time=time(NULL),l;
long num1;
void (*cb)(const SSL *ssl,int type,int val)=NULL;
@@ -225,6 +225,7 @@ int ssl3_connect(SSL *s)
goto end;
}
s->init_buf=buf;
buf=NULL;
}
if (!ssl3_setup_buffers(s)) { ret= -1; goto end; }
@@ -503,6 +504,8 @@ int ssl3_connect(SSL *s)
}
end:
s->in_handshake--;
if (buf != NULL)
BUF_MEM_free(buf);
if (cb != NULL)
cb(s,SSL_CB_CONNECT_EXIT,ret);
return(ret);

View File

@@ -111,9 +111,6 @@
#define _BSD_SOURCE 1 /* Or gethostname won't be declared properly
on Linux and GNU platforms. */
#define _XOPEN_SOURCE_EXTENDED 1 /* Or gethostname won't be declared properly
on Compaq platforms (at least with DEC C).
*/
#include <assert.h>
#include <errno.h>
@@ -134,6 +131,13 @@
#include <openssl/engine.h>
#include <openssl/err.h>
#include <openssl/rand.h>
#define _XOPEN_SOURCE_EXTENDED 1 /* Or gethostname won't be declared properly
on Compaq platforms (at least with DEC C).
Do not try to put it earlier, or IPv6 includes
get screwed...
*/
#ifdef OPENSSL_SYS_WINDOWS
#include <winsock.h>
#include "../crypto/bio/bss_file.c"

View File

@@ -120,7 +120,7 @@ apps:
SET_SO_PATHS=LIBPATH="`cd ..; pwd`"; LD_LIBRARY_PATH="$$LIBPATH"; DYLD_LIBRARY_PATH="$$LIBPATH"; SHLIB_PATH="$$LIBPATH"; \
if [ "$(PLATFORM)" = "DJGPP" ]; then PATH="$$LIBPATH\;$$PATH"; \
elif [ "$(PLATFORM)" != "Cygwin" ]; then PATH="$$LIBPATH:$$PATH"; fi; \
elif [ "$(PLATFORM)" = "Cygwin" ]; then PATH="$${LIBPATH}:$$PATH"; fi; \
export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH
alltests: \

View File

@@ -35,7 +35,7 @@ install:
do \
(cp $$i $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
chmod 755 $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new; \
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/misc/$$i ); \
mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i.new $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$i ); \
done;
files: