rdata = XMALLOC(char, MAX_PACKETLEN + 1);
str_normalized = ldns_rr_str_normalize(str);
+/*
sscanf(str_normalized, "%255s%20s%10s%9s%65535c", owner, ttl, clas, type, rdata);
+*/
+ rd = strtok(str_normalized, "\t \0");
+ strncpy(owner, rd, MAX_DOMAINLEN + 1);
+ rd = strtok(NULL, "\t \0");
+ strncpy(ttl, rd, 21);
+ rd = strtok(NULL, "\t \0");
+ strncpy(clas, rd, 11);
+ rd = strtok(NULL, "\t \0");
+ strncpy(type, rd, 10);
+ rd = strtok(NULL, "\0");
+ strncpy(rdata, rd, MAX_PACKETLEN + 1);
ldns_rr_set_owner(new, ldns_dname_new_frm_str(owner));
/* ttl might be more complicated, like 2h, or 3d5h */
r_max = ldns_rr_descriptor_maximum(desc);
r_min = ldns_rr_descriptor_minimum(desc);
- /* this breaks with nsec */
for(rd = strtok(rdata, "\t \0"), r_cnt =0; rd; rd = strtok(NULL, "\t \0"), r_cnt++) {
r = ldns_rdf_new_frm_str(
ldns_rr_descriptor_field_type(desc, r_cnt),
return NULL;
}
}
+
return new;
}
i = (uint16_t) b64_pton((const char*)str, buffer,
b64_ntop_calculate_size(strlen(str)));
if (-1 == i) {
+ /* todo: remove print */
+ printf("BAD B64: %s\n", str);
return LDNS_STATUS_INVALID_B64;
} else {
*rd = ldns_rdf_new_frm_data(
LDNS_RDF_TYPE_B64, (uint16_t) i, buffer);
}
FREE(buffer);
+
return LDNS_STATUS_OK;
}