Lennart Poettering [Tue, 17 Dec 2013 01:43:38 +0000 (02:43 +0100)]
bus: install unit files for new driver service
Daniel Mack [Tue, 17 Dec 2013 12:45:02 +0000 (13:45 +0100)]
bus: sync with kdbus
kdbus_cmd_{ep,ns,bus}_make are now consolidated, and bloom_size has
become an item of the dynamically sized list.
Daniel Mack [Tue, 17 Dec 2013 11:25:20 +0000 (12:25 +0100)]
bus: sync up with kdbus
Lukasz Skalski [Tue, 17 Dec 2013 08:50:16 +0000 (09:50 +0100)]
bus-driverd: Fix unique name return in driver_get_name_owner
Tom Gundersen [Sat, 7 Dec 2013 22:23:18 +0000 (23:23 +0100)]
man: networkd - clarify Address/Gateway keys in [Network] section
Tom Gundersen [Sat, 7 Dec 2013 22:03:19 +0000 (23:03 +0100)]
networkd: add support for Route sections
Tom Gundersen [Wed, 4 Dec 2013 15:21:36 +0000 (16:21 +0100)]
networkd: correct logging message
Marc-Antoine Perennou [Tue, 17 Dec 2013 05:13:57 +0000 (14:13 +0900)]
rtnl: fix for 32bits
Commit
0a0dc69b655cfb10cab39133f5d521e7b35ce3d5 broke tests for 32 bits
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 04:58:51 +0000 (23:58 -0500)]
build-sys: fix distcheck
Shawn Landden [Mon, 16 Dec 2013 23:41:00 +0000 (15:41 -0800)]
journal: fix against (theoretical) undefined behavior
While all the libc implementations I know return NULL when memchr's size
parameter is 0, without accessing any memory, passing NULL to memchr is
still invalid:
C11 7.24.1p2: Where an argument declared as "size_t n" specifies the length
of the array for a function, n can have the value zero on a call to that
function. Unless explicitly stated otherwise in the description of a
particular function in this subclause, pointer arguments on such a call
shall still have valid values, as described in 7.1.4. On such a call, a
function that locates a character finds no occurrence, a function that
compares two character sequences returns zero, and a function that copies
characters copies zero characters.
see http://llvm.org/bugs/show_bug.cgi?id=18247
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 04:40:00 +0000 (23:40 -0500)]
man: describe journalctl --show-cursor
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:40:09 +0000 (22:40 -0500)]
bus-driverd: actually add --version
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:34:07 +0000 (22:34 -0500)]
systemctl: highlight filenames in cat
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:33:45 +0000 (22:33 -0500)]
systemctl: fix return value from cat
Zbigniew Jędrzejewski-Szmek [Tue, 17 Dec 2013 03:10:21 +0000 (22:10 -0500)]
man: reword awkward phrase
Zbigniew Jędrzejewski-Szmek [Mon, 16 Dec 2013 01:35:22 +0000 (20:35 -0500)]
bus: use gperf to map error string to errno
Kay Sievers [Tue, 17 Dec 2013 01:50:19 +0000 (02:50 +0100)]
bus: update kdbus.h
Lennart Poettering [Tue, 17 Dec 2013 00:57:27 +0000 (01:57 +0100)]
bus: when connecting to a container's system bus, double fork after joining the container's namespace
setns(CLONE_NEWPID) only applies to child processes, hence let's fork
once after joining the container's namespace.
Lennart Poettering [Tue, 17 Dec 2013 00:36:59 +0000 (01:36 +0100)]
build-sys: build bus-driverd if kdbus support is enabled
Lennart Poettering [Tue, 17 Dec 2013 00:03:09 +0000 (01:03 +0100)]
bus: when entering an existing namespace to connect to a container's system bus also switch over PID namespace
This is necessary to ensure that kdbus can collect creds of the
destination namespace when connecting.
Lennart Poettering [Tue, 17 Dec 2013 00:02:13 +0000 (01:02 +0100)]
core: always create /dev/kdbus/ns (and make it private 0700) after setting up the kdbus system bus
Thomas Hindoe Paaboel Andersen [Mon, 16 Dec 2013 22:35:30 +0000 (23:35 +0100)]
journal-file: protect against alloca(0)
Kay Sievers [Mon, 16 Dec 2013 22:25:32 +0000 (23:25 +0100)]
bus: fix typo in systemd-bus-proxyd
Daniel Mack [Fri, 29 Nov 2013 23:45:53 +0000 (00:45 +0100)]
Add bus-driverd
systemd-bus-driverd is a small daemon that connects to kdbus and
implements the org.freedesktop.DBus interface. IOW, it provides the bus
functions traditionally taken care for by dbus-daemon.
Calls are proxied to kdbus, either via libsystemd-bus (were applicable)
or with the open-coded use of ioctl().
Note that the implementation is not yet finished as the functions to
add and remove matches and to start services by name are still missing.
Lennart Poettering [Mon, 16 Dec 2013 20:26:21 +0000 (21:26 +0100)]
bus: when a busname unit refuses to activate a service it should flush the queue
Lennart Poettering [Mon, 16 Dec 2013 20:06:34 +0000 (21:06 +0100)]
bus: also mask dbus.service in generator if kdbus is found
Lennart Poettering [Mon, 16 Dec 2013 20:02:55 +0000 (21:02 +0100)]
units: properly make bus proxy socket of type Accept=yes
Lennart Poettering [Mon, 16 Dec 2013 19:53:55 +0000 (20:53 +0100)]
systemctl: properly initialize and free sd_bus_error in "systemctl cat"
We need to properly initialize all error structs before use and free
them after use.
Also, there's no point in flushing stdout if we output a \n anyway...
Lennart Poettering [Mon, 16 Dec 2013 19:39:44 +0000 (20:39 +0100)]
bus: fix symlink to bus proxy socket
Lennart Poettering [Mon, 16 Dec 2013 19:32:37 +0000 (20:32 +0100)]
bus: use GREEDY_REALLOC() when allocating message queues
Lennart Poettering [Mon, 16 Dec 2013 19:00:25 +0000 (20:00 +0100)]
bus: let's use GREEDY_REALLOC() when allocating space for containers
Lennart Poettering [Mon, 16 Dec 2013 19:00:09 +0000 (20:00 +0100)]
execute: also set SO_SNDBUF when spawning a service with stdout/stderr connected to journald
Tom Gundersen [Mon, 16 Dec 2013 18:31:50 +0000 (19:31 +0100)]
loopback-setup: remove stray hunk
Thomas Hindoe Paaboel Andersen [Mon, 16 Dec 2013 17:55:59 +0000 (18:55 +0100)]
network: more asserts to shut up scan-build
Kay Sievers [Mon, 16 Dec 2013 16:47:28 +0000 (17:47 +0100)]
kdbus.h: add alignment requirements
Tom Gundersen [Mon, 16 Dec 2013 13:37:51 +0000 (14:37 +0100)]
network: use SETLINK to bring up interfaces
Tom Gundersen [Sun, 15 Dec 2013 13:00:20 +0000 (14:00 +0100)]
rtnl: replace message_append by typesafe versions
Tom Gundersen [Fri, 6 Dec 2013 16:19:55 +0000 (17:19 +0100)]
rtnl: support interleaved reading and writing, and rewind
Tom Gundersen [Sat, 7 Dec 2013 20:18:44 +0000 (21:18 +0100)]
rtnl: simplify route_new()
Drop most of the arguments and instead introduce set_dst_prefixlen().
Tom Gundersen [Fri, 6 Dec 2013 17:16:16 +0000 (18:16 +0100)]
rtnl: simplify link_new()
Drop most of the arguments and instead introduce link_set_{flags,type}.
Tom Gundersen [Fri, 6 Dec 2013 14:20:36 +0000 (15:20 +0100)]
rtnl: match - only match on one type at a time
Tom Gundersen [Fri, 6 Dec 2013 14:13:34 +0000 (15:13 +0100)]
rtnl: clean up/add asserts
Tom Gundersen [Fri, 6 Dec 2013 15:26:17 +0000 (16:26 +0100)]
rtnl: add support for receiving route messages
Lennart Poettering [Mon, 16 Dec 2013 16:05:51 +0000 (17:05 +0100)]
bus: increase the bus socket buffer to 8 MB similar, to the log socket buffers
Lennart Poettering [Mon, 16 Dec 2013 16:05:42 +0000 (17:05 +0100)]
update TODO
Lennart Poettering [Mon, 16 Dec 2013 16:04:36 +0000 (17:04 +0100)]
util: try harder to increase the send/recv buffers of sockets
If we have the priviliges we will try SO_SNDBUFFORCE/SO_RCVBUFFORCE and
only fall back to SO_SNDBUF/SO_RCVBUF if that fails.
Zbigniew Jędrzejewski-Szmek [Mon, 16 Dec 2013 02:07:47 +0000 (21:07 -0500)]
catalog: fix language detection
Detection would fail if language was not specified in the filename
but a dot appeared somewhere higher in the path.
Lennart Poettering [Mon, 16 Dec 2013 03:59:31 +0000 (04:59 +0100)]
core: refuse doing %h, %s, %U specifier resolving in PID 1
These specifiers require NSS lookups to work, and we really shouldn't do
them from PID 1 hence. With this change they are now only supported for
user systemd instance, or when the configured user for a unit is root.
Lennart Poettering [Mon, 16 Dec 2013 03:43:42 +0000 (04:43 +0100)]
build-sys: warn if builds are not byte-by-byte reproducible due to usage of __DATE__ and suchlike
Colin Walters [Mon, 16 Dec 2013 01:23:23 +0000 (20:23 -0500)]
Fix segv introduced by
2fd069b18e525860514a70d3ea08410ca122d3e2
n->path is pointing to the value now, we set s = NULL above.
Lennart Poettering [Sun, 15 Dec 2013 23:04:40 +0000 (00:04 +0100)]
build-sys: add cppcheck target
This uses --enable=all mode. Should be taken with a grain of salt
though. While many recommendations make sense we should probably keep
"int r" always on function scope, and many of the portability warnings
really don't matter to us because we only care for Linux/glibc.
Zbigniew Jędrzejewski-Szmek [Sun, 15 Dec 2013 21:26:27 +0000 (16:26 -0500)]
Fix a few signed/unsigned format string issues
Since numbers involved are all small, behaviour was correct already.
https://bugzilla.redhat.com/show_bug.cgi?id=1043304
Zbigniew Jędrzejewski-Szmek [Sun, 15 Dec 2013 21:25:04 +0000 (16:25 -0500)]
Fix a few resource leaks in error paths
https://bugzilla.redhat.com/show_bug.cgi?id=1043304
Lennart Poettering [Sun, 15 Dec 2013 22:43:47 +0000 (23:43 +0100)]
bus: _printf_ attributes should be on prototypes not function definitions for non-static functions
Kay Sievers [Sun, 15 Dec 2013 15:56:28 +0000 (16:56 +0100)]
bus: update kdbus monitoring interface
Zbigniew Jędrzejewski-Szmek [Sun, 15 Dec 2013 04:09:14 +0000 (23:09 -0500)]
udev-builtin-path: fix printf specifiers
Zbigniew Jędrzejewski-Szmek [Sun, 15 Dec 2013 03:18:49 +0000 (22:18 -0500)]
bus: return negative errno on error
https://bugs.freedesktop.org/show_bug.cgi?id=72688
Thomas Hindoe Paaboel Andersen [Sun, 15 Dec 2013 01:29:38 +0000 (02:29 +0100)]
test-journal-syslog: use streq_ptr since we pass in NULL
Djalal Harouni [Sat, 14 Dec 2013 23:05:38 +0000 (00:05 +0100)]
systemctl: add the --plain option to the help message
Zbigniew Jędrzejewski-Szmek [Sat, 14 Dec 2013 22:30:25 +0000 (17:30 -0500)]
man: remove advice to avoid setting the same var more than once
So far the compatibility with .desktop settings hasn't been imporant
at all, and we do not want people to write convoluted unit
files.
Zbigniew Jędrzejewski-Szmek [Sat, 14 Dec 2013 22:21:55 +0000 (17:21 -0500)]
man: beef up ExecStart description
We have lots of questions from people who assume that shell syntax works
here, so let's be very explicit what is allowed and what is not. A few
examples should also help.
http://bugs.debian.org/732156
Shawn Landden [Sat, 14 Dec 2013 17:27:44 +0000 (09:27 -0800)]
build: use -ftrapv for development
We want to find these bugs if they exist.
Thomas Hindoe Paaboel Andersen [Sat, 14 Dec 2013 12:09:07 +0000 (13:09 +0100)]
Add more _printf_'s for format-nonliterals
Clang is a bit more strict wrt format-nonliterals:
http://clang.llvm.org/docs/LanguageExtensions.html#format-string-checking
Adding these extra printf attributes also makes gcc able to find more
problems. E.g. this patch uncovers a format issue in udev-builtin-path_id.c
Some parts looked intetional about breaking the format-nonliteral check.
I added some supression for warnings there.
Lennart Poettering [Sat, 14 Dec 2013 04:08:47 +0000 (05:08 +0100)]
event: some snake-oil to speed up impossible error checks
Lennart Poettering [Sat, 14 Dec 2013 04:08:15 +0000 (05:08 +0100)]
event: instead of reset the revents field when we get new revents data from epoll, OR it in
Lennart Poettering [Sat, 14 Dec 2013 04:07:13 +0000 (05:07 +0100)]
event: dynamically adjust size of events array instead of pre-allocating it possibly too large or too small
Lennart Poettering [Sat, 14 Dec 2013 04:06:40 +0000 (05:06 +0100)]
util: port last code over to new namespace utility calls
Lennart Poettering [Sat, 14 Dec 2013 04:04:49 +0000 (05:04 +0100)]
util: when joining a namespace make sure to reset all uids to 0 after
the transition
Lennart Poettering [Fri, 13 Dec 2013 21:02:47 +0000 (22:02 +0100)]
bus: when connecting to a container's kdbus instance, enter namespace first
Previously we'd open the connection in the originating namespace, which
meant most peers of the bus would not be able to make sense of the
PID/UID/... identity of us since we didn't exist in the namespace they
run in. However they require this identity for privilege decisions,
hence disallowing access to anything from the host.
Instead, when connecting to a container, create a temporary subprocess,
make it join the container's namespace and then connect from there to
the kdbus instance. This is similar to how we do it for socket
conections already.
THis also unifies the namespacing code used by machinectl and the bus
APIs.
Thomas Hindoe Paaboel Andersen [Fri, 13 Dec 2013 22:21:35 +0000 (23:21 +0100)]
getty-generator: fix stripping /dev/
Lennart Poettering [Fri, 13 Dec 2013 19:29:35 +0000 (20:29 +0100)]
bus: install systemd-bus-proxyd unit files for compatibility with dbus1
Lennart Poettering [Fri, 13 Dec 2013 19:36:02 +0000 (20:36 +0100)]
getty-generator: fix segfault when $container_ttys is not set
Lennart Poettering [Fri, 13 Dec 2013 16:39:52 +0000 (17:39 +0100)]
event: make gcc shut up
Lennart Poettering [Fri, 13 Dec 2013 16:33:20 +0000 (17:33 +0100)]
journal: downgrade comments about sd_journal_print_with_location()
Effectviely these calls are ABI anyway, so downgrade the comments a bit,
since it might actually be useful for language bindings to make use of
them.
Lennart Poettering [Fri, 13 Dec 2013 16:16:06 +0000 (17:16 +0100)]
update TODO
Lennart Poettering [Fri, 13 Dec 2013 16:15:05 +0000 (17:15 +0100)]
man: document that systemd-getty-generator can start additional container gettys on ptys
Lennart Poettering [Fri, 13 Dec 2013 15:37:58 +0000 (16:37 +0100)]
getty-generator: look add an environment variable $container_ttys set for PID 1 and start gettys on all ttys listed therein
Lennart Poettering [Fri, 13 Dec 2013 15:37:16 +0000 (16:37 +0100)]
nspawn: add new --setenv= switch to set an environment variable for the container to spawn
Lennart Poettering [Fri, 13 Dec 2013 15:01:54 +0000 (16:01 +0100)]
man: document more error codes for sd_bus_request_name()
Lukasz Skalski [Fri, 13 Dec 2013 11:12:24 +0000 (12:12 +0100)]
libsystemd-bus: the same error codes for sd_bus_release_name() (for kdbus and dbus1)
Due to this patch, sd_bus_release_name() function
returns the same code errors for kdbus and dbus1
if we try release non-existing name or foreign
name.
Lukasz Skalski [Fri, 13 Dec 2013 09:26:55 +0000 (10:26 +0100)]
build-sys: fix help text for --enable-kdbus
Lennart Poettering [Fri, 13 Dec 2013 04:14:47 +0000 (05:14 +0100)]
update TODO
Lennart Poettering [Fri, 13 Dec 2013 04:13:31 +0000 (05:13 +0100)]
bus: when a connection terminated use ECONNRESET as error
Lennart Poettering [Fri, 13 Dec 2013 04:12:46 +0000 (05:12 +0100)]
bus: rework how we attach fds to event loops
When trying a couple of addresses one after the other, make sure to
reattach the fds to the event loop.
Lennart Poettering [Fri, 13 Dec 2013 04:13:59 +0000 (05:13 +0100)]
event: add ability to change fd of an active event source
Lennart Poettering [Fri, 13 Dec 2013 03:14:25 +0000 (04:14 +0100)]
event: allow to query userdata and watchdog state
Zbigniew Jędrzejewski-Szmek [Fri, 13 Dec 2013 04:14:48 +0000 (23:14 -0500)]
man: add another nspawn example
Taken from https://bugs.freedesktop.org/show_bug.cgi?id=68369.
Lennart Poettering [Fri, 13 Dec 2013 03:03:30 +0000 (04:03 +0100)]
event: when unreffing an event source from its own handler, detach fd from epoll
The pattern of unreffing an IO event source and then closing its fd is
frequently seen in even source callbacks. Previously this likely
resultet in us removing the fd from the epoll after it was closed which
is problematic, since while we were dispatching we always kept an extra
reference to event source objects because we might still need it later.
Lennart Poettering [Fri, 13 Dec 2013 02:30:42 +0000 (03:30 +0100)]
event: be more conservative when returning errors from event handler callbacks
We really should return errors from event handlers if we have a
continous problem and don't know any other solution.
Lennart Poettering [Fri, 13 Dec 2013 01:43:35 +0000 (02:43 +0100)]
git: update .gitignore
Lennart Poettering [Fri, 13 Dec 2013 01:05:04 +0000 (02:05 +0100)]
namespace: include boot id in private tmp directories
This way it is easy to only exclude directories from the current boot
from automatic clean up in /var/tmp.
Also, pick a longer name for the directories so that are globs in
tmp.conf can be simpler yet equally accurate.
Lennart Poettering [Thu, 12 Dec 2013 21:21:25 +0000 (22:21 +0100)]
event: rework sd-event exit logic
With this change a failing event source handler will not cause the
entire event loop to fail. Instead, we just disable the specific event
source, log a message at debug level and go on.
This also introduces a new concept of "exit code" which can be stored in
the event loop and is returned by sd_event_loop(). We also rename "quit"
to "exit" everywhere else.
Altogether this should make things more robus and keep errors local
while still providing a way to return event loop errors in a clear way.
Lennart Poettering [Thu, 12 Dec 2013 21:18:09 +0000 (22:18 +0100)]
bus: fix make check
Lennart Poettering [Thu, 12 Dec 2013 21:17:38 +0000 (22:17 +0100)]
bus: properly parse NameOwnerChanged messages when caller explicitly wants to match against names coming/going
Lennart Poettering [Thu, 12 Dec 2013 21:01:40 +0000 (22:01 +0100)]
man: update sd_bus_request_name() man page
Lennart Poettering [Thu, 12 Dec 2013 20:25:47 +0000 (21:25 +0100)]
bus: make sure exit-on-idle logic works on kdbus systems that do not generate NameLost
Lennart Poettering [Thu, 12 Dec 2013 20:25:31 +0000 (21:25 +0100)]
bus: fix parsing of matches against empty strings
Thomas Hindoe Paaboel Andersen [Thu, 12 Dec 2013 22:08:47 +0000 (23:08 +0100)]
scan-build: silence some warnings
test-fileio/test-strv:
Use the streq_ptr to make build-scan not worry about passing in a null
to a nonnull function.
test-dhcp-option:
Prevent a theoretical null pointer dereference
Lennart Poettering [Thu, 12 Dec 2013 19:43:37 +0000 (20:43 +0100)]
bus: fix rewind logic
Lennart Poettering [Thu, 12 Dec 2013 19:16:06 +0000 (20:16 +0100)]
service: process watchdog timeouts with lowest priority