Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@google.com>2016-08-30 06:14:17 +0300
committerCQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>2016-08-30 18:43:35 +0300
commit163c95691a0e6f115d0b51db36325e77fae7f018 (patch)
tree30be9b879a23b4856d73f9072579b8dc66001cff /include/openssl
parent147f1c468c937e0d05c9d1168f709c316a0697d2 (diff)
Forbid EMS from changing during renegotation.
Changing parameters on renegotiation makes all our APIs confusing. This one has no reason to change, so lock it down. In particular, our preference to forbid Token Binding + renego may be overridden at the IETF, even though it's insane. Loosening it will be a bit less of a headache if EMS can't change. https://www.ietf.org/mail-archive/web/unbearable/current/msg00690.html claims that this is already in the specification and enforced by NSS. I can't find anything to this effect in the specification. It just says the client MUST disable renegotiation when EMS is missing, which is wishful thinking. At a glance, NSS doesn't seem to check, though I could be misunderstanding the code. Nonetheless, locking this down is a good idea anyway. Accurate or not, take the email as an implicit endorsement of this from Mozilla. Change-Id: I236b05991d28bed199763dcf2f47bbfb9d0322d7 Reviewed-on: https://boringssl-review.googlesource.com/10721 Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: Adam Langley <agl@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Diffstat (limited to 'include/openssl')
-rw-r--r--include/openssl/ssl.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 4a884885..9787bcbc 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -4811,6 +4811,7 @@ OPENSSL_EXPORT int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
#define SSL_R_TOO_MANY_KEY_UPDATES 260
#define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 261
#define SSL_R_NO_CIPHERS_SPECIFIED 262
+#define SSL_R_RENEGOTIATION_EMS_MISMATCH 263
#define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
#define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
#define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020