chiark / gitweb /
elogind.git
10 years agosd-rtnl: socket_read - use a read buffer
Tom Gundersen [Mon, 14 Apr 2014 15:20:51 +0000 (17:20 +0200)]
sd-rtnl: socket_read - use a read buffer

Rather than allocating/freeing memory for each message read, keep a global read buffer
in the rtnl object. Also, rather than using a fixed size, peek at the pending message
header to get the message size and reallocate as necessary.

10 years agosd-rtnl: multi-part message - store as linked-list rather than independent messages
Tom Gundersen [Sun, 13 Apr 2014 19:37:53 +0000 (21:37 +0200)]
sd-rtnl: multi-part message - store as linked-list rather than independent messages

This means the API can stay the same as for single-part messages by simply passing the head message around. Unrefing
the head of the linked list unrefs the whole list.

10 years agosd-rtnl: message_addr - expose a few more getters
Tom Gundersen [Mon, 14 Apr 2014 10:41:13 +0000 (12:41 +0200)]
sd-rtnl: message_addr - expose a few more getters

10 years agonetworkd: link - ignore missing MAC address from NEWLINK message
Tom Gundersen [Sun, 13 Apr 2014 20:10:34 +0000 (22:10 +0200)]
networkd: link - ignore missing MAC address from NEWLINK message

The kernel may broadcast such messages, simply discard them.

10 years agohwdb: PCI - include "primary" model string in subsystem model string
Kay Sievers [Mon, 14 Apr 2014 14:54:35 +0000 (07:54 -0700)]
hwdb: PCI - include "primary" model string in subsystem model string

The data in the PCI ids file is randomly inconsistent. Many
subvendor model strings just describe the "product" where the
hardware is built into, not the hardware itself. This causes
some "Network Card Model Foo" to show up as "Laptop Model Bar".

Try to make the best out of this mess and concatenate both
strings to describe the hardware.

10 years agohwdb: update
Kay Sievers [Mon, 14 Apr 2014 06:46:27 +0000 (23:46 -0700)]
hwdb: update

10 years agoutil: ignore kernel errors reported via close(), unless it is EBADF
Lennart Poettering [Mon, 14 Apr 2014 03:00:42 +0000 (20:00 -0700)]
util: ignore kernel errors reported via close(), unless it is EBADF

The kernel can return pretty much anything there, even though the fd is
closed. Let's not get confused by that.

10 years agoudev: serialize/synchronize block device event handling with file locks
Kay Sievers [Mon, 14 Apr 2014 02:54:27 +0000 (19:54 -0700)]
udev: serialize/synchronize block device event handling with file locks

10 years agobus-proxy: when replying to bus calls set a synthetic serial number and patch the...
Lennart Poettering [Mon, 14 Apr 2014 02:43:00 +0000 (19:43 -0700)]
bus-proxy: when replying to bus calls set a synthetic serial number and patch the sender address

Otherwise old libdbus1 is confused and will not accept our replies.

10 years agobus: process AddMatch/RemoveMatch driver call in proxy
Lennart Poettering [Mon, 14 Apr 2014 01:25:10 +0000 (18:25 -0700)]
bus: process AddMatch/RemoveMatch driver call in proxy

Previously, AddMatch/RemoveMatch calls where processed exclusively in
the proxy. That's racy however, since subscribing to a signal might not
complete before the signal is sent due to some subsequent method call.
Hence, in order to expose the same ordering guarantees as dbus1 process
the AddMatch/RemoveMatch calls from the proxy, so that they are
dispatched synchronously to all following messages, thus fixing the
race.

Ultimately, we should probabably dissolve the driver entirely into the
proxy, as it is purely a compatibility feature anyway...

10 years agoman: explain that the timestamps on incoming kdbus messages are not necessarily monot...
Lennart Poettering [Mon, 14 Apr 2014 00:42:11 +0000 (17:42 -0700)]
man: explain that the timestamps on incoming kdbus messages are not necessarily monotonically increasing

10 years agoupdate TODO
Lennart Poettering [Mon, 14 Apr 2014 00:41:51 +0000 (17:41 -0700)]
update TODO

10 years agobuild-sys: add Makefile symlink
Lennart Poettering [Tue, 1 Apr 2014 17:13:42 +0000 (19:13 +0200)]
build-sys: add Makefile symlink

10 years agoupdate TODO
Lennart Poettering [Tue, 1 Apr 2014 17:13:22 +0000 (19:13 +0200)]
update TODO

10 years agoman: add man page for sd_event_new()
Lennart Poettering [Tue, 1 Apr 2014 17:12:59 +0000 (19:12 +0200)]
man: add man page for sd_event_new()

10 years agoudev: remove seqnum API and all assumptions about seqnums
Kay Sievers [Sun, 13 Apr 2014 05:35:50 +0000 (22:35 -0700)]
udev: remove seqnum API and all assumptions about seqnums

The way the kernel namespaces have been implemented breaks assumptions
udev made regarding uevent sequence numbers. Creating devices in a
namespace "steals" uevents and its sequence numbers from the host. It
confuses the "udevadmin settle" logic, which might block until util a
timeout is reached, even when no uevent is pending.

Remove any assumptions about sequence numbers and deprecate libudev's
API exposing these numbers; none of that can reliably be used anymore
when namespaces are involved.

10 years agobash completion: fix __get_startable_units
Dan Kilman [Sun, 13 Apr 2014 15:06:13 +0000 (18:06 +0300)]
bash completion: fix __get_startable_units

10 years agopath-util: also check for existence of binary when given absolute path
Zbigniew Jędrzejewski-Szmek [Sat, 12 Apr 2014 21:17:49 +0000 (17:17 -0400)]
path-util: also check for existence of binary when given absolute path

In contrast to a filename-only argument, find_binary() did not
actually check if an path exists, allowing the code to fail later on.
This was OK, but it seems nicer to treat both paths identically.

Also take advantage of path_make_absolute_cwd doing strdup() by itself
if necessary to simplify.

10 years agofsck: Search for fsck.type in PATH
Mike Gilbert [Sat, 12 Apr 2014 20:07:45 +0000 (16:07 -0400)]
fsck: Search for fsck.type in PATH

Modifies find_binary() to accept NULL in the second argument.

fsck.type lookup logic moved to new fsck_exists() function, with a test.

10 years agohwdb: Update database of Bluetooth company identifiers
Marcel Holtmann [Sat, 12 Apr 2014 17:38:16 +0000 (10:38 -0700)]
hwdb: Update database of Bluetooth company identifiers

10 years agoman: mention XDG_CONFIG_HOME in systemd.unit
Tanu Kaskinen [Sat, 12 Apr 2014 05:37:38 +0000 (08:37 +0300)]
man: mention XDG_CONFIG_HOME in systemd.unit

10 years agobuild: if -fstack-protector-strong is available, use it.
Cristian Rodríguez [Sat, 12 Apr 2014 01:57:02 +0000 (22:57 -0300)]
build: if -fstack-protector-strong is available, use it.

10 years agocore: Make sure a stamp file exists for all Persistent=true timers
Thomas Bächler [Wed, 2 Apr 2014 18:18:44 +0000 (20:18 +0200)]
core: Make sure a stamp file exists for all Persistent=true timers

If a persistent timer has no stamp file yet, it behaves just like a normal
timer until it runs for the first time. If the system is always shut down
while the timer is supposed to run, a stamp file is never created and
Peristent=true has no effect.

This patch fixes this by creating a stamp file with the current time
when the timer is first started.

10 years agojournal: properly detect language specified in line
Zbigniew Jędrzejewski-Szmek [Sat, 12 Apr 2014 00:57:27 +0000 (20:57 -0400)]
journal: properly detect language specified in line

... it turns out that the duplicates in our own catalog were not real
duplicates, but translations.

10 years agojournal: cleanup up error handling in update_catalog()
Zbigniew Jędrzejewski-Szmek [Fri, 11 Apr 2014 12:44:55 +0000 (08:44 -0400)]
journal: cleanup up error handling in update_catalog()

- Negative/positive errno mixup caused duplicates not to be detected properly.
  Now we get a warning about some duplicate entries in our own catalogs...
- Errors in update_catalog would be ignored, but they should not be.

10 years agotest-dhcp-client: unref lease objects to make valgrind happy
Zbigniew Jędrzejewski-Szmek [Fri, 11 Apr 2014 03:45:46 +0000 (23:45 -0400)]
test-dhcp-client: unref lease objects to make valgrind happy

Also unref client objects in test code, and initalize logging,
to DEBUG by default.

10 years agoUnify GREEDY_REALLOC and GREEDY_REALLOC_T
Zbigniew Jędrzejewski-Szmek [Thu, 10 Apr 2014 13:48:59 +0000 (09:48 -0400)]
Unify GREEDY_REALLOC and GREEDY_REALLOC_T

greedy_realloc() and greedy_realloc0() now store the allocated
size as the count, not bytes.

Replace GREEDY_REALLOC uses with GREEDY_REALLOC_T everywhere,
and then rename GREEDY_REALLOC_T to GREEDY_REALLOC. It is just
too error-prone to have two slightly different macros which do the
same thing.

10 years agonetworkd: link - require both RUNNING and LOWER_UP before using link
Tom Gundersen [Sat, 12 Apr 2014 10:27:22 +0000 (12:27 +0200)]
networkd: link - require both RUNNING and LOWER_UP before using link

Usually RUNNING implies LOWER_UP, but for drivers that don't support oper state, RUNNING can
also mean that the state is unknown. In that case we should just trust LOWER_UP directly.

10 years agonetworkd: wait for IFF_RUNNING rather than IFF_LOWER_UP
Tom Gundersen [Sat, 12 Apr 2014 10:05:43 +0000 (12:05 +0200)]
networkd: wait for IFF_RUNNING rather than IFF_LOWER_UP

The interface is not fully ready until it enterns RUNNING. This was causing
problems with sending out DHCP messages before the interface was ready, so they
would get lost. In particular this affected DHCP INIT-REBOOT, as it relies on
the first package sent being successful (or it will fall back to a full reboot).

Also improve the logging a lot, to make future debugging of link state a lot
easier.

10 years agosd-dhcp-client: drop logging about T1/T2
Tom Gundersen [Sat, 12 Apr 2014 09:20:28 +0000 (11:20 +0200)]
sd-dhcp-client: drop logging about T1/T2

These are redundant now that the REQUEST messages contain the same information.

10 years agosd-dhcp-client: improve logging
Tom Gundersen [Fri, 11 Apr 2014 23:01:13 +0000 (01:01 +0200)]
sd-dhcp-client: improve logging

Specify what kind of REQUEST we send, and distinguish between REBOOT and START.
Also log stop reasons as strings rather than numbers.

10 years agosd-dhcp-client: use client_initialiez and client_restart for REBOOT
Tom Gundersen [Fri, 11 Apr 2014 22:34:05 +0000 (00:34 +0200)]
sd-dhcp-client: use client_initialiez and client_restart for REBOOT

10 years agonetworkd: add an assert
Tom Gundersen [Fri, 11 Apr 2014 21:57:18 +0000 (23:57 +0200)]
networkd: add an assert

This error should never happen, so replace the check with an assert. The check
was anyway broken due to an uninitialized return value.

Reported by Thomas Hindoe Paaboel Andersen <phomes@gmail.com>.

10 years agosd-dhcp-client: document message creation a bit more
Tom Gundersen [Fri, 11 Apr 2014 19:02:16 +0000 (21:02 +0200)]
sd-dhcp-client: document message creation a bit more

Also reshuffle some code to make the correspondence with the RFC a bit more
obvious.

Small functional change: fail if we try to send a message from the wrong state.

10 years agosd-dhcp-client: assert that we can only create DISCOVER or REQUEST messages
Tom Gundersen [Fri, 11 Apr 2014 17:54:04 +0000 (19:54 +0200)]
sd-dhcp-client: assert that we can only create DISCOVER or REQUEST messages

10 years agosd-dhcp-client: rebind raw socket when resetting transaction id
Tom Gundersen [Fri, 11 Apr 2014 16:02:54 +0000 (18:02 +0200)]
sd-dhcp-client: rebind raw socket when resetting transaction id

As we are now filtering the raw socket based on the transaction id, we must
reset the BPF when we reset the transaction id.

10 years agosd-ipv4ll: Add an explicit stop state for IPv4LL
Patrik Flykt [Wed, 9 Apr 2014 10:12:10 +0000 (13:12 +0300)]
sd-ipv4ll: Add an explicit stop state for IPv4LL

Add an explicit stop state for IPv4LL so that the user can stop the
IPv4LL client from the callback. When returning from the callback,
check also the stop state in order to halt any further protocol
processing.

10 years agosd-ipv4ll: Add reference counting for IPv4LL
Patrik Flykt [Wed, 9 Apr 2014 10:12:09 +0000 (13:12 +0300)]
sd-ipv4ll: Add reference counting for IPv4LL

Similar to DHCP, the IPv4LL library user can decide to free the LL
client any time the callback is called. Guard against freeing the
LL client in the callback by introducing proper reference counting.

Also update code using the IPv4LL library to properly handle a
returned NULL from the notify and stop functions if the IPv4LL
client was freed.

10 years agosd-dhcp-client: Add an explicit stop state for the DHCP client
Patrik Flykt [Wed, 9 Apr 2014 10:12:08 +0000 (13:12 +0300)]
sd-dhcp-client: Add an explicit stop state for the DHCP client

Add an explicit stop state for the DHCP client so that the library
user can issue a stop at any time the callback has been called.
When returning from the callback, check also the stop state and
stop any further DHCP processing.

10 years agosd-dhcp-client: Add reference counting for DHCP
Patrik Flykt [Wed, 9 Apr 2014 10:12:07 +0000 (13:12 +0300)]
sd-dhcp-client: Add reference counting for DHCP

The DHCP library user can decide to free the DHCP client any time
the callback is called. After the callback has been called, other
computations may still be needed - the best example being a full
restart of the DHCP procedure in case of lease expiry.

Fix this by introducing proper reference counting. Properly handle
a returned NULL from the notify and stop functions if the DHCP
client was freed.

10 years agosd-dhcp-client: recevie_message - verify cmsg_len before reading
Tom Gundersen [Thu, 10 Apr 2014 22:51:55 +0000 (00:51 +0200)]
sd-dhcp-client: recevie_message - verify cmsg_len before reading

10 years agosd-rtnl: use SO_PASSCRED
Tom Gundersen [Thu, 10 Apr 2014 22:04:39 +0000 (00:04 +0200)]
sd-rtnl: use SO_PASSCRED

This unifies the socket handling with other sd-* libraries.

10 years agobash completion: add -i/--image to nspawn
Thomas Hindoe Paaboel Andersen [Thu, 10 Apr 2014 22:48:19 +0000 (00:48 +0200)]
bash completion: add -i/--image to nspawn

10 years agobus: catch up with kdbus changes (ABI break)
Kay Sievers [Thu, 10 Apr 2014 20:27:23 +0000 (13:27 -0700)]
bus: catch up with kdbus changes (ABI break)

10 years agobus: update kdbus.h
Kay Sievers [Thu, 10 Apr 2014 20:02:35 +0000 (13:02 -0700)]
bus: update kdbus.h

10 years agotimedated: ignore initial delta in history data
Kay Sievers [Thu, 10 Apr 2014 19:58:10 +0000 (12:58 -0700)]
timedated: ignore initial delta in history data

10 years agosd-rtnl: don't drop multi-part messages
Tom Gundersen [Thu, 10 Apr 2014 17:40:48 +0000 (19:40 +0200)]
sd-rtnl: don't drop multi-part messages

We still only return the first message part in callback/synchronous calls.

10 years agosd-rtnl: use GREEDY_REALLOC for message queues
Tom Gundersen [Thu, 10 Apr 2014 17:00:30 +0000 (19:00 +0200)]
sd-rtnl: use GREEDY_REALLOC for message queues

10 years agosd-dhcp-client: test - fix for jenkins
Tom Gundersen [Thu, 10 Apr 2014 14:37:47 +0000 (16:37 +0200)]
sd-dhcp-client: test - fix for jenkins

This test should have been updated when changing the magic cookie handling around.

Reported by Ken MacLeod.

10 years agonspawn: Fix erroneous OOM when building group list
Philip Lorenz [Wed, 9 Apr 2014 17:08:45 +0000 (19:08 +0200)]
nspawn: Fix erroneous OOM when building group list

change_uid_gid() never initialises sz which may cause greedy_realloc to
skip the initial buffer allocation.

10 years agocgls: fix running with -M option
Lukas Nykryn [Thu, 10 Apr 2014 09:33:12 +0000 (11:33 +0200)]
cgls: fix running with -M option

systemd-machined doesn't store cgroup path in a state file anymore.
Let's figure it out from the scope.

10 years agologin: add 'mir' to the list of session types
David Herrmann [Wed, 9 Apr 2014 19:22:48 +0000 (21:22 +0200)]
login: add 'mir' to the list of session types

Add Mir to the list of session types. This is implemented for LightDM
in lp:~robert-ancell/lightdm/xdg-session-desktop [1].

[1] https://code.launchpad.net/~robert-ancell/lightdm/xdg-session-desktop/+merge/214108

(david: adjusted commit-header and fixed whitespace issues)

10 years agoDocument CONFIG_NET_NS as a required kernel option
Mike Gilbert [Mon, 31 Mar 2014 18:28:23 +0000 (14:28 -0400)]
Document CONFIG_NET_NS as a required kernel option

Several units now utilize the PrivateNetwork parameter, which requires
network namespace support.

10 years agonetworkd: guard against NULL pointers
Tom Gundersen [Tue, 8 Apr 2014 19:26:19 +0000 (21:26 +0200)]
networkd: guard against NULL pointers

This should never be a problem, but better be safe than sorry.

10 years agosd-dhcp-client: include client id in debug messages
Tom Gundersen [Mon, 7 Apr 2014 18:00:53 +0000 (20:00 +0200)]
sd-dhcp-client: include client id in debug messages

10 years agoman: reword Persistent= description
Zbigniew Jędrzejewski-Szmek [Tue, 8 Apr 2014 00:58:37 +0000 (20:58 -0400)]
man: reword Persistent= description

I think it is easier to grok this way.

10 years agotest-dhcp-client: style fixes
Zbigniew Jędrzejewski-Szmek [Tue, 8 Apr 2014 00:58:36 +0000 (20:58 -0400)]
test-dhcp-client: style fixes

10 years agobacklight: unify error messages
Zbigniew Jędrzejewski-Szmek [Tue, 8 Apr 2014 00:57:22 +0000 (20:57 -0400)]
backlight: unify error messages

10 years agolibsystemd-network: Speed up checksum computation using 64 bit integers
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.

10 years agoipv4ll: use BPF on raw socket
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.

10 years agosd-ipv4ll: fix packet broadcasting
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.'

10 years agosd-dhcp-client: improve BPF
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.

10 years agosd-dhcp-client: eagerly drop too small packets
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.

10 years agosd-dhcp-client: move magic cookie into DHCPMessage struct
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.

10 years agoudev: net_id - use constants rather than magic numbers
Tom Gundersen [Sun, 6 Apr 2014 16:00:26 +0000 (18:00 +0200)]
udev: net_id - use constants rather than magic numbers

10 years agojournal-remote-parse: avoid passing null to memchr
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

10 years agoreduce the amount of messages logged to /dev/kmsg when "debug" is specified
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

10 years agosystemd-python: fix failing assert
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.

10 years agosystemd-python: use .hex instead of .get_hex()
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

10 years agobuild-sys: add newly used if_link.h defines to missing.h
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>
10 years agoFix a few return codes in error paths
Zbigniew Jędrzejewski-Szmek [Thu, 3 Apr 2014 18:05:01 +0000 (14:05 -0400)]
Fix a few return codes in error paths

10 years agotty-ask-password-agent: return negative errno
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>
10 years agosystemctl: update NAME to PATTERN in help()
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().

10 years agologind: remove one cast
Zbigniew Jędrzejewski-Szmek [Tue, 1 Apr 2014 13:07:32 +0000 (09:07 -0400)]
logind: remove one cast

10 years agojournal: fix export of messages containing newlines
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".

10 years agojournalctl: free arg_file on exit
Zbigniew Jędrzejewski-Szmek [Sat, 29 Mar 2014 15:58:32 +0000 (11:58 -0400)]
journalctl: free arg_file on exit

10 years agobacklight: do nothing if max_brightness is 0
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.

10 years agobash_completion: busctl - add support for --user mode
Kay Sievers [Thu, 3 Apr 2014 01:00:44 +0000 (03:00 +0200)]
bash_completion: busctl - add support for --user mode

10 years agobash completion: Add -r/--recursive to systemctl
Thomas Hindoe Paaboel Andersen [Thu, 3 Apr 2014 20:52:21 +0000 (22:52 +0200)]
bash completion: Add -r/--recursive to systemctl

10 years agonetwork: default to IPv4LL on host0
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.

10 years agosd-rtnl: fix broken test cases and add support for tunnel
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]

10 years agonetworkd: smooth transition from ipv4ll to dhcp address
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.

10 years agonetworkd: drop routes when lease expires
Umut Tezduyar Lindskog [Tue, 1 Apr 2014 20:55:54 +0000 (22:55 +0200)]
networkd: drop routes when lease expires

10 years agologind: don't print error if devices vanish during ACL-init
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.

10 years agoudev: do not export "static node" tags for non-existing devices
Kay Sievers [Wed, 2 Apr 2014 13:47:09 +0000 (15:47 +0200)]
udev: do not export "static node" tags for non-existing devices

10 years agosd-dhcp-client: use BPF on raw socket
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>

10 years agobuild-sys: remove no longer needed user/org.freedesktop.DBus.busname
Kay Sievers [Wed, 2 Apr 2014 09:34:33 +0000 (11:34 +0200)]
build-sys: remove no longer needed user/org.freedesktop.DBus.busname

10 years agobuild-sys: no use for compat libs in the static analysis
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

10 years agosd-ipv4ll: speed up bind() in the same way as for dhcp
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

10 years agobuild-sys: workaround scan-build bug to fix ./autogen.sh s
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}

10 years agosd-dhcp-client: --omg-optimized
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>

10 years agonetworkd: rewind rtnl message between passing it to functions
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.

10 years agosd-rtnl: modernize a bit
Tom Gundersen [Mon, 31 Mar 2014 12:43:34 +0000 (14:43 +0200)]
sd-rtnl: modernize a bit

10 years agodoc: fix items' names in PORTING-DBUS1
Lukasz Skalski [Mon, 31 Mar 2014 09:34:42 +0000 (11:34 +0200)]
doc: fix items' names in PORTING-DBUS1

10 years agoTODO
Tom Gundersen [Mon, 31 Mar 2014 09:30:59 +0000 (11:30 +0200)]
TODO

10 years agonetworkd: link - fix memory leak
Tom Gundersen [Mon, 31 Mar 2014 08:04:32 +0000 (10:04 +0200)]
networkd: link - fix memory leak

10 years agonetworkd: fix use-after-free
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).

10 years agosd-rtnl: fix off-by-one
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

10 years agotimedated: adjust accuracy and slew values
Kay Sievers [Mon, 31 Mar 2014 02:00:04 +0000 (04:00 +0200)]
timedated: adjust accuracy and slew values

10 years agosd-dhcp: avoid checksum calculation if possible
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.