]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
manager.c: Fix erroneous reloads in UpdateConfig.
authorNaveen Albert <asterisk@phreaknet.org>
Thu, 25 Jan 2024 17:44:29 +0000 (12:44 -0500)
committerasterisk-org-access-app[bot] <120671045+asterisk-org-access-app[bot]@users.noreply.github.com>
Tue, 30 Jan 2024 18:57:21 +0000 (18:57 +0000)
Currently, a reload will always occur if the
Reload header is provided for the UpdateConfig
action. However, we should not be doing a reload
if the header value has a falsy value, per the
documentation, so this makes the reload behavior
consistent with the existing documentation.

Resolves: #551

main/manager.c

index 48231b72f94ef7bfb9e3511e86302877e71e9fbf..46bcc9493b36bd3e90313cce7d616ab6accd7746 100644 (file)
@@ -4329,9 +4329,10 @@ static int action_updateconfig(struct mansession *s, const struct message *m)
                astman_send_ack(s, m, NULL);
                if (!ast_strlen_zero(rld)) {
                        if (ast_true(rld)) {
-                               rld = NULL;
+                               ast_module_reload(NULL); /* Reload everything */
+                       } else if (!ast_false(rld)) {
+                               ast_module_reload(rld); /* Reload the specific module */
                        }
-                       ast_module_reload(rld);
                }
        } else {
                ast_config_destroy(cfg);