mirror of
https://github.com/systemd/systemd.git
synced 2024-11-08 11:27:32 +03:00
resolved: rr - ignore pseudo types in NSEC(3) bitmaps
This commit is contained in:
parent
0bbd72b2f3
commit
8e6edc490c
@ -43,3 +43,8 @@ int dns_type_from_string(const char *s) {
|
||||
|
||||
return sc->id;
|
||||
}
|
||||
|
||||
/* XXX: find an authorotative list of all pseudo types? */
|
||||
bool dns_type_is_pseudo(int n) {
|
||||
return IN_SET(n, DNS_TYPE_ANY, DNS_TYPE_AXFR, DNS_TYPE_IXFR, DNS_TYPE_OPT);
|
||||
}
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
const char *dns_type_to_string(int type);
|
||||
int dns_type_from_string(const char *s);
|
||||
bool dns_type_is_pseudo(int n);
|
||||
|
||||
/* DNS record types, taken from
|
||||
* http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml.
|
||||
|
@ -1208,9 +1208,12 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta
|
||||
if (bitmap[i] & bitmask) {
|
||||
uint16_t n;
|
||||
|
||||
/* XXX: ignore pseudo-types? see RFC4034 section 4.1.2 */
|
||||
n = (uint16_t) window << 8 | (uint16_t) bit;
|
||||
|
||||
/* Ignore pseudo-types. see RFC4034 section 4.1.2 */
|
||||
if (dns_type_is_pseudo(n))
|
||||
continue;
|
||||
|
||||
r = bitmap_set(*types, n);
|
||||
if (r < 0)
|
||||
goto fail;
|
||||
|
Loading…
Reference in New Issue
Block a user