Commit graph

13511 commits

Author SHA1 Message Date
Lennart Poettering 23c3a89b89 tests: fix build 2013-12-18 02:54:16 +01:00
Daniel Mack ceceaf09f9 bus: sync with kdbus
Two new things here:

a) struct kdbus_notify_name_change now carries two struct
   kdbus_notify_id_change

b) a new KDBUS_CMD_BYEBYE ioctl that has no user yet in systemd
2013-12-18 00:20:55 +01:00
Tom Gundersen d638dee035 networkd: bridge - fix state machine
We were entering BRIDGE_STATE_CREATED rather than BRIDGE_STATE_READY.
2013-12-17 22:08:12 +01:00
Tom Gundersen ef1ba6065c networkd: link - remove useless states
Rework the state-machine a bit.
2013-12-17 22:08:12 +01:00
Tom Gundersen 22936833e1 networkd: rename link_update_flags to link_update
We are likely to track more than the flags in the future.
2013-12-17 22:08:12 +01:00
Thomas Hindoe Paaboel Andersen 2b49a47041 bus-util: return errors when encountered
Introduced in:
9f6eb1cd58
313333b403
2013-12-17 21:56:49 +01:00
Shawn Landden 919ce0b7af _noreturn_ --> noreturn for C11 compat
also define noreturn w/o <stdnoreturn.h>
2013-12-17 21:51:24 +01:00
Shawn Landden 73020ab241 util: no need for in_initrd() cache to be thread-local
the process only has one working directory, and a race is
harmless
2013-12-17 21:45:43 +01:00
Shawn Landden ec202eae8e __thread --> thread_local for C11 compat
Also make thread_local available w/o including <threads.h>.
(as the latter hasn't been implemented, but this part is trivial)
2013-12-17 21:45:43 +01:00
Lennart Poettering 06db8540cd update TODO 2013-12-17 21:45:43 +01:00
Lukasz Skalski 5232c42ec4 libsystemd-bus: true/false instead of yes/no in msg dump
Due to this patch, message dump (for message which includes boolean
type) is more consistent with dbus-send (which display true/false
instead of yes/no for boolean). It's only simple 'cosmetics change'.

** For dbus-send **

dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply / org.freedesktop.DBus.NameHasOwner string:org.freedesktop.login1

method return sender=org.freedesktop.DBus -> dest=:1.97 reply_serial=2
   boolean true

** For libsystemd-bus (without this patch) **

‣ Type=method_call  Endian=l  Flags=0  Version=2 Serial=8
  Destination=org.freedesktop.DBus  Path=/org/freedesktop/DBus  Interface=org.freedesktop.DBus  Member=NameHasOwner
  MESSAGE "s" {
  	STRING "org.freedesktop.login1";
  };

‣ Type=method_return  Endian=l  Flags=1  Version=2 Serial=51  ReplySerial=8
  Sender=:1.59  Destination=:1.67
  UniqueName=:1.59  WellKnownNames={org.freedesktop.DBus}
  MESSAGE "b" {
  	BOOLEAN yes;
  };

For me true/false seems to be better readable than yes/no for BOOLEAN.
2013-12-17 21:45:43 +01:00
Thomas Hindoe Paaboel Andersen 0d647f7f73 journal-file.c: remove redundant assignment of variable
we also do 'last_index = (uint64_t) -1;' at the end of the while
loop so there is no reason to also do it here.
2013-12-17 20:55:20 +01:00
Lennart Poettering c966ef4a76 bus: properly return an error code when release_name fails abnormally 2013-12-17 20:39:15 +01:00
Lukasz Skalski 3263ef39b8 bus-driverd: Fix return code in driver_request_name
RequestName return codes should be consistent with Dbus Specification.

VALUE - DESCRIPTION
1-The caller is now the primary owner of the name, replacing any previous owner,
2-The name already had an owner (QUEUE flag was not specified),
3-The name already has an owner (QUEUE flag was specified),
4-Application trying to request ownership of a name is already the owner of it.
2013-12-17 20:37:24 +01:00
Lennart Poettering a69f4254a8 journald: before closing /dev/kmsg let's unregister the event source 2013-12-17 20:02:21 +01:00
Lennart Poettering c0f71f469f journald: close /dev/kmsg again if we cannot make use of it 2013-12-17 19:57:46 +01:00
Lennart Poettering 445ea9be52 journald: downgrade warning message when /dev/kmsg does not exist 2013-12-17 19:57:46 +01:00
Patrik Flykt 97b9372db1 dhcp: Properly handle unsuccessful cases for DHCP Ack
Ignore DHCP Ack packets if they are found to be erroneous or have
an unexpected xid by setting the result to zero instead of propagating
an error. Also remember to report a DHCP Nak and stop the DHCP client.
2013-12-17 16:24:16 +01:00
Thomas Hindoe Paaboel Andersen 187dc6e554 udev link-config: add asserts to silence scan-build 2013-12-17 16:09:52 +01:00
Thomas Hindoe Paaboel Andersen 6a70535669 bus: removed unused variable in driverd
acked by Daniel Mack
2013-12-17 16:07:00 +01:00
Lennart Poettering 382aa8d036 bus: make driverd code more similar to other daemons, and make it exit on idle among other things 2013-12-17 15:45:31 +01:00
Lennart Poettering f83f897489 busctl: on kdbus the bus driver is a service like any other, hence don't skip it 2013-12-17 15:45:31 +01:00
Lennart Poettering e1c433c621 bus: remarshal messages when necessary before sending 2013-12-17 15:45:31 +01:00
Lennart Poettering 603938e0a9 activate: fix error checking on epoll_ctl() 2013-12-17 15:42:33 +01:00
Lennart Poettering 15e913230c bus: install unit files for new driver service 2013-12-17 15:42:33 +01:00
Daniel Mack 816a3f9ec5 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.
2013-12-17 13:45:02 +01:00
Daniel Mack 613ec4b836 bus: sync up with kdbus 2013-12-17 12:25:20 +01:00
Lukasz Skalski f92f3ff967 bus-driverd: Fix unique name return in driver_get_name_owner 2013-12-17 11:16:49 +01:00
Tom Gundersen a53692f7b4 man: networkd - clarify Address/Gateway keys in [Network] section 2013-12-17 09:24:57 +01:00
Tom Gundersen ae4c67a7c6 networkd: add support for Route sections 2013-12-17 09:24:57 +01:00
Tom Gundersen b0d27a2508 networkd: correct logging message 2013-12-17 09:24:57 +01:00
Marc-Antoine Perennou b9eaf3d1eb rtnl: fix for 32bits
Commit 0a0dc69b65 broke tests for 32 bits
2013-12-17 00:45:19 -05:00
Zbigniew Jędrzejewski-Szmek e7335f5491 build-sys: fix distcheck 2013-12-16 23:59:07 -05:00
Shawn Landden 08c6f819cb 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
2013-12-16 23:46:01 -05:00
Zbigniew Jędrzejewski-Szmek 7fd97d7829 man: describe journalctl --show-cursor 2013-12-16 23:40:10 -05:00
Zbigniew Jędrzejewski-Szmek a94200d0b4 bus-driverd: actually add --version 2013-12-16 23:21:51 -05:00
Zbigniew Jędrzejewski-Szmek c0fdf09885 systemctl: highlight filenames in cat 2013-12-16 23:21:51 -05:00
Zbigniew Jędrzejewski-Szmek c0ea486f6e systemctl: fix return value from cat 2013-12-16 23:21:51 -05:00
Zbigniew Jędrzejewski-Szmek 15f2a3a993 man: reword awkward phrase 2013-12-16 23:21:51 -05:00
Zbigniew Jędrzejewski-Szmek 0b6c04bb45 bus: use gperf to map error string to errno 2013-12-16 23:21:50 -05:00
Kay Sievers 6241164b73 bus: update kdbus.h 2013-12-17 02:50:19 +01:00
Lennart Poettering 5d6cf65f09 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.
2013-12-17 01:57:27 +01:00
Lennart Poettering cd49e2f664 build-sys: build bus-driverd if kdbus support is enabled 2013-12-17 01:36:59 +01:00
Lennart Poettering a4475f577b 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.
2013-12-17 01:05:37 +01:00
Lennart Poettering d003f514da core: always create /dev/kdbus/ns (and make it private 0700) after setting up the kdbus system bus 2013-12-17 01:05:37 +01:00
Thomas Hindoe Paaboel Andersen 4faa70046c journal-file: protect against alloca(0) 2013-12-16 23:37:38 +01:00
Kay Sievers eca7a27add bus: fix typo in systemd-bus-proxyd 2013-12-16 23:25:32 +01:00
Daniel Mack 294c866023 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.
2013-12-16 22:34:48 +01:00
Lennart Poettering 16ac401407 bus: when a busname unit refuses to activate a service it should flush the queue 2013-12-16 21:26:21 +01:00
Lennart Poettering 010b2b8d7a bus: also mask dbus.service in generator if kdbus is found 2013-12-16 21:06:57 +01:00