]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
notify the user that dnsmgr refresh wont work when dnsmgr is not enabled.
authorMichiel van Baak <michiel@vanbaak.info>
Mon, 14 Jul 2008 17:10:21 +0000 (17:10 +0000)
committerMichiel van Baak <michiel@vanbaak.info>
Mon, 14 Jul 2008 17:10:21 +0000 (17:10 +0000)
Previously this command would automagically appear and disappear.
This was confusing.

(closes issue #12796)
Reported by: chappell
Patches:
      dnsmgr_refresh_3.diff uploaded by chappell (license 8)
Tested by: russell, chappell, mvanbaak

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@130735 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/dnsmgr.c

index 5598523f8d9e61f938ff14f2acf5307859da8d14..deb5c73dbe9b2ec54603d3ac528a75b8633db976 100644 (file)
@@ -275,6 +275,11 @@ static int handle_cli_refresh(int fd, int argc, char *argv[])
                .verbose = 1,
        };
 
+       if(!enabled) {
+               ast_cli(fd, "DNS Manager is disabled.\n");
+               return 0;
+       }
+
        if (argc > 3)
                return RESULT_SHOWUSAGE;
 
@@ -342,6 +347,7 @@ int dnsmgr_init(void)
        }
        ast_cli_register(&cli_reload);
        ast_cli_register(&cli_status);
+       ast_cli_register(&cli_refresh);
        return do_reload(1);
 }
 
@@ -394,7 +400,6 @@ static int do_reload(int loading)
                        if (ast_pthread_create_background(&refresh_thread, NULL, do_refresh, NULL) < 0) {
                                ast_log(LOG_ERROR, "Unable to start refresh thread.\n");
                        }
-                       ast_cli_register(&cli_refresh);
                }
                /* make a background refresh happen right away */
                refresh_sched = ast_sched_add_variable(sched, 100, refresh_list, &master_refresh_info, 1);
@@ -408,7 +413,6 @@ static int do_reload(int loading)
                pthread_kill(refresh_thread, SIGURG);
                pthread_join(refresh_thread, NULL);
                refresh_thread = AST_PTHREADT_NULL;
-               ast_cli_unregister(&cli_refresh);
                res = 0;
        }
        else