chiark / gitweb /
elogind.git
11 years agojournald: rework auto-rotation logic
Lennart Poettering [Fri, 28 Sep 2012 13:42:34 +0000 (15:42 +0200)]
journald: rework auto-rotation logic

11 years agojournald: close sd_journal context after flushing to /var
Lennart Poettering [Fri, 28 Sep 2012 13:41:20 +0000 (15:41 +0200)]
journald: close sd_journal context after flushing to /var

11 years agotmpfiles: restore previous behavior for F/f
Dave Reisner [Fri, 28 Sep 2012 00:48:13 +0000 (20:48 -0400)]
tmpfiles: restore previous behavior for F/f

d4e9eb91ea changed the behavior for the F and f actions, wrongly sending
them to glob_item(). Restore the old behavior and shortcut straight to
write_one_file().

11 years agoman: correct the default logging rate limit to actually say what the code implements v193
Lennart Poettering [Fri, 28 Sep 2012 00:18:55 +0000 (02:18 +0200)]
man: correct the default logging rate limit to actually say what the code implements

11 years agobuild-sys: prepare 193
Lennart Poettering [Thu, 27 Sep 2012 23:34:38 +0000 (01:34 +0200)]
build-sys: prepare 193

11 years agojournal: add missing browse.html file
Lennart Poettering [Thu, 27 Sep 2012 22:59:10 +0000 (00:59 +0200)]
journal: add missing browse.html file

11 years agojournal: add minimal journal gateway daemon based on GNU libmicrohttpd
Lennart Poettering [Thu, 27 Sep 2012 22:46:32 +0000 (00:46 +0200)]
journal: add minimal journal gateway daemon based on GNU libmicrohttpd

This minimal HTTP server can serve journal data via HTTP. Its primary
purpose is synchronization of journal data across the network. It serves
journal data in three formats:

       text/plain: the text format known from /var/log/messages
       application/json: the journal entries formatted as JSON
       application/vnd.fdo.journal: the binary export format of the journal

The HTTP server also serves a small HTML5 app that makes use of the JSON
serialization to present the journal data to the user.

Examples:

This downloads the journal in text format:

 # systemctl start systemd-journal-gatewayd.service
 # wget http://localhost:19531/entries

Same for JSON:

 # curl -H"Accept: application/json" http://localhost:19531/entries

Access via web browser:

 $ firefox http://localhost:19531/

11 years agosd-journal: properly parse cursor strings
Lennart Poettering [Thu, 27 Sep 2012 21:28:54 +0000 (23:28 +0200)]
sd-journal: properly parse cursor strings

11 years agologs-show: various cleanups
Lennart Poettering [Thu, 27 Sep 2012 21:27:10 +0000 (23:27 +0200)]
logs-show: various cleanups

Among other cleanups this introduces a threshold for the size of binary
blobs we serialize as integer arrays in the JSON output. THis can be
disabled via --all.

11 years agojournalctl: add --cursor switch
Lennart Poettering [Thu, 27 Sep 2012 21:25:23 +0000 (23:25 +0200)]
journalctl: add --cursor switch

11 years agoupdate TODO
Lennart Poettering [Thu, 27 Sep 2012 15:18:13 +0000 (17:18 +0200)]
update TODO

11 years agobuild-sys: bump revision
Lennart Poettering [Thu, 27 Sep 2012 15:18:08 +0000 (17:18 +0200)]
build-sys: bump revision

11 years agoudev: don't let systemd-udev-settle delay basic.target
Tom Gundersen [Thu, 27 Sep 2012 14:36:44 +0000 (16:36 +0200)]
udev: don't let systemd-udev-settle delay basic.target

It is no longer possible to manually enable systemd-udev-settle.service,
so its only use is by legacy services explicitly pulling it in. It makes
sense for these services to also explicitly order themselves after
udev-settle.service, which makes After=basic.target redundant.

This should reduce the negative effect on boot-time of having to enable
legacy services such as lvm.service.

11 years agoudev: collect - use snprintf()
Robert Milasan [Thu, 27 Sep 2012 13:51:58 +0000 (15:51 +0200)]
udev: collect - use snprintf()

11 years agoudev: remove Install section from systemd-udev-settle.service
Kay Sievers [Thu, 27 Sep 2012 13:16:03 +0000 (15:16 +0200)]
udev: remove Install section from systemd-udev-settle.service

Legacy tool on-demand pull-in the settling, it should never run
by default, nothing orders against is anyway.

11 years agobuild-sys: prepare release 192 v192
Lennart Poettering [Tue, 25 Sep 2012 20:23:57 +0000 (22:23 +0200)]
build-sys: prepare release 192

11 years agoselinux: use standard D-Bus error id for access denied
Lennart Poettering [Mon, 24 Sep 2012 21:56:35 +0000 (23:56 +0200)]
selinux: use standard D-Bus error id for access denied

11 years agomacro: increase VA_FORMAT_ADVANCE type array and hit assert when it is reached
Lennart Poettering [Mon, 24 Sep 2012 21:42:29 +0000 (23:42 +0200)]
macro: increase VA_FORMAT_ADVANCE type array and hit assert when it is reached

11 years agojournal: also use new VA_FORMAT_ADVANCE() macro in sd_journal_send()
Lennart Poettering [Mon, 24 Sep 2012 21:42:03 +0000 (23:42 +0200)]
journal: also use new VA_FORMAT_ADVANCE() macro in sd_journal_send()

11 years agolog: fix repeated invocation of vsnprintf()/vaprintf() in log_struct()
Lennart Poettering [Mon, 24 Sep 2012 21:22:19 +0000 (23:22 +0200)]
log: fix repeated invocation of vsnprintf()/vaprintf() in log_struct()

https://bugs.freedesktop.org/show_bug.cgi?id=55213

11 years agoupdate TODO
Lennart Poettering [Mon, 24 Sep 2012 20:46:22 +0000 (22:46 +0200)]
update TODO

11 years agorules: only mark MD disks, not partitions, with SYSTEMD_READY=0
Kay Sievers [Mon, 24 Sep 2012 12:55:25 +0000 (14:55 +0200)]
rules: only mark MD disks, not partitions, with SYSTEMD_READY=0

11 years agojournald: always pass first entry timestamp back from journal_file_verify()
Lennart Poettering [Mon, 24 Sep 2012 13:02:43 +0000 (15:02 +0200)]
journald: always pass first entry timestamp back from journal_file_verify()

11 years agojournalctl: print correct timespan in verify
Mirco Tischler [Sat, 22 Sep 2012 19:45:31 +0000 (21:45 +0200)]
journalctl: print correct timespan in verify

The old code used a timestamp to print a timespan for unsealed journalfiles,
incorrectly showing things like 2230 days of unsealed entries. Print the timespan
between the first and last entry instead.

11 years agoutil: don't export parsed_columns
Lennart Poettering [Mon, 24 Sep 2012 12:43:07 +0000 (14:43 +0200)]
util: don't export parsed_columns

11 years agojournal: set seal even for readonly journalfiles
Mirco Tischler [Sat, 22 Sep 2012 19:45:30 +0000 (21:45 +0200)]
journal: set seal even for readonly journalfiles

journalctl needs to know wether the file has been sealed to
be able to do verification.

11 years agojournalctl: reset cached column count on SIGWINCH
Dave Reisner [Sat, 22 Sep 2012 16:50:27 +0000 (12:50 -0400)]
journalctl: reset cached column count on SIGWINCH

This requires a little bit of tip-toeing around to explicitly avoid
touching the environment from a sig handler. Instead, simply create a
function to reset the var to its "unset" state, allowing the next call
to columns() to recalculate and cache the new value.

11 years agomount: simplify device node conditions a bit
Lennart Poettering [Mon, 24 Sep 2012 10:48:46 +0000 (12:48 +0200)]
mount: simplify device node conditions a bit

11 years agomount: only run fsck for actual device nodes
Lennart Poettering [Mon, 24 Sep 2012 10:39:13 +0000 (12:39 +0200)]
mount: only run fsck for actual device nodes

11 years agomain: don't try to mout cpuset with cpu+cpuacct anymore
Lennart Poettering [Mon, 24 Sep 2012 09:35:51 +0000 (11:35 +0200)]
main: don't try to mout cpuset with cpu+cpuacct anymore

Turns out cpuset needs explicit initialization before we could make use
of it. Thus mounting cpuset with cpu/cpuacct would make it impossible to
just create a group in "cpu" and start it.

11 years agoRevert "comment out uncommitted test source code"
Lennart Poettering [Mon, 24 Sep 2012 08:19:23 +0000 (10:19 +0200)]
Revert "comment out uncommitted test source code"

This reverts commit b8bc868009372deb2f30263322572723e5968842.

Added the test file now.

11 years agojournal: add missing test file
Lennart Poettering [Mon, 24 Sep 2012 08:18:10 +0000 (10:18 +0200)]
journal: add missing test file

11 years agoNEWS: fix some typos
Lennart Poettering [Sun, 23 Sep 2012 17:19:22 +0000 (19:19 +0200)]
NEWS: fix some typos

11 years agocomment out uncommitted test source code
Kay Sievers [Sun, 23 Sep 2012 12:31:53 +0000 (14:31 +0200)]
comment out uncommitted test source code

11 years agoudev: free fd before return in accelerometer.c
Lukas Nykryn [Fri, 21 Sep 2012 11:03:00 +0000 (13:03 +0200)]
udev: free fd before return in accelerometer.c

11 years agoudev: free fd before return in scsi_serial.c
Lukas Nykryn [Fri, 21 Sep 2012 11:01:29 +0000 (13:01 +0200)]
udev: free fd before return in scsi_serial.c

11 years agoudev: free rule structure on error
Václav Pavlín [Fri, 21 Sep 2012 12:54:30 +0000 (14:54 +0200)]
udev: free rule structure on error

11 years agoudev: check return value of write
Václav Pavlín [Fri, 21 Sep 2012 11:51:45 +0000 (13:51 +0200)]
udev: check return value of write

11 years agoudev: check return value of symlink
Václav Pavlín [Fri, 21 Sep 2012 10:52:08 +0000 (12:52 +0200)]
udev: check return value of symlink

11 years agolibudev: check return value of rename
Václav Pavlín [Fri, 21 Sep 2012 10:40:29 +0000 (12:40 +0200)]
libudev: check return value of rename

11 years agoudev: check malloc return in collect/collect.c
Václav Pavlín [Fri, 21 Sep 2012 10:17:23 +0000 (12:17 +0200)]
udev: check malloc return in collect/collect.c

Returns from no memory checks updated with log_oom call

11 years agobash-completion: fix whitespace
Dave Reisner [Fri, 14 Sep 2012 02:54:01 +0000 (22:54 -0400)]
bash-completion: fix whitespace

Use spaces for indentation instead of tabs.

11 years agobash-completion: add rumidentary support for journalctl
Dave Reisner [Fri, 14 Sep 2012 02:49:42 +0000 (22:49 -0400)]
bash-completion: add rumidentary support for journalctl

11 years agojournal: bring mmap cache prototype in sync
Lennart Poettering [Fri, 21 Sep 2012 22:16:13 +0000 (00:16 +0200)]
journal: bring mmap cache prototype in sync

11 years agobuild-sys: prepare release 191 v191
Lennart Poettering [Fri, 21 Sep 2012 21:05:10 +0000 (23:05 +0200)]
build-sys: prepare release 191

11 years agojournal: always keep marked mmap windows around
Lennart Poettering [Fri, 21 Sep 2012 21:33:22 +0000 (23:33 +0200)]
journal: always keep marked mmap windows around

11 years agomissing: Fix compilation error due to wrong __NR_name_to_handle_at definition
Eelco Dolstra [Fri, 21 Sep 2012 16:55:51 +0000 (12:55 -0400)]
missing: Fix compilation error due to wrong __NR_name_to_handle_at definition

"__NR_name_to_handle" should read "__NR_name_to_handle_at".  This
fixes a compilation error on systems with older kernel headers.

11 years agojournald: log how big the journal files may grow
Lennart Poettering [Fri, 21 Sep 2012 20:50:26 +0000 (22:50 +0200)]
journald: log how big the journal files may grow

11 years agojournalctl: make the argument to -n optional
Lennart Poettering [Fri, 21 Sep 2012 20:33:02 +0000 (22:33 +0200)]
journalctl: make the argument to -n optional

11 years agojournal: completely rework the mmap cache as I too dumb to actually understand it
Lennart Poettering [Fri, 21 Sep 2012 18:52:23 +0000 (20:52 +0200)]
journal: completely rework the mmap cache as I too dumb to actually understand it

Instead of doing hand optimized fd bisect arrays just use plain old
hashmaps. Now I can understand my own code again. Yay!

As a side effect this should fix some bad memory accesses caused by
accesses after mmap(), introduced in 189.

11 years agomulti-seat-x: drop a lot of unnecessary code
Lennart Poettering [Fri, 21 Sep 2012 15:03:18 +0000 (17:03 +0200)]
multi-seat-x: drop a lot of unnecessary code

11 years agosysctl: always return the last error we encountered
Lennart Poettering [Fri, 21 Sep 2012 15:01:39 +0000 (17:01 +0200)]
sysctl: always return the last error we encountered

11 years agonspawn: document why we don't check resolv.conf mount errors
Lennart Poettering [Fri, 21 Sep 2012 14:55:56 +0000 (16:55 +0200)]
nspawn: document why we don't check resolv.conf mount errors

11 years agonspawn: we can't overmount /etc/localtime anymore since it's usually a symlink now
Lennart Poettering [Fri, 21 Sep 2012 14:54:54 +0000 (16:54 +0200)]
nspawn: we can't overmount /etc/localtime anymore since it's usually a symlink now

Create the right symlink if possible for /etc/localtime

11 years agohwclock: add missing OOM check
Lennart Poettering [Fri, 21 Sep 2012 14:29:09 +0000 (16:29 +0200)]
hwclock: add missing OOM check

11 years agopam: document that we don't do error checking when parsing vtnr
Lennart Poettering [Fri, 21 Sep 2012 14:17:22 +0000 (16:17 +0200)]
pam: document that we don't do error checking when parsing vtnr

11 years agojournal: don't allow journal_file_open() to be called with ret being NULL
Lennart Poettering [Fri, 21 Sep 2012 14:16:39 +0000 (16:16 +0200)]
journal: don't allow journal_file_open() to be called with ret being NULL

11 years agologin: missing break for getopt ARG_NO_ASK_PASSWORD in loginctl
Lukas Nykryn [Fri, 21 Sep 2012 10:33:32 +0000 (12:33 +0200)]
login: missing break for getopt ARG_NO_ASK_PASSWORD in loginctl

11 years agosysctl: fix error code handling
Lukas Nykryn [Fri, 21 Sep 2012 10:30:56 +0000 (12:30 +0200)]
sysctl: fix error code handling

After  if (r <= 0) r can't  be 0 so
if (k < 0 && r == 0) never happens.

11 years agomodules-load: initalize files to null
Václav Pavlín [Fri, 21 Sep 2012 13:03:28 +0000 (15:03 +0200)]
modules-load: initalize files to null

11 years agolocale: make sure that l is freed
Václav Pavlín [Fri, 21 Sep 2012 13:00:43 +0000 (15:00 +0200)]
locale: make sure that l is freed

11 years agologin: check return value of session_get_idle_hint
Václav Pavlín [Fri, 21 Sep 2012 11:38:40 +0000 (13:38 +0200)]
login: check return value of session_get_idle_hint

11 years agologind: check return value, log warning on error
Václav Pavlín [Fri, 21 Sep 2012 11:01:39 +0000 (13:01 +0200)]
logind: check return value, log warning on error

11 years agocgtop: missing '-'
Václav Pavlín [Fri, 21 Sep 2012 10:04:02 +0000 (12:04 +0200)]
cgtop: missing '-'

Return codes in systemd are negated and
if (r < 0)  if (r == ENOENT)
        was never true.

11 years agomulti-seat-x: drop framebuffer specific stuff, as we have a DRM driver now
Dave Airlie [Fri, 21 Sep 2012 13:53:10 +0000 (15:53 +0200)]
multi-seat-x: drop framebuffer specific stuff, as we have a DRM driver now

11 years agoRevert "multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat...
Lennart Poettering [Fri, 21 Sep 2012 13:51:04 +0000 (15:51 +0200)]
Revert "multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now"

This reverts commit 636d30a0895f17eca8313d50f9b2fc1ec5e128da.

Turns out we will need the multi-seat wrapper a bit longer, however
without the fb-specific bits in it.

11 years agologind: split up HandleSleepKey= into HandleSuspendKey= and HandleHibernateKey=
Lennart Poettering [Fri, 21 Sep 2012 13:44:14 +0000 (15:44 +0200)]
logind: split up HandleSleepKey= into HandleSuspendKey= and HandleHibernateKey=

The kernel and X11 distuingish these two, and Thinkpad keys have both,
hence we really should distinguish them too.

11 years agomulti-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics...
Lennart Poettering [Fri, 21 Sep 2012 10:46:22 +0000 (12:46 +0200)]
multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now

11 years agocore: call va_end in all cases
Lukas Nykryn [Fri, 21 Sep 2012 08:23:08 +0000 (10:23 +0200)]
core: call va_end in all cases

11 years agoshared: call va_end in all cases
Lukas Nykryn [Fri, 21 Sep 2012 08:22:46 +0000 (10:22 +0200)]
shared: call va_end in all cases

11 years agologind: allow users to override their own suspend/sleep inhibitors
Lennart Poettering [Fri, 21 Sep 2012 09:57:48 +0000 (11:57 +0200)]
logind: allow users to override their own suspend/sleep inhibitors

11 years agoupdate TODO
Lennart Poettering [Thu, 20 Sep 2012 21:00:44 +0000 (23:00 +0200)]
update TODO

11 years agofix typo in NEWS
Lennart Poettering [Thu, 20 Sep 2012 20:50:26 +0000 (22:50 +0200)]
fix typo in NEWS

11 years agoupdate TODO v190
Lennart Poettering [Thu, 20 Sep 2012 18:52:19 +0000 (20:52 +0200)]
update TODO

11 years agotimedated: /etc/sysconfig/clock is dead on Fedora, remove it
Lennart Poettering [Thu, 20 Sep 2012 18:51:18 +0000 (20:51 +0200)]
timedated: /etc/sysconfig/clock is dead on Fedora, remove it

11 years agotypo fix
Lennart Poettering [Thu, 20 Sep 2012 17:58:31 +0000 (19:58 +0200)]
typo fix

11 years agofix typos
Lennart Poettering [Thu, 20 Sep 2012 17:12:23 +0000 (19:12 +0200)]
fix typos

11 years agoupdate TODO
Lennart Poettering [Thu, 20 Sep 2012 17:00:26 +0000 (19:00 +0200)]
update TODO

11 years agobuild-sys: prepare v190
Lennart Poettering [Thu, 20 Sep 2012 16:54:20 +0000 (18:54 +0200)]
build-sys: prepare v190

11 years agoutil: fix overflow checks
Lennart Poettering [Thu, 20 Sep 2012 15:53:03 +0000 (17:53 +0200)]
util: fix overflow checks

11 years agobuild-sys: require certain version of libselinux
Jan Engelhardt [Thu, 20 Sep 2012 08:20:49 +0000 (10:20 +0200)]
build-sys: require certain version of libselinux

./.libs/libsystemd-core.a(libsystemd_core_la-selinux-access.o):
In function "selinux_access_check":
src/core/selinux-access.c:487: undefined reference to
"selinux_check_access"

11 years agoutil: overflow hardening
Lennart Poettering [Thu, 20 Sep 2012 09:08:27 +0000 (11:08 +0200)]
util: overflow hardening

11 years agoutil: make sure heap allocators fail when array allocations are out of bounds
Lennart Poettering [Wed, 19 Sep 2012 22:02:01 +0000 (00:02 +0200)]
util: make sure heap allocators fail when array allocations are out of bounds

https://bugzilla.redhat.com/show_bug.cgi?id=858777

11 years agojournald: don't accept arbitrarily sized journal data fields
Lennart Poettering [Wed, 19 Sep 2012 20:51:28 +0000 (22:51 +0200)]
journald: don't accept arbitrarily sized journal data fields

https://bugzilla.redhat.com/show_bug.cgi?id=858746

11 years agoutil: define union dirent_storage and make use of it everywhere
Lennart Poettering [Wed, 19 Sep 2012 20:21:09 +0000 (22:21 +0200)]
util: define union dirent_storage and make use of it everywhere

Make sure to allocate enough space for readdir_r().

https://bugzilla.redhat.com/show_bug.cgi?id=858754

11 years agoutil: fix bad strstrip() return value in normalize_env_assignment()
Lennart Poettering [Wed, 19 Sep 2012 20:01:31 +0000 (22:01 +0200)]
util: fix bad strstrip() return value in normalize_env_assignment()

https://bugzilla.redhat.com/show_bug.cgi?id=858780

11 years agopath: support specifier resolvin in .path units
Lennart Poettering [Wed, 19 Sep 2012 18:09:27 +0000 (20:09 +0200)]
path: support specifier resolvin in .path units

11 years agolibudev: remove dead code
Kay Sievers [Wed, 19 Sep 2012 17:35:47 +0000 (19:35 +0200)]
libudev: remove dead code

11 years agotimedated: unregister the right bus service
Lennart Poettering [Wed, 19 Sep 2012 17:09:22 +0000 (19:09 +0200)]
timedated: unregister the right bus service

https://bugzilla.redhat.com/show_bug.cgi?id=858771

11 years agoupdate TODO
Lennart Poettering [Wed, 19 Sep 2012 13:46:43 +0000 (15:46 +0200)]
update TODO

11 years agologind: if a lid-switch lock was taken while the lid was closed, recheck lid status...
Lennart Poettering [Wed, 19 Sep 2012 13:42:29 +0000 (15:42 +0200)]
logind: if a lid-switch lock was taken while the lid was closed, recheck lid status when the lock is released

11 years agologind: properly parse handle-lid-switch inhibitor
Lennart Poettering [Wed, 19 Sep 2012 13:29:24 +0000 (15:29 +0200)]
logind: properly parse handle-lid-switch inhibitor

11 years agoman: document new inhibitor types
Lennart Poettering [Wed, 19 Sep 2012 13:28:55 +0000 (15:28 +0200)]
man: document new inhibitor types

11 years agologind: rework power key/suspend key/lid switch handling
Lennart Poettering [Wed, 19 Sep 2012 11:10:10 +0000 (13:10 +0200)]
logind: rework power key/suspend key/lid switch handling

http://lists.freedesktop.org/archives/systemd-devel/2012-September/006604.html
https://bugzilla.gnome.org/show_bug.cgi?id=680689

This changes the meaning of the
HandlePowerKey=/HandleSleepKey=/HandleLidSwitch= setting of logind.conf

11 years agojournal: when comparing two entries from separate files make sure we reposition the...
Lennart Poettering [Wed, 19 Sep 2012 07:56:00 +0000 (09:56 +0200)]
journal: when comparing two entries from separate files make sure we reposition the mmap window

The mmap cache doesn't guarantee that we can look at two files at the
same time. Hence make sure to look at the entries to compare one
after the other, instead of at the same time when comparing them, and
reposition the window in between.

11 years agomount: reword directory empty warning a bit
Lennart Poettering [Wed, 19 Sep 2012 07:55:56 +0000 (09:55 +0200)]
mount: reword directory empty warning a bit

11 years agosystemctl: warn about triggering units only at the end
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 20:03:34 +0000 (22:03 +0200)]
systemctl: warn about triggering units only at the end

Instead of checking each unit separately, check once at the end. This
should avoid spurious warnings about a service being triggerable by
other stuff.

11 years agosystemctl: properly report success
Zbigniew Jędrzejewski-Szmek [Wed, 19 Sep 2012 06:15:07 +0000 (08:15 +0200)]
systemctl: properly report success

Systemctl would always return 1, because it treated uninteresting dbus
messages ("job added") as errors. Just ignore everything apart from
interesting ("job removed") messages.

11 years agosystemctl: use automatic cleanup once more
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 18:37:15 +0000 (20:37 +0200)]
systemctl: use automatic cleanup once more

Semantics are slightly different, because before unit_name_mangle
returning NULL was ignored, and now it is reported as oom. But
unit_name_mangle only returns NULL on oom.

11 years agosystemctl: use automatic cleanup
Zbigniew Jędrzejewski-Szmek [Tue, 18 Sep 2012 18:22:57 +0000 (20:22 +0200)]
systemctl: use automatic cleanup

Introduce a helper method to unref dbus messages and use it.