Skip to content
Snippets Groups Projects
Commit 0aad5029 authored by Jan Kadlec's avatar Jan Kadlec
Browse files

Modified zone dump function - added argument - loaded_zone + modifications in name-server.c.

parent e39a8e9f
No related branches found
No related tags found
No related merge requests found
......@@ -6,7 +6,7 @@
#include "debug.h"
#include "dnslib/dnslib.h"
void dnslib_rdata_dump(dnslib_rdata_t *rdata, uint32_t type)
void dnslib_rdata_dump(dnslib_rdata_t *rdata, uint32_t type, char loaded_zone)
{
#if defined(DNSLIB_ZONE_DEBUG) || defined(DNSLIB_RDATA_DEBUG)
printf(" ------- RDATA -------\n");
......@@ -28,13 +28,15 @@ void dnslib_rdata_dump(dnslib_rdata_t *rdata, uint32_t type)
printf(" DNAME: %d: %s\n",
i, name);
free(name);
if (rdata->items[i].dname->node) {
name =
dnslib_dname_to_str(rdata->items[i].dname->node->owner);
printf(" Has node owner: %s\n", name);
free(name);
} else {
printf(" No node set\n");
if (loaded_zone) {
if (rdata->items[i].dname->node) {
name =
dnslib_dname_to_str(rdata->items[i].dname->node->owner);
printf(" Has node owner: %s\n", name);
free(name);
} else {
printf(" No node set\n");
}
}
printf(" labels: ");
hex_print((char *)rdata->items[i].dname->labels,
......@@ -55,7 +57,7 @@ void dnslib_rdata_dump(dnslib_rdata_t *rdata, uint32_t type)
#endif
}
void dnslib_rrsig_dump(dnslib_rrsig_set_t *rrsig)
void dnslib_rrsig_dump(dnslib_rrsig_set_t *rrsig, char loaded_zone)
{
#if defined(DNSLIB_ZONE_DEBUG) || defined(DNSLIB_RRSET_DEBUG)
printf(" ------- RRSIG -------\n");
......@@ -75,17 +77,17 @@ void dnslib_rrsig_dump(dnslib_rrsig_set_t *rrsig)
}
while (tmp->next != rrsig->rdata) {
dnslib_rdata_dump(tmp, DNSLIB_RRTYPE_RRSIG);
dnslib_rdata_dump(tmp, DNSLIB_RRTYPE_RRSIG, loaded_zone);
tmp = tmp->next;
}
dnslib_rdata_dump(tmp, DNSLIB_RRTYPE_RRSIG);
dnslib_rdata_dump(tmp, DNSLIB_RRTYPE_RRSIG, loaded_zone);
printf(" ------- RRSIG -------\n");
#endif
}
void dnslib_rrset_dump(dnslib_rrset_t *rrset)
void dnslib_rrset_dump(dnslib_rrset_t *rrset, char loaded_zone)
{
#if defined(DNSLIB_ZONE_DEBUG) || defined(DNSLIB_RRSET_DEBUG)
printf(" ------- RRSET -------\n");
......@@ -97,7 +99,7 @@ void dnslib_rrset_dump(dnslib_rrset_t *rrset)
printf(" class: %d\n", rrset->rclass);
printf(" ttl: %d\n", rrset->ttl);
dnslib_rrsig_dump(rrset->rrsigs);
dnslib_rrsig_dump(rrset->rrsigs, loaded_zone);
if (rrset->rdata == NULL) {
printf(" NO RDATA!\n");
......@@ -108,19 +110,20 @@ void dnslib_rrset_dump(dnslib_rrset_t *rrset)
dnslib_rdata_t *tmp = rrset->rdata;
while (tmp->next != rrset->rdata) {
dnslib_rdata_dump(tmp, rrset->type);
dnslib_rdata_dump(tmp, rrset->type, loaded_zone);
tmp = tmp->next;
}
dnslib_rdata_dump(tmp, rrset->type);
dnslib_rdata_dump(tmp, rrset->type, loaded_zone);
printf(" ------- RRSET -------\n");
#endif
}
void dnslib_node_dump(dnslib_node_t *node, void *void_param)
void dnslib_node_dump(dnslib_node_t *node, void *data)
{
#if defined(DNSLIB_ZONE_DEBUG) || defined(DNSLIB_NODE_DEBUG)
char loaded_zone = *((char*) data);
printf("------- NODE --------\n");
printf("owner: %s\n", dnslib_dname_to_str(node->owner));
printf("labels: ");
......@@ -166,30 +169,30 @@ void dnslib_node_dump(dnslib_node_t *node, void *void_param)
dnslib_rrset_t *tmp = (dnslib_rrset_t *)skip_node->value;
dnslib_rrset_dump(tmp);
dnslib_rrset_dump(tmp, loaded_zone);
while ((skip_node = skip_next(skip_node)) != NULL) {
tmp = (dnslib_rrset_t *)skip_node->value;
// assert(tmp->owner->node == node);
dnslib_rrset_dump(tmp);
dnslib_rrset_dump(tmp, loaded_zone);
}
//assert(node->owner->node == node);
printf("------- NODE --------\n");
#endif
}
void dnslib_zone_dump(dnslib_zone_t *zone)
void dnslib_zone_dump(dnslib_zone_t *zone, char loaded_zone)
{
#if defined(DNSLIB_ZONE_DEBUG)
printf("------- ZONE --------\n");
dnslib_zone_tree_apply_inorder(zone, dnslib_node_dump, NULL);
dnslib_zone_tree_apply_inorder(zone, dnslib_node_dump, (void *)&loaded_zone);
printf("------- ZONE --------\n");
printf("------- NSEC 3 tree -\n");
dnslib_zone_nsec3_apply_inorder(zone, dnslib_node_dump, NULL);
dnslib_zone_nsec3_apply_inorder(zone, dnslib_node_dump, (void *)&loaded_zone);
printf("------- NSEC 3 tree -\n");
#endif
......
......@@ -14,13 +14,13 @@
#include <stdint.h>
#include "dnslib.h"
void dnslib_rdata_dump(dnslib_rdata_t *rdata, uint32_t type);
void dnslib_rdata_dump(dnslib_rdata_t *rdata, uint32_t type, char loaded_zone);
void dnslib_rrset_dump(dnslib_rrset_t *rrset);
void dnslib_rrset_dump(dnslib_rrset_t *rrset, char loaded_zone);
void dnslib_node_dump(dnslib_node_t *node, void *void_param);
void dnslib_node_dump(dnslib_node_t *node, void *data);
void dnslib_zone_dump(dnslib_zone_t *zone);
void dnslib_zone_dump(dnslib_zone_t *zone, char loaded_zone);
#endif
......
......@@ -88,7 +88,7 @@ dnslib_rrset_t *ns_synth_from_wildcard(const dnslib_rrset_t *wildcard_rrset,
}
debug_ns("Created RRSet header:\n");
dnslib_rrset_dump(synth_rrset);
dnslib_rrset_dump(synth_rrset, 1);
// copy all RDATA
const dnslib_rdata_t *rdata = dnslib_rrset_rdata(wildcard_rrset);
......@@ -104,7 +104,8 @@ dnslib_rrset_t *ns_synth_from_wildcard(const dnslib_rrset_t *wildcard_rrset,
}
debug_ns("Copied RDATA:\n");
dnslib_rdata_dump(rdata_copy, dnslib_rrset_type(synth_rrset));
dnslib_rdata_dump(rdata_copy,
dnslib_rrset_type(synth_rrset), 1);
dnslib_rrset_add_rdata(synth_rrset, rdata_copy);
rdata = dnslib_rrset_rdata_next(wildcard_rrset, rdata);
......@@ -175,7 +176,7 @@ static void ns_check_wildcard(const dnslib_dname_t *name,
dnslib_rrset_t *synth_rrset =
ns_synth_from_wildcard(*rrset, name);
debug_ns("Synthetized RRSet:\n");
dnslib_rrset_dump(synth_rrset);
dnslib_rrset_dump(synth_rrset, 1);
dnslib_response_add_tmp_rrset(resp, synth_rrset);
*rrset = synth_rrset;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment