b26fa1a2fbcfee7d03b0c8fd15ec3aa64ae70b9f |
|
10-Feb-2016 |
Daniel Mack <daniel@zonque.org> |
tree-wide: remove Emacs lines from all files
This should be handled fine now by .dir-locals.el, so need to carry that
stuff in every file. |
011696f76233486bc56c266b18a328924f70269c |
|
01-Feb-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: rework what ResolveHostname() with family == AF_UNSPEC means
Previously, if a hostanem is resolved with AF_UNSPEC specified, this would be used as indication to resolve both an
AF_INET and an AF_INET6 address. With this change this logic is altered: an AF_INET address is only resolved if there's
actually a routable IPv4 address on the specific interface, and similar an AF_INET6 address is only resolved if there's
a routable IPv6 address. With this in place, it's ensured that the returned data is actually connectable by
applications. This logic mimics glibc's resolver behaviour.
Note that if the client asks explicitly for AF_INET or AF_INET6 it will get what it asked for.
This also simplifies the logic how it is determined whether a specific lookup shall take place on a scope.
Specifically, the checks with dns_scope_good_key() are now moved out of the transaction code and into the query code,
so that we don't even create a transaction object on a specific scope if we cannot execute the resolution on it anyway. |
ad44b56b0f4a12a8811b3867f42df7370f2fa8e0 |
|
26-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: teach resolved the difference between "routing" and "search" domains
Following the changes to expose the "routing" and "search" domain concepts in networkd, actually make resolved use
them. It will now use routing domains exclusively for making DNS routing decisions, and use search domains additionally
for extending single-label names. |
7cc6ed7ba6c667caef9a92ba4d59e1ecdc3af8ff |
|
25-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: replace DNS_TRANSACTION_RESOURCES by DNS_TRANSACTION_ERRNO
Whenever we encounter an OS error we did not expect, we so far put the transaction into DNS_TRANSACTION_RESOURCES
state. Rename this state to DNS_TRANSACTION_ERRNO, and save + propagate the actual system error to the caller. This
should make error messages triggered by system errors much more readable by the user. |
0791110fbee9d7dfcabd6e338c290e90aeb79644 |
|
25-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: properly handle LLMNR/TCP connection errors
The LLMNR spec suggests to do do reverse address lookups by doing direct LLMNR/TCP connections to the indicated
address, instead of doing any LLMNR multicast queries. When we do this and the peer doesn't actually implement LLMNR
this will result in a TCP connection error, which we need to handle. In contrast to most LLMNR lookups this will give
us a quick response on whether we can find a suitable name. Report this as new transaction state, since this should
mostly be treated like an NXDOMAIN rcode, except that it's not one. |
3347dd5ea1dba5e27a677954b505bb6a2ee6cd75 |
|
25-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: fix rcode formatting string length
Since we honour the edns rcode extension we need more than 4 bits to format it. To avoid further confusion, derive the
right length from the type. |
59c5b5974d106c5ebad080739b41d0e92ab74d29 |
|
25-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: log each time we increase the DNSSEC verdict counters
Also, don't consider RRs that aren't primary to the lookups we do as relevant to the lookups. |
ce736ace37399f3dc45e6981852881a6f2448de2 |
|
25-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: get rid of unnecessary if check
DNS_ANSWER_FOREACH() can deal with NULL answers anyway, let's simplify our code here. |
edbcc1fdd94355c5cf22263ba2c1cfa4ec2eb010 |
|
25-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolve: generate a nice clean error when clients try to resolve a name when the network is down |
c69fa7e3c44240bedc0ee1bd89fecf954783ac85 |
|
19-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: rework DNSSECSupported property
Not only report whether the server actually supports DNSSEC, but also first check whether DNSSEC is actually enabled
for it in our local configuration.
Also, export a per-link DNSSECSupported property in addition to the existing manager-wide property. |
d2ec6608b93e3f74345c737637af24e9e75c209b |
|
19-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: add SetLinkXYZ() method counterparts on the Link object
So far, we exposed SetLinkXYZ() on the Manager interface, to set a couple of link properties. This adds similar calls
SetXYZ() on the Link interface, and makes sure the former is little more than a shortcut to the latter.
SetLinkXYZ() has the benefit of not requiring a GetLink() round trip for setting these properties, while the method
actually belongs to the Link objects, and this change corrects that. |
3abaabdab73bd0f3e4f68284dc3cb00902b8e1c6 |
|
19-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: expose bus objects for each Link
The link objects expose as properties the current settings made with SetLinkDNS() and related calls, plus some more
information. |
e40f0647b48b57af5e874501ad9c05dc459108de |
|
19-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: rename a few props to closer match ther counterparts in the various configuration files |
97e5d693c04e50605d438af1c8a965fd2963bbe9 |
|
19-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: add bus API for configuring per-link DNS settings
This is useful for alternative network management solutions (such as NetworkManager) to push DNS configuration data
into resolved.
The calls will fail should networkd already have taken possesion of a link, so that the bus API is only available if
we don't get the data from networkd. |
593f665cd5ffddbaa3ddbe9d963af923ed1cc5dc |
|
19-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolve-host: show whether DNSSEC is supported or not in --statistics output
This should be generally useful information, hence show it. |
23b298bce75a0d1f4f15f34458af9678b4a30c3a |
|
18-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: rework IDNA logic
Move IDNA logic out of the normal domain name processing, and into the bus frontend calls. Previously whenever
comparing two domain names we'd implicitly do IDNA conversion so that "pöttering.de" and "xn--pttering-n4a.de" would be
considered equal. This is problematic not only for DNSSEC, but actually also against he IDNA specs.
Moreover it creates problems when encoding DNS-SD services in classic DNS. There, the specification suggests using
UTF8 encoding for the actual service name, but apply IDNA encoding to the domain suffix.
With this change IDNA conversion is done only:
- When the user passes a non-ASCII hostname when resolving a host name using ResolveHostname()
- When the user passes a non-ASCII domain suffix when resolving a service using ResolveService()
No IDNA encoding is done anymore:
- When the user does raw ResolveRecord() RR resolving
- On the service part of a DNS-SD service name
Previously, IDNA encoding was done when serializing names into packets, at a point where information whether something
is a label that needs IDNA encoding or not was not available, but at a point whether it was known whether to generate a
classic DNS packet (where IDNA applies), or an mDNS/LLMNR packet (where IDNA does not apply, and UTF8 is used instead
for all host names). With this change each DnsQuery object will now maintain two copies of the DnsQuestion to ask: one
encoded in IDNA for use with classic DNS, and one encoded in UTF8 for use with LLMNR and MulticastDNS. |
eee026a7ba16336b6493828a2a13ddc9908667ff |
|
11-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: improve query RR type error wording a bit |
d0129ddb9fbb07bed7c8ea51b8031f824bf506fb |
|
11-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: refuse doing queries for known-obsolete RR types
Given how fragile DNS servers are with some DNS types, and given that we really should avoid confusing them with
known-weird lookups, refuse doing lookups for known-obsolete RR types. |
ef9fb66c0b292d3543c16bfce99ad677bef0f401 |
|
11-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: add missing case to switch statement |
91adc4db33f69606aabd332813a5d7d5751c859f |
|
11-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: don't attempt to send queries for DNSSEC RR types to servers not supporting them
If we already degraded the feature level below DO don't bother with sending requests for DS, DNSKEY, RRSIG, NSEC, NSEC3
or NSEC3PARAM RRs. After all, we cannot do DNSSEC validation then anyway, and we better not press a legacy server like
this with such modern concepts.
This also has the benefit that when we try to validate a response we received using DNSSEC, and we detect a limited
server support level while doing so, all further auxiliary DNSSEC queries will fail right-away. |
a1a3f73a57da25dbd158ea71607b7d740b101f49 |
|
11-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: when we get a TCP connection failure, try again
Previously, when we couldn't connect to a DNS server via TCP we'd abort the whole transaction using a
"connection-failure" state. This change removes that, and counts failed connections as "lost packet" events, so that
we switch back to the UDP protocol again. |
aa4a9deb7d3db95ffb1fd18791be66f58d06a69e |
|
11-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: set a description on all our event sources |
7588460aaf6bd33f6c9bd5645916cfd8a862e9c4 |
|
07-Jan-2016 |
Tom Gundersen <teg@jklm.no> |
resolved: query_process_cname - make fully recursive
This ensures we properly resolve the CNAME chain as far as we can, rather
than only CNAME chains of length one. |
b2b796b8ab5565fbe60b544d2579e2bfca31bf6a |
|
04-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: explicitly handle case when the trust anchor is empty
Since we honour RFC5011 revoked keys it might happen we end up with an
empty trust anchor, or one where there's no entry for the root left.
With this patch the logic is changed what to do in this case.
Before this patch we'd end up requesting the root DS, which returns with
NODATA but a signed NSEC we cannot verify, since the trust anchor is
empty after all. Thus we'd return a DNSSEC result of "missing-key", as
we lack a verified version of the key.
With this patch in place, look-ups for the root DS are explicitly
recognized, and not passed on to the DNS servers. Instead, if
downgrade-ok mode is on an unsigned NODATA response is synthesized, so
that the validator code continues under the assumption the root zone was
unsigned. If downgrade-ok mode is off a new transaction failure is
generated, that makes this case recognizable. |
a761c1ca851a9397b5a207ef600e077d0f7f4534 |
|
04-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
resolved: introduce a proper bus error for DNSSEC validation errors |
9a1f0c283bac56eb26a2fa02d62e0e9ece82f25a |
|
29-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: properly handle SRV RRs with the DNS root as hostname |
ac720200b7e5b80cc4985087e38f3452e5b3b080 |
|
26-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: generate an explicit transaction error when we cannot reach server via TCP
Previously, if we couldn't reach a server via UDP we'd generate an
MAX_ATTEMPTS transaction result, but if we couldn't reach it via TCP
we'd generate a RESOURCES transaction result. While it is OK to generate
two different errors I think, "RESOURCES" is certainly a misnomer.
Introduce a new transaction result "CONNECTION_FAILURE" instead. |
a150ff5e4e2481eb28d6ed6e0d3e176623e25f5a |
|
26-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: gather statistics about resolved names
This collects statistical data about transactions, dnssec verifications
and the cache, and exposes it over the bus. The systemd-resolve-host
tool learns new options to query these statistics and reset them. |
019036a47fcd10fcf0286800d144c706f3773e2f |
|
18-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: propagate the DNSSEC result from the transaction to the query and the the bus client
It's useful to generate useful errors, so let's do that. |
3bbdc31df37a23b5134a115c01d15e7ff870b3cc |
|
18-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: rename DNS_TRANSACTION_FAILURE → DNS_TRANSACTION_RCODE_FAILURE
We have many types of failure for a transaction, and
DNS_TRANSACTION_FAILURE was just one specific one of them, if the server
responded with a non-zero RCODE. Hence let's rename this, to indicate
which kind of failure this actually refers to. |
c463eb783e5ad999d400180c69b912c54fa07ee1 |
|
11-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: generalize DNS RR type validity checks
Check the validity of RR types as we parse or receive data from IPC
clients, and use the same code for all of them. |
547973dea7abd6c124ff6c79fe2bbe322a7314ae |
|
10-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: chase DNSKEY/DS RRs when doing look-ups with DNSSEC enabled
This adds initial support for validating RRSIG/DNSKEY/DS chains when
doing lookups. Proof-of-non-existance, or proof-of-unsigned-zones is not
implemented yet.
With this change DnsTransaction objects will generate additional
DnsTransaction objects when looking for DNSKEY or DS RRs to validate an
RRSIG on a response. DnsTransaction objects are thus created for three
reasons now:
1) Because a user asked for something to be resolved, i.e. requested by
a DnsQuery/DnsQueryCandidate object.
2) As result of LLMNR RR probing, requested by a DnsZoneItem.
3) Because another DnsTransaction requires the requested RRs for
validation of its own response.
DnsTransactions are shared between all these users, and are GC
automatically as soon as all of these users don't need a specific
transaction anymore.
To unify the handling of these three reasons for existance for a
DnsTransaction, a new common naming is introduced: each DnsTransaction
now tracks its "owners" via a Set* object named "notify_xyz", containing
all owners to notify on completion.
A new DnsTransaction state is introduced called "VALIDATING" that is
entered after a response has been receieved which needs to be validated,
as long as we are still waiting for the DNSKEY/DS RRs from other
DnsTransactions.
This patch will request the DNSKEY/DS RRs bottom-up, and then validate
them top-down.
Caching of RRs is now only done after verification, so that the cache is
not poisoned with known invalid data.
The "DnsAnswer" object gained a substantial number of new calls, since
we need to add/remove RRs to it dynamically now. |
931851e8e492a4d2715e22dcde50a5e7ccef4b49 |
|
03-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: add a concept of "authenticated" responses
This adds a new SD_RESOLVED_AUTHENTICATED flag for responses we return
on the bus. When set, then the data has been authenticated. For now this
mostly reflects the DNSSEC AD bit, if DNSSEC=trust is set. As soon as
the client-side validation is complete it will be hooked up to this flag
too.
We also set this bit whenver we generated the data ourselves, for
example, because it originates in our local LLMNR zone, or from the
built-in trust anchor database.
The "systemd-resolve-host" tool has been updated to show the flag state
for the data it shows. |
4e2d538f33df8a425487aaa4facc23065a9bdaf7 |
|
02-Dec-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: port ResolveRecord() bus call implementation to dns_resource_record_to_wire_format()
Now that we have dns_resource_record_to_wire_format() we can generate
the RR serialization we return to bus clients in ResolveRecord() with
it. We pass the RR data along in the original form, not the DNSSEC
canonical form, since that would mean we'd lose RR name casing, which is
however important to keep for DNS-SD services and similar. |
4afd3348c7506dd1d36305b7bcb9feb8952b9d6b |
|
27-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy
GLIB has recently started to officially support the gcc cleanup
attribute in its public API, hence let's do the same for our APIs.
With this patch we'll define an xyz_unrefp() call for each public
xyz_unref() call, to make it easy to use inside a
__attribute__((cleanup())) expression. Then, all code is ported over to
make use of this.
The new calls are also documented in the man pages, with examples how to
use them (well, I only added docs where the _unref() call itself already
had docs, and the examples, only cover sd_bus_unrefp() and
sd_event_unrefp()).
This also renames sd_lldp_free() to sd_lldp_unref(), since that's how we
tend to call our destructors these days.
Note that this defines no public macro that wraps gcc's attribute and
makes it easier to use. While I think it's our duty in the library to
make our stuff easy to use, I figure it's not our duty to make gcc's own
features easy to use on its own. Most likely, client code which wants to
make use of this should define its own:
#define _cleanup_(function) __attribute__((cleanup(function)))
Or similar, to make the gcc feature easier to use.
Making this logic public has the benefit that we can remove three header
files whose only purpose was to define these functions internally.
See #2008. |
039a8725fdff1d71e9efd28f27741601c5b4235c |
|
27-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: fix build |
95d46fcaa4f27bc5e675e8de39ab3acc4732e39b |
|
26-Nov-2015 |
Tom Gundersen <teg@jklm.no> |
resolved: bus - follow CNAME chains when resolving addresses
It may be unexpected to find a CNAME record when doing a reverse lookup, as we
expect to find a PTR record directly. However, it is explicitly supported
according to <https://tools.ietf.org/html/rfc2181#section-10.2>, and there
seems to be no benefit to not supporting it. |
7e8131e9c6c150732503899a092206578fdc13de |
|
25-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
dns-domain: change dns_srv_type_is_valid() return value to bool
For similar reasons as dns_name_is_root() got changed in the previous
commit. |
801ad6a6a9cd8fbd58b9f9c27f20dbb3c87d47dd |
|
25-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: fully support DNS search domains
This adds support for searching single-label hostnames in a set of
configured search domains.
A new object DnsQueryCandidate is added that links queries to scopes.
It keeps track of the search domain last used for a query on a specific
link. Whenever a host name was unsuccessfuly resolved on a scope all its
transactions are flushed out and replaced by a new set, with the next
search domain appended.
This also adds a new flag SD_RESOLVED_NO_SEARCH to disable search domain
behaviour. The "systemd-resolve-host" tool is updated to make this
configurable via --search=.
Fixes #1697 |
7f220d94a938a99c77400fa0ca30485e269bae7c |
|
25-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: expose some properties on the bus
For now, let's just expose the LLMNR hostname currently in use; a
combined list of all dns servers with their interface indexes; a
combined list of all search domains with their interface indexes. |
703e4f5e39c019da8c002ba10bd450ce378c0e91 |
|
25-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: don't claim DnsQuestion have to have the same names
Wen DnsQuestion objects are used for DnsQuery objects all contained keys
have to share the same name, but otherwise they generally don't have to,
and this can actually happen in real-life because DnsPacket objects for
mDNS use DnsQuestion for the question section.
Hence, rename:
dns_question_is_valid() to dns_question_is_valid_for_query(), since the
name uniqueness check it does is only relevant when used for a query.
Similar, rename dns_question_name() to dns_question_first_name(),
to be more accurate, as this difference matters if we keys don#t have to
share the same name. |
6617082bc8467b88b7923353fe0ab7ba0ad1b98c |
|
24-Nov-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
resolved: remove unused variable |
45ec7efb6c2560c80dfa752bc9d3733749dc52cb |
|
23-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: add ResolveService() bus call for resolving SRV and DNS-SD services
This also adds client-side support for this to systemd-resolve-host.
Note that the ResolveService() API can deal both with DNS-SD service
(consisting of service name, type and domain), as well as classic SRV
services (consisting just of a type and a domain), all exposed in the
same call.
This patch also reworks CNAME handling in order to reuse it between
hostname, RR and service lookups.
In contrast to Avahi and Bonjour, this new API will actually reolve the
A/AAAA RRs the SRV RRs point to in one go (unless this is explicitly
disabled). This normally comes for free, as these RRs are sent along
the SRV responses anyway, hence let's make use of that. This makes the
API considerably easier to use, as a single ResolveService() invocation
will return all necessary data to pick a server and connect() to it.
Note that this only implements the DNS-SD resolving step, it does not
implement DNS-SD browsing, as that makes sense primarily on mDNS, due to
its continuous nature. |
b5efdb8af40ea759a1ea584c1bc44ecc81dd00ce |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split out allocation calls into alloc-util.[ch] |
5643c00afe29eae4b2e3575277038e60e6967d09 |
|
16-Sep-2015 |
Tom Gundersen <teg@jklm.no> |
resolved: cache - handle CNAME redirection
CNAME records are special in the way they are treated by DNS servers,
and our cache should mimic that behavior: In case a domain name has an
alias, its CNAME record is returned in place of any other.
Our cache was not doing this despite caching the CNAME records, this
entailed needless lookups to re-resolve the CNAME. |
36d9205d669bcdcb04fa730d1f3549a9fc9a9001 |
|
16-Sep-2015 |
Tom Gundersen <teg@jklm.no> |
resolved: rr - introduce dns_resource_key_new_redirect()
Takes a key and CNAME RR and returns the canonical RR of the right
type. Make use of this in dns_question_redirect(). |
d634711b261dc72bb48765e8574ba43d455e82ec |
|
24-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: remove duplicate handling of "no servers" query result
So far we handled immediate "no server" query results differently from
"no server" results we ran into during operation: the former would cause
the dns_query_go() call to fail with ESRCH, the later would result in
the query completion callback to be called.
Remove the duplicate codepaths, by always going through the completion
callback. This allows us to remove quite a number of lines for handling
the ESRCH.
This commit should not alter behaviour at all. |
f6a5fec6b971e2a8c69d92ab20ed13693be82ddb |
|
21-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: when passing RRs across the bus, make sure not to use name compression
We explicitly need to turn off name compression when marshalling or
demarshalling RRs for bus transfer, since they otherwise refer to packet
offsets that reference packets that are not transmitted themselves. |
78c6a153c47f8d597c827bdcaf8c4e42ac87f738 |
|
21-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
resolved: rework synthesizing logic
With this change we'll now also generate synthesized RRs for the local
LLMNR hostname (first label of system hostname), the local mDNS hostname
(first label of system hostname suffixed with .local), the "gateway"
hostname and all the reverse PTRs. This hence takes over part of what
nss-myhostname already implemented.
Local hostnames resolve to the set of local IP addresses. Since the
addresses are possibly on different interfaces it is necessary to change
the internal DnsAnswer object to track per-RR interface indexes, and to
change the bus API to always return the interface per-address rather than
per-reply. This change also patches the existing clients for resolved
accordingly (nss-resolve + systemd-resolve-host).
This also changes the routing logic for queries slightly: we now ensure
that the local hostname is never resolved via LLMNR, thus making it
trustable on the local system. |
4ad7f2761da661853dcc29d542efb4727abb1101 |
|
10-Jun-2015 |
Nick Owens <nick.owens@coreos.com> |
resolve: move dns routines into shared |
966c66e34940001a40806142ecebaae61b478444 |
|
29-Apr-2015 |
Lennart Poettering <lennart@poettering.net> |
tree-wide: get rid of a few more explicit bus parameters |
190700621f95160d364f8ec1d3e360246c41ce75 |
|
29-Apr-2015 |
Lennart Poettering <lennart@poettering.net> |
sd-bus: drop bus parameter from message callback prototype
This should simplify the prototype a bit. The bus parameter is redundant
in most cases, and in the few where it matters it can be derived from
the message via sd_bus_message_get_bus(). |
657dbed29af59d519587aedf9f4a6ab921b0668c |
|
24-Feb-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
resolved: use == for comparing unsigned against zero |
63c372cb9df3bee01e3bf8cd7f96f336bddda846 |
|
03-Feb-2015 |
Lennart Poettering <lennart@poettering.net> |
util: rework strappenda(), and rename it strjoina()
After all it is now much more like strjoin() than strappend(). At the
same time, add support for NULL sentinels, even if they are normally not
necessary. |
96aad8d15a324d0e956a4e5653a11a67b209b41a |
|
10-Dec-2014 |
Lennart Poettering <lennart@poettering.net> |
sd-bus: move common errors src/shared/bus-errors.h → src/libsystemd/sd-bus/bus-common-errors.h
Stuff in src/shared/ should not use stuff from src/libsystemd/ really. |
f647962d64e844689f3e2acfce6102fc47e76df2 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: yet more log_*_errno + return simplifications
Using:
find . -name '*.[ch]' | while read f; do perl -i.mmm -e \
'local $/;
local $_=<>;
s/(if\s*\([^\n]+\))\s*{\n(\s*)(log_[a-z_]*_errno\(\s*([->a-zA-Z_]+)\s*,[^;]+);\s*return\s+\g4;\s+}/\1\n\2return \3;/msg;
print;'
$f
done
And a couple of manual whitespace fixups. |
da927ba997d68401563b927f92e6e40e021a8e5c |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: no need to negate errno for log_*_errno()
It corrrectly handles both positive and negative errno values. |
0a1beeb64207eaa88ab9236787b1cbc2f704ae14 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: auto-convert the simple cases to log_*_errno()
As a followup to 086891e5c1 "log: add an "error" parameter to all
low-level logging calls and intrdouce log_error_errno() as log calls
that take error numbers", use sed to convert the simple cases to use
the new macros:
find . -name '*.[ch]' | xargs sed -r -i -e \
's/log_(debug|info|notice|warning|error|emergency)\("(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_\1_errno(-\4, "\2%m"\3);/'
Multi-line log_*() invocations are not covered.
And we also should add log_unit_*_errno(). |
51323288fc628a5cac50914df915545d685b793e |
|
14-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: allow passing on which protocol, family and interface to look something up
Also, return on which protocol/family/interface we found something. |
902bb5d8abb2a7d258741828d212ca549ab16950 |
|
11-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: verify all RRs when we come back from suspend |
82bd6dddc4a363a9c3c6f41eb46eb171a80dca27 |
|
11-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: destroy outstanding queries if the clients that initiated them die |
818f766b12e025683cf4fed12b3da2a025bb0b31 |
|
11-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: properly pass aborted transaction result back to clients |
e850d8e1acad4b06ba212145fee67932a3417cd6 |
|
03-Aug-2014 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
resolved: remove unused variables |
39d8db043b599a7382f94bfc904d5e108af438bd |
|
01-Aug-2014 |
Lennart Poettering <lennart@poettering.net> |
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. |
7b9f7afcc04e80b77a2567b0750aa2cd03c1a1cd |
|
31-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: accept UTF-8 hostnames from bus clients |
ec2c5e4398f9d65e5dfe61530f2556224733d1e6 |
|
31-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: implement LLMNR uniqueness verification |
2d4c5cbc0ed3ccb09dc086a040088b454c22c644 |
|
30-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: add API for resolving specific RRs |
3339cb71d44c5198f9546f113674f06dc7b01a6f |
|
30-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: properly pass empty answers back to bus clients |
faa133f3aa7a18f26563dc5d6b95898cb315c37a |
|
23-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: rework logic so that we can share transactions between queries of different clients |
878cd63db2d6cfc00ae4d68355a2d5402cd9f24f |
|
18-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: fix bus signatures to follow family as int change |
0dd25fb9f005d8ab7ac4bc10a609d00569f8c56a |
|
18-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
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. |
962225baa862c2023790b3c7f140d22bac9e801f |
|
17-Jul-2014 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
resolved: silence warnings
No need to write to r here since it will be overwritten as the first
step in parse_fail. |
f12ea7dad09366b2d6cc0c28609a72094a4c9353 |
|
17-Jul-2014 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
resolved: remove unused variable |
322345fdb9865ef2477fba8e4bdde0e1183ef505 |
|
17-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: add DNS cache |
309e9d86f0e7f9c5f0a2a09227bdfdb3174d4436 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: properly pass canonical name information to resolving client
Also, hook up nss-resolve to make use of this information |
8ba9fd9cee0eef572f7b3ed7a8c3ed31160e93d3 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: add CNAME lookup support |
ad867662936a4c7ab2c7116d804c272338801231 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: support for TCP DNS queries |
3cb10d3a0b1b6a7c44f307f2abb5215104e16941 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
dns-domain: introduce macros for accessing all DNS header fields |
4d1cf1e229c9bdbc44778c0863eaad918f5724e7 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolved: add small NSS module that uses resolved to resolve DNS names |
b9d394ea565fd742bcdd34e8dd61ae07c58a9565 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
resolve: add distinct bus error code for hosts that exist but lack A or AAAA records |
74b2466e14a1961bf3ac0e8a60cfaceec705bd59 |
|
16-Jul-2014 |
Lennart Poettering <lennart@poettering.net> |
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) |