This is my first submission to the OpenSSL project, from my honeymoon in Jakarta. ^_^ This trivial patch allows s_client to identify an ALPN response as well as adding basic information to identify the extensions status_request_v2 (RFC 6961) and signed_certificate_timestamp (RFC 6962), though actual implementation support for these extensions is not added in this patch but can hopefully build on this (again, trivial) work.
-David --- a/apps/s_cb.c +++ b/apps/s_cb.c @@ -1005,6 +1005,18 @@ void MS_CALLBACK tlsext_cb(SSL *s, int client_server, int type, extname = "heartbeat"; break; + case TLSEXT_TYPE_application_layer_protocol_negotiation: + extname = "ALPN"; + break; + + case TLSEXT_TYPE_status_request_v2: + extname = "status request v2"; + break; + + case TLSEXT_TYPE_signed_certificate_timestamp: + extname = "signed certificate timestamp"; + break; + case TLSEXT_TYPE_session_ticket: extname = "session ticket"; break; diff --git a/ssl/t1_trce.c b/ssl/t1_trce.c index 6856898..b0b5d88 100644 --- a/ssl/t1_trce.c +++ b/ssl/t1_trce.c @@ -360,6 +360,9 @@ static ssl_trace_tbl ssl_exts_tbl[] = { {TLSEXT_TYPE_signature_algorithms, "signature_algorithms"}, {TLSEXT_TYPE_use_srtp, "use_srtp"}, {TLSEXT_TYPE_heartbeat, "heartbeat"}, + {TLSEXT_TYPE_application_layer_protocol_negotiation, "application_layer_protocol_negotiation"}, + {TLSEXT_TYPE_status_request_v2, "status_request_v2"}, + {TLSEXT_TYPE_signed_certificate_timestamp, "signed_certificate_timestamp"}, {TLSEXT_TYPE_session_ticket, "session_ticket"}, #ifdef TLSEXT_TYPE_opaque_prf_input {TLSEXT_TYPE_opaque_prf_input, "opaque_prf_input"}, diff --git a/ssl/tls1.h b/ssl/tls1.h index 92092f4..f4a2d20 100644 --- a/ssl/tls1.h +++ b/ssl/tls1.h @@ -233,6 +233,12 @@ extern "C" { /* ExtensionType value from draft-ietf-tls-applayerprotoneg-00 */ #define TLSEXT_TYPE_application_layer_protocol_negotiation 16 +/* ExtensionType value from RFC6961 */ +#define TLSEXT_TYPE_status_request_v2 17 + +/* ExtensionType value from RFC6962 */ +#define TLSEXT_TYPE_signed_certificate_timestamp 18 + /* ExtensionType value from RFC4507 */ #define TLSEXT_TYPE_session_ticket 35 ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager majord...@openssl.org