res_pjsip: Ignore empty TLS configuration
authorSean Bright <sean.bright@gmail.com>
Mon, 6 Nov 2017 14:05:56 +0000 (09:05 -0500)
committerSean Bright <sean.bright@gmail.com>
Mon, 6 Nov 2017 14:15:40 +0000 (09:15 -0500)
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

index 0c804b8..2f29456 100644 (file)
@@ -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);