Commit Graph
11608 Commits
Author SHA1 Message Date
David Herrmann 485e590a61 Merge pull request #183 from ssahani/net
Improve tun/tap logging by using the new log_*errno*() functions that set 'errno' explicitly. Also fix a bunch of incorrect errno/r confusions.
2015-06-14 13:16:47 +02:00
David Herrmann 6113cec066 Merge pull request #189 from teg/rtnl-rename
Rename sd_rtnl to sd_netlink to prepare for further netlink-protocol support. Anything rtnl specific still uses the sd_rtnl prefix, but the generic parts (including the bus and message objects) are now called sd_netlink.
2015-06-14 13:07:20 +02:00
Susant Sahani ce67afb043 networkd: tuntap improve logging
Replaces  strerror() usage with log_netdev_error_errno()
2015-06-14 11:18:28 +05:30
Tom Gundersen b95cc756de sd-netlink: socket - move some functions from main source file 2015-06-13 21:25:05 +02:00
Tom Gundersen 89489ef7d4 sd-netlink: message - split up source file
Split netlink-socket.c and rtnl-message.c from netlink-message.c.
2015-06-13 21:11:01 +02:00
Tom Gundersen bbe181b489 sd-netlink: drop the write-queue
AF_NETLINK is not write-buffered, so this was actually never used.
2015-06-13 20:51:56 +02:00
Tom Gundersen 1c4baffc18 sd-netlink: rename from sd-rtnl 2015-06-13 19:52:54 +02:00
keszybz eb56be2b93 Merge pull request #167 from keszybz/line-oriented-ima-setup
ima-setup: write policy one line at a time
2015-06-12 23:52:13 -04:00
Lennart Poettering c04754bcb6 selinux: whitespace fixes 2015-06-12 13:50:57 +02:00
Lennart Poettering 533b432940 Merge pull request #173 from mischief/ipforwarding-3
IPForwarding=kernel v3
2015-06-12 12:28:16 +02:00
Susant Sahani 034e10d7fb core: fix CID 996302
CID 996302:  Error handling issues  (CHECKED_RETURN)
2015-06-12 10:24:26 +05:30
Nick Owens 8add5f7970 networkd: create "kernel" setting for IPForwarding
In 5a8bcb674f, IPForwarding was introduced
to set forwarding flags on interfaces in .network files. networkd sets
forwarding options regardless of the previous setting, even if it was
set by e.g. sysctl. This commit creates a new option for IPForwarding,
"kernel", that preserves the sysctl settings rather than always setting
them.

See https://bugs.freedesktop.org/show_bug.cgi?id=89509 for the initial
bug report.
2015-06-11 12:09:21 -07:00
David Herrmann ed810b68d3 Merge pull request #171 from teg/rtnl-broadcast-2
sd-rtnl: make joining broadcast groups implicit
2015-06-11 18:05:18 +02:00
Tom Gundersen 31710be527 sd-rtnl: make joining broadcast groups implicit 2015-06-11 17:47:40 +02:00
Lennart Poettering c067b4acef Merge pull request #143 from teg/networkd-packets-per-slave-mode
networkd: bond - only set packets_per_slave on balance-rr mode
2015-06-11 17:42:46 +02:00
Lennart Poettering 6f6fdcb590 Merge pull request #156 from filbranden/journal_leading_whitespace
journald: do not strip leading whitespace from messages
2015-06-11 17:42:06 +02:00
Daniel Mack 78d298bbc5 kmod-setup: don't print warning on -ENOSYS
-ENOSYS is returned from kmod_module_probe_insert_module() if a module isn't
available, not -ENOENT. Don't spit out a warning in that case unless the
warn_if_unavailable flag is set.

Also factor out the condition into an own variable for better readability.
2015-06-11 16:49:24 +02:00
Tom Gundersen 2ce8483538 sd-rtnl: use netlink header rather than ucred in socket_recv_message()
Lets us simplify the function and drop SO_PASSCRED.

Thanks to Alexander Larsson and David Herrmann.
2015-06-11 16:14:59 +02:00
Zbigniew Jędrzejewski-Szmek 92994160af ima-setup: write policy one line at a time
ima_write_policy() expects data to be written as one or more
rules, no more than PAGE_SIZE at a time. Easiest way to ensure
that we are not splitting rules is to read and write one line at
a time.

https://bugzilla.redhat.com/show_bug.cgi?id=1226948
2015-06-11 09:05:02 -04:00
Lennart Poettering d814f9904b kmod-setup: when we fail to load a kmod, log the error cause
(Also, downgrade message from LOG_ERROR to LOG_WARNING, after all we
don't care much and just proceed)
2015-06-11 12:13:58 +02:00
Werner Fink de1d4f9b5c core: Let two more booleans survive a daemon-reload
Without the boolean bus_name_good services as well as cgroup_realized
for units a unit of Type=dbus and ExecReload sending SIGHUP to $MAINPID
will be terminated if systemd will be daemon reloaded.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746151
https://bugs.freedesktop.org/show_bug.cgi?id=78311
https://bugzilla.opensuse.org/show_bug.cgi?id=934077
2015-06-11 12:13:57 +02:00
Lennart Poettering 64b8c0d030 Merge pull request #158 from ssahani/net
Net
2015-06-11 11:52:58 +02:00
Daniel Mack 94f1f58d2b Merge pull request #160 from kaysievers/libsplit
build-sys: split internal basic/ library from shared/
2015-06-11 11:50:18 +02:00
Lennart Poettering ed4dc5bbd1 Merge pull request #150 from poettering/journal-no-recv-loop
journald: don't employ inner loop for reading from incoming sockets
2015-06-11 11:34:38 +02:00
Kay Sievers a095315b3c build-sys: split internal basic/ library from shared/
basic/      can be used by everything
            cannot use anything outside of basic/

libsystemd/ can use basic/
            cannot use shared/

shared/     can use libsystemd/
2015-06-11 10:52:46 +02:00
Susant Sahani 3de1c8ceab sd-network: fix CID 1306198 2015-06-11 14:08:56 +05:30
Susant Sahani f6a0ea8568 networkd: improve logging
Replace strerror() usage with log_netdev_error_errno()
2015-06-11 13:11:33 +05:30
Susant Sahani c8a09ef463 networkd: macvlan improve logging
Replace strerror() usage with log_netdev_error_errno()
2015-06-11 13:08:19 +05:30
Filipe Brandenburger ec5ff4445c journald: do not strip leading whitespace from messages
Keep leading whitespace for compatibility with older syslog
implementations.  Also useful when piping formatted output to the
`logger` command.  Keep removing trailing whitespace.

Tested with `pstree | logger` and checking that the output of
`journalctl | tail` included aligned and formatted output.

Confirmed that all test cases still pass as expected.
2015-06-10 22:35:26 -07:00
Lennart Poettering 37c47e5e5b Merge pull request #3 from threatgrid/more_cgtop_enhancements
cgtop enhancements for easier machine-readable output
2015-06-11 01:52:25 +02:00
Charles Duffy 1d84ae050c cgtop: IO readings are valid if any data is available, even if unchanged since last tick
Emit "0" rather than "-" if no change in IO values are seen for a process since
last tick, so long as accounting has registered content at all.
2015-06-10 18:06:28 -05:00
Lennart Poettering 96490500cf Merge pull request #6 from xnox/drop-name
shared: Drop 'name=' prefix from SYSTEMD_CGROUP_CONTROLLER define.
2015-06-11 00:50:04 +02:00
Lennart Poettering d112701190 Merge pull request #148 from teg/sd-network-race
sd-network: allow the state dir to be created after the monitor
2015-06-10 20:43:38 +02:00
Lennart Poettering ad091530b3 Merge pull request #151 from mischief/dns-shared-3
move dns code from resolve to shared v3
2015-06-10 20:43:06 +02:00
David Herrmann 26589352b2 bus: we now support path_namespace=/
Our bloom-filters support root-path matching. Make sure we properly add
the path_namespace= tag.
2015-06-10 20:22:40 +02:00
David Herrmann 744dccdd36 bus: fix pattern matching
DBus-spec defines two different pattern matchings:

  1) Path and namespace prefix matching. In this case, A matches B either
     if both are equal, or if B is fully included in the namespace of A.
     In other words, A has to be a prefix of B, but end with a separator
     character (or the following character in B must be one).

     This is used for path_namespace= and arg0namespace=

  2) The other pattern matching is used for arg0path= which does a two-way
     matching. That is, A must be a prefix of B, or B a prefix of A.
     Furthermore, the prefix must end with a separator.

Fix the sd-bus helpers to reflect that. The 'simple_' and 'complex_'
prefixes don't make any sense now, but.. eh..
2015-06-10 20:22:40 +02:00
David Herrmann 2e90f867f9 bus: fix test-bus-kerne-bloom.c to match properly
Make sure we actually verify our match-rules are executed properly. Right
now all we test is the bloom-matches, which are non-reliable as they leave
through false-positives.
2015-06-10 20:22:40 +02:00
David Herrmann a867b00226 bus: fix arg0path= two-way matching
DBus spec clearly defines arg0path= to be a two-way matching. That is,
either the matcher or the matchee can be a prefix of the other to match.
This is not possible to implement with bloom-filters. Instead, we'd have
to add a separate filter for each prefix. This is non-trivial, though.
Hence, just skip the match for now and match locally.
2015-06-10 20:22:40 +02:00
David Herrmann 7cd4dbe9ca bus: fix bloom_add_prefixes() to add all required data
Lets look at an example where we add arg0="/foo/bar/waldo" to a
bloom-filter. The following strings are added:
  "arg0:/foo/bar/waldo"
  "arg0-slash-prefix:/foo/bar"
  "arg0-slash-prefix:/foo"

Two problems arise:

1) If we match on "arg0path=/foo/bar/waldo", the dbus-spec explicitly
states that equal strings are also considered prefixes. However, in the
bloom-match, we can only provide a single match-filter. Therefore, we have
to add "arg0-slash-prefix:/foo/bar/waldo" there, but this never occured in
the bloom-mask of the message.
Hence, this patch makes sure bloom_add_prefixes() adds the full path as
prefix, too.

2) If we match on "arg0path=/foo/", the dbus-spec states that arg0path
does prefix-matching with the trailing slash _included_, unlike
path_namespace= matches, which does *not* include them. This is
inconsistent, but we have to support the specs. Therefore, we must add
prefixes with _and_ without trailing separators.
Hence, this patch makes sure bloom_add_prefixes() adds all prefixes with
the trailing slash included.

The final set of strings added therefore is:
  "arg0:/foo/bar/waldo"
  "arg0-slash-prefix:/foo/bar/waldo"
  "arg0-slash-prefix:/foo/bar/"
  "arg0-slash-prefix:/foo/bar"
  "arg0-slash-prefix:/foo/"
  "arg0-slash-prefix:/foo"
  "arg0-slash-prefix:/"
2015-06-10 20:22:40 +02:00
Nick Owens 37de250906 libsystemd-network: use domain validation instead of hostname validation for dhcp domain option
previously hostname_is_valid was used to validate domain names, which
would silently drop perfectly valid dns names that were longer than a
single dns label.
2015-06-10 11:15:46 -07:00
Nick Owens df6cfeeff7 shared: add convenience function for validating dns names 2015-06-10 11:15:46 -07:00
Nick Owens 4ad7f2761d resolve: move dns routines into shared 2015-06-10 11:15:45 -07:00
Lennart Poettering a315ac4e07 journald: don't employ inner loop for reading from incoming sockets
Otherwise, if the socket is constantly busy we will never return to the
event loop, but we really need to to dispatch other (possibly more
high-priority) events too. Hence, return after dispatching one message
to the event handler, and rely on the event loop calling us back
right-away.

Fixes #125
2015-06-10 20:09:10 +02:00
Tom Gundersen 870395a4d8 sd-network: allow the state dir to be created after the monitor
We now listen for new subdirs of /run/systemd, and /run/systemd/netif in case
/run/systemd/netif/links does not exist.
2015-06-10 20:08:11 +02:00
Daniel Mack a8467435a0 Merge pull request #147 from poettering/cmsg
util: introduce CMSG_FOREACH() macro and make use of it everywhere
2015-06-10 20:06:43 +02:00
Tom Gundersen 76f0a56790 networkd: bond - only set packets_per_slave on balance-rr mode
Otherwise the creation of the bond fails.
2015-06-10 19:39:02 +02:00
Lennart Poettering 2a1288ff89 util: introduce CMSG_FOREACH() macro and make use of it everywhere
It's only marginally shorter then the usual for() loop, but certainly
more readable.
2015-06-10 19:29:47 +02:00
Zbigniew Jędrzejewski-Szmek cd32b977fa Fix typo
Follow up for 7c918141ed.
2015-06-10 13:17:38 -04:00
Lennart Poettering 5410b2ed62 Merge pull request #142 from teg/sd-network-unref-NULL
sd-network: allow NULL in sd_network_monitor_unref
2015-06-10 16:59:43 +02:00
Tom Gundersen 0b3476266f sd-network: allow NULL in sd_network_monitor_unref
Match rest of codebase, we always allow unref'ing NULL.
2015-06-10 16:34:43 +02:00