res_pjsip: Add to list of valid characters for from_user.
authorBen Ford <bford@digium.com>
Wed, 1 Nov 2017 16:12:45 +0000 (11:12 -0500)
committerBenjamin Keith Ford <bford@digium.com>
Thu, 2 Nov 2017 16:49:53 +0000 (11:49 -0500)
Fixes a regression where some characters were unable to be used in
the from_user field of an endpoint. Additionally, the backtick was
removed from the list of valid characters, since it is not valid,
and it was replaced with a single quote, which is a valid character.

ASTERISK-27387

Change-Id: Id80c10a644508365c87b3182e99ea49da11b0281

res/res_pjsip/pjsip_configuration.c

index 6db5b38..269e03e 100644 (file)
@@ -1140,11 +1140,11 @@ static int from_user_handler(const struct aco_option *opt,
 {
        struct ast_sip_endpoint *endpoint = obj;
        /* Valid non-alphanumeric characters for URI */
-       char *valid_uri_marks = "-_.!~*`()";
+       char *valid_uri_marks = "-._~%!$&'()*+,;=:";
        const char *val;
 
        for (val = var->value; *val; val++) {
-               if (!strchr(valid_uri_marks, *val) && !isdigit(*val) && !isalpha(*val)) {
+               if (!isalpha(*val) && !isdigit(*val) && !strchr(valid_uri_marks, *val)) {
                        ast_log(LOG_ERROR, "Error configuring endpoint '%s' - '%s' field "
                        "contains invalid character '%c'\n",
                        ast_sorcery_object_get_id(endpoint), var->name, *val);