Tom Gundersen [Wed, 2 Apr 2014 08:00:31 +0000 (10:00 +0200)]
libsystemd-network: Speed up checksum computation using 64 bit integers
Improve the checksum computation by using 64 bit integers instead of the 16 bit
integers in the existing implementation. This change speeds up the computation
with approximately 78% both on 64 bit and 32 bit systems.
Please see RFC 1071 for details.
Tom Gundersen [Mon, 7 Apr 2014 07:17:53 +0000 (09:17 +0200)]
ipv4ll: use BPF on raw socket
This should significantly reduce spurious wakeups.
Tom Gundersen [Mon, 7 Apr 2014 07:12:59 +0000 (09:12 +0200)]
sd-ipv4ll: fix packet broadcasting
Umut said: 'I have noticed a bug that we are sending PROBE/ANNOUNCE messages on
00:00:00:00:00:00 address where it should be broadcast.'
Tom Gundersen [Sun, 6 Apr 2014 17:23:33 +0000 (19:23 +0200)]
sd-dhcp-client: improve BPF
Try a bit harder to make the kernel drop packets not for us. This should reduce
the number of wakeups from n^2 to n in the number of dhcp clients, which admittedly
only makes a differenc in very extreme cases.
Tom Gundersen [Sun, 6 Apr 2014 17:35:36 +0000 (19:35 +0200)]
sd-dhcp-client: eagerly drop too small packets
If they are too small to fit the IP+UDP+DHCP headers they can be of no use, so
don't waste resources parsing them. This is at the cost of losing some verbosity
in the logging.
Tom Gundersen [Sun, 6 Apr 2014 12:05:32 +0000 (14:05 +0200)]
sd-dhcp-client: move magic cookie into DHCPMessage struct
Also move the checking of it to the main message handler, rather than the
options parser.
Fix a bug, so we now drop the packet if any of the magic bytes don't match.
Before we used to only drop the packet if they were all wrong.
Tom Gundersen [Sun, 6 Apr 2014 16:00:26 +0000 (18:00 +0200)]
udev: net_id - use constants rather than magic numbers
Thomas Hindoe Paaboel Andersen [Sat, 5 Apr 2014 19:05:22 +0000 (21:05 +0200)]
journal-remote-parse: avoid passing null to memchr
Found with scan-build
Kay Sievers [Sat, 5 Apr 2014 17:59:01 +0000 (13:59 -0400)]
reduce the amount of messages logged to /dev/kmsg when "debug" is specified
Zbigniew Jędrzejewski-Szmek [Sat, 5 Apr 2014 17:29:50 +0000 (13:29 -0400)]
systemd-python: fix failing assert
A parameter which was always null before, now get's set to
the module.
Zbigniew Jędrzejewski-Szmek [Sat, 5 Apr 2014 17:23:25 +0000 (13:23 -0400)]
systemd-python: use .hex instead of .get_hex()
It turns out the latter got removed in Python 3.
https://bugs.freedesktop.org/show_bug.cgi?id=77086
Zbigniew Jędrzejewski-Szmek [Sat, 5 Apr 2014 17:17:51 +0000 (13:17 -0400)]
build-sys: add newly used if_link.h defines to missing.h
Reported-by: Arnaud Gaboury <arnaud.gaboury@gmail.com>
Zbigniew Jędrzejewski-Szmek [Thu, 3 Apr 2014 18:05:01 +0000 (14:05 -0400)]
Fix a few return codes in error paths
Florian Albrechtskirchinger [Thu, 3 Apr 2014 19:17:20 +0000 (21:17 +0200)]
tty-ask-password-agent: return negative errno
Return negative errno in wall_tty_block(). get_ctty_devnr() already
returns a negative errno in case of failure, no need to negate it again.
Reported-by: Simon <hwold@odai.homelinux.net>
Zbigniew Jędrzejewski-Szmek [Wed, 2 Apr 2014 00:43:15 +0000 (20:43 -0400)]
systemctl: update NAME to PATTERN in help()
Previously the man page was modified, but not help().
Zbigniew Jędrzejewski-Szmek [Tue, 1 Apr 2014 13:07:32 +0000 (09:07 -0400)]
logind: remove one cast
Zbigniew Jędrzejewski-Szmek [Mon, 31 Mar 2014 12:57:28 +0000 (08:57 -0400)]
journal: fix export of messages containing newlines
In "export" format, newlines are significant, and messages containing
newlines must be exported as "binary".
Zbigniew Jędrzejewski-Szmek [Sat, 29 Mar 2014 15:58:32 +0000 (11:58 -0400)]
journalctl: free arg_file on exit
Thomas Bächler [Thu, 27 Mar 2014 22:41:59 +0000 (23:41 +0100)]
backlight: do nothing if max_brightness is 0
On virtually any newer Asus mainboard, the eeepc-wmi driver is loaded.
It exposes a backlight device despite the lack of any physical backlight
devices. This fake backlight device has max_brightness set to 0. Since
the introduction of the clamp_brightness function, systemd-backlight
tries to write '1' to brightness and fails.
This patch changes systemd-backlight to exit gracefully when
max_brightness is 0 before performing any action. This affects
both the load and save actions.
Kay Sievers [Thu, 3 Apr 2014 01:00:44 +0000 (03:00 +0200)]
bash_completion: busctl - add support for --user mode
Thomas Hindoe Paaboel Andersen [Thu, 3 Apr 2014 20:52:21 +0000 (22:52 +0200)]
bash completion: Add -r/--recursive to systemctl
Tom Gundersen [Thu, 3 Apr 2014 17:09:22 +0000 (19:09 +0200)]
network: default to IPv4LL on host0
Now that we have a graceful handover from IPv4LL to DHCP, there is no longer any reason to leave this off by default.
Susant Sahani [Thu, 3 Apr 2014 08:05:56 +0000 (13:35 +0530)]
sd-rtnl: fix broken test cases and add support for tunnel
This patch fixes the broken test-cases for sd-rtnl and add support for ipip
and sit tunnel.
[tomegun: minor fixups]
Umut Tezduyar Lindskog [Wed, 2 Apr 2014 19:31:12 +0000 (21:31 +0200)]
networkd: smooth transition from ipv4ll to dhcp address
Currently when both ipv4ll and dhcp are enabled, ipv4ll
address (if one has been claimed) is removed when dhcp
address is aquired. This is not the best thing to do
since there might be clients unaware of the removal
trying to communicate.
This patch provides a smooth transition between ipv4ll
and dhcp. If ipv4ll address was claimed [1] before dhcp,
address is marked as deprecated. Deprecated address is still
a valid address and packets can be received on it but address
cannot be selected as a source address. If dhcp lease cannot
be extended, then ipv4ll address is marked as valid again.
[1] If there is no collision, claiming IPv4LL takes between 4 to
7 seconds.
Umut Tezduyar Lindskog [Tue, 1 Apr 2014 20:55:54 +0000 (22:55 +0200)]
networkd: drop routes when lease expires
David Herrmann [Wed, 2 Apr 2014 14:20:13 +0000 (16:20 +0200)]
logind: don't print error if devices vanish during ACL-init
If a device is unplugged while we initialize it, we will get ENOENT for
ACL-init (and related stuff). We currently print errors then, which is
misleading. Print a debug-message early and continue.
Kay Sievers [Wed, 2 Apr 2014 13:47:09 +0000 (15:47 +0200)]
udev: do not export "static node" tags for non-existing devices
Tom Gundersen [Mon, 31 Mar 2014 07:54:18 +0000 (09:54 +0200)]
sd-dhcp-client: use BPF on raw socket
Filter out everything except UDP packets destined for the DHCP client port,
this should avoid the vast majority of spurious wakeups.
Filter based on [0], with permission.
Possible improvemnts: also check for the DHCP magic cookie to drop invalid
packets. Check for our xid to filter out packets destined for other clients.
[0]: <https://github.com/ambrop72/badvpn/blob/master/dhcpclient/BDHCPClient.c#L57>
Kay Sievers [Wed, 2 Apr 2014 09:34:33 +0000 (11:34 +0200)]
build-sys: remove no longer needed user/org.freedesktop.DBus.busname
Thomas Hindoe Paaboel Andersen [Tue, 1 Apr 2014 20:32:44 +0000 (22:32 +0200)]
build-sys: no use for compat libs in the static analysis
Tom Gundersen [Tue, 1 Apr 2014 19:29:20 +0000 (21:29 +0200)]
sd-ipv4ll: speed up bind() in the same way as for dhcp
Daniel Buch [Tue, 1 Apr 2014 13:00:31 +0000 (15:00 +0200)]
build-sys: workaround scan-build bug to fix ./autogen.sh s
It seems to be a clang-analyzer problem since it don't behave like
clang-compiler regarding -std={c99,gnu99}
Tom Gundersen [Mon, 31 Mar 2014 21:28:58 +0000 (23:28 +0200)]
sd-dhcp-client: --omg-optimized
Passing the protocol to socket() is redundant as it will be specified again in
bind(). Dropping the redundancy reduces the cost of bind() from ~30ms to ~0ms.
For details see [0].
networkd in a container (i.e., with next to no network latency) can now
negotiate a DHCP lease in 0.7 - 5 ms.
Thanks to Kay for help with debugging and to Daniel Borkmann for the pointer
to fix the problem.
[0]: <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=
902fefb82ef72a50c78cb4a20cc954b037a98d1c>
Tom Gundersen [Mon, 31 Mar 2014 15:17:56 +0000 (17:17 +0200)]
networkd: rewind rtnl message between passing it to functions
This makes updating link status on netdev links work again.
Tom Gundersen [Mon, 31 Mar 2014 12:43:34 +0000 (14:43 +0200)]
sd-rtnl: modernize a bit
Lukasz Skalski [Mon, 31 Mar 2014 09:34:42 +0000 (11:34 +0200)]
doc: fix items' names in PORTING-DBUS1
Tom Gundersen [Mon, 31 Mar 2014 09:30:59 +0000 (11:30 +0200)]
TODO
Tom Gundersen [Mon, 31 Mar 2014 08:04:32 +0000 (10:04 +0200)]
networkd: link - fix memory leak
Tom Gundersen [Mon, 31 Mar 2014 08:01:59 +0000 (10:01 +0200)]
networkd: fix use-after-free
Free networks before links (the reverse of creation order).
Steven Siloti [Mon, 31 Mar 2014 04:20:26 +0000 (21:20 -0700)]
sd-rtnl: fix off-by-one
Also fix type parameter passed to new0
Kay Sievers [Mon, 31 Mar 2014 02:00:04 +0000 (04:00 +0200)]
timedated: adjust accuracy and slew values
Tom Gundersen [Sun, 30 Mar 2014 18:36:44 +0000 (20:36 +0200)]
sd-dhcp: avoid checksum calculation if possible
When receiving lots of packets that are not meant for us, we waste a relatively large amount
of cpu time computing their checksums before discarding them. Move the checksum calculation last
so we never compute it for packets which would otherwise be discarded.
Tom Gundersen [Sun, 30 Mar 2014 18:33:57 +0000 (20:33 +0200)]
sd-dhcp: check for ipv4 packets
Umut Tezduyar Lindskog [Sun, 30 Mar 2014 17:09:14 +0000 (19:09 +0200)]
sd-dhcp: check for udp packets
Do not try to parse ICMP packets
[tomegun: slightly tweaked debug message]
Tom Gundersen [Sat, 29 Mar 2014 22:53:03 +0000 (23:53 +0100)]
sd-rtnl: types - hook up bond types
Reported by Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
Tom Gundersen [Sat, 29 Mar 2014 22:52:03 +0000 (23:52 +0100)]
sd-rtnl: message - fix clang compile warning
Tom Gundersen [Fri, 28 Mar 2014 18:11:15 +0000 (19:11 +0100)]
sd-rtnl: message - don't log about out-of-range attribute types
We will easily get these when running on newer kernels. However, we can safely ignore them as we
anyway don't know what to do with them.
Tom Gundersen [Fri, 28 Mar 2014 17:20:31 +0000 (18:20 +0100)]
networkd: netdev - improve logging when setting ifindex
Tom Gundersen [Wed, 26 Mar 2014 18:25:01 +0000 (19:25 +0100)]
sd-rtnl: rework rtnl type system
Use a static table with all the typing information, rather than repeated
switch statements. This should make it a lot simpler to add new types.
We need to keep all the type info to be able to create containers
without exposing their implementation details to the users of the library.
As a freebee we verify the types of appended/read attributes.
The API is extended to nicely deal with unions of container types.
Tom Gundersen [Thu, 27 Mar 2014 23:46:45 +0000 (00:46 +0100)]
sd-rtnl: message - fix memory leak
Tom Gundersen [Sun, 23 Mar 2014 14:33:24 +0000 (15:33 +0100)]
sd-rtnl: message - don't reference associated rtnl object
The object is not currently used, so just drop the refenence. If/when we end up
using the object in the future, we must make sure to deal with possible mutual
references between rtnl busses and their queued messages; as is done in sd-bus.
Tom Gundersen [Thu, 27 Mar 2014 20:47:14 +0000 (21:47 +0100)]
udev: persistent naming - we cannot use virtio numbers as they are not stable
This reverts commit
8741f2defaf26aafe5ee0fd29954cfdf84ee519c: 'Add virtio-blk support to path_id' and
commit
e3d563346c4237af23335cc6904e0662efdf62ad: 'udev: net_id - handle virtio buses'.
Distros may want to take note of this, as it changes behavior.
Thomas Hindoe Paaboel Andersen [Thu, 27 Mar 2014 19:13:11 +0000 (20:13 +0100)]
silence warnings
Brandon Philips [Thu, 27 Mar 2014 18:51:57 +0000 (11:51 -0700)]
systemctl: fix spelling in comment
Kay Sievers [Thu, 27 Mar 2014 14:30:09 +0000 (15:30 +0100)]
udev: update net_id comments
Scott Thrasher [Thu, 27 Mar 2014 01:48:13 +0000 (18:48 -0700)]
Add hwdb entry for Samsung Series 7 Ultra
Kay Sievers [Wed, 26 Mar 2014 18:22:17 +0000 (19:22 +0100)]
build-sys: update "linkcheck"
<kay> ssuominen: and drop --no-as-needed from the linkcheck?
<kay> ssuominen: i expect it all triggers without the gc-sections thing alone
<ssuominen> if the intention is to make it strict as possible,
to catch undefined references caused by missing -lfoo in linker line, then
LDFLAGS="-Wl,-fuse-ld=gold -Wl,--as-needed -Wl,--no-gc-sections"
Kay Sievers [Wed, 26 Mar 2014 12:12:47 +0000 (13:12 +0100)]
build-sys: rename "check-broken" to "linkcheck"
Kay Sievers [Wed, 26 Mar 2014 12:06:46 +0000 (13:06 +0100)]
build-sys: split "make upload" and "make tango"
Marcel Holtmann [Wed, 26 Mar 2014 03:21:23 +0000 (20:21 -0700)]
hwdb: Update database of Bluetooth company identifiers
Kay Sievers [Wed, 26 Mar 2014 02:47:03 +0000 (03:47 +0100)]
core: do not read system boot timestamps in systemd --user mode
Before:
$ systemd-analyze --user
Startup finished in 2.810s (firmware) + 48ms (loader) + 122ms (userspace) = 122ms
After:
$ systemd-analyze --user
Startup finished in 122ms (userspace) = 122ms
Kay Sievers [Wed, 26 Mar 2014 02:38:48 +0000 (03:38 +0100)]
bus: provide org.freedesktop.systemd1.busname for systemd --user
Kay Sievers [Wed, 26 Mar 2014 01:30:32 +0000 (02:30 +0100)]
build-sys: disable test-cgroup-mask, it mangles valid user data in /run/user/$UID/
$ ./test-cgroup-mask
...
rmdir("/run/user/2702/systemd/generator") = 0
open("/run/user/2702/systemd/generator.late", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_NOFOLLOW|O_NOATIME|O_CLOEXEC) = 5
fstat(5, {st_mode=S_IFDIR|0755, st_size=3200, ...}) = 0
fcntl(5, F_GETFL) = 0x78800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_NOFOLLOW|O_NOATIME)
fcntl(5, F_SETFD, FD_CLOEXEC) = 0
getdents(5, /* 160 entries */, 32768) = 10072
unlinkat(5, "org.gnome.Weather.Application.busname", 0) = 0
unlinkat(5, "dbus-org.gnome.Weather.Application.service", 0) = 0
...
Kay Sievers [Wed, 26 Mar 2014 00:26:44 +0000 (01:26 +0100)]
build-sys: add "make check-broken" to find limited-toolchain link errors
Kay Sievers [Tue, 25 Mar 2014 22:16:31 +0000 (23:16 +0100)]
build-sys: fix library link order
Kay Sievers [Tue, 25 Mar 2014 22:05:52 +0000 (23:05 +0100)]
gitignore update
Kay Sievers [Tue, 25 Mar 2014 22:04:13 +0000 (23:04 +0100)]
build-sys: split-off internal libsystemd-resolve
Daniel Mack [Tue, 25 Mar 2014 19:28:31 +0000 (20:28 +0100)]
completions: fix/augment zsh completions for systemd-nspawn, busctl, loginctl, hostnamectl, localectl, machinectl
Jason St. John [Tue, 25 Mar 2014 03:14:28 +0000 (23:14 -0400)]
src/systemd: fix grammar and spelling errors in comments
Lennart Poettering [Tue, 25 Mar 2014 19:22:41 +0000 (20:22 +0100)]
build-sys: prepare 212
Lennart Poettering [Tue, 25 Mar 2014 04:02:35 +0000 (05:02 +0100)]
build-sys: prepare NEWS for 212
Susant Sahani [Tue, 25 Mar 2014 08:43:30 +0000 (14:13 +0530)]
sd-rtnl: add support for tunnel attributes
Added support for tunneling netlink attrributes (ipip, gre, sit).
These works with kernel module ipip, gre and sit . The test cases are
moved to a separate file and manual test as well because they require
respective kernel modules as well.
Tom Gundersen [Mon, 24 Mar 2014 21:21:08 +0000 (22:21 +0100)]
sd-rtnl: message - don't try to enter unsupported containers
Currently we only support containers in RTM_*LINK messages.
Reported-by: "Thomas H.P. Andersen <phomes@gmail.com>"
Lennart Poettering [Tue, 25 Mar 2014 03:08:16 +0000 (04:08 +0100)]
time: support @ syntax for denoting times since the UNIX epoch 1970-1-1
Lennart Poettering [Tue, 25 Mar 2014 01:11:52 +0000 (02:11 +0100)]
update TODO
Lennart Poettering [Tue, 25 Mar 2014 00:46:24 +0000 (01:46 +0100)]
util: consider both fuse.glusterfs and glusterfs network file systems
Based on a similar patch by Lukáš Nykrýn.
Lennart Poettering [Tue, 25 Mar 2014 00:30:19 +0000 (01:30 +0100)]
ask-password: modernizations
Lennart Poettering [Tue, 25 Mar 2014 00:27:05 +0000 (01:27 +0100)]
ask-password: when the user types a overly long password, beep and refuse
Based on a similar patch from David Härdeman.
Lennart Poettering [Mon, 24 Mar 2014 23:51:22 +0000 (00:51 +0100)]
systemctl: add more verbose explanation of --kill-who and what control/main processes are
Lennart Poettering [Mon, 24 Mar 2014 23:31:48 +0000 (00:31 +0100)]
systemctl: --kill-mode is long long gone, don't mention it in the man page
Lennart Poettering [Mon, 24 Mar 2014 23:26:09 +0000 (00:26 +0100)]
man: be more specific when EnvironmentFile= is read
http://lists.freedesktop.org/archives/systemd-devel/2014-March/018004.html
Lennart Poettering [Mon, 24 Mar 2014 23:10:41 +0000 (00:10 +0100)]
man: explain that the journal field SYSLOG_IDENTIFIER is usually derived from program_invocation_short_name
Lennart Poettering [Mon, 24 Mar 2014 23:03:23 +0000 (00:03 +0100)]
update TODO
Lennart Poettering [Mon, 24 Mar 2014 23:01:51 +0000 (00:01 +0100)]
sd-event: don't accidentally turn of watchdog timer event if we determine 0
Lennart Poettering [Mon, 24 Mar 2014 22:54:21 +0000 (23:54 +0100)]
sd-event: initialization perturbation value right before we use it
That way, we don't forget to initialize it when the watchdog is
initialized before all event sources.
Lennart Poettering [Mon, 24 Mar 2014 22:54:14 +0000 (23:54 +0100)]
sd-daemon: fix incorrect variable access
Lennart Poettering [Mon, 24 Mar 2014 22:45:58 +0000 (23:45 +0100)]
cryptsetup: minor typo fix
Lennart Poettering [Mon, 24 Mar 2014 22:45:33 +0000 (23:45 +0100)]
networkd: fix a couple of memory leaks
Tom Gundersen [Mon, 24 Mar 2014 20:50:16 +0000 (21:50 +0100)]
networkd: netdev - fix error handling in set_ifindex()
Firstly, remove stray assert(). Also be a bit stricter when verifying the
received info. If we get an applicable newlink message that we can't make
sense of, we will now enter NETDEV_FAILED, as we cannot reasonably continue
without knowing the ifindex of our device.
Lennart Poettering [Mon, 24 Mar 2014 20:04:02 +0000 (21:04 +0100)]
core: don't try to relabel mounts before we loaded the policy
Jason St. John [Tue, 18 Mar 2014 04:27:05 +0000 (00:27 -0400)]
timedate: fix numerous grammar errors in comments and output/debug messages
Tom Gundersen [Mon, 24 Mar 2014 19:33:41 +0000 (20:33 +0100)]
sd-rtnl: tests - drop redundant tests
These tests were both broken and redundant, so let's drop them.
Marc-Antoine Perennou [Wed, 19 Mar 2014 02:20:41 +0000 (11:20 +0900)]
libsystemd: Don't use "class" in public headers
For compatibility with C++
Lennart Poettering [Mon, 24 Mar 2014 19:07:42 +0000 (20:07 +0100)]
core: remove tcpwrap support
tcpwrap is legacy code, that is barely maintained upstream. It's APIs
are awful, and the feature set it exposes (such as DNS and IDENT
access control) questionnable. We should not support this natively in
systemd.
Hence, let's remove the code. If people want to continue making use of
this, they can do so by plugging in "tcpd" for the processes they start.
With that scheme things are as well or badly supported as they were from
traditional inetd, hence no functionality is really lost.
Lennart Poettering [Mon, 24 Mar 2014 18:57:10 +0000 (19:57 +0100)]
build-sys: add makefile link
Lennart Poettering [Mon, 24 Mar 2014 18:55:47 +0000 (19:55 +0100)]
service: don't take chkconfig priority into account
Given that native services do not carry a sysv priority anyway it is
pointless reading them from chkconfig headers, and pretend they'd work.
So let's drop this.
Tom Gundersen [Mon, 24 Mar 2014 16:13:24 +0000 (17:13 +0100)]
networkd: add CapabilityBoundingSet
Tom Gundersen [Mon, 24 Mar 2014 10:58:22 +0000 (11:58 +0100)]
sd-rtnl: message parsing - log when ignoring message attributes
Tom Gundersen [Sun, 23 Mar 2014 23:07:46 +0000 (00:07 +0100)]
networkd: netdev - verify that newlink messages has the expected kind
We match 'newlink' messages with expected netdev's based on their names. Now also
make sure that the receieved link has the expected kind.
Tom Gundersen [Sun, 23 Mar 2014 20:45:46 +0000 (21:45 +0100)]
sd-rtnl: add sd_rtnl_message_enter_container()
Extend rta_offset_tb into a stack of offset tables, one for each parent of the
current container, and make sd_rtnl_message_{enter,exit}_container() pop/push
to this stack.
Also make sd_rtnl_message_rewind() parse the top-level container, and use this
when reading a message from the socket.
This changes the API by dropping the now redundant sd_rtnl_message_read()
method.