summaryrefslogtreecommitdiff
path: root/src/resolve
AgeCommit message (Collapse)Author
2014-08-04resolved: fix order in which we destroy manager resourcesLennart Poettering
2014-08-04resolved: when there's already somebody listening on the LLMNR ports, simple ↵Lennart Poettering
disable LLMNR and warn, but continue This allows us to run resolved inside an nspawn container that shares the network namespace with the host, if there's already an instance running.
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-03resolve-host: make arg_type an intZbigniew Jędrzejewski-Szmek
We are using it also to store _DNS_TYPE_INVALID, so it should be signed.
2014-08-03resolve: add more record types and convert to gperf tableZbigniew Jędrzejewski-Szmek
We are unlikely to evert support most of them, but we can at least display the types properly. The list is taken from the IANA list. The table of number->name mappings is converted to a switch statement. gcc does a nice job of optimizing lookup (when optimization is enabled). systemd-resolve-host -t is now case insensitive.
2014-08-03resolved: align last rr columnZbigniew Jędrzejewski-Szmek
2014-08-03resolved: avoid possible dereference of null pointerThomas Hindoe Paaboel Andersen
In dns_scope_make_reply_packet the structs q, answer, and soa can be null. We should check for null before reading their fields.
2014-08-03resolved: remove unused variablesThomas Hindoe Paaboel Andersen
2014-08-01resolved: always drop multicast membership before adding oneLennart Poettering
This is apparently necessary on some devices, such as veth.
2014-08-01resolved: IPV6_UNICAST_IF may fail if we already are bound to a device, like ↵Lennart Poettering
we are for link-local addresses
2014-08-01resolved: flush cache each time we change to a different DNS serverLennart Poettering
2014-08-01resolved: read the system /etc/resolv.conf unless we wrote it ourselvesLennart Poettering
This way we integrate nicely with foreign network management stacks, such as NM.
2014-08-01resolved: rename resolved.h to resolved-manager.hLennart Poettering
After all it pretty much exlcusively containers definitions about the "Manager" object, hence let's call this the most obvious way.
2014-08-01resolved: beef up DNS server configuration logicLennart Poettering
We now maintain two lists of DNS servers: system servers and fallback servers. system servers are used in combination with any per-link servers. fallback servers are only used if there are no system servers or per-link servers configured. The system server list is supposed to be populated from a foreign tool's /etc/resolv.conf (not implemented yet). Also adds a configuration switch for LLMNR, that allows configuring whether LLMNR shall be used simply for resolving or also for responding.
2014-08-01resolved: don't bother caching negative RRs when the SOA TTL is 0 anywayLennart Poettering
2014-08-01resolved: use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC when aging caches ↵Lennart Poettering
and timeing out transactions That way the cache doens't get confused when the system is suspended.
2014-08-01resolved: fix negative caching of IDNA domainsLennart Poettering
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-31hostnamed: watch system hostname changes and update LLMNR RRs accordinglyLennart Poettering
2014-07-31resolved: fix deserialization of UTF8 host namesLennart Poettering
2014-07-31resolved: accept UTF-8 hostnames from bus clientsLennart Poettering
2014-07-31resolved: various fixes regarding encoding of UTF8 characters in DNS RRsLennart Poettering
2014-07-31resolved: properly compare RRs we cannot parseLennart Poettering
2014-07-31resolved: properly process SSHFP RRsLennart Poettering
2014-07-31resolved: properly process SRV recordsLennart Poettering
2014-07-31resolved: provide properly named way to access SPF data in RRsLennart 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: implement LLMNR uniqueness verificationLennart 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-31resolve-host: list types and classesZbigniew Jędrzejewski-Szmek
Also update systemctl to similar style.
2014-07-31Properly report invalid quoted stringsZbigniew Jędrzejewski-Szmek
$ systemd-analyze verify trailing-g.service [./trailing-g.service:2] Trailing garbage, ignoring. trailing-g.service lacks ExecStart setting. Refusing. Error: org.freedesktop.systemd1.LoadFailed: Unit trailing-g.service failed to load: Invalid argument. Failed to create trailing-g.service/start: Invalid argument
2014-07-31Reject invalid quoted stringsZbigniew Jędrzejewski-Szmek
String which ended in an unfinished quote were accepted, potentially with bad memory accesses. Reject anything which ends in a unfished quote, or contains non-whitespace characters right after the closing quote. _FOREACH_WORD now returns the invalid character in *state. But this return value is not checked anywhere yet. Also, make 'word' and 'state' variables const pointers, and rename 'w' to 'word' in various places. Things are easier to read if the same name is used consistently. mbiebl_> am I correct that something like this doesn't work mbiebl_> ExecStart=/usr/bin/encfs --extpass='/bin/systemd-ask-passwd "Unlock EncFS"' mbiebl_> systemd seems to strip of the quotes mbiebl_> systemctl status shows mbiebl_> ExecStart=/usr/bin/encfs --extpass='/bin/systemd-ask-password Unlock EncFS $RootDir $MountPoint mbiebl_> which is pretty weird
2014-07-30resolved: when we got a successful DNS reply, then only wait for other ↵Lennart Poettering
transactions on the same scope, nowhere else
2014-07-30resolved: properly set TTL in SOA recordsLennart Poettering
2014-07-30resolved: don't attempt to order empty answer arrayLennart Poettering
2014-07-30resolved: properly return start index when appending RR to packetLennart Poettering
2014-07-30resolved: add API for resolving specific RRsLennart Poettering
2014-07-30resolved: properly pass empty answers back to bus clientsLennart Poettering
2014-07-30resolved: include SOA records in LLMNR replies for non-existing RRs to allow ↵Lennart Poettering
negative caching
2014-07-30resolved: fix cname handlingLennart Poettering
2014-07-30resolved: properly handle adding empty replies to cacheLennart Poettering
2014-07-30resolved: never cache ANY lookupsLennart Poettering