From ec1f4bf48df6b893268ed36439a8680b7e4a253e Mon Sep 17 00:00:00 2001
From: Sean Bright <sean.bright@gmail.com>
Date: Tue, 12 Dec 2017 10:28:45 -0500
Subject: [PATCH] res_pjsip: Add TLSv1.1 and TLSv1.2 support

Support for these protocols was added in the same commit as the 'proto'
field, so we can safely use the same ./configure check.

For reference: https://trac.pjsip.org/repos/changeset/4968

Change-Id: Icf4975d785d6bfb8f30ac7ffa695a0adf9382dac
---
 res/res_pjsip/config_transport.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/res/res_pjsip/config_transport.c b/res/res_pjsip/config_transport.c
index 2f29456aba..a9a90ac928 100644
--- a/res/res_pjsip/config_transport.c
+++ b/res/res_pjsip/config_transport.c
@@ -917,6 +917,12 @@ static int transport_tls_method_handler(const struct aco_option *opt, struct ast
 		state->tls.method = PJSIP_SSL_UNSPECIFIED_METHOD;
 	} else if (!strcasecmp(var->value, "tlsv1")) {
 		state->tls.method = PJSIP_TLSV1_METHOD;
+#ifdef HAVE_PJSIP_TLS_TRANSPORT_PROTO
+	} else if (!strcasecmp(var->value, "tlsv1_1")) {
+		state->tls.method = PJSIP_TLSV1_1_METHOD;
+	} else if (!strcasecmp(var->value, "tlsv1_2")) {
+		state->tls.method = PJSIP_TLSV1_2_METHOD;
+#endif
 	} else if (!strcasecmp(var->value, "sslv2")) {
 		state->tls.method = PJSIP_SSLV2_METHOD;
 	} else if (!strcasecmp(var->value, "sslv3")) {
@@ -933,6 +939,10 @@ static int transport_tls_method_handler(const struct aco_option *opt, struct ast
 static const char *tls_method_map[] = {
 	[PJSIP_SSL_UNSPECIFIED_METHOD] = "unspecified",
 	[PJSIP_TLSV1_METHOD] = "tlsv1",
+#ifdef HAVE_PJSIP_TLS_TRANSPORT_PROTO
+	[PJSIP_TLSV1_1_METHOD] = "tlsv1_1",
+	[PJSIP_TLSV1_2_METHOD] = "tlsv1_2",
+#endif
 	[PJSIP_SSLV2_METHOD] = "sslv2",
 	[PJSIP_SSLV3_METHOD] = "sslv3",
 	[PJSIP_SSLV23_METHOD] = "sslv23",
-- 
GitLab