Dr. Stephen Henson
606f6c477a
Fix a shed load or warnings:
...
Duplicate const.
Use of ; outside function.
2008-10-20 15:12:00 +00:00
Lutz Jänicke
b8dfde2a36
Remove the DTLS1_BAD_VER thing from 0.9.9-dev. It is present in 0.9.8
...
but has been omitted from HEAD (0.9.9), see commit
http://cvs.openssl.org/chngview?cn=16627
by appro.
2008-10-13 06:45:59 +00:00
Lutz Jänicke
570006f3a2
Half of the commit for 0.9.8 as the bitmap handling has changed.
...
(Firstly... ommitted)
Secondly, it wasn't even _dropping_ the offending packets, in the
non-blocking case. It was just returning garbage instead.
PR: #1752
Submitted by: David Woodhouse <dwmw2@infradead.org>
2008-10-13 06:43:03 +00:00
Ben Laurie
babb379849
Type-checked (and modern C compliant) OBJ_bsearch.
2008-10-12 14:32:47 +00:00
Ben Laurie
6665ef303e
Add missing DTLS1_BAD_VER (hope I got the value right).
2008-10-12 14:04:34 +00:00
Lutz Jänicke
7e7af0bc51
When the underlying BIO_write() fails to send a datagram, we leave the
...
offending record queued as 'pending'. The DTLS code doesn't expect this,
and we end up hitting an OPENSSL_assert() in do_dtls1_write().
The simple fix is just _not_ to leave it queued. In DTLS, dropping
packets is perfectly acceptable -- and even preferable. If we wanted a
service with retries and guaranteed delivery, we'd be using TCP.
PR: #1703
Submitted by: David Woodhouse <dwmw2@infradead.org>
2008-10-10 10:41:35 +00:00
Bodo Möller
837f2fc7a4
Make sure that SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG can't
...
enable disabled ciphersuites.
2008-09-22 21:22:47 +00:00
Bodo Möller
96562f2fb3
update comment
2008-09-14 19:50:55 +00:00
Bodo Möller
fcbdde0dfe
oops
2008-09-14 18:16:07 +00:00
Andy Polyakov
51ec776b7d
dtls1_write_bytes consumers expect amount of bytes written per call, not
...
overall.
PR: 1604
2008-09-14 17:56:15 +00:00
Bodo Möller
e65bcbcef0
Fix SSL state transitions.
...
Submitted by: Nagendra Modadugu
2008-09-14 14:02:07 +00:00
Bodo Möller
f8d6be3f81
Some precautions to avoid potential security-relevant problems.
2008-09-14 13:42:34 +00:00
Andy Polyakov
d493899579
DTLS didn't handle alerts correctly.
...
PR: 1632
2008-09-13 18:24:38 +00:00
Dr. Stephen Henson
3ad74edce8
Add SSL_FIPS flag for FIPS 140-2 approved ciphersuites and add a new
...
strength "FIPS" to represent all FIPS approved ciphersuites without NULL
encryption.
2008-09-10 16:02:09 +00:00
Dr. Stephen Henson
e8da6a1d0f
Fix from stable branch.
2008-09-03 22:17:11 +00:00
Dr. Stephen Henson
305514000c
Do not discard cached handshake records during resumed sessions:
...
they are used for mac computation.
2008-09-03 12:36:16 +00:00
Dr. Stephen Henson
0702150f53
Make no-tlsext compile.
2008-09-03 12:29:57 +00:00
Bodo Möller
1cbf663a6c
sanity check
...
PR: 1679
2008-08-13 19:45:06 +00:00
Geoff Thorpe
4c3296960d
Remove the dual-callback scheme for numeric and pointer thread IDs,
...
deprecate the original (numeric-only) scheme, and replace with the
CRYPTO_THREADID object. This hides the platform-specifics and should reduce
the possibility for programming errors (where failing to explicitly check
both thread ID forms could create subtle, platform-specific bugs).
Thanks to Bodo, for invaluable review and feedback.
2008-08-06 15:54:15 +00:00
Geoff Thorpe
99649b5990
Fix signed/unsigned warning.
2008-08-05 17:48:02 +00:00
Bodo Möller
474b3b1cc8
Fix error codes for memory-saving patch.
...
Also, get rid of compile-time switch OPENSSL_NO_RELEASE_BUFFERS
because it was rather pointless (the new behavior has to be explicitly
requested by setting SSL_MODE_RELEASE_BUFFERS anyway).
2008-08-04 22:10:38 +00:00
Dr. Stephen Henson
d4cdbab99b
Avoid warnings with -pedantic, specifically:
...
Conversion between void * and function pointer.
Value computed not used.
Signed/unsigned argument.
2008-07-04 23:12:52 +00:00
Geoff Thorpe
5f834ab123
Revert my earlier CRYPTO_THREADID commit, I will commit a reworked
...
version some time soon.
2008-07-03 19:59:25 +00:00
Dr. Stephen Henson
7555c9337f
Update from stable branch.
2008-06-05 15:13:45 +00:00
Dr. Stephen Henson
0b44c26d78
Remove test fprintf.
2008-06-04 22:39:05 +00:00
Dr. Stephen Henson
4db9677bac
Compilation option to use a specific ssl client auth engine automatically.
2008-06-04 22:34:38 +00:00
Ben Laurie
5ce278a77b
More type-checking.
2008-06-04 11:01:43 +00:00
Dr. Stephen Henson
59d2d48f64
Add support for client cert engine setting in s_client app.
...
Add appropriate #ifdefs round client cert functions in headers.
2008-06-03 11:26:27 +00:00
Dr. Stephen Henson
45d3767d28
Prevent signed/unsigned warning on VC++
2008-06-03 10:17:45 +00:00
Ben Laurie
8671b89860
Memory saving patch.
2008-06-03 02:48:34 +00:00
Dr. Stephen Henson
bdfe932dca
Release engine reference when calling SSL_CTX_free().
2008-06-01 23:06:48 +00:00
Dr. Stephen Henson
3fc59c8406
Allow ENGINE client cert callback to specify a set of other certs, for
...
the rest of the certificate chain. Currently unused.
2008-06-01 22:45:08 +00:00
Dr. Stephen Henson
c61915c659
Update error codes.
2008-06-01 22:34:40 +00:00
Dr. Stephen Henson
368888bcb6
Add client cert engine to SSL routines.
2008-06-01 22:33:24 +00:00
Dr. Stephen Henson
eafd6e5110
Update error codes, move typedef of SSL, SSL_CTX to ossl_typ.h
2008-06-01 21:18:47 +00:00
Bodo Möller
e194fe8f47
From HEAD:
...
Fix flaw if 'Server Key exchange message' is omitted from a TLS
handshake which could lead to a cilent crash as found using the
Codenomicon TLS test suite (CVE-2008-1672)
Reviewed by: openssl-security@openssl.org
Obtained from: mark@awe.com
2008-05-28 22:17:34 +00:00
Bodo Möller
40a706286f
From HEAD:
...
Fix double-free in TLS server name extensions which could lead to a remote
crash found by Codenomicon TLS test suite (CVE-2008-0891)
Reviewed by: openssl-security@openssl.org
Obtained from: jorton@redhat.com
2008-05-28 22:15:48 +00:00
Ben Laurie
3c1d6bbc92
LHASH revamp. make depend.
2008-05-26 11:24:29 +00:00
Lutz Jänicke
17a4a4dff8
Reword comment to be much shorter to stop other people from complaining
...
about "overcommenting".
2008-05-26 06:21:13 +00:00
Lutz Jänicke
c2c2e7a438
Clear error queue when starting SSL_CTX_use_certificate_chain_file
...
PR: 1417, 1513
Submitted by: Erik de Castro Lopo <mle+openssl@mega-nerd.com>
2008-05-23 10:37:52 +00:00
Dr. Stephen Henson
8a2062fefe
Update from stable branch.
2008-04-30 16:14:02 +00:00
Dr. Stephen Henson
2f63ad5b35
Update from stable branch.
2008-04-29 17:22:35 +00:00
Dr. Stephen Henson
c78bba2343
Oops!
2008-04-29 16:46:46 +00:00
Dr. Stephen Henson
d26c905c67
Update from stable branch.
2008-04-29 16:44:51 +00:00
Dr. Stephen Henson
8fcc9caecc
Update from stable branch.
2008-04-29 16:39:03 +00:00
Dr. Stephen Henson
dc634aff25
Don't send zero length session ID if stateless session resupmtion is
...
successful. Check be seeing if there is a cache hit.
2008-04-25 16:27:04 +00:00
Dr. Stephen Henson
8e3b2dbb31
Disable debugging fprintf.
2008-04-25 11:33:32 +00:00
Geoff Thorpe
f7ccba3edf
There was a need to support thread ID types that couldn't be reliably cast
...
to 'unsigned long' (ie. odd platforms/compilers), so a pointer-typed
version was added but it required portable code to check *both* modes to
determine equality. This commit maintains the availability of both thread
ID types, but deprecates the type-specific accessor APIs that invoke the
callbacks - instead a single type-independent API is used. This simplifies
software that calls into this interface, and should also make it less
error-prone - as forgetting to call and compare *both* thread ID accessors
could have led to hard-to-debug/infrequent bugs (that might only affect
certain platforms or thread implementations). As the CHANGES note says,
there were corresponding deprecations and replacements in the
thread-related functions for BN_BLINDING and ERR too.
2008-03-28 02:49:43 +00:00
Dr. Stephen Henson
fe591284be
Update dependencies.
2008-03-22 18:52:03 +00:00
Geoff Thorpe
1e26a8baed
Fix a variety of warnings generated by some elevated compiler-fascism,
...
OPENSSL_NO_DEPRECATED, etc. Steve, please double-check the CMS stuff...
2008-03-16 21:05:46 +00:00
Dr. Stephen Henson
8931b30d84
And so it begins...
...
Initial support for CMS.
Add zlib compression BIO.
Add AES key wrap implementation.
Generalize S/MIME MIME code to support CMS and/or PKCS7.
2008-03-12 21:14:28 +00:00
Andy Polyakov
aff686df91
Fix unsigned/signed warnings in ssl.
2008-01-05 21:35:34 +00:00
Dr. Stephen Henson
9400d9ac83
Initialize sigsize.
2007-12-14 16:53:50 +00:00
Dr. Stephen Henson
31f528b15d
Fix from stable branch.
2007-11-03 13:09:34 +00:00
Dr. Stephen Henson
8e1d3ba50e
Fix duplicate error codes.
2007-10-26 23:54:46 +00:00
Dr. Stephen Henson
0e1dba934f
1. Changes for s_client.c to make it return non-zero exit code in case
...
of handshake failure
2. Changes to x509_certificate_type function (crypto/x509/x509type.c) to
make it recognize GOST certificates as EVP_PKT_SIGN|EVP_PKT_EXCH
(required for s3_srvr to accept GOST client certificates).
3. Changes to EVP
- adding of function EVP_PKEY_CTX_get0_peerkey
- Make function EVP_PKEY_derive_set_peerkey work for context with
ENCRYPT operation, because we use peerkey field in the context to
pass non-ephemeral secret key to GOST encrypt operation.
- added EVP_PKEY_CTRL_SET_IV control command. It is really
GOST-specific, but it is used in SSL code, so it has to go
in some header file, available during libssl compilation
4. Fix to HMAC to avoid call of OPENSSL_cleanse on undefined data
5. Include des.h if KSSL_DEBUG is defined into some libssl files, to
make debugging output which depends on constants defined there, work
and other KSSL_DEBUG output fixes
6. Declaration of real GOST ciphersuites, two authentication methods
SSL_aGOST94 and SSL_aGOST2001 and one key exchange method SSL_kGOST
7. Implementation of these methods.
8. Support for sending unsolicited serverhello extension if GOST
ciphersuite is selected. It is require for interoperability with
CryptoPro CSP 3.0 and 3.6 and controlled by
SSL_OP_CRYPTOPRO_TLSEXT_BUG constant.
This constant is added to SSL_OP_ALL, because it does nothing, if
non-GOST ciphersuite is selected, and all implementation of GOST
include compatibility with CryptoPro.
9. Support for CertificateVerify message without length field. It is
another CryptoPro bug, but support is made unconditional, because it
does no harm for draft-conforming implementation.
10. In tls1_mac extra copy of stream mac context is no more done.
When I've written currently commited code I haven't read
EVP_DigestSignFinal manual carefully enough and haven't noticed that
it does an internal digest ctx copying.
This implementation was tested against
1. CryptoPro CSP 3.6 client and server
2. Cryptopro CSP 3.0 server
2007-10-26 12:06:36 +00:00
Dr. Stephen Henson
76c3ef7446
Fix from stable branch.
2007-10-18 11:42:47 +00:00
Andy Polyakov
659f7f3168
Don't let DTLS ChangeCipherSpec increment handshake sequence number.
...
PR: 1587
2007-10-17 21:15:48 +00:00
Dr. Stephen Henson
3d3bf9c730
Don't lookup zero length session ID.
...
PR: 1591
2007-10-17 17:31:57 +00:00
Dr. Stephen Henson
4017e8706c
Fix from stable branch.
2007-10-17 11:49:27 +00:00
Andy Polyakov
3ce54f35b3
Make ssl compile [from 098-stable, bug is masked by default].
2007-10-14 14:09:13 +00:00
Andy Polyakov
e979c039f9
Fix warnings in d1_both.c [from 0.9.8-stable].
2007-10-13 11:00:52 +00:00
Andy Polyakov
90acf770b5
DTLS fixes from 0.9.8-stable.
2007-10-13 10:57:02 +00:00
Andy Polyakov
a2115c5d17
Respect cookie length set by app_gen_cookie_cb.
...
Submitted by: Alex Lam
2007-10-09 19:31:18 +00:00
Andy Polyakov
4fe55663df
Make DTLS1 record layer MAC calculation RFC compliant.
...
Submitted by: Alex Lam
2007-10-09 19:19:07 +00:00
Andy Polyakov
5d58f1bbfe
Prohibit RC4 in DTLS.
2007-10-05 21:04:56 +00:00
Dr. Stephen Henson
4f19a9cb9f
Off by one fix from stable branch.
2007-10-04 12:07:52 +00:00
Andy Polyakov
81fe8dcfe1
Oops! This was erroneously left out commit #16632 .
2007-10-01 06:27:21 +00:00
Andy Polyakov
d527834a1d
Basic idea behind explicit IV is to make it unpredictable for attacker.
...
Until now it was xor between CBC residue and 1st block from last datagram,
or in other words still predictable.
2007-09-30 22:01:36 +00:00
Andy Polyakov
89c333e3e5
Make ChangeCipherSpec compliant with DTLS RFC4347.
2007-09-30 21:19:30 +00:00
Andy Polyakov
0d97d00b6c
DTLS RFC4347 says HelloVerifyRequest resets Finished MAC.
2007-09-30 19:34:36 +00:00
Andy Polyakov
e7adda52b3
DTLS RFC4347 requires client to use rame random field in reply to
...
HelloVerifyRequest.
2007-09-30 19:15:27 +00:00
Andy Polyakov
7432d073af
Switch to RFC-compliant version encoding in DTLS.
2007-09-30 18:53:54 +00:00
Dr. Stephen Henson
04e2ab2c02
Move no status notification to ssl_check_serverhello_tlsext() to ensure
...
no status is notified even if no server extensions are present.
2007-09-28 17:45:11 +00:00
Dr. Stephen Henson
67c8e7f414
Support for certificate status TLS extension.
2007-09-26 21:56:59 +00:00
Dr. Stephen Henson
870d6541f2
Use accept flag for new session ticket write.
2007-09-23 15:55:15 +00:00
Bodo Möller
02c27b113c
properly handle length-zero opaque PRF input values
...
(which are pointless, but still might occur)
2007-09-23 11:30:53 +00:00
Bodo Möller
761772d7e1
Implement the Opaque PRF Input TLS extension
...
(draft-rescorla-tls-opaque-prf-input-00.txt), and do some cleanups and
bugfixes on the way. In particular, this fixes the buffer bounds
checks in ssl_add_clienthello_tlsext() and in ssl_add_serverhello_tlsext().
Note that the opaque PRF Input TLS extension is not compiled by default;
see CHANGES.
2007-09-21 06:54:24 +00:00
Andy Polyakov
54ef01b54b
Fix indentation in d1_both.c.
2007-09-19 16:38:15 +00:00
Ben Laurie
9311c4421a
Fix dependencies. Make depend.
2007-09-19 14:53:18 +00:00
Ben Laurie
aaa4f448cf
The other half of make errors.
2007-09-19 14:51:28 +00:00
Ben Laurie
5f8b524619
make errors.
2007-09-19 14:29:59 +00:00
Bodo Möller
08111768a2
fix warning
2007-09-19 01:43:59 +00:00
Bodo Möller
1b827d7b6f
Clean up error codes a bit.
...
(engines/ccgost/ remains utter chaos, though; "make errors" is not happy.)
2007-09-19 00:58:58 +00:00
Dr. Stephen Henson
c81898cbc4
Update from stable branch.
2007-09-17 17:31:53 +00:00
Dr. Stephen Henson
a6fbcb4220
Change safestack reimplementation to match 0.9.8.
...
Fix additional gcc 4.2 value not used warnings.
2007-09-07 13:25:15 +00:00
Dr. Stephen Henson
8164032a2e
Fix warnings: computed value not use, incompatible pointer initialization
...
and cast from pointer to int of different size (linux-x86_64 and align).
2007-09-07 13:03:25 +00:00
Dr. Stephen Henson
81025661a9
Update ssl code to support digests other than MD5+SHA1 in handshake.
...
Submitted by: Victor B. Wagner <vitus@cryptocom.ru>
2007-08-31 12:42:53 +00:00
Dr. Stephen Henson
446124a258
Check return code when attempting to receive new session ticket message.
2007-08-31 00:28:01 +00:00
Dr. Stephen Henson
94d511cdbd
Add ctrls to set and get RFC4507bis keys to enable several contexts to
...
reuse the same tickets.
2007-08-28 01:08:45 +00:00
Dr. Stephen Henson
956006b741
Use SHA256 for ticket HMAC if possible.
2007-08-20 12:35:20 +00:00
Dr. Stephen Henson
525de5d335
OPENSSL_NO_TLS1 WIN32 build support. Fix so normal build works again.
2007-08-12 23:59:05 +00:00
Dr. Stephen Henson
367eb1f125
Fix warning and make no-tlsext work.
2007-08-12 18:56:14 +00:00
Dr. Stephen Henson
3444961787
Typo.
2007-08-12 18:05:20 +00:00
Dr. Stephen Henson
710069c19e
Fix warnings.
2007-08-12 17:44:32 +00:00
Dr. Stephen Henson
ddd3a617ca
Remove debugging fprintfs, fix typo.
2007-08-12 17:06:28 +00:00
Dr. Stephen Henson
6434abbfc6
RFC4507 (including RFC4507bis) TLS stateless session resumption support
...
for OpenSSL.
2007-08-11 23:18:29 +00:00
Dr. Stephen Henson
3c07d3a3d3
Finish gcc 4.2 changes.
2007-06-07 13:14:42 +00:00
Dr. Stephen Henson
b948e2c59e
Update ssl library to support EVP_PKEY MAC API. Include generic MAC support.
2007-06-04 17:04:40 +00:00
Bodo Möller
a291745eeb
fix function codes for error
2007-04-24 01:06:19 +00:00
Bodo Möller
cb1bab1a04
All ciphersuites should have a strength designator.
2007-04-24 00:13:51 +00:00
Bodo Möller
96afc1cfd5
Add SEED encryption algorithm.
...
PR: 1503
Submitted by: KISA
Reviewed by: Bodo Moeller
2007-04-23 23:48:59 +00:00
Ben Laurie
fa9fed1c3a
Don't use a negative number as a length. Coverity ID 57.
2007-04-05 16:28:48 +00:00
Dr. Stephen Henson
9981a51e42
Stage 1 GOST ciphersuite support.
...
Submitted by: ran@cryptocom.ru
Reviewed by: steve@openssl.org
2007-03-23 17:04:05 +00:00
Bodo Möller
0f32c841a6
stricter session ID context matching
2007-03-21 14:33:16 +00:00
Bodo Möller
882d29dd87
Fix incorrect substitution that happened during the recent ciphersuite
...
selection remodeling
Submitted by: Victor Duchovni
2007-02-22 21:31:19 +00:00
Bodo Möller
aa79dd6895
prefer SHA1 over MD5 (this affects the Kerberos ciphersuites)
2007-02-21 09:33:14 +00:00
Bodo Möller
60cad2caed
delete obsolete comment
2007-02-21 09:32:17 +00:00
Bodo Möller
114c9c36b1
SSL_kKRB5 ciphersuites shouldn't be preferred by default
2007-02-20 16:39:58 +00:00
Bodo Möller
fd5bc65cc8
Improve ciphersuite order stability when disabling ciphersuites.
...
Change ssl_create_cipher_list() to prefer ephemeral ECDH over
ephemeral DH.
2007-02-20 16:36:58 +00:00
Bodo Möller
e041863905
fix a typo in the new ciphersuite ordering code
2007-02-20 13:25:36 +00:00
Bodo Möller
0a05123a6c
Include "!eNULL" in SSL_DEFAULT_CIPHER_LIST to make sure that a
...
ciphersuite string such as "DEFAULT:RSA" cannot enable
authentication-only ciphersuites.
Also, change ssl_create_cipher_list() so that it no longer
starts with an arbitrary ciphersuite ordering, but instead
uses the logic that we previously had in SSL_DEFEAULT_CIPHER_LIST.
SSL_DEFAULT_CIPHER_LIST simplifies into just "ALL:!aNULL:!eNULL".
2007-02-19 18:41:41 +00:00
Bodo Möller
2afe316721
fix warnings for CIPHER_DEBUG builds
2007-02-19 16:59:13 +00:00
Bodo Möller
7e69565fe6
fix warnings/inconsistencies caused by the recent changes to the
...
ciphersuite selection code in HEAD
Submitted by: Victor Duchovni
2007-02-19 14:53:18 +00:00
Bodo Möller
ccae144d62
fix incorrect strength bit values for certain Kerberos ciphersuites
...
Submitted by: Victor Duchovni
2007-02-19 14:49:12 +00:00
Bodo Möller
52b8dad8ec
Reorganize the data used for SSL ciphersuite pattern matching.
...
This change resolves a number of problems and obviates multiple kludges.
A new feature is that you can now say "AES256" or "AES128" (not just
"AES", which enables both).
In some cases the ciphersuite list generated from a given string is
affected by this change. I hope this is just in those cases where the
previous behaviour did not make sense.
2007-02-17 06:45:38 +00:00
Nils Larsch
cc684e330b
ensure that the EVP_CIPHER_CTX object is initialized
...
PR: 1490
2007-02-16 20:34:15 +00:00
Nils Larsch
15780a1ea0
use user-supplied malloc functions for persistent kssl objects
...
PR: 1467
Submitted by: Andrei Pelinescu-Onciul <andrei@iptel.org>
2007-02-10 10:42:48 +00:00
Nils Larsch
feaaf1dbea
ensure that a ec key is used
...
PR: 1476
2007-02-07 20:28:19 +00:00
Dr. Stephen Henson
42182852f5
Constify version strings is ssl lib.
2007-01-21 16:06:05 +00:00
Nils Larsch
39d764ed58
remove undefined constant
2007-01-03 20:00:32 +00:00
Nils Larsch
fec38ca4ed
fix typos
...
PR: 1354, 1355, 1398, 1408
2006-12-21 21:13:27 +00:00
Dr. Stephen Henson
d137b56a5b
Win32 fixes from stable branch.
2006-11-30 13:39:34 +00:00
Nils Larsch
7806f3dd4b
replace macros with functions
...
Submitted by: Tracy Camp <tracyx.e.camp@intel.com>
2006-11-29 20:54:57 +00:00
Bodo Möller
1e24b3a09e
fix support for receiving fragmented handshake messages
2006-11-29 14:45:50 +00:00
Dr. Stephen Henson
47a9d527ab
Update from 0.9.8 stable. Eliminate duplicate error codes.
2006-11-21 21:29:44 +00:00
Nils Larsch
1611b9ed80
remove SSLEAY_MACROS code
2006-11-06 19:53:39 +00:00
Andy Polyakov
a4d64c7f49
Align data payload for better performance.
2006-10-20 11:26:00 +00:00
Mark J. Cox
3ff55e9680
Fix buffer overflow in SSL_get_shared_ciphers() function.
...
(CVE-2006-3738) [Tavis Ormandy and Will Drewry, Google Security Team]
Fix SSL client code which could crash if connecting to a
malicious SSLv2 server. (CVE-2006-4343)
[Tavis Ormandy and Will Drewry, Google Security Team]
2006-09-28 13:18:43 +00:00
Richard Levitte
cbb92dfaf0
Fixes for the following claims:
...
1) Certificate Message with no certs
OpenSSL implementation sends the Certificate message during SSL
handshake, however as per the specification, these have been omitted.
-- RFC 2712 --
CertificateRequest, and the ServerKeyExchange shown in Figure 1
will be omitted since authentication and the establishment of a
master secret will be done using the client's Kerberos credentials
for the TLS server. The client's certificate will be omitted for
the same reason.
-- RFC 2712 --
3) Pre-master secret Protocol version
The pre-master secret generated by OpenSSL does not have the correct
client version.
RFC 2712 says, if the Kerberos option is selected, the pre-master
secret structure is the same as that used in the RSA case.
TLS specification defines pre-master secret as:
struct {
ProtocolVersion client_version;
opaque random[46];
} PreMasterSecret;
where client_version is the latest protocol version supported by the
client
The pre-master secret generated by OpenSSL does not have the correct
client version. The implementation does not update the first 2 bytes
of random secret for Kerberos Cipher suites. At the server-end, the
client version from the pre-master secret is not validated.
PR: 1336
2006-09-28 12:22:58 +00:00
Dr. Stephen Henson
89c9c66736
Submitted by: Brad Spencer <spencer@jacknife.org>
...
Reviewed by: steve
2006-09-23 17:29:49 +00:00
Bodo Möller
ed65f7dc34
ensure that ciphersuite strings such as "RC4-MD5" match the SSL 2.0
...
ciphersuite as well
2006-09-11 09:49:03 +00:00
Ben Laurie
777c47acbe
Make things static that should be. Declare stuff in headers that should be.
...
Fix warnings.
2006-08-28 17:01:04 +00:00
Bodo Möller
ed3ecd801e
Error messages for client ECC cert verification.
...
Also, change the default ciphersuite to give some prefererence to
ciphersuites with forwared secrecy (rather than using a random order).
2006-06-15 19:58:22 +00:00
Bodo Möller
076944d920
Fix algorithm handling for ECC ciphersuites: Adapt to recent changes,
...
and allow more general RSA OIDs for ECC certs with RSA CA sig.
2006-06-15 18:28:00 +00:00
Bodo Möller
09e20e0bd8
Fix another new bug in the cipherstring logic.
2006-06-15 17:17:06 +00:00
Bodo Möller
a717831da4
Fix another bug introduced yesterday when deleting Fortezza stuff:
...
make sure 'mask' is initialized in ssl_cipher_get_disabled().
Also simplify code by removing some unused arguments in static functions.
2006-06-15 16:54:20 +00:00
Bodo Möller
4dfc8f1f0b
Oops ... deleted too much in the previous commit when I deleted
...
the Fortezza stuff
2006-06-15 16:07:10 +00:00
Bodo Möller
5b57fe0a1e
Disable invalid ciphersuites
2006-06-14 17:51:46 +00:00
Bodo Möller
89bbe14c50
Ciphersuite string bugfixes, and ECC-related (re-)definitions.
2006-06-14 17:40:31 +00:00
Bodo Möller
6635b48cd1
Make sure that AES ciphersuites get priority over Camellia
...
ciphersuites in the default cipher string.
2006-06-14 13:58:48 +00:00
Bodo Möller
675f605d44
Thread-safety fixes
2006-06-14 08:55:23 +00:00
Bodo Möller
f3dea9a595
Camellia cipher, contributed by NTT
...
Submitted by: Masashi Fujita
Reviewed by: Bodo Moeller
2006-06-09 15:44:59 +00:00
Richard Levitte
4d4e08ec1c
Use a new signed int ii instead of j (which is unsigned) to handle the
...
return value from sk_SSL_CIPHER_find().
2006-05-28 19:44:27 +00:00
Dr. Stephen Henson
6657b9c73a
Fix warnings.
2006-05-26 13:27:58 +00:00
Richard Levitte
7e76e56387
Someone made a mistake, and some function and reason codes got
...
duplicate numbers. Renumbering.
2006-05-12 15:27:52 +00:00
Dr. Stephen Henson
5cda6c4582
Fix from stable branch.
2006-05-07 12:30:37 +00:00
Dr. Stephen Henson
c20276e4ae
Fix (most) WIN32 warnings and errors.
2006-04-17 12:08:22 +00:00
Dr. Stephen Henson
ba1ba5f0fb
If cipher list contains a match for an explicit ciphersuite only match that
...
one suite.
2006-04-15 00:22:05 +00:00
Dr. Stephen Henson
8795d38906
Update dependencies.
2006-04-08 13:04:31 +00:00
Bodo Möller
a01d9ac558
Remove ECC extension information from external representation
...
of the session -- we don't really need it once the handshake
has completed.
2006-04-05 17:11:19 +00:00
Dr. Stephen Henson
e2bce37720
Stop warning.
2006-04-04 18:11:49 +00:00
Bodo Möller
a4974de937
clarification
2006-04-03 14:11:23 +00:00
Bodo Möller
22f41c9b99
check length properly
...
Submitted by: Peter Sylvester
2006-04-03 13:57:56 +00:00
Bodo Möller
a123c552cd
simplify: use s2n macro
2006-04-03 13:07:18 +00:00
Bodo Möller
b2172f4f8e
Avoid hard-coded table length where we can use sizeof.
...
Submitted by: Peter Sylvester
Reviewed by: Bodo Moeller
2006-04-03 11:56:30 +00:00
Bodo Möller
dc1d1b6934
fix memory leak
...
Submitted by: Peter Sylvester
2006-04-03 11:49:18 +00:00
Bodo Möller
a70183bc80
fix for hostname extension
...
Submitted by: Kaspar Brand, Peter Sylvester
2006-03-30 02:53:30 +00:00
Bodo Möller
332737217a
Implement Supported Elliptic Curves Extension.
...
Submitted by: Douglas Stebila
2006-03-30 02:44:56 +00:00
Bodo Möller
f393b7449d
Implement cipher-suite selection logic given Supported Point Formats Extension.
...
Submitted by: Douglas Stebila
2006-03-30 02:35:09 +00:00
Bodo Möller
9e5dba197c
Simplify ASN.1 for point format list
...
Submitted by: Douglas Stebila
2006-03-26 10:53:52 +00:00
Nils Larsch
c6a27f0178
fix for OPENSSL_NO_EC
...
PR: 1293
2006-03-15 19:17:56 +00:00
Nils Larsch
67b6f1ca88
fix problems found by coverity: remove useless code
2006-03-15 17:45:43 +00:00
Richard Levitte
a4ff392503
tlsext_ecpointformatlist_length is unsigned, so check if it's less
...
than zero will only result in pissing of some compilers...
2006-03-15 09:57:16 +00:00
Nils Larsch
90bdfd97a6
signed vs. unsigned
2006-03-13 22:07:05 +00:00
Richard Levitte
b9865f110e
Oh, now I noticed Bodo's change that made tlsext_ecpointformatlist
...
unsigned...
2006-03-13 12:37:19 +00:00
Richard Levitte
07ef612968
Resolve signed vs. unsigned issues
2006-03-13 12:32:51 +00:00
Bodo Möller
019fdc7850
fix sign problems
2006-03-13 09:55:06 +00:00
Nils Larsch
7c382796be
remove unused variables
2006-03-13 07:21:39 +00:00
Bodo Möller
b6acb8d0de
udpate Supported Point Formats Extension code
...
Submitted by: Douglas Stebila
2006-03-13 01:24:38 +00:00
Nils Larsch
6adbcb9755
fix comment
...
Submitted by: Peter Sylvester
2006-03-12 23:00:32 +00:00
Nils Larsch
e968089485
use BIO_snprintf() instead of snprintf + use BIO_FP_TEXT for text output
...
Submitted by: Gisle Vanem
2006-03-12 22:16:57 +00:00
Bodo Möller
36ca4ba63d
Implement the Supported Point Formats Extension for ECC ciphersuites
...
Submitted by: Douglas Stebila
2006-03-11 23:46:37 +00:00
Nils Larsch
ddac197404
add initial support for RFC 4279 PSK SSL ciphersuites
...
PR: 1191
Submitted by: Mika Kousa and Pasi Eronen of Nokia Corporation
Reviewed by: Nils Larsch
2006-03-10 23:06:27 +00:00
Nils Larsch
f71165b556
fix no-dh configure option; patch supplied by Peter Meerwald
2006-02-24 17:58:43 +00:00
Bodo Möller
e67ed82877
move new member of SSL_SESSION to the end
...
(minimize changes to binary format)
Submitted by: Peter Sylvester
2006-02-07 14:26:43 +00:00
Dr. Stephen Henson
15ac971681
Update filenames in makefiles.
2006-02-04 01:45:59 +00:00
Nils Larsch
8c5a2bd6bb
add additional checks + cleanup
...
Submitted by: David Hartman <david_hartman@symantec.com>
2006-01-29 23:12:22 +00:00
Nils Larsch
00fe865dbe
recent changes from 0.9.8: fix cipher list order in s3_lib.c,
...
make "no-ssl2" work again
PR: 1217
2006-01-15 17:35:28 +00:00
Richard Levitte
6b9e941ee3
signed vs. unsigned clash.
2006-01-14 11:49:24 +00:00
Bodo Möller
58ece83395
Further TLS extension improvements
...
Submitted by: Peter Sylvester
2006-01-13 09:21:10 +00:00
Bodo Möller
6ad47e83b4
improvements for alert handling
2006-01-11 07:18:35 +00:00
Bodo Möller
241520e66d
More TLS extension related changes.
...
Submitted by: Peter Sylvester
2006-01-11 06:10:40 +00:00
Bodo Möller
a13c20f603
Further TLS extension updates
...
Submitted by: Peter Sylvester
2006-01-09 19:49:05 +00:00
Bodo Möller
51eb1b81f6
Avoid contradictive error code assignments.
...
"make errors".
2006-01-08 21:54:24 +00:00
Bodo Möller
739a543ea8
Some error code cleanups (SSL lib. used SSL_R_... codes reserved for alerts)
2006-01-08 19:42:30 +00:00
Bodo Möller
01c76c6606
There's no such things as DTLS1_AD_MISSING_HANDSHAKE_MESSAGE.
...
For now, anyway.
2006-01-07 20:44:29 +00:00
Bodo Möller
d32f888db1
prepare for additional RFC3546 alerts
2006-01-07 20:33:16 +00:00
Bodo Möller
f7914dbf9a
make sure that the unrecognized_name alert actually gets sent
...
Submitted by: Peter Sylvester
2006-01-07 20:29:50 +00:00
Bodo Möller
3ff94a009b
complete and correct RFC3546 error codes
2006-01-07 20:28:11 +00:00
Bodo Möller
1aeb3da83f
Fixes for TLS server_name extension
...
Submitted by: Peter Sylvester
2006-01-06 09:08:59 +00:00
Richard Levitte
8de5b7f548
Fix signed/unsigned char clashes.
2006-01-04 12:02:43 +00:00
Bodo Möller
f1fd4544a3
Various changes in the new TLS extension code, including the following:
...
- fix indentation
- rename some functions and macros
- fix up confusion between SSL_ERROR_... and SSL_AD_... values
2006-01-03 03:27:19 +00:00
Bodo Möller
ed3883d21b
Support TLS extensions (specifically, HostName)
...
Submitted by: Peter Sylvester
2006-01-02 23:14:37 +00:00
Bodo Möller
7476f3ac3b
Rewrite timeout computation in a way that is less prone to overflow.
...
(Problem reported by Peter Sylvester.)
2005-12-30 23:51:36 +00:00
Andy Polyakov
be7b4458f2
Keep disclaiming 16-bit platform support. For now remove WIN16 references
...
from .h files...
2005-12-18 19:11:37 +00:00
Bodo Möller
d56349a2aa
update TLS-ECC code
...
Submitted by: Douglas Stebila
2005-12-13 07:33:35 +00:00
Dr. Stephen Henson
7bbcb2f690
Avoid warnings on VC++ 2005.
2005-12-05 17:21:22 +00:00
Bodo Möller
d804f86b88
disable some invalid ciphersuites
2005-11-15 23:32:11 +00:00
Bodo Möller
72dce7685e
Add fixes for CAN-2005-2969.
...
(This were in 0.9.7-stable and 0.9.8-stable, but not in HEAD so far.)
2005-10-26 19:40:45 +00:00
Dr. Stephen Henson
c1de1a190d
Avoid warning on Win32.
2005-10-08 17:31:18 +00:00
Dr. Stephen Henson
566dda07ba
New option SSL_OP_NO_COMP to disable compression. New ctrls to set
...
maximum send fragment size. Allocate I/O buffers accordingly.
2005-10-08 00:18:53 +00:00
Dr. Stephen Henson
231b98a5e1
Make OPENSSL_NO_COMP work under Win32.
2005-10-02 12:28:40 +00:00
Dr. Stephen Henson
d08b6b44ba
Fix compilation without OPENSSL_NO_COMP :-)
2005-10-01 00:40:34 +00:00
Dr. Stephen Henson
09b6c2ef15
Make OPENSSL_NO_COMP compile again.
2005-09-30 23:35:33 +00:00
Dr. Stephen Henson
61094cf3dc
128 bit AES ciphersuites should be classified as HIGH.
2005-09-21 00:55:42 +00:00
Nils Larsch
8215e7a938
fix warnings when building openssl with the following compiler options:
...
-Wmissing-prototypes -Wcomment -Wformat -Wimplicit -Wmain -Wmultichar
-Wswitch -Wshadow -Wtrigraphs -Werror -Wchar-subscripts
-Wstrict-prototypes -Wreturn-type -Wpointer-arith -W -Wunused
-Wno-unused-parameter -Wuninitialized
2005-08-28 22:49:57 +00:00
Ben Laurie
337e368239
Fix warnings.
2005-08-27 12:10:34 +00:00
Nils Larsch
6e119bb02e
Keep cipher lists sorted in the source instead of sorting them at
...
runtime, thus removing the need for a lock. Add a test to ssltest
to verify that the cipher lists are sorted.
2005-08-25 07:29:54 +00:00
Nils Larsch
7f3c9036ea
initialize cipher/digest methods table in SSL_library_init() and hence remove the need for a lock
2005-08-21 23:06:23 +00:00
Nils Larsch
4ebb342fcd
Let the TLSv1_method() etc. functions return a const SSL_METHOD
...
pointer and make the SSL_METHOD parameter in SSL_CTX_new,
SSL_CTX_set_ssl_version and SSL_set_ssl_method const.
2005-08-14 21:48:33 +00:00
Nils Larsch
eba63ef58b
a ssl object needs it's own instance of a ecdh key; remove obsolete comment
2005-08-08 20:02:18 +00:00
Nils Larsch
01a9792f05
remove unused internal foo_base_method functions
2005-08-08 19:04:37 +00:00
Dr. Stephen Henson
f3b656b246
Initialize SSL_METHOD structures at compile time. This removes the need
...
for locking code. The CRYPTO_LOCK_SSL_METHOD lock is now no longer used.
2005-08-05 23:56:11 +00:00
Andy Polyakov
19bd66fe74
WCE update, mostly typos.
2005-08-03 19:56:36 +00:00
Nils Larsch
c755c5fd8b
improved error checking and some fixes
...
PR: 1170
Submitted by: Yair Elharrar
Reviewed and edited by: Nils Larsch
2005-07-26 21:10:34 +00:00
Richard Levitte
b2a9d36a7f
bytes_to_long_long isn't used anywhere any more, so let's remove it
...
entirely.
2005-07-26 05:10:50 +00:00
Richard Levitte
04f15edb91
I'm reversing this change, as it seems the error is somewhere else.
2005-07-26 04:53:21 +00:00
Geoff Thorpe
f920c5b590
Fix signed/unsigned warnings.
2005-07-26 04:25:05 +00:00
Geoff Thorpe
05fc7018f8
Fix PEDANTIC compilation, using the same trick as elsewhere.
2005-07-26 04:05:03 +00:00
Geoff Thorpe
a384002724
Fix 64-bit compilation when PQ_64BIT_IS_INTEGER isn't defined.
2005-07-26 04:01:50 +00:00
Geoff Thorpe
20a90e3a76
Fix some signed/unsigned warnings.
2005-07-22 03:36:30 +00:00
Nils Larsch
3eeaab4bed
make
...
./configure no-deprecated [no-dsa] [no-dh] [no-ec] [no-rsa]
make depend all test
work again
PR: 1159
2005-07-16 12:37:36 +00:00
Ben Laurie
a51a97262d
Brought forward from 0.9.8 - 64 bit warning fixes and fussy compiler fixes.
2005-06-29 11:02:15 +00:00
Andy Polyakov
83e68987b3
Eliminate dependency on UNICODE macro.
2005-06-27 21:27:23 +00:00
Richard Levitte
543b4ecc13
DCC doesn't like argument names in returned function pointers.
...
PR: 1122
2005-06-23 21:35:25 +00:00
Andy Polyakov
44eff497e8
Fix typo in ssl/d1_pkt.c.
2005-06-20 19:36:34 +00:00
Andy Polyakov
50ec3951dc
Handle wrap-arounds and revive missing assignment.
2005-06-20 12:40:37 +00:00
Richard Levitte
fbd63d0784
Do not undefine _XOPEN_SOURCE. This is currently experimental, and
...
will be firmed up as soon as it's been verified not to break anything.
2005-06-16 22:20:55 +00:00
Nils Larsch
f0747cd950
- let SSL_CTX_set_cipher_list and SSL_set_cipher_list return an
...
error if the cipher list is empty
- fix last commit in ssl_create_cipher_list
- clean up ssl_create_cipher_list
2005-06-10 19:55:26 +00:00
Nils Larsch
052ec89927
use "=" instead of "|=", fix typo
2005-06-08 22:22:33 +00:00
Nils Larsch
cbed917fee
ssl_create_cipher_list should return an error if no cipher could be
...
collected (see SSL_CTX_set_cipher_list manpage). Fix handling of
"cipher1+cipher2" expressions in ssl_cipher_process_rulestr.
PR: 836 + 1005
2005-06-08 21:19:14 +00:00
Andy Polyakov
dffdb56b7f
"Liberate" dtls from BN dependency. Fix bug in replay/update.
2005-06-07 22:21:14 +00:00
Richard Levitte
d1acb9b44f
Further change pq_compat.h to generate the flag macros PQ_64BIT_IS_INTEGER
...
and PQ_64BIT_IS_BIGNUM with the values 0 (for false) and 1 (for true),
depending on which is true. Use those flags everywhere else to provide
the correct implementation for handling certain operations in q PQ_64BIT.
2005-06-06 00:32:11 +00:00
Richard Levitte
02c5ddf91e
From 0.9.8-stable:
...
handshake_write_seq is an unsigned short, so treat it like one
2005-06-04 04:18:26 +00:00
Nils Larsch
1d42741a19
clear error queue on success and return NULL if no cert could be read
...
PR: 1088
2005-06-01 08:38:44 +00:00
Richard Levitte
75c00536ba
Synchronise more with the Unix build.
2005-05-31 20:28:41 +00:00
Richard Levitte
188b05792f
pqueue and dtls uses 64-bit values. Unfortunately, OpenSSL doesn't
...
have a uniform representation for those over all architectures, so a
little bit of hackery is needed.
Contributed by nagendra modadugu <nagendra@cs.stanford.edu>
2005-05-30 22:34:37 +00:00
Richard Levitte
80b168a5a9
We have some source with \r\n as line ends. DEC C informs about that,
...
and I really can't be bothered...
2005-05-29 12:13:51 +00:00
Richard Levitte
fe8bf9560d
When _XOPEN_SOURCE is defined, make sure it's defined to 500. Required in
...
http://www.opengroup.org/onlinepubs/007908799/xsh/compilation.html .
Notified by David Wolfe <dwolfe5272@yahoo.com>
2005-05-21 17:39:43 +00:00
Andy Polyakov
ce92b6eb9c
Further BUILDENV refinement, further fool-proofing of Makefiles and
...
[most importantly] put back dependencies accidentaly eliminated in
check-in #13342 .
2005-05-16 16:55:47 +00:00
Nils Larsch
9dd8405341
ecc api cleanup; summary:
...
- hide the EC_KEY structure definition in ec_lcl.c + add
some functions to use/access the EC_KEY fields
- change the way how method specific data (ecdsa/ecdh) is
attached to a EC_KEY
- add ECDSA_sign_ex and ECDSA_do_sign_ex functions with
additional parameters for pre-computed values
- rebuild libeay.num from 0.9.7
2005-05-16 10:11:04 +00:00
Andy Polyakov
81a86fcf17
Fool-proofing Makefiles
2005-05-15 22:23:26 +00:00
Dr. Stephen Henson
f795123c4a
Fix from stable branch.
2005-05-12 22:39:42 +00:00
Bodo Möller
3f19bbf4e3
fix msg_callback() arguments for SSL 2.0 compatible client hello
...
(previous revision got this wrong)
2005-05-12 06:24:25 +00:00
Bodo Möller
c6c2e3135d
Don't use the SSL 2.0 Client Hello format if SSL 2.0 is disabled
...
with the SSL_OP_NO_SSLv2 option.
2005-05-11 18:25:49 +00:00
Nils Larsch
35e8510e60
use 'p' as conversion specifier for printf to avoid truncation of
...
pointers on 64 bit platforms. Patch supplied by Daniel Gryniewicz
via Mike Frysinger <vapier@gentoo.org>.
PR: 1064
2005-05-10 11:55:28 +00:00
Nils Larsch
8b15c74018
give EC_GROUP_new_by_nid a more meanigful name:
...
EC_GROUP_new_by_nid -> EC_GROUP_new_by_curve_name
2005-05-10 11:37:47 +00:00
Bodo Möller
fbeaa3c47d
Update util/ck_errf.pl script, and have it run automatically
...
during "make errors" and thus during "make update".
Fix lots of bugs that util/ck_errf.pl can detect automatically.
Various others of these are still left to fix; that's why
"make update" will complain loudly when run now.
2005-05-09 00:27:37 +00:00
Nils Larsch
7dc17a6cf0
give EC_GROUP_*_nid functions a more meaningful name
...
EC_GROUP_get_nid -> EC_GROUP_get_curve_name
EC_GROUP_set_nid -> EC_GROUP_set_curve_name
2005-05-08 22:09:12 +00:00