};
static const ldns_rdf_type type_rrsig_wireformat[] = {
LDNS_RDF_TYPE_TYPE, LDNS_RDF_TYPE_ALG, LDNS_RDF_TYPE_INT8, LDNS_RDF_TYPE_INT32,
- LDNS_RDF_TYPE_INT32, LDNS_RDF_TYPE_INT32, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_B64
+ LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_TIME, LDNS_RDF_TYPE_INT16, LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_B64
};
static const ldns_rdf_type type_nsec_wireformat[] = {
LDNS_RDF_TYPE_DNAME, LDNS_RDF_TYPE_NSEC
rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 \\.");
ldns_rr_print(stdout, rr);
printf("\n");
+
+ printf("rr sig with inception as epoch number\n");
+ rr = ldns_rr_new_frm_str("nlnetlabs.nl. 86400 IN RRSIG DNSKEY RSASHA1 2 86400 1114695776 1112103776 43791 nlnetlabs.nl. FE//RZ0Z1sMzea0ioOLFpUIcM3wnxLGndtKUXJSM3SQ3BlYok2fUTiI+zegNoB1YdylWsfohZJfjkODrOJO9PSbN7hMHmzFEsDFAbCU75TySBuxv2UQlQVuTznxtRdvLGIRGxRhPmjlc/gtJPMB4XJKUWmtkzlTVKqZU7oNCsLA=");
+ ldns_rr_print(stdout, rr);
+ printf("\n");
+
+ printf("rr sig with inception as date\n");
+ rr = ldns_rr_new_frm_str("nlnetlabs.nl. 86400 IN RRSIG DNSKEY RSASHA1 2 86400 20050105121300 1112103776 43791 nlnetlabs.nl. FE//RZ0Z1sMzea0ioOLFpUIcM3wnxLGndtKUXJSM3SQ3BlYok2fUTiI+zegNoB1YdylWsfohZJfjkODrOJO9PSbN7hMHmzFEsDFAbCU75TySBuxv2UQlQVuTznxtRdvLGIRGxRhPmjlc/gtJPMB4XJKUWmtkzlTVKqZU7oNCsLA=");
+
+ ldns_rr_print(stdout, rr);
+ printf("\n");
/* miss formed */
rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10");
ldns_status
ldns_str2rdf_time(ldns_rdf **rd, const char *time)
{
- /* convert a time YYHM to wireformat */
+ /* convert a time YYDDMMHHMMSS to wireformat */
uint16_t *r = NULL;
struct tm tm;
uint32_t l;
+ char *end;
/* Try to scan the time... */
r = (uint16_t*)MALLOC(uint32_t);
if((char*)strptime(time, "%Y%m%d%H%M%S", &tm) == NULL) {
- FREE(r);
- return LDNS_STATUS_ERR;
+ /* handle it as 32 bits */
+ l = htonl((uint32_t)strtol((char*)time, &end, 0));
+ if(*end != 0) {
+ FREE(r);
+ return LDNS_STATUS_ERR;
+ } else {
+ memcpy(r, &l, sizeof(uint32_t));
+ *rd = ldns_rdf_new_frm_data(
+ LDNS_RDF_TYPE_INT32, sizeof(uint32_t), r);
+ FREE(r);
+ return LDNS_STATUS_OK;
+ }
} else {
l = htonl(timegm(&tm));
memcpy(r, &l, sizeof(uint32_t));