ds = ldns_key_rr2ds(k, LDNS_SHA1);
if (!ds) {
fprintf(stderr, "Conversion to a DS RR failed\n");
+ ldns_rr_free(k);
+ free(owner);
exit(EXIT_FAILURE);
}
} else {
ldns_rr_print(dsfp, ds);
fclose(dsfp);
+ ldns_rr_free(k);
+ free(owner);
LDNS_FREE(dsname);
}
ldns_rr_free(ds);
fprintf(stdout, "K%s+%03u+%05u\n", owner, alg, (unsigned int) ldns_calc_keytag(k));
+
+ ldns_rr_free(k);
+ free(owner);
+ LDNS_FREE(dsname);
exit(EXIT_SUCCESS);
}
pubkey = ldns_key2rr(key);
if (!pubkey) {
fprintf(stderr, "Could not extract the public key from the key structure...");
+ ldns_key_deep_free(key);
exit(EXIT_FAILURE);
}
owner = ldns_rdf2str(ldns_rr_owner(pubkey));
file = fopen(filename, "w");
if (!file) {
fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
+ ldns_key_deep_free(key);
+ free(owner);
+ ldns_rr_free(pubkey);
+ ldns_rr_free(ds);
+ LDNS_FREE(filename);
exit(EXIT_FAILURE);
} else {
ldns_rr_print(file, pubkey);
file = fopen(filename, "w");
if (!file) {
fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
+ ldns_key_deep_free(key);
+ free(owner);
+ ldns_rr_free(pubkey);
+ ldns_rr_free(ds);
+ LDNS_FREE(filename);
exit(EXIT_FAILURE);
} else {
ldns_key_print(file, key);
file = fopen(filename, "w");
if (!file) {
fprintf(stderr, "Unable to open %s: %s\n", filename, strerror(errno));
+ ldns_key_deep_free(key);
+ free(owner);
+ ldns_rr_free(pubkey);
+ ldns_rr_free(ds);
+ LDNS_FREE(filename);
exit(EXIT_FAILURE);
} else {
ldns_rr_print(file, ds);
#endif
fprintf(stdout, "K%s+%03u+%05u\n", owner, algorithm, (unsigned int) ldns_key_keytag(key));
+ ldns_key_deep_free(key);
+ free(owner);
+ ldns_rr_free(pubkey);
+ ldns_rr_free(ds);
exit(EXIT_SUCCESS);
}