resolved: OPENPGPKEY records
This commit is contained in:
@@ -87,6 +87,7 @@ enum {
|
||||
DNS_TYPE_TALINK,
|
||||
DNS_TYPE_CDS,
|
||||
DNS_TYPE_CDNSKEY,
|
||||
DNS_TYPE_OPENPGPKEY,
|
||||
|
||||
DNS_TYPE_SPF = 0x63,
|
||||
DNS_TYPE_NID,
|
||||
|
||||
@@ -1075,6 +1075,7 @@ int dns_packet_append_rr(DnsPacket *p, const DnsResourceRecord *rr, size_t *star
|
||||
break;
|
||||
|
||||
case DNS_TYPE_OPT:
|
||||
case DNS_TYPE_OPENPGPKEY:
|
||||
case _DNS_TYPE_INVALID: /* unparseable */
|
||||
default:
|
||||
|
||||
@@ -2018,6 +2019,7 @@ int dns_packet_read_rr(DnsPacket *p, DnsResourceRecord **ret, bool *ret_cache_fl
|
||||
break;
|
||||
|
||||
case DNS_TYPE_OPT: /* we only care about the header of OPT for now. */
|
||||
case DNS_TYPE_OPENPGPKEY:
|
||||
default:
|
||||
unparseable:
|
||||
r = dns_packet_read_memdup(p, rdlength, &rr->generic.data, &rr->generic.size, NULL);
|
||||
|
||||
@@ -491,6 +491,7 @@ DnsResourceRecord* dns_resource_record_unref(DnsResourceRecord *rr) {
|
||||
free(rr->tlsa.data);
|
||||
break;
|
||||
|
||||
case DNS_TYPE_OPENPGPKEY:
|
||||
default:
|
||||
free(rr->generic.data);
|
||||
}
|
||||
@@ -1105,6 +1106,23 @@ const char *dns_resource_record_to_string(DnsResourceRecord *rr) {
|
||||
break;
|
||||
}
|
||||
|
||||
case DNS_TYPE_OPENPGPKEY: {
|
||||
int n;
|
||||
|
||||
r = asprintf(&s, "%s %n",
|
||||
k,
|
||||
&n);
|
||||
if (r < 0)
|
||||
return NULL;
|
||||
|
||||
r = base64_append(&s, n,
|
||||
rr->generic.data, rr->generic.size,
|
||||
8, columns());
|
||||
if (r < 0)
|
||||
return NULL;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
t = hexmem(rr->generic.data, rr->generic.size);
|
||||
if (!t)
|
||||
@@ -1378,6 +1396,7 @@ static void dns_resource_record_hash_func(const void *i, struct siphash *state)
|
||||
siphash24_compress(&rr->tlsa.data, rr->tlsa.data_size, state);
|
||||
break;
|
||||
|
||||
case DNS_TYPE_OPENPGPKEY:
|
||||
default:
|
||||
siphash24_compress(rr->generic.data, rr->generic.size, state);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user