https://bugs.freedesktop.org/show_bug.cgi?id=19195
We were previously using -Wno-format because we didn't have
a #define for DBUS_INT64_MODIFIER, which was really lame because
it easily hid problems.
For now, just define it if we're on glibc; this is obviously
not strictly correct but it's safe, because the formatting
is only used in DBUS_VERBOSE mode, and in tools/dbus-monitor.
Ideally we get the the glib code relicensed.
In practice, ay seems to be used mostly for binary data (in which case,
hex output is fine) or for Unix file paths (because they may be
non-UTF-8) and similar human-readable strings. So let's print the latter
similarly to strings.
Previously dbus_message_iter_get_arg_type() was called twice: once in
the loop condition to update 'current_type', and once to check if the
loop will run again. This patch moves updating current_type to the end
of the loop body.
The current SIGINT handling of dbus-monitor ain't making too many people
happy since it defers the exit to the next msg received -- which might
be quite some time away often enough.
This patch replaces the SIGINT handling by simply enabling line-buffered
IO for STDOUT so that even if you redirect dbus-monitor into a file no
lines get accidently lost and the effect of C-c is still immediate.
halfline came up with the great idea to use setvbuf here instead of
fflush()ing after each printf().
(Oh and the old signal handler was broken anyway, the flag should have
been of type sigatomic_t and be marked volatile)
Signed-off-by: Colin Walters <walters@verbum.org>
This patch makes various things that should be static static,
corrects some "return FALSE" where it should be NULL, etc.
Signed-off-by: Colin Walters <walters@verbum.org>
Working on SELinux policy for X, and came across this issue in dbus-launch:
Windows created for use as property/selection placeholders should be of
class InputOnly, since no drawing is ever done to them.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
Signed-off-by: Thiago Macieira <thiago@kde.org>
* tools/dbus-monitor.c: take out the trailing comma in the
ProfileAttributeFlags enum as it isn't in our style guides and causes
some compilers to error out
This reverts commit a689ef29f1.
Conflicts:
ChangeLog
* Turns out I reversed a patch that was alread committed but the bug had not
been closed. Since the patch was applied before I also reverted the
mention of Jérémie in the AUTHORS list mainly for license book keeping
sanity.
* tools/dbus-send.c (append_dict): Send in signature when opening up
a dict entry container
* AUTHORS: Add Jérémie to AUTHORS file since it was a slightly above
trivial fix
2008-03-27 Havoc Pennington <hp@redhat.com>
* tools/dbus-send.c (append_dict): Do not provide a signature to
dbus_message_iter_open_container() when opening a dict entry.
2007-11-23 Sjoerd Simons <sjoerd@luon.net>
* tools/dbus-launch.c: let both a normal dbus-launch and an
autolaunched bus save their parameters in X11 if possible. This makes
the autolaunch and non-autolaunch behaviour more similar. With the
exception that on a normal launch there will always be a new session
bus and not being able to save parameters is not fatal. This also
enables to launch programs directly with autolaunch (not very usefull
though).
2007-09-13 Ryan Lortie <desrt@desrt.ca>
migrate from cvs to git (cvs2svn -> git-svnimport).
* HACKING: update release/branch/tag instructions
* */.cvsignore: rename to .gitignore
also, clean up tags and branch names to conform to HACKING
* tools/dbus-launch-x11.c (set_address_in_x11): fix from Michael
Lorenz to use long not int with XChangeProperty format 32
* dbus/dbus-sysdeps-util-unix.c
(_dbus_write_pid_to_file_and_pipe): factor this out, and use the
same code in _dbus_become_daemon (where the parent writes the pid
file and to the pid pipe) and in bus_context_new (where the daemon
writes its own pid file and to its own pid pipe)
* bus/bus.c (bus_context_new): close the pid pipe after we print
to it. Also, don't write the pid to the pipe twice when we fork,
someone reported this bug a long time ago.
* tools/dbus-launch.c (do_close_stderr): fix C89 problem and
formatting problem
* Mostly fix the DBusPipe mess.
- put line break after function return types
- put space before parens
- do not pass structs around by value
- don't use dbus_strerror after calling supposedly cross-platform
api
- don't name pipe variables "fd"
- abstract special fd numbers like -1 and 1
output and add it to the DBusError message we return.
* tools/dbus-launch.1:
* tools/dbus-launch.c: Add option --close-stderr to, well,
close stderr before starting dbus-daemon.
* dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
UUID had the timestamp last, but the implementation had it first;
move it to last since I think it's a tiny bit nicer (easier to
compare at a glance, faster to sort, less code), and will not
cause any practical compatibility problems. Also, always convert
the timestamp to big endian.
* doc/dbus-specification.xml: Clean up the docs on the UUID.
* tools/dbus-uuidgen.1: more prominently say it is not suitable
as a replacement for regular uuidgen/RFC4122.
_dbus_list_get_next_link so we don't get stuck in an infinite loop
(start_busconfig_child): move processing of standard_session_servicedirs
tags here because they have no content
(bus_config_parser_content): check we don't have content in
standard_session_servicedirs tag
* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
Packagers need to own this directory
check if get_machine_uuid() returns NULL before proceeding any
further: we can't init the X atoms or create a session file
name if there is no machine ID.
This solves a crash reported by some users if
--exit-with-session was used without --autolaunch=<machine-id>
if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
* tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
before we run dbus-launch
* configure.in: define TEST_BUS_BINARY to be the full path to
dbus-daemon in the build root