]> git.ipfire.org Git - people/ms/strongswan.git/blobdiff - scripts/dnssec.c
Merge branch 'utils-split'
[people/ms/strongswan.git] / scripts / dnssec.c
index 89ea56ea6c2783b9185fd9c2aeeb48a09bd2e74e..9d35c7cda5b2a0c813949359486951f2fddf3e5f 100644 (file)
 #include <stdio.h>
 
 #include <library.h>
+#include <utils/debug.h>
+
+/**
+ * Define debug level
+ */
+static level_t dbg_level = 1;
+
+static void dbg_dnssec(debug_t group, level_t level, char *fmt, ...)
+{
+       if ((level <= dbg_level) || level <= 1)
+       {
+               va_list args;
+
+               va_start(args, fmt);
+               vfprintf(stderr, fmt, args);
+               fprintf(stderr, "\n");
+               va_end(args);
+       }
+}
 
 int main(int argc, char *argv[])
 {
        resolver_t *resolver;
        resolver_response_t *response;
        enumerator_t *enumerator;
+       chunk_t rdata;
        rr_set_t *rrset;
        rr_t *rr;
-       chunk_t chunk;
 
-       library_init(NULL);
+       library_init(NULL, "dnssec");
        atexit(library_deinit);
-       if (!lib->plugins->load(lib->plugins, NULL, PLUGINS))
+
+       dbg = dbg_dnssec;
+
+       if (!lib->plugins->load(lib->plugins, PLUGINS))
        {
                return 1;
        }
        if (argc != 2)
        {
-               fprintf(stderr, "usage: %s <name>\n", argv[0]);
+               fprintf(stderr, "usage: dnssec <name>\n");
                return 1;
        }
 
@@ -82,9 +104,7 @@ int main(int argc, char *argv[])
        enumerator = rrset->create_rr_enumerator(rrset);
        while (enumerator->enumerate(enumerator, &rr))
        {
-               printf("    name: ");
-               printf(rr->get_name(rr));
-               printf("\n");
+               printf("    name: %s\n", rr->get_name(rr));
        }
 
        enumerator = rrset->create_rrsig_enumerator(rrset);
@@ -93,13 +113,10 @@ int main(int argc, char *argv[])
                printf("  RRSIGs for the RRset:\n");
                while (enumerator->enumerate(enumerator, &rr))
                {
-                       printf("    name: ");
-                       printf(rr->get_name(rr));
-                       printf("\n    RDATA: ");
-                       chunk = rr->get_rdata(rr);
-                       chunk = chunk_to_hex(chunk, NULL, TRUE);
-                       printf(chunk.ptr);
-                       printf("\n");
+                       rdata = rr->get_rdata(rr);
+
+                       printf("    name: %s\n", rr->get_name(rr));
+                       printf("    RDATA: %#B\n", &rdata);
                }
        }