summaryrefslogtreecommitdiff
path: root/src/resolve/resolved-dns-packet.c
AgeCommit message (Collapse)Author
2015-07-16bitmap: use external iteratorTom Gundersen
Reuse the Iterator object from hashmap.h and expose a similar API. This allows us to do { Iterator i; unsigned n; BITMAP_FOREACH(n, b, i) { Iterator j; unsigned m; BITMAP_FOREACH(m, b, j) { ... } } } without getting confused. Requested by David.
2015-07-14resolved: rr - add NSEC3 supportTom Gundersen
Needed for DNSSEC.
2015-07-14resolved: rr - add NSEC supportTom Gundersen
Needed for DNSSEC.
2015-07-14Merge pull request #586 from teg/resolved-rrs-3Daniel Mack
resolved: minor improvements to RR handling
2015-07-14resolved: rr - add DS supportTom Gundersen
Needed for DNSSEC.
2015-07-14resolved: packet - ensure there is space for IP+UDP headersTom Gundersen
Currently we only make sure our links can handle the size of the payload witohut taking the headers into account.
2015-07-13resolved: make LLMNR checks conditionalDaniel Mack
Make all LLMNR related packet inspections conditional to p->protocol. Use switch-case statements while at it, which will make future additions more readable.
2015-07-08resolved: fix marshalling of RRSIG recordsTom Gundersen
The key tag is 16, not 8 bits.
2015-06-10resolve: move dns routines into sharedNick Owens
2014-12-30tree-wide: spelling fixesVeres Lajos
https://github.com/vlajos/misspell_fixer https://github.com/torstehu/systemd/commit/b6fdeb618cf2f3ce1645b3315f15f482710c7ffa Thanks to Torstein Husebo <torstein@huseboe.net>.
2014-12-01resolved: make TXT RR generation and parsing more in-line with RFC 6763, ↵Lennart Poettering
section 6.1 The RFC says to encode an single empty TXT string instead of an empty TXT array. It also says to treat a zero-length TXT RR as a TXT array with a single zero-length string.
2014-11-27resolve: reject empty TXT recordsStanisław Pitucha
TXT records should have at least one character, so enforce this. Before 0f84a72 parser SIGSEGV'd on ->txt.strings being NULL, but even if this is fixed we should reject invalid TXT records.
2014-11-27resolve: set error code on failureStanisław Pitucha
Set the error code in case of incorrect name. This prevents continuing and failing an assert(name) later on.
2014-11-27resolve: fix redirection loops in compressed RRStanisław Pitucha
Loops in RR compression were only detected for the first entry. Multiple redirections should be allowed, each one checking for an infinite loop on its own starting point. Also update the pointer on each redirection to avoid longer loops of labels and redirections, in names like: (start) [len=1] "A", [ptr to start] (David: rename variable to "jump_barrier" and add reference to RFC)
2014-11-01resolved: dns-packet - use unaligned read/write helpersTom Gundersen
2014-09-15hashmap: introduce hash_ops to make struct Hashmap smallerMichal Schmidt
It is redundant to store 'hash' and 'compare' function pointers in struct Hashmap separately. The functions always comprise a pair. Store a single pointer to struct hash_ops instead. systemd keeps hundreds of hashmaps, so this saves a little bit of memory.
2014-08-11resolved: implement full LLMNR conflict detection logicLennart Poettering
2014-08-11resolved: properly check return value of dns_resource_record_equal()Lennart Poettering
2014-08-03resolved: RRSIG recordsZbigniew Jędrzejewski-Szmek
2014-08-03resolved: add identifiers for dnssec algorithmsZbigniew Jędrzejewski-Szmek
2014-08-03resolved: DNSKEY recordsZbigniew Jędrzejewski-Szmek
2014-08-01resolved: handle IDNA domainsLennart Poettering
Make sure we format UTF-8 labels as IDNA when writing them to DNS packets, and as native UTF-8 when writing them to mDNS or LLMNR packets. When comparing or processing labels always consider native UTF-8 and IDNA formats equivalent.
2014-07-31resolved: fix serialization of LOC records, check correctnessZbigniew Jędrzejewski-Szmek
2014-07-31resolved: fix deserialization of UTF8 host namesLennart Poettering
2014-07-31resolved: properly process SSHFP RRsLennart Poettering
2014-07-31resolved: properly process SRV recordsLennart Poettering
2014-07-31resolved: make sure we always initialize r when parsing TXT recordsLennart Poettering
2014-07-31resolved: properly process DNAME RRsLennart Poettering
2014-07-31resolved: fix multi-record packets with TXTsZbigniew Jędrzejewski-Szmek
2014-07-31resolved: LOC recordsZbigniew Jędrzejewski-Szmek
LOC records have a version field. So far only version 0 has been published, but if a record with a different version was encountered, our only recourse is to treat it as an unknown type. This is implemented with the 'unparseable' flag, which causes the serialization/deserialization and printing function to cause the record as a blob. The flag can be used if other packet types cannot be parsed for whatever reason.
2014-07-31resolved: SPF recordsZbigniew Jędrzejewski-Szmek
2014-07-31resolved: TXT recordsZbigniew Jędrzejewski-Szmek
2014-07-31resolved: MX recordsZbigniew Jędrzejewski-Szmek
2014-07-30resolved: properly return start index when appending RR to packetLennart Poettering
2014-07-30resolved: don't accept messages with ANY RRsLennart Poettering
2014-07-29resolved: discard more invalid llmnr messagesLennart Poettering
2014-07-29resolve: add llmnr responder side for UDP and TCPLennart Poettering
Name defending is still missing.
2014-07-23resolved: implement negative cachingLennart Poettering
2014-07-23resolved: rework logic so that we can share transactions between queries of ↵Lennart Poettering
different clients
2014-07-18resolved: add LLMNR support for looking up namesLennart Poettering
2014-07-17resolved: add DNS cacheLennart Poettering
2014-07-16resolved: add CNAME lookup supportLennart Poettering
2014-07-16dns-packet: allow dynamic resizing of DNS packetsLennart Poettering
2014-07-16dns-domain: introduce macros for accessing all DNS header fieldsLennart Poettering
2014-07-15resolve: avoid use of uninitalized variableZbigniew Jędrzejewski-Szmek
2014-07-16resolved: add a DNS client stub resolverLennart Poettering
Let's turn resolved into a something truly useful: a fully asynchronous DNS stub resolver that subscribes to network changes. (More to come: caching, LLMNR, mDNS/DNS-SD, DNSSEC, IDN, NSS module)