summaryrefslogtreecommitdiff
path: root/lib/libssl/ssl_locl.h
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2016-04-28 16:39:46 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2016-04-28 16:39:46 +0000
commit2c8e6bc45ea1aa5e5fa7f3587aae35cebd155387 (patch)
treecd271e04c81acd0434307a43c9ef661ee877b840 /lib/libssl/ssl_locl.h
parentb7f9e86e0e3c0bf2ff34e20fcf1a1736128a7fd5 (diff)
Implement the IETF ChaCha20-Poly1305 cipher suites.
Rename the existing ChaCha20-Poly1305 cipher suites with an "-OLD" suffix, effectively replaces the original Google implementation. We continue to support both the IETF and Google versions, however the existing names now refer to the ciphers from draft-ietf-tls-chacha20-poly1305-04. Feedback from doug@
Diffstat (limited to 'lib/libssl/ssl_locl.h')
-rw-r--r--lib/libssl/ssl_locl.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libssl/ssl_locl.h b/lib/libssl/ssl_locl.h
index e05578e4a31..2a521fe26a3 100644
--- a/lib/libssl/ssl_locl.h
+++ b/lib/libssl/ssl_locl.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssl_locl.h,v 1.128 2015/09/12 15:08:54 jsing Exp $ */
+/* $OpenBSD: ssl_locl.h,v 1.129 2016/04/28 16:39:45 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -283,6 +283,7 @@
#define SSL_AES128GCM 0x00000400L
#define SSL_AES256GCM 0x00000800L
#define SSL_CHACHA20POLY1305 0x00001000L
+#define SSL_CHACHA20POLY1305_OLD 0x00002000L
#define SSL_AES (SSL_AES128|SSL_AES256|SSL_AES128GCM|SSL_AES256GCM)
#define SSL_CAMELLIA (SSL_CAMELLIA128|SSL_CAMELLIA256)
@@ -529,9 +530,10 @@ struct ssl_aead_ctx_st {
* fixed_nonce contains any bytes of the nonce that are fixed for all
* records.
*/
- unsigned char fixed_nonce[8];
+ unsigned char fixed_nonce[12];
unsigned char fixed_nonce_len;
unsigned char variable_nonce_len;
+ unsigned char xor_fixed_nonce;
unsigned char tag_len;
/*
* variable_nonce_in_record is non-zero if the variable nonce