]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix #876: [FR] can unbound-checkconf be silenced when configuration
authorYorgos Thessalonikefs <yorgos@nlnetlabs.nl>
Fri, 26 Apr 2024 12:50:39 +0000 (14:50 +0200)
committerYorgos Thessalonikefs <yorgos@nlnetlabs.nl>
Fri, 26 Apr 2024 12:50:39 +0000 (14:50 +0200)
  is valid?

doc/Changelog
smallapp/unbound-checkconf.c

index 4f10939b748047883c24ed6383908353ae8b7808..5af376f4a38c5d3e53f89fe6fb682a6a80a12089 100644 (file)
@@ -6,6 +6,10 @@
          the ecs reply expires.
        - Add unit tests for cachedb and subnet cache expired data.
 
+26 April 2024: Yorgos
+       - Fix #876: [FR] can unbound-checkconf be silenced when configuration
+         is valid?
+
 25 April 2024: Wouter
        - Fix configure flto check error, by finding grep for it.
        - Merge #1041: Stub and Forward unshare. This has one structure
index 8b45578fa7114b77f589893ec89a346ff1cb6a79..508b40fc0e98e51ae47d4aea2a72865badf9f14a 100644 (file)
@@ -88,6 +88,7 @@ usage(void)
        printf("file    if omitted %s is used.\n", CONFIGFILE);
        printf("-o option       print value of option to stdout.\n");
        printf("-f              output full pathname with chroot applied, eg. with -o pidfile.\n");
+       printf("-q              quiet (suppress output on success).\n");
        printf("-h              show this usage help.\n");
        printf("Version %s\n", PACKAGE_VERSION);
        printf("BSD licensed, see LICENSE in source package for details.\n");
@@ -965,7 +966,7 @@ check_auth(struct config_file* cfg)
 
 /** check config file */
 static void
-checkconf(const char* cfgfile, const char* opt, int final)
+checkconf(const char* cfgfile, const char* opt, int final, int quiet)
 {
        char oldwd[4096];
        struct config_file* cfg = config_create();
@@ -998,7 +999,7 @@ checkconf(const char* cfgfile, const char* opt, int final)
        check_fwd(cfg);
        check_hints(cfg);
        check_auth(cfg);
-       printf("unbound-checkconf: no errors in %s\n", cfgfile);
+       if(!quiet) { printf("unbound-checkconf: no errors in %s\n", cfgfile); }
        config_delete(cfg);
 }
 
@@ -1012,6 +1013,7 @@ int main(int argc, char* argv[])
 {
        int c;
        int final = 0;
+       int quiet = 0;
        const char* f;
        const char* opt = NULL;
        const char* cfgfile = CONFIGFILE;
@@ -1024,7 +1026,7 @@ int main(int argc, char* argv[])
                cfgfile = CONFIGFILE;
 #endif /* USE_WINSOCK */
        /* parse the options */
-       while( (c=getopt(argc, argv, "fho:")) != -1) {
+       while( (c=getopt(argc, argv, "fhqo:")) != -1) {
                switch(c) {
                case 'f':
                        final = 1;
@@ -1032,6 +1034,9 @@ int main(int argc, char* argv[])
                case 'o':
                        opt = optarg;
                        break;
+               case 'q':
+                       quiet = 1;
+                       break;
                case '?':
                case 'h':
                default:
@@ -1045,7 +1050,7 @@ int main(int argc, char* argv[])
        if(argc == 1)
                f = argv[0];
        else    f = cfgfile;
-       checkconf(f, opt, final);
+       checkconf(f, opt, final, quiet);
        checklock_stop();
        return 0;
 }