#include <stddef.h>
#include <unistd.h>
#include <stdbool.h>
+#include <errno.h>
#include <stdint.h>
main(int argc, char **argv)
{
ldns_rr *rr;
- char *filename = "db.miek.nl";
+ char *filename = "";
FILE *fp;
ldns_zone *z;
-
- fp = fopen(filename, "r");
- if (!fp) {
- exit(EXIT_FAILURE);
+ int line_nr = 0;
+
+ if (argc < 2) {
+ printf("Usage: %s <zonefile>\n", argv[0]);
+ printf("\tReads the zonefile and prints it.\n");
+ exit(0);
}
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- rr = ldns_rr_new_frm_fp(fp);
- ldns_rr_print(stdout, rr);
- printf("\n");
- fclose(fp);
+ filename = argv[1];
- printf("ldns_zone_new_frm_fp\n");
fp = fopen(filename, "r");
if (!fp) {
+ fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
exit(EXIT_FAILURE);
}
-
- z = ldns_zone_new_frm_fp(fp, NULL, 0, LDNS_RR_CLASS_IN);
+
+ z = ldns_zone_new_frm_fp_l(fp, NULL, 0, LDNS_RR_CLASS_IN, &line_nr);
if (z) {
ldns_zone_print(stdout, z);
dnskeys = ldns_rr_list_new();
/* well formed */
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 195.169.222.38\na.miek.nl. 1800 IN A 195.169.222.38");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 195.169.222.38\na.miek.nl. 1800 IN A 195.169.222.38", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 195.169.222.38 ");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 195.169.222.38 ", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
3600 ; negative caching\n\
)";
- rr = ldns_rr_new_frm_str(soa_string1);
+ rr = ldns_rr_new_frm_str(soa_string1, 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str(soa_string2);
+ rr = ldns_rr_new_frm_str(soa_string2, 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 www.atoom.net");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 www.atoom.net", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 w\\065.atoom.net");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 w\\065.atoom.net", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 w\\65.atoom.net");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 w\\65.atoom.net", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 www\\.www.atoom.net");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 www\\.www.atoom.net", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 \\.");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10 \\.", 0, NULL);
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=");
+ rr = ldns_rr_new_frm_str("nlnetlabs.nl. 86400 IN RRSIG DNSKEY RSASHA1 2 86400 1114695776 1112103776 43791 nlnetlabs.nl. FE//RZ0Z1sMzea0ioOLFpUIcM3wnxLGndtKUXJSM3SQ3BlYok2fUTiI+zegNoB1YdylWsfohZJfjkODrOJO9PSbN7hMHmzFEsDFAbCU75TySBuxv2UQlQVuTznxtRdvLGIRGxRhPmjlc/gtJPMB4XJKUWmtkzlTVKqZU7oNCsLA=", 0, NULL);
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=");
+ rr = ldns_rr_new_frm_str("nlnetlabs.nl. 86400 IN RRSIG DNSKEY RSASHA1 2 86400 20050105121300 1112103776 43791 nlnetlabs.nl. FE//RZ0Z1sMzea0ioOLFpUIcM3wnxLGndtKUXJSM3SQ3BlYok2fUTiI+zegNoB1YdylWsfohZJfjkODrOJO9PSbN7hMHmzFEsDFAbCU75TySBuxv2UQlQVuTznxtRdvLGIRGxRhPmjlc/gtJPMB4XJKUWmtkzlTVKqZU7oNCsLA=", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
/* miss formed */
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN MX 10", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 267.271.122.1t");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 267.271.122.1t", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
printf("this must work again\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. IN A 127.0.0.1");
+ rr = ldns_rr_new_frm_str("a.miek.nl. IN A 127.0.0.1", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1D IN A 127.0.0.1");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1D IN A 127.0.0.1", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");
- rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 195.169.222.38");
+ rr = ldns_rr_new_frm_str("a.miek.nl. 1800 IN A 195.169.222.38", 0, NULL);
ldns_rr_print(stdout, rr);
printf("\n");