Michal Schmidt
d5099efc47
hashmap: introduce hash_ops to make struct Hashmap smaller
...
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-09-15 16:08:50 +02:00
Lennart Poettering
4de120ee44
resolved: fix assertion when joining llmnr mcast group
2014-08-15 16:42:14 +02:00
Lennart Poettering
5ba73e9b64
resolved: clarify that LLMNR scopes must have a link assigned
...
This is supposed to remove some compiler warnings:
http://lists.freedesktop.org/archives/systemd-devel/2014-July/021393.html
2014-08-14 19:56:22 +02:00
Lennart Poettering
51323288fc
resolved: allow passing on which protocol, family and interface to look something up
...
Also, return on which protocol/family/interface we found something.
2014-08-14 01:01:43 +02:00
Lennart Poettering
a407657425
resolved: implement full LLMNR conflict detection logic
2014-08-11 15:06:22 +02:00
Lennart Poettering
6e06847294
resolved: add 100ms initial jitter to all LLMNR requests
2014-08-05 17:02:46 +02:00
Lennart Poettering
aea2429d6e
resolved: enforce ratelimit on LLMNR traffic
2014-08-05 17:02:46 +02:00
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
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
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
2c27fbca2d
resolved: flush cache each time we change to a different DNS server
2014-08-01 18:10:01 +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
ec2c5e4398
resolved: implement LLMNR uniqueness verification
2014-07-31 17:47:19 +02:00
Lennart Poettering
fcf57f9cf7
resolved: don't attempt to order empty answer array
2014-07-30 19:24:13 +02:00
Lennart Poettering
8bf52d3d17
resolved: include SOA records in LLMNR replies for non-existing RRs to allow negative caching
2014-07-30 16:47:21 +02:00
Lennart Poettering
af93291cc4
resolved: when answer A or AAAA questions, order responses by whether addresses are link-local or not
2014-07-30 00:48:59 +02:00
Lennart Poettering
2442b93d15
resolved: the llmnr destination address check applies to queries, not to responses
2014-07-29 23:53:08 +02:00
Lennart Poettering
bf3f1271e2
resolved: set LLMNR TCP and UDP TTLs to the values suggested by the RFC
2014-07-29 23:53:08 +02:00
Lennart Poettering
ea917db9e6
resolved: discard more invalid llmnr messages
2014-07-29 20:57:58 +02:00
Lennart Poettering
b914e211f3
resolved: when resolving an address PTR record via llmnr, make a tcp connection by default
2014-07-29 20:57:58 +02:00
Lennart Poettering
623a4c97b9
resolve: add llmnr responder side for UDP and TCP
...
Name defending is still missing.
2014-07-29 20:57:58 +02:00
Lennart Poettering
faa133f3aa
resolved: rework logic so that we can share transactions between queries of different clients
2014-07-23 02:00:40 +02:00
Zbigniew Jędrzejewski-Szmek
901fd81647
resolved: do not use unitialized variable
2014-07-18 21:44:34 -04:00
Lennart Poettering
46f08bea4b
in-addr-util: remove family_to_string() API
...
we already have a more complete one with af_to_name(), that is generated
from the header files, no need to duplicate this.
2014-07-18 16:15:12 +02:00
Lennart Poettering
0dd25fb9f0
change type for address family to "int"
...
Let's settle on a single type for all address family values, even if
UNIX is very inconsitent on the precise type otherwise. Given that
socket() is the primary entrypoint for the sockets API, and that uses
"int", and "int" is relatively simple and generic, we settle on "int"
for this.
2014-07-18 16:10:51 +02:00
Lennart Poettering
1716f6dcf5
resolved: add LLMNR support for looking up names
2014-07-18 12:38:32 +02:00
Lennart Poettering
322345fdb9
resolved: add DNS cache
2014-07-17 19:39:50 +02:00
Lennart Poettering
b45d9e86e4
resolved: fix check for mdns names
2014-07-17 01:41:52 +02:00
Lennart Poettering
faec72d5de
resolved: we are never authoritative for localhost
2014-07-17 01:41:52 +02:00
Lennart Poettering
e1c959948c
resolved: properly handle MTU logic
2014-07-17 01:41:52 +02:00
Lennart Poettering
ad86766293
resolved: support for TCP DNS queries
2014-07-16 20:15:47 +02:00
Lennart Poettering
74b2466e14
resolved: add a DNS client stub resolver
...
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)
2014-07-16 00:31:38 +02:00