chiark / gitweb /
6 years agonetworkd: add and expose per-link LLMNR config option
Tom Gundersen [Sun, 3 Aug 2014 16:45:07 +0000 (18:45 +0200)]
networkd: add and expose per-link LLMNR config option

6 years agoresolve-host: properly align long arguments in help text
Lennart Poettering [Mon, 4 Aug 2014 14:25:14 +0000 (16:25 +0200)]
resolve-host: properly align long arguments in help text

6 years agobus: always explicitly close bus from main programs
Lennart Poettering [Mon, 4 Aug 2014 14:22:09 +0000 (16:22 +0200)]
bus: always explicitly close bus from main programs

Since b5eca3a2059f9399d1dc52cbcf9698674c4b1cf0 we don't attempt to GC
busses anymore when unsent messages remain that keep their reference,
when they otherwise are not referenced anymore. This means that if we
explicitly want connections to go away, we need to close them.

With this change we will no do so explicitly wherver we connect to the
bus from a main program (and thus know when the bus connection should go
away), or when we create a private bus connection, that really should go
away after our use.

This fixes connection leaks in the NSS and PAM modules.

6 years agoCorrect references to ProtectSystem and ProtectHome in documentation
Ansgar Burchardt [Mon, 28 Jul 2014 16:57:30 +0000 (18:57 +0200)]
Correct references to ProtectSystem and ProtectHome in documentation

6 years agoterminal: avoid warning about signed-unsigned comparison
Zbigniew Jędrzejewski-Szmek [Mon, 4 Aug 2014 03:40:00 +0000 (23:40 -0400)]
terminal: avoid warning about signed-unsigned comparison

6 years agoresolve-host: fix missed search&replace
Zbigniew Jędrzejewski-Szmek [Mon, 4 Aug 2014 03:41:45 +0000 (23:41 -0400)]
resolve-host: fix missed search&replace

6 years agoFix misuse of uint64_t as size_t
Zbigniew Jędrzejewski-Szmek [Mon, 4 Aug 2014 02:50:00 +0000 (22:50 -0400)]
Fix misuse of uint64_t as size_t

They have different size on 32 bit, so they are really not interchangable.

6 years agoutil.h: fix typo
Zbigniew Jędrzejewski-Szmek [Mon, 4 Aug 2014 02:11:34 +0000 (22:11 -0400)]
util.h: fix typo

6 years agoresolved: RRSIG records
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 22:17:22 +0000 (18:17 -0400)]
resolved: RRSIG records

6 years agoresolved: add identifiers for dnssec algorithms
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 20:44:49 +0000 (16:44 -0400)]
resolved: add identifiers for dnssec algorithms

6 years agoresolved: DNSKEY records
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 20:05:41 +0000 (16:05 -0400)]
resolved: DNSKEY records

6 years agoresolve-host: make arg_type an int
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 18:02:04 +0000 (14:02 -0400)]
resolve-host: make arg_type an int

We are using it also to store _DNS_TYPE_INVALID, so it should be signed.

6 years agoresolve: add more record types and convert to gperf table
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 23:37:16 +0000 (19:37 -0400)]
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.

6 years agobuild-sys: use a common rule for some gperf commands
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 23:36:48 +0000 (19:36 -0400)]
build-sys: use a common rule for some gperf commands

6 years agoresolved: align last rr column
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 23:36:33 +0000 (19:36 -0400)]
resolved: align last rr column

6 years agotty-ask-password-agent: modernization
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 16:52:03 +0000 (12:52 -0400)]
tty-ask-password-agent: modernization

6 years agoUnify parse_argv style
Zbigniew Jędrzejewski-Szmek [Sat, 2 Aug 2014 15:12:21 +0000 (11:12 -0400)]
Unify parse_argv style

getopt is usually good at printing out a nice error message when
commandline options are invalid. It distinguishes between an unknown
option and a known option with a missing arg. It is better to let it
do its job and not use opterr=0 unless we actually want to suppress
messages. So remove opterr=0 in the few places where it wasn't really

When an error in options is encountered, we should not print a lengthy
help() and overwhelm the user, when we know precisely what is wrong
with the commandline. In addition, since help() prints to stdout, it
should not be used except when requested with -h or --help.

Also, simplify things here and there.

6 years agoresolved: avoid possible dereference of null pointer
Thomas Hindoe Paaboel Andersen [Sun, 3 Aug 2014 20:41:25 +0000 (22:41 +0200)]
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.

6 years agosd-dhcp-server: avoid returning garbage value
Thomas Hindoe Paaboel Andersen [Sun, 3 Aug 2014 17:45:20 +0000 (19:45 +0200)]
sd-dhcp-server: avoid returning garbage value

Force renewing with a pool size of 0 would return the uninitialized r.

6 years agosd-dhcp-server: check if r < 0
Thomas Hindoe Paaboel Andersen [Sun, 3 Aug 2014 17:30:38 +0000 (19:30 +0200)]
sd-dhcp-server: check if r < 0

6 years agoresolve-host: use correct format specifier
Thomas Hindoe Paaboel Andersen [Sun, 3 Aug 2014 07:39:30 +0000 (09:39 +0200)]
resolve-host: use correct format specifier

6 years agoresolved: remove unused variables
Thomas Hindoe Paaboel Andersen [Sat, 2 Aug 2014 21:38:01 +0000 (23:38 +0200)]
resolved: remove unused variables

6 years agoswitch-root: umount the old root correctly
Dan Dedrick [Tue, 29 Jul 2014 19:31:23 +0000 (15:31 -0400)]
switch-root: umount the old root correctly

The unmount occurs after the pivot_root, so the path used to unmount
should take into account the new root directory. This will allow the
umount to actually succeed.

6 years agonspawn: fix truncation of machine names in interface names
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 05:28:21 +0000 (01:28 -0400)]
nspawn: fix truncation of machine names in interface names

Based on patch by Michael Marineau <>:

When deriving the network interface name from machine name strncpy was
not properly null terminating the string and the maximum string size as
returned by strlen() is actually IFNAMSIZ-1, not IFNAMSIZ.

6 years agobootchart: ask for --rel when failed to initialize graph start time
Karel Zak [Thu, 31 Jul 2014 08:15:40 +0000 (10:15 +0200)]
bootchart: ask for --rel when failed to initialize graph start time

We always read system uptime before log start time. So the uptime
should be always smaller number, except it includes system suspend
time. It seems better to ask for --rel and exit() than try to be
smart and try to recovery from this situation or generate huge
messy graphs.

6 years agobootchart: don't parse /proc/uptime, use CLOCK_BOOTTIME
Karel Zak [Thu, 31 Jul 2014 08:15:39 +0000 (10:15 +0200)]
bootchart: don't parse /proc/uptime, use CLOCK_BOOTTIME

* systemd-bootchart always parses /proc/uptime, although the
  information is unnecessary when --rel specified

* use /proc/uptime is overkill, since Linux 2.6.39 we have
  clock_gettime(CLOCK_BOOTTIME, ...). The backend on kernel side is
  get_monotonic_boottime() in both cases.

* main() uses "if (graph_start <= 0.0)" to detect that /proc is

  This is fragile solution as graph_start is always smaller than zero
  on all systems after suspend/resume (e.g. laptops), because in this
  case the system uptime includes suspend time and uptime is always
  greater number than monotonic time. For example right now difference
  between uptime and monotonic time is 37 hours on my laptop.

  Note that main() calls log_uptime() (to parse /proc/uptime) for each
  sample when it believes that /proc is not available. So on my laptop
  systemd-boochars spends all live with /proc/uptime parsing +
  nanosleep(), try

    strace  /usr/lib/systemd/systemd-bootchart

  to see the never ending loop.

  This patch uses access("/proc/vmstat", F_OK) to detect procfs.

6 years agojournal-remote: rename KEY_FILE to avoid confict with <linux/input.h>
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 05:12:30 +0000 (01:12 -0400)]
journal-remote: rename KEY_FILE to avoid confict with <linux/input.h>

6 years agoldconfig: dont run it if ldconfig is not installed
Umut Tezduyar Lindskog [Wed, 30 Jul 2014 07:02:14 +0000 (09:02 +0200)]
ldconfig: dont run it if ldconfig is not installed

6 years agoMove BTRFS_IOC_DEVICES_READY to missing.h
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 04:27:25 +0000 (00:27 -0400)]

6 years agoutil.h: include missing.h, for struct file_handle
Simon McVittie [Fri, 1 Aug 2014 14:53:07 +0000 (15:53 +0100)]
util.h: include missing.h, for struct file_handle

This breaks udev-builtin-btrfs.c, which reinvents some of missing.h,
so use missing.h there too.

[zj: removed #include "config.h" and wrapped #include <linux/btrfs.h>
     in ifdef HAVE_LINUX_BTRFS_H as discussed on the mailing list.]

6 years agobuild-sys: fix conftest.c to work on arm
Zbigniew Jędrzejewski-Szmek [Sun, 3 Aug 2014 03:50:22 +0000 (23:50 -0400)]
build-sys: fix conftest.c to work on arm

All tests for compiler support were failing with:

/usr/bin/ld: /tmp/ccwnVc2A.o: relocation R_ARM_MOVW_ABS_NC against `a' can not be used when making a shared object; recompile with -fPIC

6 years agoRevert "libudev: use get_*_creds from shared rather than util_lookup_*"
Tom Gundersen [Fri, 1 Aug 2014 20:32:12 +0000 (22:32 +0200)]
Revert "libudev: use get_*_creds from shared rather than util_lookup_*"

This reverts commit a56ba6158b9649e01226dfaf3ff7082c82571090.

The commit was pushed in error.

6 years agoresolved: always drop multicast membership before adding one
Lennart Poettering [Fri, 1 Aug 2014 17:48:02 +0000 (19:48 +0200)]
resolved: always drop multicast membership before adding one

This is apparently necessary on some devices, such as veth.

6 years agoresolved: IPV6_UNICAST_IF may fail if we already are bound to a device, like we are...
Lennart Poettering [Fri, 1 Aug 2014 17:25:06 +0000 (19:25 +0200)]
resolved: IPV6_UNICAST_IF may fail if we already are bound to a device, like we are for link-local addresses

6 years agomissing: add missing bonding definitions
Lennart Poettering [Fri, 1 Aug 2014 16:55:56 +0000 (18:55 +0200)]
missing: add missing bonding definitions

6 years agoupdate TODO
Lennart Poettering [Fri, 1 Aug 2014 16:09:51 +0000 (18:09 +0200)]
update TODO

6 years agoresolved: flush cache each time we change to a different DNS server
Lennart Poettering [Fri, 1 Aug 2014 16:09:07 +0000 (18:09 +0200)]
resolved: flush cache each time we change to a different DNS server

6 years agoresolved: read the system /etc/resolv.conf unless we wrote it ourselves
Lennart Poettering [Fri, 1 Aug 2014 15:03:28 +0000 (17:03 +0200)]
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.

6 years agonetworkd: track the MTU of each link
Tom Gundersen [Fri, 1 Aug 2014 13:42:08 +0000 (15:42 +0200)]
networkd: track the MTU of each link

And inform the DHCPv4 clients about it.

6 years agosd-dhcp-client: allow the max dhcp message size to be set to the MTU of the link
Tom Gundersen [Fri, 1 Aug 2014 14:10:13 +0000 (16:10 +0200)]
sd-dhcp-client: allow the max dhcp message size to be set to the MTU of the link

6 years agoTODO
Tom Gundersen [Fri, 1 Aug 2014 13:26:30 +0000 (15:26 +0200)]

6 years agolibudev: use get_*_creds from shared rather than util_lookup_*
Tom Gundersen [Fri, 1 Aug 2014 13:17:18 +0000 (15:17 +0200)]
libudev: use get_*_creds from shared rather than util_lookup_*

6 years agoresolved: rename resolved.h to resolved-manager.h
Lennart Poettering [Fri, 1 Aug 2014 14:14:59 +0000 (16:14 +0200)]
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.

6 years agoresolved: beef up DNS server configuration logic
Lennart Poettering [Fri, 1 Aug 2014 14:04:12 +0000 (16:04 +0200)]
resolved: beef up DNS server configuration logic

We now maintain two lists of DNS servers: system servers and fallback

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.

6 years agonss: always explicitly reset all error variables
Lennart Poettering [Fri, 1 Aug 2014 14:01:12 +0000 (16:01 +0200)]
nss: always explicitly reset all error variables

glibc appears to be broken if we don't explicitly reset all error
variables, let's work around that.

6 years agoRevert "networkd: don't assume udev_device_new_from_device_id sets errno"
Tom Gundersen [Thu, 31 Jul 2014 13:26:20 +0000 (15:26 +0200)]
Revert "networkd: don't assume udev_device_new_from_device_id sets errno"

libudev now does set errno correctly, so we can indeed rely on this.

This reverts commit 2b49732c3d511007ae2c413997e56c40f678d79a.

6 years agolibudev: set errno when udev_device_new_from_* or udev_device_get_parent_* fail
Tom Gundersen [Thu, 31 Jul 2014 13:25:01 +0000 (15:25 +0200)]
libudev: set errno when udev_device_new_from_* or udev_device_get_parent_* fail

6 years agoupdate TODO
Lennart Poettering [Thu, 31 Jul 2014 23:56:14 +0000 (01:56 +0200)]
update TODO

6 years agonss-resolve: fallback to the class NSS "dns" module if we cannot contact resolved
Lennart Poettering [Thu, 31 Jul 2014 23:55:15 +0000 (01:55 +0200)]
nss-resolve: fallback to the class NSS "dns" module if we cannot contact resolved

That way DNS resolution works both with and without resolved running.

6 years agoresolved: don't bother caching negative RRs when the SOA TTL is 0 anyway
Lennart Poettering [Thu, 31 Jul 2014 22:57:19 +0000 (00:57 +0200)]
resolved: don't bother caching negative RRs when the SOA TTL is 0 anyway

6 years agoupdate TODO
Lennart Poettering [Thu, 31 Jul 2014 22:57:12 +0000 (00:57 +0200)]
update TODO

6 years agoresolved: use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC when aging caches and timeing...
Lennart Poettering [Thu, 31 Jul 2014 22:55:51 +0000 (00:55 +0200)]
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.

6 years agoresolved: fix negative caching of IDNA domains
Lennart Poettering [Thu, 31 Jul 2014 22:39:59 +0000 (00:39 +0200)]
resolved: fix negative caching of IDNA domains

6 years agoresolved: handle IDNA domains
Lennart Poettering [Thu, 31 Jul 2014 21:43:10 +0000 (23:43 +0200)]
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.

6 years agoresolved: fix serialization of LOC records, check correctness
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 21:42:14 +0000 (17:42 -0400)]
resolved: fix serialization of LOC records, check correctness

6 years agokdbus: update header
Kay Sievers [Thu, 31 Jul 2014 21:08:44 +0000 (23:08 +0200)]
kdbus: update header

6 years agohwdb: update
Kay Sievers [Thu, 31 Jul 2014 21:06:04 +0000 (23:06 +0200)]
hwdb: update

6 years agohostnamed: watch system hostname changes and update LLMNR RRs accordingly
Lennart Poettering [Thu, 31 Jul 2014 17:54:43 +0000 (19:54 +0200)]
hostnamed: watch system hostname changes and update LLMNR RRs accordingly

6 years agoresolved: fix deserialization of UTF8 host names
Lennart Poettering [Thu, 31 Jul 2014 17:54:24 +0000 (19:54 +0200)]
resolved: fix deserialization of UTF8 host names

6 years agoresolved: accept UTF-8 hostnames from bus clients
Lennart Poettering [Thu, 31 Jul 2014 17:53:59 +0000 (19:53 +0200)]
resolved: accept UTF-8 hostnames from bus clients

6 years agoresolved: various fixes regarding encoding of UTF8 characters in DNS RRs
Lennart Poettering [Thu, 31 Jul 2014 17:51:11 +0000 (19:51 +0200)]
resolved: various fixes regarding encoding of UTF8 characters in DNS RRs

6 years agoresolved: properly compare RRs we cannot parse
Lennart Poettering [Thu, 31 Jul 2014 16:41:54 +0000 (18:41 +0200)]
resolved: properly compare RRs we cannot parse

6 years agoresolved: properly process SSHFP RRs
Lennart Poettering [Thu, 31 Jul 2014 16:41:41 +0000 (18:41 +0200)]
resolved: properly process SSHFP RRs

6 years agoresolved: properly process SRV records
Lennart Poettering [Thu, 31 Jul 2014 16:23:00 +0000 (18:23 +0200)]
resolved: properly process SRV records

6 years agoresolved: provide properly named way to access SPF data in RRs
Lennart Poettering [Thu, 31 Jul 2014 16:03:09 +0000 (18:03 +0200)]
resolved: provide properly named way to access SPF data in RRs

6 years agoresolved: make sure we always initialize r when parsing TXT records
Lennart Poettering [Thu, 31 Jul 2014 16:02:42 +0000 (18:02 +0200)]
resolved: make sure we always initialize r when parsing TXT records

6 years agoresolved: properly process DNAME RRs
Lennart Poettering [Thu, 31 Jul 2014 16:02:24 +0000 (18:02 +0200)]
resolved: properly process DNAME RRs

6 years agoupdate TODO
Lennart Poettering [Thu, 31 Jul 2014 15:47:09 +0000 (17:47 +0200)]
update TODO

6 years agoresolved: implement LLMNR uniqueness verification
Lennart Poettering [Thu, 31 Jul 2014 15:46:40 +0000 (17:46 +0200)]
resolved: implement LLMNR uniqueness verification

6 years agorules: allow systemd to manage loop device partitions
Kevin Wells [Thu, 31 Jul 2014 15:38:21 +0000 (17:38 +0200)]
rules: allow systemd to manage loop device partitions

SYSTEMD_READY is currently set to 0 for all loop devices (loop[0-9]*)
that do not have a backing_file. Partitioned loop devices (ex. loop0p1),
however, are matched by this rule and excluded by systemd even though
they are active devices.

This change adds an additional check to the rule, ensuring that only
top level loop devices (loop[0-9]+$) are excluded from systemd.

6 years agoresolved: fix multi-record packets with TXTs
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 14:44:11 +0000 (10:44 -0400)]
resolved: fix multi-record packets with TXTs

6 years agobuild-sys: check for intltool also when polkit is enabled
Robert Schiele [Thu, 31 Jul 2014 12:18:59 +0000 (14:18 +0200)]
build-sys: check for intltool also when polkit is enabled

intltool is needed for nls _and_ polkit, thus the check needs to be
changed to do the test whenever one of them is enables.

Without this build fails when configured with
--disable-nls --enable-polkit

6 years agoresolved: LOC records
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 08:19:43 +0000 (04:19 -0400)]
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.

6 years agoresolved: SPF records
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 01:47:51 +0000 (21:47 -0400)]
resolved: SPF records

6 years agoresolved: TXT records
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 01:36:58 +0000 (21:36 -0400)]
resolved: TXT records

6 years agoresolved: MX records
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 01:06:00 +0000 (21:06 -0400)]
resolved: MX records

6 years agoresolve-host: list types and classes
Zbigniew Jędrzejewski-Szmek [Fri, 1 Aug 2014 00:06:30 +0000 (20:06 -0400)]
resolve-host: list types and classes

Also update systemctl to similar style.

6 years agoAlways prefer our headers to system headers
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 08:15:29 +0000 (04:15 -0400)]
Always prefer our headers to system headers

In practice this shouldn't make much difference, but
sometimes our headers might be newer, and we want to
test them.

6 years agoConstify option table and add missing option
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jul 2014 19:38:54 +0000 (15:38 -0400)]
Constify option table and add missing option

6 years agoman: add udev.conf(5)
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 08:01:19 +0000 (04:01 -0400)]
man: add udev.conf(5)

We generally have separate man pages for all configuration files.
In this case udev.conf was already described in systemd-udevd.service(8),
but it was hard to find. Docbook makes it hard to add a .so link from
a different section, so describe udev.conf in its own page.

6 years agoman: add missing comma
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 08:01:01 +0000 (04:01 -0400)]
man: add missing comma

6 years agosysusers: split users for remote into separate file
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 07:45:05 +0000 (03:45 -0400)]
sysusers: split users for remote into separate file

This mirrors the setup for tmpfiles.d done in ad95fd1d2b9.

6 years agosystemd-analyze verify: improve error message
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 07:42:19 +0000 (03:42 -0400)]
systemd-analyze verify: improve error message

There's little sense in telling the user to look at the logs...

6 years agocore/load-fragment.c: correct argument sign and split up long lines
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 07:38:05 +0000 (03:38 -0400)]
core/load-fragment.c: correct argument sign and split up long lines

With everything on one line they are just harder to read.

6 years agoProperly report invalid quoted strings
Zbigniew Jędrzejewski-Szmek [Thu, 31 Jul 2014 07:28:37 +0000 (03:28 -0400)]
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

6 years agoReject invalid quoted strings
Zbigniew Jędrzejewski-Szmek [Wed, 30 Jul 2014 02:01:36 +0000 (22:01 -0400)]
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

6 years agotest-strv: add test which shows access to random memory
Zbigniew Jędrzejewski-Szmek [Tue, 29 Jul 2014 00:01:56 +0000 (20:01 -0400)]
test-strv: add test which shows access to random memory

6 years agonetworkd: don't assume udev_device_new_from_device_id sets errno
Tom Gundersen [Wed, 30 Jul 2014 19:29:34 +0000 (21:29 +0200)]
networkd: don't assume udev_device_new_from_device_id sets errno

This reverts 6f4d55a8ae04e344a41fc2adef12ad99c2bb2927, as we cannot rely on errno here.

Reported by David Herrmann.

6 years agoresolved: when we got a successful DNS reply, then only wait for other transactions...
Lennart Poettering [Wed, 30 Jul 2014 18:39:52 +0000 (20:39 +0200)]
resolved: when we got a successful DNS reply, then only wait for other transactions on the same scope, nowhere else

6 years agoupdate TODO
Lennart Poettering [Wed, 30 Jul 2014 17:34:55 +0000 (19:34 +0200)]
update TODO

6 years agoresolved: properly set TTL in SOA records
Lennart Poettering [Wed, 30 Jul 2014 17:34:50 +0000 (19:34 +0200)]
resolved: properly set TTL in SOA records

6 years agoresolved: don't attempt to order empty answer array
Lennart Poettering [Wed, 30 Jul 2014 17:24:05 +0000 (19:24 +0200)]
resolved: don't attempt to order empty answer array

6 years agoresolved: properly return start index when appending RR to packet
Lennart Poettering [Wed, 30 Jul 2014 17:23:50 +0000 (19:23 +0200)]
resolved: properly return start index when appending RR to packet

6 years agoresolved: add API for resolving specific RRs
Lennart Poettering [Wed, 30 Jul 2014 17:23:27 +0000 (19:23 +0200)]
resolved: add API for resolving specific RRs

6 years agonetworkd: improve error message when udev device can not be found
Tom Gundersen [Wed, 30 Jul 2014 16:16:09 +0000 (18:16 +0200)]
networkd: improve error message when udev device can not be found

Reported by Raimonds Cicans <>

6 years agoman: fix outdated example in
Hong Shick Pak [Mon, 28 Jul 2014 04:10:01 +0000 (00:10 -0400)]
man: fix outdated example in

The docs for the DHCP= was updated, but not the example.

6 years agoresolved: properly pass empty answers back to bus clients
Lennart Poettering [Wed, 30 Jul 2014 15:52:58 +0000 (17:52 +0200)]
resolved: properly pass empty answers back to bus clients

6 years agoresolve-host: add reverse lookup support
Lennart Poettering [Wed, 30 Jul 2014 15:52:21 +0000 (17:52 +0200)]
resolve-host: add reverse lookup support

6 years agoresolve-host: use the usual log message when encountering a dbus parse failure
Lennart Poettering [Wed, 30 Jul 2014 15:11:21 +0000 (17:11 +0200)]
resolve-host: use the usual log message when encountering a dbus parse failure

6 years agonetworkd: ipv4ll - configure link-local address independently of DHCPv4
Tom Gundersen [Thu, 24 Jul 2014 23:13:47 +0000 (01:13 +0200)]
networkd: ipv4ll - configure link-local address independently of DHCPv4

This changes the behavior when both DHCPv4 and IPv4LL are enabled. Before,
we would disable IPv4LL when we got a DHCPv4 lease and enable it if the
lease was lost.

Now we just always set up both, if both are enabled, but the DHCPv4
addresses and routes will always take precedence due to their metric
and scope.