openssl/util
Matt Caswell 32ec41539b Server side version negotiation rewrite
This commit changes the way that we do server side protocol version
negotiation. Previously we had a whole set of code that had an "up front"
state machine dedicated to the negotiating the protocol version. This adds
significant complexity to the state machine. Historically the justification
for doing this was the support of SSLv2 which works quite differently to
SSLv3+. However, we have now removed support for SSLv2 so there is little
reason to maintain this complexity.

The one slight difficulty is that, although we no longer support SSLv2, we
do still support an SSLv3+ ClientHello in an SSLv2 backward compatible
ClientHello format. This is generally only used by legacy clients. This
commit adds support within the SSLv3 code for these legacy format
ClientHellos.

Server side version negotiation now works in much the same was as DTLS,
i.e. we introduce the concept of TLS_ANY_VERSION. If s->version is set to
that then when a ClientHello is received it will work out the most
appropriate version to respond with. Also, SSLv23_method and
SSLv23_server_method have been replaced with TLS_method and
TLS_server_method respectively. The old SSLv23* names still exist as
macros pointing at the new name, although they are deprecated.

Subsequent commits will look at client side version negotiation, as well of
removal of the old s23* code.

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2015-05-16 09:19:56 +01:00
..
pl Adjust unixly mk1mf after introduction of tkey 2015-05-14 15:55:59 +02:00
add_cr.pl
bat.sh Remove remaining variables for symlinked/copied headers and tests 2015-03-31 20:16:01 +02:00
ck_errf.pl Allow for types with leading underscore when checking error macros. 2015-04-28 14:34:58 +02:00
clean-depend.pl Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
copy-if-different.pl Remove unused variable. 2013-03-04 22:48:38 +00:00
copy.pl add -stripcr option to copy.pl from 0.9.8 2011-02-03 14:57:51 +00:00
cygwin.sh util/cygwin.sh update. 2012-03-31 11:06:46 +00:00
deleof.pl
deltree.com
dirname.pl
do_ms.sh
domd Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
err-ins.pl
extract-names.pl
extract-section.pl
files.pl Improve variable parsing when generating MINFO 2014-11-16 16:44:44 -05:00
fipsdist.pl Don't use vpaes in fips builds and exclude from restricted tarball. 2011-09-15 21:06:37 +00:00
fipslink.pl util/fipslink.pl: further adjustments. 2012-10-27 23:36:43 +00:00
fipsobj.pl *** empty log message *** 2011-02-21 15:15:58 +00:00
fixNT.sh
FreeBSD.sh
incore util/incore update. 2015-05-13 17:23:48 +02:00
indent.pro Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
install.sh
libeay.num Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
mk1mf.pl Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
mkbuildinf.pl Fix build failure on Windows due to undefined cflags identifier 2015-01-08 19:21:24 +00:00
mkcerts.sh
mkdef.pl Update mkdef for moved header file. 2015-05-14 15:58:14 -04:00
mkdir-p.pl
mkerr.pl Have mkerr.pl treat already existing multiline string defs properly 2015-04-08 21:44:43 +02:00
mkfiles.pl Remove remaining Kerberos references 2015-05-13 15:08:10 +01:00
mkrc.pl
mkstack.pl Stop symlinking, move files to intended directory 2015-03-31 20:16:01 +02:00
openssl-format-source Fix format script. 2015-03-02 13:26:29 +00:00
opensslwrap.sh
perlpath.pl
point.sh Updates from 1.0.0-stable 2009-04-06 15:22:01 +00:00
selftest.pl Updates from 1.0.0-stable. 2009-04-15 15:27:03 +00:00
shlib_wrap.sh Make Makefiles OSF-make-friendly. 2013-11-12 21:51:37 +01:00
sp-diff.pl
speed.sh
src-dep.pl
ssleay.num Server side version negotiation rewrite 2015-05-16 09:19:56 +01:00
su-filter.pl Delete trailing whitespace from output. 2015-01-22 09:20:09 +00:00
tab_num.pl
x86asm.sh