From ca4e6b568fa2265ef317195114028430641f8a8f Mon Sep 17 00:00:00 2001
From: Sean Bright <sean.bright@gmail.com>
Date: Mon, 6 Nov 2017 09:05:56 -0500
Subject: [PATCH] res_pjsip: Ignore empty TLS configuration

When using realtime, fields that are not explicitly set by an
administrator are still presented to sorcery as empty strings. Handle
this case explicitly.

In this particular case, if any of these fields are required for TLS
support, their existence should be validated in the 'apply' handler once
we have a complete transport definition.

ASTERISK-27032 #close
Reported by: seanchann.zhou

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

diff --git a/res/res_pjsip/config_transport.c b/res/res_pjsip/config_transport.c
index 0c804b82a4..2f29456aba 100644
--- a/res/res_pjsip/config_transport.c
+++ b/res/res_pjsip/config_transport.c
@@ -683,6 +683,11 @@ static int transport_tls_file_handler(const struct aco_option *opt, struct ast_v
 		return -1;
 	}
 
+	if (ast_strlen_zero(var->value)) {
+		/* Ignore empty options */
+		return 0;
+	}
+
 	if (!ast_file_is_readable(var->value)) {
 		ast_log(LOG_ERROR, "Transport: %s: %s %s is either missing or not readable\n",
 			ast_sorcery_object_get_id(obj), var->name, var->value);
-- 
GitLab