res_pjsip_config_wizard: Don't crash if misconfigured
authorSean Bright <sean.bright@gmail.com>
Thu, 28 Feb 2019 01:52:26 +0000 (20:52 -0500)
committerSean Bright <sean.bright@gmail.com>
Thu, 28 Feb 2019 01:54:32 +0000 (19:54 -0600)
If both send_registrations and send_auth are both set to yes,
outbound_auth/username must be set or we crash.

ASTERISK-27992 #close

Change-Id: I6418d56de1ae53f80393b314c2584048fbf7f11d

res/res_pjsip_config_wizard.c

index 3a761a7..4d24922 100644 (file)
@@ -910,8 +910,12 @@ static int handle_registrations(const struct ast_sorcery *sorcery, struct object
                client_uri_pattern = "sip:${USERNAME}@${REMOTE_HOST}";
        }
 
-       if(is_variable_true(wizvars, "sends_auth")) {
-               username = ast_variable_find_last_in_list(wizvars, "outbound_auth/username");
+       if (is_variable_true(wizvars, "sends_auth")) {
+               if (!(username = ast_variable_find_last_in_list(wizvars, "outbound_auth/username"))) {
+                       ast_log(LOG_ERROR, "Wizard '%s' must have 'outbound_auth/username' if it sends"
+                               " authentication.\n", id);
+                       return -1;
+               }
        } else {
                username = id;
        }