Ben Laurie [Sun, 9 Feb 2014 19:17:42 +0000 (19:17 +0000)]
Merge branch '102_stable_tlsext_suppdata_changes' of git://github.com/scottdeboy/openssl into scottdeboy-102_stable_tlsext_suppdata_changes
Scott Deboy [Sun, 9 Feb 2014 16:26:04 +0000 (08:26 -0800)]
Restore copyright symbol - ISO-8859-1 encoding for Configure file
Ben Laurie [Fri, 6 Sep 2013 13:03:28 +0000 (14:03 +0100)]
Const fix.
Ben Laurie [Thu, 1 Aug 2013 11:33:15 +0000 (12:33 +0100)]
More cleanup.
(cherry picked from commit
5eda213ebe382009c2f37a8eade5cbcdae6017ed)
Conflicts:
apps/s_client.c
apps/s_server.c
Ben Laurie [Thu, 1 Aug 2013 10:14:23 +0000 (11:14 +0100)]
Make it build.
(cherry picked from commit
a6a48e87bc469f37ed1c53d0e4d22faaa0a5adf3)
Conflicts:
ssl/s3_clnt.c
ssl/t1_lib.c
Scott Deboy [Sun, 9 Feb 2014 15:49:44 +0000 (07:49 -0800)]
Reverting 1.0.2-only changes supporting the prior authz RFC5878-based tests from commit
835d104f46c4448a27844a9309de456c7972a943
Ben Laurie [Sun, 9 Feb 2014 12:18:16 +0000 (12:18 +0000)]
Add new asm modules.
Scott Deboy [Wed, 5 Feb 2014 02:48:59 +0000 (18:48 -0800)]
Don't break out of the custom extension callback loop - continue instead
The contract for custom extension callbacks has changed - all custom extension callbacks are triggered
Ben Laurie [Tue, 4 Feb 2014 23:16:46 +0000 (23:16 +0000)]
Fix whitespace, new-style comments.
Scott Deboy [Tue, 4 Feb 2014 21:08:43 +0000 (13:08 -0800)]
Re-add alert variables removed during rebase
Whitespace fixes
(cherry picked from commit
e9add063b50e8a460d5636055156d2760c2fe29f)
Conflicts:
ssl/s3_clnt.c
Scott Deboy [Thu, 7 Nov 2013 09:08:29 +0000 (01:08 -0800)]
Updating DTCP authorization type to expected value
Scott Deboy [Thu, 12 Sep 2013 19:03:40 +0000 (12:03 -0700)]
Update custom TLS extension and supplemental data 'generate' callbacks to support sending an alert.
If multiple TLS extensions are expected but not received, the TLS extension and supplemental data 'generate' callbacks are the only chance for the receive-side to trigger a specific TLS alert during the handshake.
Removed logic which no-op'd TLS extension generate callbacks (as the generate callbacks need to always be called in order to trigger alerts), and updated the serverinfo-specific custom TLS extension callbacks to track which custom TLS extensions were received by the client, where no-ops for 'generate' callbacks are appropriate.
(cherry picked from commit
ac20719d994729970eb3b775c7bffa81f0e9f960)
Conflicts:
ssl/t1_lib.c
Trevor Perrin [Sat, 14 Sep 2013 01:31:48 +0000 (18:31 -0700)]
Redo deletion of some serverinfo code that supplemental data code mistakenly reinstated.
Scott Deboy [Thu, 1 Aug 2013 18:54:09 +0000 (11:54 -0700)]
Free generated supp data after handshake completion, add comment regarding use of num_renegotiations in TLS and supp data generation callbacks
(cherry picked from commit
67c408cee9b01a7c8c7ca002d36b4f8c0612b08c)
Conflicts:
apps/s_client.c
apps/s_server.c
Scott Deboy [Tue, 18 Jun 2013 21:34:38 +0000 (14:34 -0700)]
Add callbacks supporting generation and retrieval of supplemental data entries, facilitating RFC 5878 (TLS auth extensions)
Removed prior audit proof logic - audit proof support was implemented using the generic TLS extension API
Tests exercising the new supplemental data registration and callback api can be found in ssltest.c.
Implemented changes to s_server and s_client to exercise supplemental data callbacks via the -auth argument, as well as additional flags to exercise supplemental data being sent only during renegotiation.
(cherry picked from commit
36086186a9b90cdad0d2cd0a598a10f03f8f4bcc)
Conflicts:
Configure
apps/s_client.c
apps/s_server.c
ssl/ssl.h
ssl/ssl3.h
ssl/ssltest.c
Dr. Stephen Henson [Thu, 6 Feb 2014 14:31:09 +0000 (14:31 +0000)]
make update
Dr. Stephen Henson [Thu, 6 Feb 2014 14:28:49 +0000 (14:28 +0000)]
update default depflags
Andy Polyakov [Tue, 8 Oct 2013 21:41:31 +0000 (23:41 +0200)]
Configure: recognize experimental-multiblock.
(cherry picked from commit
2d752737c53d0cf4953c11551d6d2a9df3655329)
Dr. Stephen Henson [Thu, 6 Feb 2014 13:57:26 +0000 (13:57 +0000)]
Return previous compression methods when setting them.
(cherry picked from commit
b45e874d7c4a8fdac7ec10cff43f21d02e75d511)
Andy Polyakov [Wed, 5 Feb 2014 20:43:17 +0000 (21:43 +0100)]
ssl/s3_pkt.c: add multi-block processing [from master].
Andy Polyakov [Wed, 5 Feb 2014 19:36:11 +0000 (20:36 +0100)]
config: recognize little-endian Linux PPC64.
Dr. Stephen Henson [Wed, 5 Feb 2014 18:55:37 +0000 (18:55 +0000)]
Oops, get selection logic right.
(cherry picked from commit
3880579240d476d21f68fd01a391dd325920f479)
Andy Polyakov [Wed, 5 Feb 2014 18:52:38 +0000 (19:52 +0100)]
evp/e_aes_cbc_hmac_sha[1|256].c: add multi-block implementations [from master].
Dr. Stephen Henson [Wed, 5 Feb 2014 16:56:58 +0000 (16:56 +0000)]
Return per-certificate chain if extra chain is NULL.
If an application calls the macro SSL_CTX_get_extra_chain_certs
return either the old "shared" extra certificates or those associated
with the current certificate.
This means applications which call SSL_CTX_use_certificate_chain_file
and retrieve the additional chain using SSL_CTX_get_extra_chain_certs
will still work. An application which only wants to check the shared
extra certificates can call the new macro
SSL_CTX_get_extra_chain_certs_only
(cherry picked from commit
a51f767645c117667d337f77fe1dd9c0a66d8410)
Andy Polyakov [Wed, 5 Feb 2014 13:33:44 +0000 (14:33 +0100)]
[aesni|sha*]-mb-x86_64.pl: add multi-block assembly modules [from master].
Dr. Stephen Henson [Mon, 3 Feb 2014 14:13:04 +0000 (14:13 +0000)]
Add quotes as CC can contain spaces.
PR#3253
Dr. Stephen Henson [Sun, 2 Feb 2014 02:51:30 +0000 (02:51 +0000)]
New ctrl to set current certificate.
New ctrl sets current certificate based on certain criteria. Currently
two options: set the first valid certificate as current and set the
next valid certificate as current. Using these an application can
iterate over all certificates in an SSL_CTX or SSL structure.
(cherry picked from commit
0f78819c8ccb7c526edbe90d5b619281366ce75c)
Dr. Stephen Henson [Sun, 20 Oct 2013 21:31:00 +0000 (22:31 +0100)]
Fix various typos.
(cherry picked from commit
f3efeaad540b000779277b4fc49a239529ee616e)
Dr. Stephen Henson [Wed, 18 Dec 2013 13:28:44 +0000 (13:28 +0000)]
Update demo.
(cherry picked from commit
88c21c47a3d187d4f8c4e87e3c6088198cb08a99)
Dr. Stephen Henson [Sun, 20 Oct 2013 21:34:14 +0000 (22:34 +0100)]
Update demos/bio/README
(cherry picked from commit
ea131a0644bcebeaa5e911217aadbc9dac241fec)
Dr. Stephen Henson [Sun, 20 Oct 2013 21:21:09 +0000 (22:21 +0100)]
Modify sample accept.cnf
(cherry picked from commit
d80b0eeee59fa48f2506fe103de1b52ef6de3f4f)
Dr. Stephen Henson [Fri, 18 Oct 2013 15:28:38 +0000 (16:28 +0100)]
Add demo for SSL server using SSL_CONF.
(cherry picked from commit
ebd14bfce9ef6b4bf41129a329823130d1002f42)
Ben Laurie [Sun, 2 Feb 2014 15:22:10 +0000 (15:22 +0000)]
Add extension free function.
Andy Polyakov [Sat, 1 Feb 2014 23:17:38 +0000 (00:17 +0100)]
engines/e_capi.c: TCHAR support (cumilative update from master).
Andy Polyakov [Sat, 1 Feb 2014 23:09:17 +0000 (00:09 +0100)]
modes/asm/ghash-s390x.pl: +15% performance improvement on z10.
(cherry picked from commit
d162584b1154153d997fed18a9df2e60771fe06c)
Andy Polyakov [Sat, 1 Feb 2014 23:05:02 +0000 (00:05 +0100)]
Add AES-NI+SHA256 stitch registrations (from master).
Andy Polyakov [Tue, 18 Dec 2012 18:19:54 +0000 (18:19 +0000)]
dso/dso_win32.c: fix compiler warning.
(cherry picked from commit
0a2d5003df1a9ecf801ac3b4a5cb7dda85449315)
Andy Polyakov [Sat, 1 Feb 2014 22:27:49 +0000 (23:27 +0100)]
crypto/cryptlib.c: remove stdio dependency (update from master).
Andy Polyakov [Sat, 1 Feb 2014 22:14:33 +0000 (23:14 +0100)]
camellia/asm/cmll-x86_64.pl: fix symptomless bugs (update from master).
Ben Laurie [Sat, 1 Feb 2014 21:53:09 +0000 (21:53 +0000)]
Remove redundant accessor (you can do the same thing, and more, with
X509_ALGOR_[gs]et0()).
Andy Polyakov [Tue, 18 Dec 2012 18:07:20 +0000 (18:07 +0000)]
util/pl/VC-32.pl fix typo.
(cherry picked from commit
fb0a520897778ebeebe9aaaf116f207a838ebb3f)
Andy Polyakov [Tue, 18 Dec 2012 09:42:31 +0000 (09:42 +0000)]
util/pl/VC-32.pl: refresh, switch to ws2, add crypt32, fix typo (based on
suggestions from Pierre Delaage).
(cherry picked from commit
668bcfd5ca237fdf6fbef1ab463697a4a48caf39)
Resolved conflicts:
util/pl/VC-32.pl
Andy Polyakov [Sat, 19 Jan 2013 20:23:13 +0000 (21:23 +0100)]
Improve WINCE support.
Submitted by: Pierre Delaage
(cherry picked from commit
a006fef78e56b078549a80f4bb4518b6a02eba84)
Resolved conflicts:
crypto/bio/bss_dgram.c
ssl/d1_lib.c
util/pl/VC-32.pl
Andy Polyakov [Mon, 11 Jun 2012 08:52:11 +0000 (08:52 +0000)]
b_sock.c: make getsockopt work in cases when optlen is 64-bit value.
(cherry picked from commit
80c42f3e0c34451dd7cfc65e07bc639759ef07d2)
Andy Polyakov [Sun, 15 Jul 2012 13:29:23 +0000 (13:29 +0000)]
wp-mmx.pl: ~10% performance improvement.
(cherry picked from commit
ae007d4d09f2ed9940c6e581bab9290d78615506)
Andy Polyakov [Sun, 15 Jul 2012 13:37:35 +0000 (13:37 +0000)]
wp-x86_64.pl: ~10% performance improvement.
(cherry picked from commit
701d593f7095db84459c76265349a83d30a4cae5)
Andy Polyakov [Sun, 15 Jul 2012 13:36:25 +0000 (13:36 +0000)]
sha512-ia64.pl: 15-20% performance improvement.
(cherry picked from commit
46a2b3387a3feb044527a58a89555029c809190d)
Andy Polyakov [Sun, 22 Apr 2012 21:18:30 +0000 (21:18 +0000)]
objxref.pl: improve portability.
(cherry picked from commit
71fa3bc5ece9121d1aa9bb513b5641e9ea605e14)
Adam Langley [Mon, 3 Jun 2013 19:45:11 +0000 (15:45 -0400)]
Add volatile qualifications to two blocks of inline asm to stop GCC from
eliminating them as dead code.
Both volatile and "memory" are used because of some concern that the compiler
may still cache values across the asm block without it, and because this was
such a painful debugging session that I wanted to ensure that it's never
repeated.
(cherry picked from commit
7753a3a68431aa81b82beea4c3f5374b41454679)
Andy Polyakov [Sat, 1 Feb 2014 20:51:51 +0000 (21:51 +0100)]
PPC assembly pack: ppc64-mont update from master.
Andy Polyakov [Sat, 1 Feb 2014 20:48:31 +0000 (21:48 +0100)]
PPC assembly pack: jumbo update from master.
Add Vector Permutation AES and little-endian support.
Andy Polyakov [Sat, 1 Feb 2014 20:27:46 +0000 (21:27 +0100)]
crypto/aes/asm/aesni-x86[_64].pl: jumbo update from
Andy Polyakov [Sat, 1 Feb 2014 20:24:55 +0000 (21:24 +0100)]
crypto/sha/asm/sha1-x86_64.pl: jumbo update from
Ben Laurie [Sat, 1 Feb 2014 18:29:26 +0000 (18:29 +0000)]
Add more accessors.
Ben Laurie [Sat, 1 Feb 2014 17:52:26 +0000 (17:52 +0000)]
Add accessor for x509.cert_info.
Ben Laurie [Wed, 29 Jan 2014 16:57:32 +0000 (17:57 +0100)]
Fix warning.
Dr. Stephen Henson [Wed, 29 Jan 2014 00:59:35 +0000 (00:59 +0000)]
Clarify docs.
Remove reference to ERR_TXT_MALLOCED in the error library as that is
only used internally. Indicate that returned error data must not be
freed.
Dr. Stephen Henson [Tue, 28 Jan 2014 15:35:16 +0000 (15:35 +0000)]
Dr. Stephen Henson [Tue, 28 Jan 2014 15:15:26 +0000 (15:15 +0000)]
Fix demo comment: 0.9.9 never released.
(cherry picked from commit
717cc8589540b95122a652dee68e6a75b6262d93)
Dr. Stephen Henson [Tue, 28 Jan 2014 15:10:27 +0000 (15:10 +0000)]
Check i before r[i].
PR#3244
(cherry picked from commit
9614d2c676ffe74ce0c919d9e5c0d622a011cbed)
Dr. Stephen Henson [Tue, 28 Jan 2014 13:51:58 +0000 (13:51 +0000)]
Add loaded dynamic ENGINEs to list.
Always add a dynamically loaded ENGINE to list. Otherwise it can cause
problems when multiply loaded, especially if it adds new public key methods.
For all current engines we only want a single implementation anyway.
(cherry picked from commit
e933f91f50108a43c0198cdc63ecdfdbc77b4d0d)
Dr. Stephen Henson [Sat, 25 Jan 2014 23:20:34 +0000 (23:20 +0000)]
Certificate callback doc.
(cherry picked from commit
46ab9bbd7fa610d775fe645dd0fe6d509c8dff3a)
Dr. Stephen Henson [Mon, 27 Jan 2014 14:59:46 +0000 (14:59 +0000)]
make update
Dr. Stephen Henson [Sun, 26 Jan 2014 00:51:09 +0000 (00:51 +0000)]
Add cert callback retry test.
(cherry picked from commit
3323314fc1c6d18e650a2de97f7cf9892ac92a60)
Dr. Stephen Henson [Sat, 25 Jan 2014 13:31:07 +0000 (13:31 +0000)]
Support retries in certificate callback
(cherry picked from commit
0ebc965b9ca4352e407bb7cfa65ac235942117f6)
Conflicts:
ssl/s3_srvr.c
ssl/ssl3.h
Dr. Stephen Henson [Sun, 26 Jan 2014 16:28:27 +0000 (16:28 +0000)]
Compare encodings in X509_cmp as well as hash.
(cherry picked from commit
ec492c8a5a1491949166c4b37df8666741180f4d)
Dr. Stephen Henson [Mon, 27 Jan 2014 14:30:29 +0000 (14:30 +0000)]
New function to set compression methods so they can be safely freed.
(cherry picked from commit
cbb67448277232c8403f96edad4931c4203e7746)
Dr. Stephen Henson [Fri, 5 Mar 2010 13:28:21 +0000 (13:28 +0000)]
Add -engine_impl option to dgst which will use an implementation of
an algorithm from the supplied engine instead of just the default one.
(cherry picked from commit
bb845ee044587a91589357a772a02cffb0ba4454)
Dr. Stephen Henson [Thu, 23 Jan 2014 17:13:37 +0000 (17:13 +0000)]
make update
Dr. Stephen Henson [Thu, 16 Jan 2014 14:06:19 +0000 (14:06 +0000)]
Add new function SSL_CTX_get_ssl_method().
Partial fix for PR#3183.
(cherry picked from commit
ba168244a14bbd056e502d7daa04cae4aabe9d0d)
Kaspar Brand [Thu, 16 Jan 2014 13:46:31 +0000 (13:46 +0000)]
Omit initial status request callback check.
PR#3178
(cherry picked from commit
d0b039d4a3a19b106cc2cb938125b86aca4974aa)
Zoltan Arpadffy [Sat, 11 Jan 2014 22:44:04 +0000 (22:44 +0000)]
VMS fixes
Jeff Trawick [Fri, 10 Jan 2014 23:00:50 +0000 (23:00 +0000)]
Jeff Trawick [Fri, 10 Jan 2014 23:01:30 +0000 (23:01 +0000)]
Dr. Stephen Henson [Thu, 9 Jan 2014 22:47:22 +0000 (22:47 +0000)]
Fix bug in X509_V_FLAG_IGNORE_CRITICAL CRL handling.
(cherry picked from commit
8f4077ca69076cebaca51b7b666db1ed49e46b9e)
Dr. Stephen Henson [Tue, 7 Jan 2014 15:44:09 +0000 (15:44 +0000)]
update NEWS
Andy Polyakov [Thu, 9 Jan 2014 12:44:59 +0000 (13:44 +0100)]
bn/asm/x86_64-mont5.pl: fix compilation error on Solaris.
(cherry picked from commit
eedab5241e32f9f185cfee23a0c67264d3e3ecf2)
Dr. Stephen Henson [Tue, 7 Jan 2014 15:38:15 +0000 (15:38 +0000)]
Sync CHANGES
Dr. Stephen Henson [Tue, 7 Jan 2014 15:37:35 +0000 (15:37 +0000)]
Add fix for CVE-2013-4353
Dr. Stephen Henson [Tue, 7 Jan 2014 15:26:19 +0000 (15:26 +0000)]
Update NEWS.
Andy Polyakov [Sat, 4 Jan 2014 17:04:53 +0000 (18:04 +0100)]
sha/asm/sha256-armv4.pl: add NEON code path.
(and shave off cycle even from integer-only code)
(cherry picked from commit
ad0d2579cf3a293a35a5b606afc5a97c71cf6ca7)
Andy Polyakov [Sat, 4 Jan 2014 16:40:13 +0000 (17:40 +0100)]
aesni-sha1-x86_64.pl: harmonize [Atom-specific optimizations] with master branch.
Dr. Stephen Henson [Sat, 4 Jan 2014 13:50:52 +0000 (13:50 +0000)]
Restore SSL_OP_MSIE_SSLV2_RSA_PADDING
The flag SSL_OP_MSIE_SSLV2_RSA_PADDING hasn't done anything since OpenSSL
0.9.7h but deleting it will break source compatibility with any software
that references it. Restore it but #define to zero.
Dr. Stephen Henson [Fri, 3 Jan 2014 22:38:03 +0000 (22:38 +0000)]
Use algorithm specific chains for certificates.
Fix a limitation in SSL_CTX_use_certificate_chain_file(): use algorithm
specific chains instead of the shared chain.
Update docs.
(cherry picked from commit
a4339ea3ba045b7da038148f0d48ce25f2996971)
Conflicts:
CHANGES
Andy Polyakov [Fri, 3 Jan 2014 20:52:49 +0000 (21:52 +0100)]
ssl/t1_enc.c: optimize PRF (suggested by Intel).
(cherry picked from commit
e8b0dd57c0e9c53fd0708f0f458a7a2fd7a95c91)
Dr. Stephen Henson [Thu, 2 Jan 2014 19:12:47 +0000 (19:12 +0000)]
update NEWS
Dr. Stephen Henson [Tue, 24 Dec 2013 18:17:00 +0000 (18:17 +0000)]
Don't change version number if session established
When sending an invalid version number alert don't change the
version number to the client version if a session is already
established.
Thanks to Marek Majkowski for additional analysis of this issue.
PR#3191
(cherry picked from commit
b77b58a398c8b9b4113f3fb6b48e162a3b8d4527)
Dr. Stephen Henson [Tue, 24 Dec 2013 18:15:28 +0000 (18:15 +0000)]
Update curve list size.
Andy Polyakov [Sat, 28 Dec 2013 12:31:14 +0000 (13:31 +0100)]
sparcv9cap.c: omit random detection.
PR: 3202
(cherry picked from commit
926725b3d7c1528f2dc116a48623c42264188277)
Andy Polyakov [Sat, 28 Dec 2013 11:17:08 +0000 (12:17 +0100)]
ARM assembly pack: make it work with older toolchain.
(cherry picked from commit
2218c296b4981af6f2639bbd7eabfb89437fe776)
Dr. Stephen Henson [Fri, 20 Dec 2013 15:26:50 +0000 (15:26 +0000)]
Fix DTLS retransmission from previous session.
For DTLS we might need to retransmit messages from the previous session
so keep a copy of write context in DTLS retransmission buffers instead
of replacing it after sending CCS. CVE-2013-6450.
(cherry picked from commit
34628967f1e65dc8f34e000f0f5518e21afbfc7b)
Dr. Stephen Henson [Fri, 20 Dec 2013 15:12:26 +0000 (15:12 +0000)]
Ignore NULL parameter in EVP_MD_CTX_destroy.
(cherry picked from commit
a6c62f0c25a756c263a80ce52afbae888028e986)
Andy Polyakov [Wed, 18 Dec 2013 21:12:08 +0000 (22:12 +0100)]
sha1-x86_64.pl: harmonize Win64 SE handlers for SIMD code pathes.
(and ensure stack alignment in the process)
(cherry picked from commit
fc0503a25cd638b93f7af04640c20042e0329b3b)
Andy Polyakov [Wed, 18 Dec 2013 20:42:46 +0000 (21:42 +0100)]
evp/e_[aes|camellia].c: fix typo in CBC subroutine.
It worked because it was never called.
(cherry picked from commit
e9c80e04c1a3b5a0de8e666155ab4ecb2697a77d)
Andy Polyakov [Wed, 18 Dec 2013 20:27:35 +0000 (21:27 +0100)]
sha512.c: fullfull implicit API contract in SHA512_Transform.
SHA512_Transform was initially added rather as tribute to tradition
than for practucal reasons. But use was recently found in ssl/s3_cbc.c
and it turned to be problematic on platforms that don't tolerate
misasligned references to memory and lack assembly subroutine.
(cherry picked from commit
cdd1acd788020d2c525331da1712ada778f1373c)
Dr. Stephen Henson [Sat, 14 Dec 2013 13:55:48 +0000 (13:55 +0000)]
Check EVP errors for handshake digests.
Partial mitigation of PR#3200
(cherry picked from commit
0294b2be5f4c11e60620c0018674ff0e17b14238)
Dr. Stephen Henson [Thu, 25 Feb 2010 00:08:23 +0000 (00:08 +0000)]
verify parameter enumeration functions
(cherry picked from commit
9b3d75706ef0114362f04665a3c745bfef59d023)
Conflicts:
crypto/x509/x509_vpm.c
Dr. Stephen Henson [Wed, 11 Dec 2013 14:28:57 +0000 (14:28 +0000)]
Add opaque ID structure.
Move the IP, email and host checking fields from the public
X509_VERIFY_PARAM structure into an opaque X509_VERIFY_PARAM_ID
structure. By doing this the structure can be modified in future
without risk of breaking any applications.
Dr. Stephen Henson [Fri, 13 Dec 2013 14:41:32 +0000 (14:41 +0000)]
Backport TLS padding extension from master.
Dr. Stephen Henson [Fri, 13 Dec 2013 14:05:32 +0000 (14:05 +0000)]
Fix for partial chain notification.
For consistency with other cases if we are performing
partial chain verification with just one certificate
notify the callback with ok==1.