summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-11-21bus: rework message handlers to always take an error argumentLennart Poettering
Message handler callbacks can be simplified drastically if the dispatcher automatically replies to method calls if errors are returned. Thus: add an sd_bus_error argument to all message handlers. When we dispatch a message handler and it returns negative or a set sd_bus_error we send this as message error back to the client. This means errors returned by handlers by default are given back to clients instead of rippling all the way up to the event loop, which is desirable to make things robust. As a side-effect we can now easily turn the SELinux checks into normal function calls, since the method call dispatcher will generate the right error replies automatically now. Also, make sure we always pass the error structure to all property and method handlers as last argument to follow the usual style of passing variables for return values as last argument.
2013-11-21hostnamed: modernizationsLennart Poettering
2013-11-21manager: always sort environment block, it's prettierLennart Poettering
2013-11-21bus: the :no-sender hack is now unnecessary, since the new library doesn't ↵Lennart Poettering
require this anymore
2013-11-21networkd: make sure Network and Link can always be freedTom Gundersen
Also, don't fail a link just because we can't find its MAC address.
2013-11-21networkd: avoid segfaultTom Gundersen
2013-11-21src/core/selinux-access: #include <sys/socket.h>Daniel Mack
Fixes the following build errors on Fedora 20: CC src/core/libsystemd_core_la-selinux-access.lo src/core/selinux-access.c: In function 'get_audit_data': src/core/selinux-access.c:245:22: error: storage size of 'ucred' isn't known struct ucred ucred; ^ src/core/selinux-access.c:259:9: warning: implicit declaration of function 'getsockopt' [-Wimplicit-function-declaration] r = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &len); ^ src/core/selinux-access.c:259:28: error: 'SOL_SOCKET' undeclared (first use in this function) r = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &len); ^ src/core/selinux-access.c:259:28: note: each undeclared identifier is reported only once for each function it appears in src/core/selinux-access.c:259:40: error: 'SO_PEERCRED' undeclared (first use in this function) r = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &len); ^ src/core/selinux-access.c:245:22: warning: unused variable 'ucred' [-Wunused-variable] struct ucred ucred; ^ make[2]: *** [src/core/libsystemd_core_la-selinux-access.lo] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
2013-11-21bus: update kdbus.hKay Sievers
2013-11-21networkd: don't filter on udev tagsTom Gundersen
This removed the requirement for devices to be tagged with 'systemd-networkd' before they will be visible to networkd. Still, as by default we don't ship any .network files, network devices will simply be tracked, but not touched, unless the admin configures things explicitly.
2013-11-21efi-boot-generator: don't mount /boot eagerlyTom Gundersen
2013-11-21bus: fix seriliazation of activation errorsLennart Poettering
2013-11-21bus: rename SD_BUS_ERROR_MAKE to SD_BUS_ERROR_MAKE_CONST to indicate it only ↵Lennart Poettering
works for const strings
2013-11-21bus: let's simplify things by getting rid of unnecessary bus parametersLennart Poettering
2013-11-21bus: add API calls to escape string components of objects pathsLennart Poettering
2013-11-21sd-event: try to move timer wakeups to the same spot within each minuteLennart Poettering
2013-11-21socket: fix segfaultLennart Poettering
2013-11-20valgrind: make running PID 1 in valgrind usefulLennart Poettering
Since valgrind only generates useful output on exit() (rather than exec()) we need to explicitly exit when valgrind is detected.
2013-11-20nspawn: add new --drop-capability= switchLennart Poettering
2013-11-20event: make sure to possibly disarm the timerfds before we reenter epoll_waitLennart Poettering
2013-11-20event: don't disarm invalid timerfdLennart Poettering
2013-11-20bus: make sure an additional ref to a busevent source doesn't cause the ↵Lennart Poettering
event source to be triggered again
2013-11-20event: whenever a time source changes pending state reshuffle elapsation prioqsLennart Poettering
2013-11-20event: when we change the io events to watch we need to figure out if a an ↵Lennart Poettering
event is pending again
2013-11-20sd-event: fix comparison functionsLennart Poettering
2013-11-20manager: don't do plymouth in a containerLennart Poettering
Given that plymouth listens on an abstract namespace socket and if CLONE_NEWNET is not used the abstract namespace is shared with the host we might actually end up send plymouth data to the host.
2013-11-20busctl: when no match is specified, add default matchLennart Poettering
2013-11-20bus: add color and indentation to bus_message_dump()Lennart Poettering
2013-11-20core: convert PID 1 to libsystemd-busLennart Poettering
This patch converts PID 1 to libsystemd-bus and thus drops the dependency on libdbus. The only remaining code using libdbus is a test case that validates our bus marshalling against libdbus' marshalling, and this dependency can be turned off. This patch also adds a couple of things to libsystem-bus, that are necessary to make the port work: - Synthesizing of "Disconnected" messages when bus connections are severed. - Support for attaching multiple vtables for the same interface on the same path. This patch also fixes the SetDefaultTarget() and GetDefaultTarget() bus calls which used an inappropriate signature. As a side effect we will now generate PropertiesChanged messages which carry property contents, rather than just invalidation information.
2013-11-20hashmap: be a bit more conservative with pre-allocating hash tables and itemsLennart Poettering
2013-11-20install: when determining where default.target points to, accept a file ↵Lennart Poettering
instead of a symlink, too
2013-11-20test: exit early if we would conflict with running user systemdLennart Poettering
2013-11-20bus: add sd_bus_send_to() API callLennart Poettering
2013-11-20bus: bump serial number counter when sending already sealed messagesLennart Poettering
2013-11-20bus: sd_bus_error_setxyz calls should always return the error as errno style ↵Lennart Poettering
negative int
2013-11-20libudev: always return NULL in _unref() APIsLennart Poettering
Returning anything else but NULL would suggest the caller's reference might still be valid, but it isn't, because the caller just invoked _unref() after all. This turns the return value into a typesafe shortcut that allows unreffing and resetting a reference in one line. In contrast to solutions for this which take a pointer to a pointer to accomplish the same this solution is just syntactic sugar the developer can make use of but doesn't have to, and this is particularly useful when immediately unreffing objects returned by function calls.
2013-11-20libudev: always return valid negative error codes on API functionsLennart Poettering
2013-11-20calendar: support 'yearly' and 'annually' names the same way as cronLennart Poettering
2013-11-20hwclock: modernizationsLennart Poettering
2013-11-20macro: add _unlikely_() to assert_return()Lennart Poettering
As the name indicates assert_return() is really just for assertions, i.e. where it's a programming error if the assertion does not hold. Hence it is safe to add _unlikely_() decorators for the expression to check.
2013-11-20macro: change assert_cc() so that it can appear outside of functionsLennart Poettering
2013-11-20include: make direct includion of _sd-common.h harderLennart Poettering
2013-11-20install: use const where we canLennart Poettering
2013-11-20conf-parser: don't leak section namesTom Gundersen
If we encounter an unknown section, we must free the previous section before clearing the pointer.
2013-11-20event: clear pending-state when re-arming timersDavid Herrmann
If a timer fires and is marked pending, but an application re-arms it before it is dispatched, we now clear the pending state. This fixes a bug where an application arms a timer, which fires and is marked pending. But before it is dispatched, the application loses interest in it and disables it. Now if the timer is re-armed and re-enabled later, it will be immediately dispatched as it is still marked pending. This behavior is unexpected, so avoid it by clearing pending state when re-arming timers. Note that applications have no way to clear pending state themselves, so there's no current workaround.
2013-11-20bus: fix error-path in bus_map_all_properties()David Herrmann
We shouldn't return positive integers on errors. Fix the typo by removing the negation.
2013-11-20bus/rtnl: silence clang warningsThomas Hindoe Paaboel Andersen
2013-11-19networkd: make sure Links and Networks are freedTom Gundersen
2013-11-18localed: match converted keymaps before legacyZbigniew Jędrzejewski-Szmek
Before, X11 keymap fr-pc105-oss would be converted to fr, even though fr-oss exists. Now, if /usr/lib/kbd/keymaps/xkb/<layout>[-<variant>].map[.gz] exists, <layout>[-<variant>] will be used as the console keymap, falling back to the legacy mappings otherwise. % sudo localectl set-x11-keymap pl pc105 % localectl System Locale: LANG=en_US.UTF-8 VC Keymap: pl (was pl2 before) X11 Layout: pl X11 Model: pc105 % sudo localectl set-x11-keymap fr pc105 oss % localectl System Locale: LANG=en_US.UTF-8 VC Keymap: fr-oss (was fr before) X11 Layout: fr X11 Model: pc105 X11 Variant: oss % sudo localectl set-x11-keymap fr pc105 % localectl System Locale: LANG=en_US.UTF-8 VC Keymap: fr X11 Layout: fr X11 Model: pc105 % sudo localectl set-x11-keymap gb % localectl System Locale: LANG=en_US.UTF-8 VC Keymap: gb (was uk before) X11 Layout: gb
2013-11-18localed: use _cleanup_Zbigniew Jędrzejewski-Szmek
2013-11-18Remove duplicate includesKarel Zak