# define TLS1_3_VERSION 0x0304
# define TLS_MAX_VERSION TLS1_3_VERSION
+/* TODO(TLS1.3) REMOVE ME: Version indicator for draft -18 */
+# define TLS1_3_VERSION_DRAFT 0x7f12
+# define TLS1_3_VERSION_DRAFT_TXT "TLS 1.3 (draft 18)"
+
/* Special value for method supporting multiple versions */
# define TLS_ANY_VERSION 0x10000
# define TLSEXT_TYPE_cert_type 9
/* ExtensionType values from RFC4492 */
-# define TLSEXT_TYPE_elliptic_curves 10
+/*
+ * Prior to TLSv1.3 the supported_groups extension was known as
+ * elliptic_curves
+ */
+# define TLSEXT_TYPE_supported_groups 10
+# define TLSEXT_TYPE_elliptic_curves TLSEXT_TYPE_supported_groups
# define TLSEXT_TYPE_ec_point_formats 11
+
/* ExtensionType value from RFC5054 */
# define TLSEXT_TYPE_srp 12
/* ExtensionType value from RFC4507 */
# define TLSEXT_TYPE_session_ticket 35
+/* As defined for TLS1.3 */
+# define TLSEXT_TYPE_key_share 40
+# define TLSEXT_TYPE_supported_versions 43
+
/* Temporary extension type */
# define TLSEXT_TYPE_renegotiate 0xff01
# define TLS1_CK_RSA_PSK_WITH_CHACHA20_POLY1305 0x0300CCAE
/* TLS v1.3 ciphersuites */
-# define TLS1_3_CK_AES_128_GCM_SHA256 0x03000D01
+# define TLS1_3_CK_AES_128_GCM_SHA256 0x03001301
/*
* XXX Backward compatibility alert: Older versions of OpenSSL gave some DHE