summaryrefslogtreecommitdiff
path: root/src/shared/dbus-common.c
AgeCommit message (Collapse)Author
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-10-13dbus-common: avoid leak in error pathZbigniew Jędrzejewski-Szmek
src/shared/dbus-common.c:968:33: warning: Potential leak of memory pointed to by 'l' return -EINVAL; ^~~~~~
2013-07-10systemctl: suppress error message when doing "systemctl daemon-reexec"Lennart Poettering
When we issue a reexecution request via the private socket we need to expect a "Disconnected" in addition to "NoReply" when the connection is terminated.
2013-06-09Allow for the use of @ in remote host callsDaniel Wallace
Without this you have to use %40 with the -H flag because dbus doesn't like the @ sign being unescaped.
2013-04-18Move bus_error to dbus-common and remove bus_error_message_or_strerrorSimon Peeters
bus_error and bus_error_message_or_strerror dit almost exactly the same, so use only one of them and place it in dbus-common.
2013-04-04util: make time formatting a bit smarterLennart Poettering
Instead of outputting "5h 55s 50ms 3us" we'll now output "5h 55.050003s". Also, while outputting the accuracy is configurable. Basically we now try use "dot notation" for all time values > 1min. For >= 1s we use 's' as unit, otherwise for >= 1ms we use 'ms' as unit, and finally 'us'. This should give reasonably values in most cases.
2013-03-22dbus: Do send out "replies" to signalsColin Walters
Some parts of systemd (at least the DBus activation codepath) "reply" to signals, which of course have the no-reply flag set. We will be defensive here and still send out a reply if we're passed a signal. Regression introduced by: c6a818c82035da91e Reported-by: Mantas Mikulėnas <grawity@gmail.com> Tested-by: Mantas Mikulėnas <grawity@gmail.com>
2013-02-13dbus: introduce parse_unit_infoMarc-Antoine Perennou
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-01-19unit: optionally allow making cgroup attribute changes persistentLennart Poettering
2012-11-20dbus-common: Add helper method to handle no-reply messagesColin Walters
[Tested in latest gnome-ostree; if accepted, I'll look at a followup patch which fixes the other dbus_connection_send(reply, ...) calls besides logind] DBus messages can have a flag NO_REPLY associated that means "I don't need a reply". This is for efficiency reasons - for one-off requests that can't return an error, etc. However, it's up to users to manually check dbus_message_get_no_reply() from a message. libdbus will happily send out a reply if you don't. Unfortunately, doing so is not just less efficient - it also triggers a security error, for complex reasons. This is something that will eventually be fixed in dbus, but it's also correct to handle it in client applications. This new helper API is slightly nicer in that you don't have to pass NULL to say you don't want a reply serial for your reply. This patch also tweaks logind to use the API - there are more areas of the code that need this treatment too.
2012-10-02selinux: rework selinux access check logicLennart Poettering
a) Instead of parsing the bus messages inside of selinux-access.c simply pass everything pre-parsed in the functions b) implement the access checking with a macro that resolves to nothing on non-selinux builds c) split out the selinux checks into their own sources selinux-util.[ch] d) this unifies the job creation code behind the D-Bus calls Manager.StartUnit() and Unit.Start().
2012-09-19systemctl: use automatic cleanupZbigniew Jędrzejewski-Szmek
Introduce a helper method to unref dbus messages and use it.
2012-09-17build-sys: __secure_getenv lost dunder in libc 2.17Zbigniew Jędrzejewski-Szmek
2012-09-14systemctl: show unit name when a job failsLennart Poettering
https://bugzilla.redhat.com/show_bug.cgi?id=845028 https://bugzilla.redhat.com/show_bug.cgi?id=846483
2012-09-10dbus: minor coding style fixesLennart Poettering
2012-09-03shared: in code that might get called from suid programs use ↵Lennart Poettering
__secure_getenv() rather than getenv() It's better to be safe than sorry.
2012-08-10systemctl: fix issue with systemctl daemon-reexecSimon Peeters
2012-08-08move bus_method_call_with_reply() to dbus-commonSimon Peeters
2012-07-26log.h: new log_oom() -> int -ENOMEM, use itShawn Landden
also a number of minor fixups and bug fixes: spelling, oom errors that didn't print errors, not properly forwarding error codes, few more consistency issues, et cetera
2012-07-25use "Out of memory." consistantly (or with "\n")Shawn Landden
glibc/glib both use "out of memory" consistantly so maybe we should consider that instead of this. Eliminates one string out of a number of binaries. Also fixes extra newline in udev/scsi_id
2012-07-17execute: support syscall filtering using seccomp filtersLennart Poettering
2012-07-16Spelling fixes.Ville Skyttä
2012-05-05logind: implement delay inhibitor locks in addition to block inhibitor locksLennart Poettering
This is useful to allow applications to synchronously save data before the system is suspended or shut down.
2012-04-16logind: add shutdown/suspend/idle inhibition frameworkLennart Poettering
2012-04-13watchdog: make watchdog dbus properties writableLennart Poettering
2012-04-13dbus: automatically send out changed events for properties written toLennart Poettering
2012-04-12move more common files to shared/ and add them to shared.laKay Sievers