Lennart Poettering
dc4d47e2c7
resolved: never reuse transactions for probing that are already completed based on cached data
2014-08-05 01:52:25 +02:00
Lennart Poettering
4d926a69bc
resolved: bypass local cache when we issue a transaction for verification purposes
2014-08-05 01:52:24 +02:00
Lennart Poettering
cd1b20f90a
resolved: if there's already an RR established that has the same name of an RR to be established, skip probing the name
...
After all, what has been probed once, doesn't need to be probed again.
2014-08-05 01:52:24 +02:00
Lennart Poettering
21d73c87b0
resolved: actually read the initial state data from networkd when we initialize
2014-08-04 23:08:49 +02:00
Lennart Poettering
19b50b5ba7
resolved: read the per-interface LLMNR setting from networkd and act on it
2014-08-04 23:08:03 +02:00
Lennart Poettering
f0e1546763
resolved: fix order in which we destroy manager resources
2014-08-04 19:59:05 +02:00
Lennart Poettering
edc501d467
resolved: when there's already somebody listening on the LLMNR ports, simple 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-04 19:48:03 +02:00
Zbigniew Jędrzejewski-Szmek
151226ab4b
resolved: RRSIG records
2014-08-03 22:02:32 -04:00
Zbigniew Jędrzejewski-Szmek
ff3d6560be
resolved: add identifiers for dnssec algorithms
2014-08-03 22:02:32 -04:00
Zbigniew Jędrzejewski-Szmek
8db0d2f5c3
resolved: DNSKEY records
2014-08-03 22:02:32 -04:00
Zbigniew Jędrzejewski-Szmek
de292aa1dd
resolve-host: make arg_type an int
...
We are using it also to store _DNS_TYPE_INVALID, so it should be signed.
2014-08-03 22:02:32 -04:00
Zbigniew Jędrzejewski-Szmek
7263f72499
resolve: add more record types and convert to gperf table
...
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-03 22:02:32 -04:00
Zbigniew Jędrzejewski-Szmek
23432a1c24
resolved: align last rr column
2014-08-03 21:46:08 -04:00
Thomas Hindoe Paaboel Andersen
75cd513ef8
resolved: avoid possible dereference of null pointer
...
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-03 23:01:57 +02:00
Thomas Hindoe Paaboel Andersen
e850d8e1ac
resolved: remove unused variables
2014-08-03 13:19:19 +02:00
Lennart Poettering
7b4c2ee75f
resolved: always drop multicast membership before adding one
...
This is apparently necessary on some devices, such as veth.
2014-08-01 20:27:27 +02:00
Lennart Poettering
747c0ff564
resolved: IPV6_UNICAST_IF may fail if we already are bound to a device, like we are for link-local addresses
2014-08-01 19:25:06 +02:00
Lennart Poettering
2c27fbca2d
resolved: flush cache each time we change to a different DNS server
2014-08-01 18:10:01 +02:00
Lennart Poettering
5cb36f41f0
resolved: read the system /etc/resolv.conf unless we wrote it ourselves
...
This way we integrate nicely with foreign network management stacks,
such as NM.
2014-08-01 18:10:01 +02:00
Lennart Poettering
39d8db043b
resolved: rename resolved.h to resolved-manager.h
...
After all it pretty much exlcusively containers definitions about the
"Manager" object, hence let's call this the most obvious way.
2014-08-01 16:14:59 +02:00
Lennart Poettering
4e945a6f79
resolved: beef up DNS server configuration logic
...
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-01 16:06:39 +02:00
Lennart Poettering
95dd6257a6
resolved: don't bother caching negative RRs when the SOA TTL is 0 anyway
2014-08-01 00:58:13 +02:00
Lennart Poettering
9a015429b3
resolved: use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC when aging caches and timeing out transactions
...
That way the cache doens't get confused when the system is suspended.
2014-08-01 00:58:12 +02:00
Lennart Poettering
7da40fc108
resolved: fix negative caching of IDNA domains
2014-08-01 00:58:12 +02:00
Lennart Poettering
bdf10b5b4d
resolved: handle IDNA domains
...
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-08-01 00:58:12 +02:00
Zbigniew Jędrzejewski-Szmek
afbc4f267b
resolved: fix serialization of LOC records, check correctness
2014-07-31 17:42:14 -04:00
Lennart Poettering
eb60f9cd4e
hostnamed: watch system hostname changes and update LLMNR RRs accordingly
2014-07-31 19:54:43 +02:00
Lennart Poettering
8581858257
resolved: fix deserialization of UTF8 host names
2014-07-31 19:54:24 +02:00
Lennart Poettering
7b9f7afcc0
resolved: accept UTF-8 hostnames from bus clients
2014-07-31 19:53:59 +02:00
Lennart Poettering
07bed172ed
resolved: various fixes regarding encoding of UTF8 characters in DNS RRs
2014-07-31 19:51:11 +02:00
Lennart Poettering
fd0b4602f6
resolved: properly compare RRs we cannot parse
2014-07-31 18:41:54 +02:00
Lennart Poettering
42cc2eebb0
resolved: properly process SSHFP RRs
2014-07-31 18:41:41 +02:00
Lennart Poettering
9c92ce6d67
resolved: properly process SRV records
2014-07-31 18:23:34 +02:00
Lennart Poettering
c0eb11cfd0
resolved: provide properly named way to access SPF data in RRs
2014-07-31 18:23:34 +02:00
Lennart Poettering
6a6fc3df74
resolved: make sure we always initialize r when parsing TXT records
2014-07-31 18:23:34 +02:00
Lennart Poettering
8ac4e9e1e5
resolved: properly process DNAME RRs
2014-07-31 18:02:24 +02:00
Lennart Poettering
ec2c5e4398
resolved: implement LLMNR uniqueness verification
2014-07-31 17:47:19 +02:00
Zbigniew Jędrzejewski-Szmek
cbd67a86fb
resolved: fix multi-record packets with TXTs
2014-07-31 10:45:24 -04:00
Zbigniew Jędrzejewski-Szmek
0dae31d468
resolved: LOC records
...
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-31 08:56:03 -04:00
Zbigniew Jędrzejewski-Szmek
9de3e32940
resolved: SPF records
2014-07-31 08:56:03 -04:00
Zbigniew Jędrzejewski-Szmek
2e276efc7b
resolved: TXT records
2014-07-31 08:56:03 -04:00
Zbigniew Jędrzejewski-Szmek
946c70944e
resolved: MX records
2014-07-31 08:56:03 -04:00
Zbigniew Jędrzejewski-Szmek
b93312f596
resolve-host: list types and classes
...
Also update systemctl to similar style.
2014-07-31 08:56:03 -04:00
Zbigniew Jędrzejewski-Szmek
b2fadec604
Properly report invalid quoted strings
...
$ 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-31 08:56:03 -04:00
Zbigniew Jędrzejewski-Szmek
a2a5291b3f
Reject invalid quoted strings
...
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-31 04:00:31 -04:00
Lennart Poettering
e4501ed4e6
resolved: when we got a successful DNS reply, then only wait for other transactions on the same scope, nowhere else
2014-07-30 20:39:52 +02:00
Lennart Poettering
57f5ad3149
resolved: properly set TTL in SOA records
2014-07-30 19:34:50 +02:00
Lennart Poettering
fcf57f9cf7
resolved: don't attempt to order empty answer array
2014-07-30 19:24:13 +02:00
Lennart Poettering
351e6342d5
resolved: properly return start index when appending RR to packet
2014-07-30 19:24:13 +02:00
Lennart Poettering
2d4c5cbc0e
resolved: add API for resolving specific RRs
2014-07-30 19:24:13 +02:00