diff options
Diffstat (limited to 'src/libknot/rrset.c')
-rw-r--r-- | src/libknot/rrset.c | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/src/libknot/rrset.c b/src/libknot/rrset.c index 6083f77..f037716 100644 --- a/src/libknot/rrset.c +++ b/src/libknot/rrset.c @@ -24,6 +24,7 @@ #include "rrset.h" #include "util/descriptor.h" #include "util/error.h" +#include "util/debug.h" #include "util/utils.h" /*----------------------------------------------------------------------------*/ @@ -211,6 +212,15 @@ void knot_rrset_set_owner(knot_rrset_t *rrset, knot_dname_t* owner) /*----------------------------------------------------------------------------*/ +void knot_rrset_set_ttl(knot_rrset_t *rrset, uint32_t ttl) +{ + if (rrset) { + rrset->ttl = ttl; + } +} + +/*----------------------------------------------------------------------------*/ + uint16_t knot_rrset_type(const knot_rrset_t *rrset) { return rrset->type; @@ -385,7 +395,7 @@ static int knot_rrset_rr_to_wire(const knot_rrset_t *rrset, assert(pos != NULL); assert(*pos != NULL); - fprintf(stderr, "Max size: %zu, owner: %p, owner size: %d\n", + dbg_rrset_detail("Max size: %zu, owner: %p, owner size: %d\n", max_size, rrset->owner, rrset->owner->size); // check if owner fits @@ -398,21 +408,21 @@ static int knot_rrset_rr_to_wire(const knot_rrset_t *rrset, *pos += knot_dname_size(rrset->owner); size += knot_dname_size(rrset->owner); - fprintf(stderr, "Max size: %zu, size: %d\n", max_size, size); + dbg_rrset_detail("Max size: %zu, size: %d\n", max_size, size); - fprintf(stderr, "Wire format:\n"); + dbg_rrset_detail("Wire format:\n"); // put rest of RR 'header' knot_wire_write_u16(*pos, rrset->type); - fprintf(stderr, " Type: %u\n", rrset->type); + dbg_rrset_detail(" Type: %u\n", rrset->type); *pos += 2; knot_wire_write_u16(*pos, rrset->rclass); - fprintf(stderr, " Class: %u\n", rrset->rclass); + dbg_rrset_detail(" Class: %u\n", rrset->rclass); *pos += 2; knot_wire_write_u32(*pos, rrset->ttl); - fprintf(stderr, " TTL: %u\n", rrset->ttl); + dbg_rrset_detail(" TTL: %u\n", rrset->ttl); *pos += 4; // save space for RDLENGTH @@ -422,7 +432,7 @@ static int knot_rrset_rr_to_wire(const knot_rrset_t *rrset, size += 10; // compr->wire_pos += size; - fprintf(stderr, "Max size: %zu, size: %d\n", max_size, size); + dbg_rrset_detail("Max size: %zu, size: %d\n", max_size, size); knot_rrtype_descriptor_t *desc = knot_rrtype_descriptor_by_type(rrset->type); @@ -447,8 +457,9 @@ static int knot_rrset_rr_to_wire(const knot_rrset_t *rrset, // save whole domain name memcpy(*pos, knot_dname_name(dname), knot_dname_size(dname)); - fprintf(stderr, "Uncompressed dname size: %d\n", - knot_dname_size(dname)); + dbg_rrset_detail(stderr, + "Uncompressed dname size: %d\n", + knot_dname_size(dname)); *pos += knot_dname_size(dname); rdlength += knot_dname_size(dname); // compr->wire_pos += dname->size; @@ -464,7 +475,7 @@ static int knot_rrset_rr_to_wire(const knot_rrset_t *rrset, // copy just the rdata item data (without size) memcpy(*pos, raw_data + 1, raw_data[0]); - fprintf(stderr, "Raw data size: %d\n", raw_data[0]); + dbg_rrset_detail("Raw data size: %d\n", raw_data[0]); *pos += raw_data[0]; rdlength += raw_data[0]; // compr->wire_pos += raw_data[0]; @@ -473,7 +484,7 @@ static int knot_rrset_rr_to_wire(const knot_rrset_t *rrset, } } - fprintf(stderr, "Max size: %zu, size: %d\n", max_size, size); + dbg_rrset_detail("Max size: %zu, size: %d\n", max_size, size); assert(size + rdlength <= max_size); size += rdlength; @@ -509,11 +520,11 @@ int knot_rrset_to_wire(const knot_rrset_t *rrset, uint8_t *wire, size_t *size, if (ret < 0) { // some RR didn't fit in, so no RRs should be used // TODO: remove last entries from compression table - fprintf(stderr, "Some RR didn't fit in.\n"); + dbg_rrset_detail("Some RR didn't fit in.\n"); return KNOT_ESPACE; } - fprintf(stderr, "RR of size %d added.\n", ret); + dbg_rrset_detail("RR of size %d added.\n", ret); rrset_size += ret; ++rrs; } while ((rdata = knot_rrset_rdata_next(rrset, rdata)) != NULL); @@ -523,7 +534,7 @@ int knot_rrset_to_wire(const knot_rrset_t *rrset, uint8_t *wire, size_t *size, assert(pos - wire == rrset_size); *size = rrset_size; - fprintf(stderr, " Size after: %zu\n", *size); + dbg_rrset_detail("Size after: %zu\n", *size); *rr_count = rrs; |