platform/upstream/systemd.git
9 years agoMerge pull request #654 from ssahani/nl
Lennart Poettering [Wed, 22 Jul 2015 17:06:36 +0000 (19:06 +0200)]
Merge pull request #654 from ssahani/nl

network: Add tunnel params

9 years agoMerge pull request #647 from michich/job-logging
Tom Gundersen [Wed, 22 Jul 2015 12:17:12 +0000 (14:17 +0200)]
Merge pull request #647 from michich/job-logging

Job logging fixes and improvements

9 years agoMerge pull request #651 from keszybz/ata_id-wwn-ordering
Michal Schmidt [Wed, 22 Jul 2015 11:41:33 +0000 (13:41 +0200)]
Merge pull request #651 from keszybz/ata_id-wwn-ordering

ata_id: unreverse WWN identifier

9 years agosd-netlink: add tunnel params
Susant Sahani [Wed, 22 Jul 2015 09:29:23 +0000 (14:59 +0530)]
sd-netlink: add tunnel params

9 years agoTunnel NL params: Add to missing.h
Susant Sahani [Wed, 22 Jul 2015 09:28:52 +0000 (14:58 +0530)]
Tunnel NL params: Add to missing.h

9 years agoMerge pull request #652 from whot/hwdb-updates
Daniel Mack [Wed, 22 Jul 2015 08:21:46 +0000 (10:21 +0200)]
Merge pull request #652 from whot/hwdb-updates

hwdb: add Logitech MX Master DPI settings

9 years agoata_id: unreverse WWN identifier
Zbigniew Jędrzejewski-Szmek [Wed, 22 Jul 2015 04:23:47 +0000 (00:23 -0400)]
ata_id: unreverse WWN identifier

An endianness conversion was lost in 6024a6e302bad6bcf073fa84a41a6123305dc845.
Restore it. Now ata_id and scsi_id output match.

https://bugzilla.redhat.com/show_bug.cgi?id=1227503

9 years agohwdb: add Logitech MX Master DPI settings
Peter Hutterer [Mon, 13 Jul 2015 21:34:19 +0000 (07:34 +1000)]
hwdb: add Logitech MX Master DPI settings

9 years agoMerge pull request #648 from michich/udev-log-priority
Tom Gundersen [Tue, 21 Jul 2015 18:17:21 +0000 (20:17 +0200)]
Merge pull request #648 from michich/udev-log-priority

udev.log-priority crash fix and cleanup

9 years agoudev: unify reporting of invalid cmdline keys
Michal Schmidt [Tue, 21 Jul 2015 16:35:18 +0000 (18:35 +0200)]
udev: unify reporting of invalid cmdline keys

This way it does not need distinct string literals and it also preserves
the "rd." prefix.

9 years agoudev: fix crash with invalid udev.log-priority
Michal Schmidt [Tue, 21 Jul 2015 16:26:09 +0000 (18:26 +0200)]
udev: fix crash with invalid udev.log-priority

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1245293

9 years agocore: adjust job completion message log levels
Michal Schmidt [Tue, 21 Jul 2015 17:07:24 +0000 (19:07 +0200)]
core: adjust job completion message log levels

We do not print all non-OK job completion status messages to the console
in red, because not all of them are plain errors. We do however log the
same messages as LOG_ERR.

Differentiate the log levels by deducing them from the job result in a
way that more or less matches the color of the console message.

9 years agocore: small refactor of job completion logging
Michal Schmidt [Tue, 21 Jul 2015 15:26:28 +0000 (17:26 +0200)]
core: small refactor of job completion logging

Joins three log_struct() calls into one.

9 years agocore: log completion of remaining job types
Michal Schmidt [Tue, 21 Jul 2015 14:20:18 +0000 (16:20 +0200)]
core: log completion of remaining job types

JOB_RESTART and failed JOB_VERIFY_ACTIVE completions were printed to
console but not to the log.

9 years agocore: do not log done failed-condition jobs as if unit started
Michal Schmidt [Tue, 21 Jul 2015 14:15:19 +0000 (16:15 +0200)]
core: do not log done failed-condition jobs as if unit started

It is misleading to see "Started foo." in the log when the unit's
condition was false.

9 years agocore: remove generic job completion messages from unit vtables
Michal Schmidt [Tue, 21 Jul 2015 13:51:16 +0000 (15:51 +0200)]
core: remove generic job completion messages from unit vtables

These units' message format strings are identical to the generic
strings. Since we can always rely on the fallback, these are now
redundant.

9 years agocore: try harder to get job completion messages too
Michal Schmidt [Tue, 21 Jul 2015 12:54:24 +0000 (14:54 +0200)]
core: try harder to get job completion messages too

This is similar to "core: always try harder to get unit status
message format string", but for job completion status messages.
It makes generic status messages applicable for printing to the console.
And it rewrites the functions in a more table-based style.

9 years agocore: unit_get_status_message_format() never returns NULL
Michal Schmidt [Mon, 20 Jul 2015 16:36:12 +0000 (18:36 +0200)]
core: unit_get_status_message_format() never returns NULL

unit_get_status_message_format() is used only with one of JOB_START,
JOB_STOP, JOB_RELOAD, all of which have fallback message strings
defined, so the function may never return NULL.

9 years agobootchart: fix negative 'timeleft' condition
Daniel Mack [Tue, 21 Jul 2015 13:30:47 +0000 (15:30 +0200)]
bootchart: fix negative 'timeleft' condition

Fix the overrun case in sample acquistion and negative number calculations.

Reported by Stefan Sauer.

Fixes #642

9 years agoMerge pull request #643 from zonque/fileio
Daniel Mack [Tue, 21 Jul 2015 15:20:55 +0000 (17:20 +0200)]
Merge pull request #643 from zonque/fileio

basic/fileio: fix write_string_file() fallout

9 years agouser-sessions: fix write_string_file() fallout
Daniel Mack [Mon, 20 Jul 2015 21:17:37 +0000 (23:17 +0200)]
user-sessions: fix write_string_file() fallout

WRITE_STRING_FILE_ATOMIC is only valid if WRITE_STRING_FILE_CREATE is also
given. IOW, an atomic file write operation is only possible when creating a
file is also being asked for.

This is a regression from the recent write_string_file() rework.

9 years agologind: fix write_string_file() fallout
Daniel Mack [Mon, 20 Jul 2015 21:17:37 +0000 (23:17 +0200)]
logind: fix write_string_file() fallout

WRITE_STRING_FILE_ATOMIC is only valid if WRITE_STRING_FILE_CREATE is also
given. IOW, an atomic file write operation is only possible when creating a
file is also being asked for.

This is a regression from the recent write_string_file() rework.

9 years agocore: always try harder to get unit status message format string
Michal Schmidt [Mon, 20 Jul 2015 15:18:13 +0000 (17:18 +0200)]
core: always try harder to get unit status message format string

The starting/stopping messages are printed to the console only if the
corresponding format string is defined in the unit's vtable. To avoid
excessive messages on the console, the unit types whose start/stop
jobs are instantaneous had the format strings intentionally undefined.
When logging the same event to the journal, a fallback to generic
Starting/Stopping/Reloading messages is used.

The problem of excessive console messages with instantaneous jobs
is already resolved in a nicer way ("core: fix confusing logging of
instantaneous jobs"), so there's no longer a need to have two ways of
getting the format strings. Let's fold them into one function with
the fallback to generic message strings.

9 years agocore: correct return value from reload methods
Michal Schmidt [Thu, 16 Jul 2015 19:39:56 +0000 (21:39 +0200)]
core: correct return value from reload methods

Return 1 from *_reload() methods to signify "we did something", just
like in *_start(). This causes "Reloading foo..." messages to be logged.
"Reloaded foo." messages are already logged.

9 years agocore: fix confusing logging of instantaneous jobs
Michal Schmidt [Thu, 16 Jul 2015 18:08:30 +0000 (20:08 +0200)]
core: fix confusing logging of instantaneous jobs

For instantaneous jobs (e.g. starting of targets, sockets, slices, or
Type=simple services) the log shows the job completion
before starting:

        systemd[1]: Created slice -.slice.
        systemd[1]: Starting -.slice.
        systemd[1]: Created slice System Slice.
        systemd[1]: Starting System Slice.
        systemd[1]: Listening on Journal Audit Socket.
        systemd[1]: Starting Journal Audit Socket.
        systemd[1]: Reached target Timers.
        systemd[1]: Starting Timers.
        ...

The reason is that the job completes before the ->start() method returns
and only then does unit_start() print the "Starting ..." message.
The same thing happens when stopping units.

Rather than fixing the order of the messages, let's just not emit the
Starting/Stopping message at all when the job completes instantaneously.
The job completion message is sufficient in this case.

9 years agoMerge pull request #636 from ssahani/tunnel
Tom Gundersen [Tue, 21 Jul 2015 09:19:00 +0000 (11:19 +0200)]
Merge pull request #636 from ssahani/tunnel

networkd: ip6 tunnel add support for flowlabel

9 years agoman: add man ipv6 flowlabel support for ip6 tunnels
Susant Sahani [Tue, 21 Jul 2015 04:37:10 +0000 (10:07 +0530)]
man: add man ipv6 flowlabel support for ip6 tunnels

9 years agonetworkd: ip6 tunnel add support for flowlabel
Susant Sahani [Tue, 21 Jul 2015 04:36:44 +0000 (10:06 +0530)]
networkd: ip6 tunnel add support for flowlabel

Add Pv6 Flow Label support. The 20-bit Flow Label field in the IPv6
header[RFC2460] is used by a  node to label packets of a flow.

9 years agoMerge pull request #625 from ssahani/tun2
Tom Gundersen [Mon, 20 Jul 2015 20:30:18 +0000 (22:30 +0200)]
Merge pull request #625 from ssahani/tun2

sd-netlink: add tunnel parameters

9 years agoMerge pull request #630 from namhyung/use-isempty
Tom Gundersen [Mon, 20 Jul 2015 16:08:13 +0000 (18:08 +0200)]
Merge pull request #630 from namhyung/use-isempty

sd-bus: use isempty() consistently

9 years agoMerge pull request #549 from ssahani/dhcp
Tom Gundersen [Mon, 20 Jul 2015 15:58:45 +0000 (17:58 +0200)]
Merge pull request #549 from ssahani/dhcp

networkd: allow hostname override

9 years agosd-bus: use isempty() consistently
Namhyung Kim [Fri, 3 Jul 2015 03:40:11 +0000 (12:40 +0900)]
sd-bus: use isempty() consistently

Instead of open-coding, use isempty() to check NULL or empty string
for consistency.

9 years agoMerge pull request #626 from systemd-mailing-devs/1437135133-9646-2-git-send-email...
Daniel Mack [Mon, 20 Jul 2015 10:16:32 +0000 (12:16 +0200)]
Merge pull request #626 from systemd-mailing-devs/1437135133-9646-2-git-send-email-vivenzio.pagliari@nokia.com

man: Typo fix in systemd.preset manpage

9 years agoadd NL parameters to missing.h
Susant Sahani [Mon, 20 Jul 2015 04:47:50 +0000 (10:17 +0530)]
add NL parameters to missing.h

9 years agosd-netlink: add tunnel NL parameters
Susant Sahani [Mon, 20 Jul 2015 04:47:14 +0000 (10:17 +0530)]
sd-netlink: add tunnel NL parameters

9 years agoMerge pull request #614 from teg/bitmap-overflow
Daniel Mack [Sun, 19 Jul 2015 06:53:23 +0000 (02:53 -0400)]
Merge pull request #614 from teg/bitmap-overflow

basic: bitmap - complete fix for bitshift overflow

9 years agobasic: bitmap - complete fix for bitshift overflow
Tom Gundersen [Fri, 17 Jul 2015 16:30:41 +0000 (18:30 +0200)]
basic: bitmap - complete fix for bitshift overflow

The bug found by David existed in several places, fix them all. Also
extend the tests to cover these cases.

9 years agoTypo fix in systemd.preset manpage
Vivenzio Pagliari [Fri, 17 Jul 2015 12:12:13 +0000 (14:12 +0200)]
Typo fix in systemd.preset manpage

9 years agoMerge pull request #611 from dvdhrm/bitmap-fixes
Tom Gundersen [Fri, 17 Jul 2015 10:33:49 +0000 (12:33 +0200)]
Merge pull request #611 from dvdhrm/bitmap-fixes

Bitmap fixes

9 years agoMerge pull request #607 from ssahani/vxlan1
David Herrmann [Fri, 17 Jul 2015 10:26:32 +0000 (12:26 +0200)]
Merge pull request #607 from ssahani/vxlan1

networkd: move config parsers to specific header files

9 years agoMerge pull request #610 from utezduyar/include-signal-header
David Herrmann [Fri, 17 Jul 2015 10:24:26 +0000 (12:24 +0200)]
Merge pull request #610 from utezduyar/include-signal-header

cgtop: include missing signal.h for sigwinch

9 years agobitmap: avoid 32bit integer overflow in shift
David Herrmann [Fri, 17 Jul 2015 10:19:06 +0000 (12:19 +0200)]
bitmap: avoid 32bit integer overflow in shift

We really must use 64bit integers to calculate long-long shifts.
Otherwise, we will never get higher masks than 2^31.

9 years agobitmap: allow bitmap_iterate() on NULL bitmap
David Herrmann [Fri, 17 Jul 2015 10:18:13 +0000 (12:18 +0200)]
bitmap: allow bitmap_iterate() on NULL bitmap

Make sure we properly treat NULL bitmaps as empty. Right now, we don't
(which really looks like a typo).

9 years agocgtop: include missing signal.h for sigwinch
Umut Tezduyar Lindskog [Fri, 17 Jul 2015 08:38:31 +0000 (10:38 +0200)]
cgtop: include missing signal.h for sigwinch

9 years agologind: never select closing sessions for a VT
David Herrmann [Thu, 16 Jul 2015 16:46:12 +0000 (18:46 +0200)]
logind: never select closing sessions for a VT

If a session is in closing state (and already got rid of its VT), then
never re-select it for that VT. There is no reason why we should grant
something to a session that is already going away *AND* already got rid
of exactly that.

9 years agobuild: add ./test-bitmap to .gitignore
David Herrmann [Thu, 16 Jul 2015 16:30:05 +0000 (18:30 +0200)]
build: add ./test-bitmap to .gitignore

Make sure to ignore build files of Tom's recent test-bitmap addition.

9 years agologind: prefer new sessions over older ones on VT switches
David Herrmann [Thu, 16 Jul 2015 16:18:01 +0000 (18:18 +0200)]
logind: prefer new sessions over older ones on VT switches

Our seat->positions[] array keeps track of the 'preferred' session on a
VT. The only situation this is used, is to select the session to activate
when a VT is activated. In the normal case, there's only one session per
VT so the selection is trivial.

Older greeters, however, implement take-overs when they start sessions on
the same VT that the greeter ran on. We recently limited such take-overs
to VTs where a greeter is running on, to force people to never share VTs
in new code that is written.

For legacy reasons, we need to be compatible to old greeters, though.
Hence, we allow those greeters to implement take-over. In such take-overs,
however, we should really make sure that the new sessions gets preferred
over the old one under all circumstances. Hence, make sure we override
the previous preferred session with a new session.

9 years agoMerge pull request #605 from dvdhrm/test-bus-proxy
Tom Gundersen [Thu, 16 Jul 2015 16:17:57 +0000 (18:17 +0200)]
Merge pull request #605 from dvdhrm/test-bus-proxy

sd-bus: add new test for NameAcquired via proxy/dbus-daemon

9 years agonetworkd: move config_parse_tunnel_address
Susant Sahani [Thu, 16 Jul 2015 14:46:53 +0000 (20:16 +0530)]
networkd: move config_parse_tunnel_address

move config_parse_tunnel_address from networkd.h to

tunnel specific file networkd-netdev-tunnel.h

9 years agonetworkd: move config_parse_vxlan_group_address
Susant Sahani [Thu, 16 Jul 2015 14:44:05 +0000 (20:14 +0530)]
networkd: move config_parse_vxlan_group_address

move config_parse_vxlan_group_address from
networkd.h to networkd-netdev-vxlan.h

9 years agosd-bus: add new test for NameAcquired via proxy/dbus-daemon
David Herrmann [Thu, 16 Jul 2015 14:33:22 +0000 (16:33 +0200)]
sd-bus: add new test for NameAcquired via proxy/dbus-daemon

This adds test-bus-proxy which should be used to test correct behavior of
systemd-bus-proxyd. The first test that was added is to verify we actually
receive NameAcquired signals for ourselves on bus-connect.

9 years agoMerge pull request #602 from teg/bitmap-iterator
David Herrmann [Thu, 16 Jul 2015 13:12:26 +0000 (15:12 +0200)]
Merge pull request #602 from teg/bitmap-iterator

bitmap: use external iterator

9 years agosd-bus: properly match ID changes
David Herrmann [Thu, 16 Jul 2015 12:37:08 +0000 (14:37 +0200)]
sd-bus: properly match ID changes

If the caller does not specify arg1 for NameOwnerChanged matches, we
really must take the ID from arg2 or arg3, if provided. They are
guaranteed to be identical to arg1 if either is supplied, but there is no
strict requiredment that arg1 is supplied. Hence, make sure to always
take the more restrictive match. Otherwise, we install rather wide
matches without anyone requiring them.

9 years agosd-bus: destination-matches cannot match NameOwnerChanged
David Herrmann [Thu, 16 Jul 2015 12:35:15 +0000 (14:35 +0200)]
sd-bus: destination-matches cannot match NameOwnerChanged

Make sure we don't install NameOwnerChanged matches if the caller passed
a destination='' match (except if it is the broadcast address). Per spec,
all NameOwnerChanged signals are broadcasts.

Only the NameLost/NameAcquired signals are unicasts, but those are never
received through sd-bus. Instead, the bus-proxy synthesizes them and it
already installs proper matches for them.

9 years agosd-bus: fix invalid stack access on test-bus-marshal
David Herrmann [Thu, 16 Jul 2015 12:57:59 +0000 (14:57 +0200)]
sd-bus: fix invalid stack access on test-bus-marshal

Make sure we actually parse "unsigned long long" if we encode a uint64_t.
Otherwise, we will get random data from the stack.

9 years agobitmap: use external iterator
Tom Gundersen [Thu, 16 Jul 2015 12:06:11 +0000 (14:06 +0200)]
bitmap: use external iterator

Reuse the Iterator object from hashmap.h and expose a similar API.

This allows us to do

{
    Iterator i;
    unsigned n;

    BITMAP_FOREACH(n, b, i) {
        Iterator j;
        unsigned m;

        BITMAP_FOREACH(m, b, j) {
            ...
        }
    }
}

without getting confused. Requested by David.

9 years agosd-bus: fix gvariant structure encoding
David Herrmann [Thu, 16 Jul 2015 09:00:55 +0000 (11:00 +0200)]
sd-bus: fix gvariant structure encoding

In gvariant, all fixed-size objects need to be sized a multiple of their
alignment. If a structure has only fixed-size members, it is required to
be fixed size itself. If you imagine a structure like (ty), you have an
8-byte member followed by an 1-byte member. Hence, the overall inner-size
is 9. The alignment of the object is 8, though. Therefore, the specs
mandates final padding after fixed-size structures, to make sure it's
sized a multiple of its alignment (=> 16).

On the gvariant decoder side, we already account for this in
bus_gvariant_get_size(), as we apply overall padding to the size of the
structure. Therefore, our decoder correctly skips such final padding when
parsing fixed-size structure.

On the gvariant encoder side, however, we don't account for this final
padding. This patch fixes the structure and dict-entry encoders to
properly place such padding at the end of non-uniform fixed-size
structures.

The problem can be easily seen by running:
    $ busctl --user monitor
and
    $ busctl call --user org.freedesktop.systemd1 / org.foobar foobar "(ty)" 777 8

The monitor will fail to parse the message and print an error. With this
patch applied, everything works fine again.

This patch also adds a bunch of test-cases to force non-uniform
structures with non-pre-aligned positions.

Thanks to Jan Alexander Steffens <jan.steffens@gmail.com> for spotting
this and narrowing it down to non-uniform gvariant structures. Fixes #597.

9 years agoMerge pull request #588 from teg/resolved-nsec
Daniel Mack [Wed, 15 Jul 2015 21:27:35 +0000 (17:27 -0400)]
Merge pull request #588 from teg/resolved-nsec

resolved: add basic NSEC and NSEC3 support

9 years agobuild: add convenience target 'build-sources'
David Herrmann [Wed, 15 Jul 2015 13:36:54 +0000 (15:36 +0200)]
build: add convenience target 'build-sources'

This target allows to trigger a build of $(BUILT_SOURCES) manually. This
is handy if you tend to use 'make systemd-foobar' to directly build a
single binary. Those do not pull in $(BUILT_SOURCES), unfortunately. See
automake docs for that.

9 years agosd-bus: fix object tree to be deeper than 2 levels
David Herrmann [Wed, 15 Jul 2015 12:35:15 +0000 (14:35 +0200)]
sd-bus: fix object tree to be deeper than 2 levels

So right now our object-tree is limited to 2 levels at most
('/' and '/foo/...../bar'). We never link any intermediate levels, even
though that was clearly the plan. Fix the bus_node_allocate() helper to
actually link all intermediate nodes, too, not just the root node.

This fixes a simple inverse ptr-diff bug.

The downside of this fix is that we clearly never tested (nor used) the
object tree in any way. The only reason that the introspection works is
that our enumerators shortcut the object tree.

Lets see whether that code actually works..

Thanks to: Nathaniel McCallum <nathaniel@themccallums.org>
..for reporting this. See #524 for an actual example code.

9 years agosd-device: never return NULL+0
David Herrmann [Wed, 15 Jul 2015 10:30:08 +0000 (12:30 +0200)]
sd-device: never return NULL+0

It is highly confusing if a getter function returns 0, but the value is
set to NULL. This, right now, triggers assertions as code relies on the
returned values to be non-NULL.

Like with sd-bus-creds and friends, return 0 only if a value is actually
available.

Discussed with Tom, and actually fixes real bugs as in #512.

9 years agosd-boot: ignore missing /etc/machine-id
David Herrmann [Wed, 15 Jul 2015 09:58:03 +0000 (11:58 +0200)]
sd-boot: ignore missing /etc/machine-id

If /etc/machine-id is missing (eg., gold images), we should not fail
installing sd-boot. This is a perfectly fine use-case and we should simply
skip installing the default loader config in that case.

9 years agoresolved: rr - add NSEC3 support
Tom Gundersen [Sun, 12 Jul 2015 23:51:03 +0000 (01:51 +0200)]
resolved: rr - add NSEC3 support

Needed for DNSSEC.

9 years agobasic: util - add base32hexmem() function similar to hexmem()
Tom Gundersen [Fri, 10 Jul 2015 12:38:19 +0000 (14:38 +0200)]
basic: util - add base32hexmem() function similar to hexmem()

This implements more of RFC4648.

9 years agoMerge pull request #587 from teg/unbase64mem-memleak
Daniel Mack [Tue, 14 Jul 2015 20:10:11 +0000 (16:10 -0400)]
Merge pull request #587 from teg/unbase64mem-memleak

basic: util - fix memleak on error in unbase64mem()

9 years agoresolved: rr - add NSEC support
Tom Gundersen [Sun, 12 Jul 2015 23:51:03 +0000 (01:51 +0200)]
resolved: rr - add NSEC support

Needed for DNSSEC.

9 years agobasic: add a Bitmap implementation
Tom Gundersen [Mon, 13 Jul 2015 17:47:26 +0000 (19:47 +0200)]
basic: add a Bitmap implementation

For when a Hashmap is overkill.

9 years agobasic: util - fix memleak on error in unbase64mem()
Tom Gundersen [Tue, 14 Jul 2015 19:14:45 +0000 (21:14 +0200)]
basic: util - fix memleak on error in unbase64mem()

9 years agoMerge pull request #538 from mischief/multiple-routers
Tom Gundersen [Tue, 14 Jul 2015 18:17:11 +0000 (20:17 +0200)]
Merge pull request #538 from mischief/multiple-routers

sd-dhcp-lease: fix handling of multiple routers

We only support one router, but in case more than one is given, we now ignore subsequent ones, rather than fall over.

9 years agoMerge pull request #586 from teg/resolved-rrs-3
Daniel Mack [Tue, 14 Jul 2015 17:43:18 +0000 (13:43 -0400)]
Merge pull request #586 from teg/resolved-rrs-3

resolved: minor improvements to RR handling

9 years agoresolved: improve printing of unknown RRs
Tom Gundersen [Tue, 14 Jul 2015 02:32:29 +0000 (04:32 +0200)]
resolved: improve printing of unknown RRs

This implements the recommendations from RFC3597.

9 years agoMerge pull request #585 from teg/resolved-harden-2
Daniel Mack [Tue, 14 Jul 2015 17:26:16 +0000 (13:26 -0400)]
Merge pull request #585 from teg/resolved-harden-2

resolved: harden

9 years agoMerge commit 'refs/pull/436/head' of https://github.com/systemd/systemd
David Herrmann [Tue, 14 Jul 2015 17:19:39 +0000 (19:19 +0200)]
Merge commit 'refs/pull/436/head' of https://github.com/systemd/systemd

This merges:
  sd-netlink: respect attribute type flags

..fixing a conflict due to a typo fix.

9 years agoresolved: rr - add DS support
Tom Gundersen [Sun, 12 Jul 2015 23:51:03 +0000 (01:51 +0200)]
resolved: rr - add DS support

Needed for DNSSEC.

9 years agoresolved: rr - print formated timestamps in RRSIG
Tom Gundersen [Sun, 12 Jul 2015 22:58:00 +0000 (00:58 +0200)]
resolved: rr - print formated timestamps in RRSIG

9 years agoresolved: use one UDP socket per transaction
Tom Gundersen [Thu, 9 Jul 2015 12:19:55 +0000 (14:19 +0200)]
resolved: use one UDP socket per transaction

We used to have one global socket, use one per transaction instead. This
has the side-effect of giving us a random UDP port per transaction, and
hence increasing the entropy and making cache poisoining significantly
harder to achieve.

We still reuse the same port number for packets belonging to the same
transaction (resent packets).

9 years agoresolved: implement RFC5452
Tom Gundersen [Thu, 9 Jul 2015 00:58:15 +0000 (02:58 +0200)]
resolved: implement RFC5452

This improves the resilience against cache poisoning by being stricter
about only accepting responses that match precisely the requst they
are in reply to.

It should be noted that we still only use one port (which is picked
at random), rather than one port for each transaction. Port
randomization would improve things further, but is not required by
the RFC.

9 years agoresolved: pin the server used in a transaction
Tom Gundersen [Wed, 24 Jun 2015 16:54:12 +0000 (18:54 +0200)]
resolved: pin the server used in a transaction

We want to discover information about the server and use that in when crafting
packets to be resent.

9 years agoMerge pull request #530 from dvdhrm/resolve-host-dbus
Daniel Mack [Tue, 14 Jul 2015 16:41:29 +0000 (12:41 -0400)]
Merge pull request #530 from dvdhrm/resolve-host-dbus

resolve-host: enable dbus-activation

9 years agoMerge pull request #579 from ssahani/tap-vnet-hdr
Daniel Mack [Tue, 14 Jul 2015 16:03:45 +0000 (12:03 -0400)]
Merge pull request #579 from ssahani/tap-vnet-hdr

networkd: tap add support for vnet_hdr

9 years agoman: add man for tap vnet_hdr
Susant Sahani [Tue, 14 Jul 2015 15:18:09 +0000 (20:48 +0530)]
man:  add man for tap vnet_hdr

9 years agoresolved: reference count the dns servers
Tom Gundersen [Wed, 24 Jun 2015 16:41:46 +0000 (18:41 +0200)]
resolved: reference count the dns servers

We want to reference the servers from their active transactions, so make sure
they stay around as long as the transaction does.

9 years agoresolved: packet - ensure there is space for IP+UDP headers
Tom Gundersen [Wed, 24 Jun 2015 19:22:46 +0000 (21:22 +0200)]
resolved: packet - ensure there is space for IP+UDP headers

Currently we only make sure our links can handle the size of the payload witohut
taking the headers into account.

9 years agonetworkd: tap add support for vnet_hdr
Susant Sahani [Tue, 14 Jul 2015 08:25:52 +0000 (13:55 +0530)]
networkd: tap add support for vnet_hdr

 This patch adds support to configure IFF_VNET_HDR flag
for a tap device. It allows whether sending and receiving
large pass larger (GSO) packets. This greatly increases the
achievable throughput.

9 years agoresolved: rr - print DNSKEY and RRSIG in base64
Tom Gundersen [Sun, 12 Jul 2015 22:21:50 +0000 (00:21 +0200)]
resolved: rr - print DNSKEY and RRSIG in base64

As mandated by RFC4034.

9 years agoMerge pull request #576 from zonque/resolved-cleanups
Tom Gundersen [Mon, 13 Jul 2015 17:30:30 +0000 (19:30 +0200)]
Merge pull request #576 from zonque/resolved-cleanups

resolved: assorted cleanups

9 years agoresolved: make LLMNR checks conditional
Daniel Mack [Sat, 11 Jul 2015 16:37:17 +0000 (12:37 -0400)]
resolved: make LLMNR checks conditional

Make all LLMNR related packet inspections conditional to p->protocol.
Use switch-case statements while at it, which will make future additions
more readable.

9 years agoresolved: separate LLMNR specific header bits
Daniel Mack [Sat, 11 Jul 2015 00:35:16 +0000 (20:35 -0400)]
resolved: separate LLMNR specific header bits

The C and T bits in the DNS packet header definitions are specific to LLMNR.
In regular DNS, they are called AA and RD instead. Reflect that by calling
the macros accordingly, and alias LLMNR specific macros.

While at it, define RA, AD and CD getters as well.

9 years agoresolved: use a #define for LLMNR port
Daniel Mack [Fri, 10 Jul 2015 19:28:09 +0000 (15:28 -0400)]
resolved: use a #define for LLMNR port

De-duplicate some magic numbers.

9 years agoresolved: move LLMNR related functions into separate file
Daniel Mack [Fri, 10 Jul 2015 19:02:38 +0000 (15:02 -0400)]
resolved: move LLMNR related functions into separate file

9 years agoMerge pull request #573 from cmacq2/html-man-fixes
Daniel Mack [Mon, 13 Jul 2015 14:46:26 +0000 (10:46 -0400)]
Merge pull request #573 from cmacq2/html-man-fixes

Reproducible ID/name values for auto generated anchors in HTML output

9 years agodoc: configure docbook stylesheet to generate reproducible IDs
Johan Ouwerkerk [Mon, 13 Jul 2015 08:39:09 +0000 (10:39 +0200)]
doc: configure docbook stylesheet to generate reproducible IDs

This makes auto generated anchor tags in HTML output reproducible.

9 years agodhcp: add support for vendor specific DHCP option
Beniamino Galvani [Thu, 9 Jul 2015 16:04:01 +0000 (18:04 +0200)]
dhcp: add support for vendor specific DHCP option

This adds support for option 43 (Vendor Specific Information) to
libsystemd-network DHCP code. The option carries an opaque object of n
octets, interpreted by vendor-specific code on the clients and
servers.

[@zonque: adopted to new unhexmem() API]

9 years agoMerge pull request #566 from teg/util-base64-2
Daniel Mack [Sun, 12 Jul 2015 18:10:39 +0000 (14:10 -0400)]
Merge pull request #566 from teg/util-base64-2

util: add base64 handling

9 years agobasic: util - add base64mem() function similar to hexmem()
Tom Gundersen [Fri, 10 Jul 2015 12:38:19 +0000 (14:38 +0200)]
basic: util - add base64mem() function similar to hexmem()

This implements RFC4648 for a slightly more compact representation of
binary data compared to hex (6 bits per character rather than 4).

9 years agobasic: util - fix errorhandling in unhexmem()
Tom Gundersen [Sat, 11 Jul 2015 17:14:52 +0000 (19:14 +0200)]
basic: util - fix errorhandling in unhexmem()

We were ignoring failures from unhexchar, which meant that invalid
hex characters were being turned into garbage rather than the string
rejected.

Fix this by making unhexmem return an error code, also change the API
slightly, to return the size of the returned memory, reflecting the
fact that the memory is a binary blob,and not a string.

For convenience, still append a trailing NULL byte to the returned
memory (not included in the returned size), allowing callers to
treat it as a string without doing a second copy.

9 years agoMerge pull request #561 from cmacq2/html-man-fixes
Daniel Mack [Sun, 12 Jul 2015 15:33:27 +0000 (11:33 -0400)]
Merge pull request #561 from cmacq2/html-man-fixes

Html man fixes

9 years agoMerge pull request #558 from poettering/logind-bus-policy
Tom Gundersen [Sun, 12 Jul 2015 09:44:45 +0000 (11:44 +0200)]
Merge pull request #558 from poettering/logind-bus-policy

logind: bring bus policy up-to-date

9 years agoMerge pull request #556 from poettering/sd-bus-life-cycle
Tom Gundersen [Sun, 12 Jul 2015 09:44:14 +0000 (11:44 +0200)]
Merge pull request #556 from poettering/sd-bus-life-cycle

man: go further into details regarding life-cycle of default bus conn…

9 years agoMerge pull request #554 from poettering/ntp-pool
Tom Gundersen [Sun, 12 Jul 2015 09:43:51 +0000 (11:43 +0200)]
Merge pull request #554 from poettering/ntp-pool

build-sys: warn if people don't change the default NTP servers when b…