1 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
3 * patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
5 * dbus/dbus-connection.c (dbus_connection_send_with_reply):
6 fix possible crash if pending_return is NULL (FDO Bug #12673)
8 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
10 * portions of patch submitted by Tim Mooney
11 <enchanter at users dot sourceforge dot net>
13 * configure.in: never auto-select libxml (FDO Bug #12479)
15 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
17 * patches by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
19 * dbus/dbus-sysdeps-unix (_dbus_get_autolaunch_address): handle OOM
22 * dbus/dbus-uuidgen.c (return_uuid): handle OOM (FDO Bug #12928)
24 * dbus/dbus-misc.c (dbus_get_local_machine_id): handle OOM, fix return
25 value to return NULL not FALSE (FDO Bug #12946)
27 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
29 * bus/bus.c (bus_context_check_security_policy): rewrite selinux error
30 handling to not abort due to a NULL read and to set the error only if
31 it is not already set (Based off of FDO Bug #12430)
33 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
35 * patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
37 * dbus/dbus-internals.c (_dbus_read_uuid_file_without_creating,
38 _dbus_create_uuid_file_exclusively): add OOM handling (FDO Bug #12952)
40 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
42 * patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
44 * dbus/dbus-spawn.c (babysit, babysitter_iteration): add error
45 handling when polling (FDO Bug #12954)
47 2008-01-15 John (J5) Palmieri <johnp@redhat.com>
49 * patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
51 * bus/config-parser.c (locate_attributes): remove dead code which
52 always evaluated to TRUE
54 * dbus/dbus-shell.c (_dbus_shell_quote): remove unused code
56 2008-01-14 John (J5) Palmieri <johnp@redhat.com>
58 * patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
60 * bus/connection.c (bus_connection_complete): plug a possible
61 BusClientPolicy leak (FDO Bug #13242)
63 2008-01-14 John (J5) Palmieri <johnp@redhat.com>
65 * patch by Frederic Crozat <fcrozat at mandriva dot com> (FDO Bz#
70 * bus/Makefile.am: add inotify module to the build
72 * bus/dir-watch-inotify.c: inotify module based off the dnotify and
75 * configure.in: add checks and switch for inotify
76 also add a printout at the end of configure if inotify and kqueue
77 support is being built in (dnotify already had this)
79 2008-01-14 John (J5) Palmieri <johnp@redhat.com>
81 * patch by Frederic Crozat <fcrozat at mandriva dot com>
83 * bus/dir-watch-dnotify.c (bus_watch_directory): watch for file
86 2008-01-14 John (J5) Palmieri <johnp@redhat.com>
88 * patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
90 * dbus/dbus-transport-socket.c(do_reading): return message
91 loader buffer in case of OOM (FDO Bug#12666)
93 2008-01-14 John (J5) Palmieri <johnp@redhat.com>
95 * configure.in: add warning to output when libxml is selected since
96 we don't have a libxml maintainer and expat works perfectly fine
97 for what we need an xml parser for
99 2008-01-14 John (J5) Palmieri <johnp@redhat.com>
101 * Patch by Andrea Luzzardi <scox at sig11 dot org>: creates a
102 _dbus_geteuid function to fix EXTERNAL authentication in setuid
105 * dbus/dbus-sysdeps-unix.c (_dbus_geteuid): used to get the effective
106 uid of the running program
107 (_dbus_credentials_add_from_current_process): use geteuid instead of
109 (_dbus_append_user_from_current_process): use geteuid instead of
112 * dbus/dbus-sysdeps-util-unix.c (_dbus_change_to_daemon_user): use
113 geteuid instead of getuid
114 (_dbus_unix_user_is_at_console): use geteuid instead of getuid
116 * dbus/dbus-sysdeps-win.c (_dbus_geteuid): add a windows equivilant
117 that returns DBUS_UID_UNSET
119 2007-12-18 Havoc Pennington <hp@redhat.com>
121 * dbus/dbus-connection.c (_dbus_connection_block_pending_call):
122 fix location of curly braces
124 2007-11-23 Sjoerd Simons <sjoerd@luon.net>
126 * tools/dbus-launch.c: let both a normal dbus-launch and an
127 autolaunched bus save their parameters in X11 if possible. This makes
128 the autolaunch and non-autolaunch behaviour more similar. With the
129 exception that on a normal launch there will always be a new session
130 bus and not being able to save parameters is not fatal. This also
131 enables to launch programs directly with autolaunch (not very usefull
134 2007-10-31 Havoc Pennington <hp@redhat.com>
136 * bus/selinux.c (log_audit_callback): rewrite to use
137 _dbus_string_copy_to_buffer_with_nul()
139 * dbus/dbus-string.c (_dbus_string_copy_to_buffer): change to NOT
140 nul-terminate the buffer; fail an assertion if there is not enough
141 space in the target buffer. This fixes two bugs where
142 copy_to_buffer was used to copy the binary bytes in a UUID, where
143 nul termination did not make sense. Bug reported by David Castelow.
144 (_dbus_string_copy_to_buffer_with_nul): new function that always
145 nul-terminates the buffer, and fails an assertion if there is not
146 enough space in the buffer.
148 2007-10-23 Havoc Pennington <hp@redhat.com>
150 * bus/bus.c (bus_context_new): use the new name here
152 * bus/selinux.c (bus_selinux_audit_init): rename from audit_init()
153 to avoid possible libc conflict, and declare it in .h file to
156 2007-10-19 Havoc Pennington <hp@redhat.com>
158 * bus/bus.c (bus_context_new): put audit_init() in HAVE_SELINUX
160 2007-10-19 Havoc Pennington <hp@redhat.com>
162 * bus/bus.c (bus_context_new): put the audit_init() in here
163 instead, which I believe ends up being the same as where it was
164 before, though I'm not sure I understand why it goes here.
166 * dbus/dbus-sysdeps-util-unix.c (_dbus_change_to_daemon_user):
167 remove audit_init() from here, this file can't depend on code in
170 2007-10-16 Simon McVittie <simon.mcvittie@collabora.co.uk>
172 * configure.in: *Actually* fix detection of i486 atomic ops -
173 my previous attempt at a fix would always enable them due to wrong
174 quoting. Patch from Colin Walters <walters@verbum.org>
176 2007-10-11 Simon McVittie <simon.mcvittie@collabora.co.uk>
178 * configure.in: enable Autoconf's AC_C_INLINE to avoid compilation
179 failure with gcc -ansi
180 * dbus/dbus-macros.h, dbus/dbus-arch-deps.h.in: Use new macro
181 _DBUS_GNUC_EXTENSION (the same as G_GNUC_EXTENSION) to avoid -ansi
182 warnings about use of "long long".
183 * dbus/dbus-server-socket.c: remove unused variable when assertions
185 * dbus/dbus-marshal-validate.c: avoid empty statements by removing
187 * tools/dbus-launch.c: convert C++-style comment to C-style, add {}
189 * .gitignore: ignore vi swapfiles
190 * dbus/dbus-errors.h, dbus/dbus-errors.c: Add DBUS_ERROR_INIT macro,
191 equivalent to calling dbus_error_init() on an uninitialized DBusError
192 * dbus/dbus-address.c, dbus/dbus-auth-script.c, dbus/dbus-auth-util.c,
193 dbus/dbus-connection.c, dbus/dbus-internals.c, dbus/dbus-keyring.c,
194 dbus/dbus-message-util.c, dbus/dbus-server.c, dbus/dbus-sha.c,
195 dbus/dbus-spawn-win.c, dbus/dbus-spawn.c,
196 dbus/dbus-sysdeps-util-win.c, dbus/dbus-transport-socket.c,
197 dbus/dbus-transport.c, dbus/dbus-userdb.c: use that macro instead of
198 calling dbus_error_init() where it's clearly equivalent
199 * configure.in, dbus/dbus-sysdeps.h, dbus/dbus-sysdeps-unix.c: Fix
200 detection of i486 atomic ops. Previously, the attempts to determine
201 support at compile-time on Darwin were causing the i486 atomic ops to
202 be used on *all* i386 or x86-64 GCC builds (AH_VERBATIM can't be
203 conditionalized like we were trying to).
205 2007-10-10 Simon McVittie <simon.mcvittie@collabora.co.uk>
207 * dbus/dbus-errors.c, dbus/dbus-protocol.h: Add new error
208 org.freedesktop.DBus.Error.ObjectPathInUse
209 * dbus/dbus-object-tree.h, dbus/dbus-object-tree.c,
210 dbus/dbus-connection.c, dbus/dbus-connection.h: add new functions
211 dbus_connection_try_register_object_path and
212 dbus_connection_try_register_fallback, which raise ObjectPathInUse
213 rather than asserting, to make object path registration less painful
215 * .gitignore: add various things that weren't in .cvsignore because
216 CVS implicitly ignored them; generally bring up to date
218 2007-10-09 John (J5) Palmieri <johnp@redhat.com>
220 * tools/run-with-tmp-session-bus.sh: Fix env exports for better
222 * tools/dbus-send.1: Document syntax for container types in dbus-send
223 man file (#9553) - patch from Jack Spaar <jspaar at
224 users.sourceforge.net>
226 [Both OK for MIT/X11 relicensing -smcv]
228 2007-10-09 Simon McVittie <simon.mcvittie@collabora.co.uk>
230 * doc/dbus-specification.xml: Specifically forbid empty structs (#7969)
231 * doc/dbus-specification.xml: Patches from Kristoffer Lundén to clarify
232 description of DBUS_COOKIE_SHA1 (#10184) and allowable contents of a
233 variant (#10185, amended as per Havoc's comments)
235 [All of the above are OK for MIT/X11 licensing]
237 2007-10-03 John (J5) Palmieri <johnp@redhat.com>
239 * dbus/dbus-internals.h: fd.o bug #11678 Don't error out if compiler
240 does not support vararg macros. _dbus_verbose is the only function
241 that does this so make it a noop if vararg macros are not supported
242 * bus/selinux.c, dbus/dbus-sysdeps-util-unix.c: fd.o bug #12429
243 Reverse check to setpcap and only init audit if we were root
244 (patch by Dan Walsh <dwalsh@redhat.com>,
245 https://bugs.freedesktop.org/show_bug.cgi?id=12429). Reverse
246 we_were_root check to setpcap if we were root. Also only init audit
247 if we were root. So error dbus message will not show up when policy
248 reload happens. dbus -session will no longer try to send audit
249 message, only system will.
250 * configure.in: fd.o bug #11872 improve linker test for --gc-sections.
251 Patch by Tim Mooney <enchanter at users.sourceforge.net>
252 * configure.in, dbus/dbus-sysdeps.c: fd.o bug #11872 fix clearenv for
253 systems that do not have it. Patch from Brian Cameron <brian.cameron
255 * tools/dbus-launch.c: fd.o bug #12547 remove superfluous if.
256 Also convert tabs to spaces
257 * configure.in, bus/Makefile.am, dbus/Makefile.am: Correctly implement
258 -fPIC and -fPIE. For security reasons we want possition independent
259 code for libraries and possition independent executable for
260 executables. Before we were just enabling -fPIC. Now we correctly
261 enable -fPIC and -PIE for libdbus and the bus respectively. Proper
262 LD_FLAGS are set for each also.
264 2007-09-20 Ryan Lortie <desrt@desrt.ca>
266 Add argument path matching support. Bug #11066.
268 * dbus/signals.c (struct DBusMatchRule, bus_match_rule_new,
269 bus_match_rule_set_arg, bus_match_rule_parse_arg_match,
270 match_rule_matches): Add support for parsing and matching on
271 arg0path='/some/path' type rules.
273 * dbus/signals.h (bus_match_rule_set_arg): change to take const
274 DBusString instead of const char * for the string to match against.
276 * dbus/dbus-bus.c: add a quick note to dbus_bus_add_match
277 documentation about the path matching.
279 * doc/dbus-specification.xml: add a more detailed description of the
282 2007-09-19 Ryan Lortie <desrt@desrt.ca>
284 Add support for compacting DBusStrings to release wasted memory.
286 * dbus/dbus-string.[ch] (compact, _dbus_string_compact,
287 _dbus_string_lock): new compact function to free up allocated memory
288 that is no longer used.
290 * dbus/dbus-message.c (load_message): call _dbus_string_compact on the
291 message loader buffer.
293 * dbus/dbus-transport-socket.c (do_reading, do_writing): call
294 _dbus_string_compact on the incoming/outgoing "encoded" buffers.
296 * dbus/dbus-string-util.c (_dbus_string_test): add a few tests for
299 2007-09-13 Ryan Lortie <desrt@desrt.ca>
301 * HACKING: add more explicit git branch/tag instructions
303 2007-09-13 Ryan Lortie <desrt@desrt.ca>
305 migrate from cvs to git (cvs2svn -> git-svnimport).
307 * HACKING: update release/branch/tag instructions
308 * */.cvsignore: rename to .gitignore
310 also, clean up tags and branch names to conform to HACKING
312 2007-08-17 William Jon McCann <mccann@jhu.edu>
314 * update-dbus-docs.sh: upload DTD to server
316 2007-08-17 Havoc Pennington <hp@redhat.com>
318 * tools/dbus-launch-x11.c (set_address_in_x11): fix from Michael
319 Lorenz to use long not int with XChangeProperty format 32
321 * dbus/dbus-sysdeps-util-unix.c
322 (_dbus_write_pid_to_file_and_pipe): factor this out, and use the
323 same code in _dbus_become_daemon (where the parent writes the pid
324 file and to the pid pipe) and in bus_context_new (where the daemon
325 writes its own pid file and to its own pid pipe)
327 * bus/bus.c (bus_context_new): close the pid pipe after we print
328 to it. Also, don't write the pid to the pipe twice when we fork,
329 someone reported this bug a long time ago.
331 2007-08-03 Havoc Pennington <hp@redhat.com>
333 * configure.in: add major/minor/micro version number AC_SUBST
335 * dbus/dbus-arch-deps.h.in (DBUS_MAJOR_VERSION,
336 DBUS_MINOR_VERSION, DBUS_MICRO_VERSION, DBUS_VERSION_STRING,
337 DBUS_VERSION): collection of macros to get version of library we
338 are compiled against.
340 * dbus/dbus-misc.c (dbus_get_version): new function, to get
341 version of library we are linked against at runtime.
343 2007-07-30 Havoc Pennington <hp@redhat.com>
345 * bus/activation-helper.c (check_bus_name): don't use
346 _dbus_check_valid_bus_name() which is only around with
347 --enable-checks, instead use _dbus_validate_bus_name().
348 Bug #11766 from Diego <diego@pemas.net>
350 2007-07-27 Havoc Pennington <hp@redhat.com>
352 * configure.in: post-release version bump
354 2007-07-27 Havoc Pennington <hp@redhat.com>
358 2007-07-26 Havoc Pennington <hp@redhat.com>
360 * bus/config-parser-trivial.c (check_return_values): disable a
361 test that hardcoded the bus user's name
363 * bus/dispatch.c (bus_dispatch_test_conf): remove the "if
364 (!use_launcher)" around the tests, they were only failing because
365 we didn't pass through all the expected errors from the helper.
367 * bus/activation-exit-codes.h
368 (BUS_SPAWN_EXIT_CODE_CHILD_SIGNALED): add a code for child segfaulting
369 (BUS_SPAWN_EXIT_CODE_GENERIC_FAILURE): make "1" be a generic
370 failure code, so if a third party launch helper were written it
371 could just always return 1 on failure.
373 2007-07-24 Daniel P. Berrange <dan@berrange.com>
375 * bus/dbus-daemon.1: Add docs on new syntax options for the bus
378 * dbus/dbus-address.c: Allow * in addresses (for binding to all
381 * dbus/dbus-sysdeps.h:
382 * dbus/dbus-sysdeps-unix.c: Re-write to use getaddrinfo instead
383 of gethostbyname to enable protocol independant name lookup,
386 * dbus/dbus-server-socket.h:
387 * dbus/dbus-server-socket.c: Add support for 'family' in the
388 address string to specify ipv4 vs ipv6. Use a port string to
389 allow for service resolution. Allow for binding to multiple
390 sockets at once in case of dual IPv4 & IPv6 stacks.
392 * dbus/dbus-server-unix.c: Pass in an array of file descriptors
393 instead of a single one.
395 * dbus/dbus-transport-socket.h:
396 * dbus/dbus-transport-socket.c: Add support for 'family' in the
397 address string to specify ipv4 vs ipv6. Use a port string to
398 allow for service resolution.
400 2007-07-24 Havoc Pennington <hp@redhat.com>
402 * configure.in: add AM_PROG_CC_C_O to allow per-target CPPFLAGS
404 * bus/dispatch.c (bus_dispatch_test_conf): Fix up setting
405 TEST_LAUNCH_HELPER_CONFIG to include the full path, and enable
406 test shell_fail_service_auto_start when use_launcher==TRUE
408 * bus/activation-helper-bin.c (convert_error_to_exit_code): pass
409 through the INVALID_ARGS error so the test suite works
411 * bus/activation.c (handle_activation_exit_error): return
412 DBUS_ERROR_NO_MEMORY if we get BUS_SPAWN_EXIT_CODE_NO_MEMORY
414 * dbus/dbus-spawn.c (_dbus_babysitter_get_child_exit_status):
415 return only the exit code of the child, not the entire thingy from
416 waitpid(), and make the return value indicate whether the child
417 exited normally (with a status code)
419 * bus/bus.c (process_config_first_time_only): _dbus_strdup works
420 on NULL so no need to check
421 (process_config_every_time): move servicehelper init here, so we
422 reload it on HUP or config file change
424 * bus/Makefile.am (install-data-hook): remove comment because
425 Emacs make mode seems to be grumpy about it
427 2007-07-24 Richard Hughes <richard@hughsie.com>
430 * bus/test-system.c: (die), (check_memleaks), (test_pre_hook),
431 (test_post_hook), (main):
432 Add back the test-system.c file - not sure now this got ignored in the
435 2007-07-24 Richard Hughes <richard@hughsie.com>
438 Use ustar to generate the tarball; this fixes the make distcheck
439 problem when the data files do not fit in the archive:
440 tar: dbus-1.1.2/test/data/valid-service-files/org.freedesktop.DBus.
441 TestSuiteShellEchoServiceFail.service.in: file name is too
442 long (max 99); not dumped
444 We have to have the 'long' names as the service helper matches by
445 filename rather than by the name in the service file.
447 2007-07-24 Richard Hughes <richard@hughsie.com>
451 * test/data/invalid-service-files-system/org.freedesktop.DBus.TestS
452 uiteNoExec.service.in:
453 * test/data/invalid-service-files-system/org.freedesktop.DBus.TestS
454 uiteNoService.service.in:
455 * test/data/invalid-service-files-system/org.freedesktop.DBus.TestS
456 uiteNoUser.service.in:
457 * test/data/valid-config-files-system/debug-allow-all-fail.conf.in:
458 * test/data/valid-config-files-system/debug-allow-all-pass.conf.in:
459 * test/data/valid-config-files/debug-allow-all-sha1.conf.in:
460 * test/data/valid-config-files/debug-allow-all.conf.in:
461 * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
462 teEchoService.service.in:
463 * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
464 teSegfaultService.service.in:
465 * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
466 teShellEchoServiceFail.service.in:
467 * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
468 teShellEchoServiceSuccess.service.in:
469 * test/data/valid-service-files/debug-echo.service.in:
470 * test/data/valid-service-files/debug-segfault.service.in:
471 * test/data/valid-service-files/debug-shell-echo-fail.service.in:
472 * test/data/valid-service-files/debug-shell-echo-success.service.in:
473 * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoS
475 * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfa
476 ultService.service.in:
477 * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShell
478 EchoServiceFail.service.in:
479 * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShell
480 EchoServiceSuccess.service.in:
481 Add the data files needed by the system activation unit checks.
483 2007-07-24 Richard Hughes <richard@hughsie.com>
485 * bus/dispatch.c: (check_segfault_service_no_auto_start),
486 (check_launch_service_file_missing),
487 (check_launch_service_user_missing),
488 (check_launch_service_exec_missing),
489 (check_launch_service_service_missing), (bus_dispatch_test_conf),
490 (bus_dispatch_test_conf_fail), (bus_dispatch_test):
491 Add unit tests for system activation. Most are copied from the
492 session activation tests, but some didn't apply when using a laucher.
494 2007-07-24 Richard Hughes <richard@hughsie.com>
496 * bus/activation.c: (bus_activation_activate_service):
497 If the bus uses a service-laucher, then use the setuid laucher.
499 2007-07-24 Richard Hughes <richard@hughsie.com>
502 Add the needed library exports for the new laucher.
504 2007-07-24 Richard Hughes <richard@hughsie.com>
507 Check for -Wl,--gc-sections so we can really reduce the size of the
510 2007-07-24 Richard Hughes <richard@hughsie.com>
512 * bus/activation.c: (handle_activation_exit_error),
513 (babysitter_watch_callback):
514 Map the child exit status integer to a proper dbus error.
516 2007-07-24 Richard Hughes <richard@hughsie.com>
518 * bus/bus.c: (process_config_first_time_only),
519 (process_config_every_time), (bus_context_unref),
520 (bus_context_get_servicehelper):
522 Add the concept of a service-helper and allow it's value to be read.
524 2007-07-24 Richard Hughes <richard@hughsie.com>
526 * bus/activation.c: (bus_activation_entry_unref),
527 (update_desktop_file_entry):
528 Add the concept of, and read the value of user from the desktop file.
529 The user string is not required unless we are using system activation.
531 2007-07-24 Richard Hughes <richard@hughsie.com>
534 * bus/desktop-file.h:
535 Move the defines into the header file, as we use these in the lauch
536 helper as well as the desktop file parsing.
538 2007-07-24 Richard Hughes <richard@hughsie.com>
541 Add the autogenerated binary files.
543 2007-07-24 Richard Hughes <richard@hughsie.com>
547 Add the build glue for the lauch helper, and also add the launch-helper
548 OOM checks into make check. I've probably broken the build, give me 2.
550 2007-07-24 Richard Hughes <richard@hughsie.com>
552 * bus/test-launch-helper.c: (die), (check_memleaks),
553 (test_post_hook), (bus_activation_helper_oom_test), (main):
554 Add a test wrapper to allow OOM checks on the launch helper.
556 2007-07-24 Richard Hughes <richard@hughsie.com>
558 * bus/activation-helper-bin.c: (convert_error_to_exit_code),
560 * bus/activation-helper.c: (desktop_file_for_name),
561 (clear_environment), (check_permissions), (check_service_name),
562 (get_parameters_for_service), (switch_user),
563 (exec_for_correct_user), (check_bus_name), (get_correct_parser),
564 (launch_bus_name), (check_dbus_user), (run_launch_helper):
565 * bus/activation-helper.h:
566 Add the initial launch-helper. This is split into a main section and a
567 binary loader that allows us to lauch the main section in another test
568 harness to do stuff like OOM testing. No build glue yet.
570 2007-07-24 Richard Hughes <richard@hughsie.com>
573 * bus/config-parser.c: (bus_config_parser_unref),
574 (start_busconfig_child), (bus_config_parser_end_element),
575 (servicehelper_path), (bus_config_parser_content),
576 (bus_config_parser_finished),
577 (bus_config_parser_get_servicehelper),
578 (test_default_session_servicedirs),
579 (test_default_system_servicedirs), (bus_config_parser_test):
580 * bus/config-parser.h:
581 Make the config-parser code use the common config code.
582 Also add the session and systemdirs stuff, and make the config parser
583 aware of the servicehelper field.
585 2007-07-24 Richard Hughes <richard@hughsie.com>
587 * bus/system.conf.in:
588 Add new servicehelper fields to the default system.conf file.
590 2007-07-24 Richard Hughes <richard@hughsie.com>
592 * bus/config-parser-trivial.c: (service_dirs_find_dir),
593 (service_dirs_append_link_unique_or_free), (bus_config_parser_new),
594 (bus_config_parser_unref), (bus_config_parser_start_element),
595 (bus_config_parser_end_element), (bus_config_parser_content),
596 (bus_config_parser_finished), (bus_config_parser_get_user),
597 (bus_config_parser_get_type), (bus_config_parser_get_service_dirs),
598 (check_return_values), (do_load), (check_loader_oom_func),
599 (process_test_valid_subdir), (make_full_path), (check_file_valid),
600 (bus_config_parser_trivial_test):
601 * bus/config-parser-trivial.h:
602 Add a security sensitive stripped down config parser for the setuid
603 launcher. This file only reads what it needs, and doesn't try to do
604 anything remotely clever like including external files.
605 It is not intended to validate the config file; it is expected that
606 config-parser will do that before the setuid program tries to read it.
608 2007-07-24 Richard Hughes <richard@hughsie.com>
610 * bus/config-parser-common.c:
611 (bus_config_parser_element_name_to_type),
612 (bus_config_parser_element_type_to_name):
613 * bus/config-parser-common.h:
614 We don't want to run the whole config parser with all it's deps in the
615 setuid program. We need to implement a stripped down config parser just
616 for the launcher, and to do so I need some common functions and
617 defines; add them here.
619 2007-07-24 Richard Hughes <richard@hughsie.com>
621 * dbus/dbus-sysdeps-unix.c:
622 (_dbus_get_standard_system_servicedirs):
623 * dbus/dbus-sysdeps-win.c:
624 Provide a way to get the standard system servicedirs, just like we do
625 for the session service dirs. These should be seporate, as there may
626 be a security issue starting up some session stuff as root.
627 The use-case for the same binary starting up per-system _and_
628 per-session is also not valid.
630 2007-07-24 Richard Hughes <richard@hughsie.com>
632 * bus/dbus-daemon.1.in:
633 Add standard_system_servicedirs and servicehelper into the man file
634 and explain what each does.
636 2007-07-24 Richard Hughes <richard@hughsie.com>
639 Add servicehelper into the dtd, it will soon be a valid part of the
642 2007-07-24 Richard Hughes <richard@hughsie.com>
644 * dbus/dbus-spawn.c: (read_data),
645 (_dbus_babysitter_get_child_exit_status):
647 Add a function so we can get access to the exit status of the launch
649 By providing the return code and not the error we can leave the
650 'what does this mean?' to the bus launch code and not include it in the
653 2007-07-24 Richard Hughes <richard@hughsie.com>
655 * bus/activation-exit-codes.h:
656 Add defines which specify the output codes of the launch helper.
657 We have to use exit codes as this is the only way we can return failure
658 type without going grotty things like redirecting possibly-nonsecure
659 stderr into the error.
661 2007-07-24 Richard Hughes <richard@hughsie.com>
663 * dbus/dbus-protocol.h:
664 Add new error names needed for the launch helper.
666 2007-07-24 Richard Hughes <richard@hughsie.com>
668 * dbus/dbus-sysdeps.c: (_dbus_clearenv):
669 * dbus/dbus-sysdeps.h:
670 Add a wrapper for clearenv.
672 2007-07-24 Richard Hughes <richard@hughsie.com>
674 * doc/system-activation.txt:
675 Add design document for the system activation parts. I'll shortly be
676 committing many patches that add system activation using a setuid
677 launcher into CVS, so expect things to be broken for a few hours.
679 2007-07-19 Ralf Habacker <ralf.habacker@freenet.de>
681 * cmake/modules/FindKDEWIN.cmake: fixed comment
682 * cmake/modules/FindKDEWIN32.cmake: removed obsolate cmake module
684 2007-07-18 Havoc Pennington <hp@redhat.com>
686 * dbus/dbus-message.c (dbus_message_get_cached)
687 (dbus_message_cache_or_finalize): don't mess with message from
688 message cache outside of the cache lock. Bug #9164 from Jonathan
691 2007-07-13 Havoc Pennington <hp@redhat.com>
693 * Add indent-tabs-mode: nil to all file headers.
695 2007-07-12 Havoc Pennington <hp@redhat.com>
697 * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): invert the test
698 for parsing hex as double to be sure it fails to work
700 * dbus/dbus-sysdeps.c (_dbus_string_parse_double): don't allow hex numbers.
702 2007-07-10 Havoc Pennington <hp@redhat.com>
704 * dbus/dbus-connection.c (struct DBusConnection): Fix from Olivier
705 Hochreutiner to avoid trying to protect individual bits in a word
706 with different locks (make dispatch_acquired and io_path_acquired
707 dbus_bool_t rather than bitfields)
709 2007-07-09 Ralf Habacker <ralf.habacker@freenet.de>
711 * dbus/dbus-sysdeps-win.c,dbus-sysdeps-win.h,dbus-sysdeps-win-util.c,
712 dbus-sysdeps-spawn-win.c: synced with windbus sources
714 2007-07-07 Ralf Habacker <ralf.habacker@freenet.de>
716 * dbus/dbus-sysdeps-win.c
717 (_dbus_getsid): remove unused jump label
718 (_dbus_read_credentials_socket): _dbus_string_init could fail,
720 (_dbus_get_working_dir, _dbus_init_working_dir): remove unused
723 2007-07-04 Ralf Habacker <ralf.habacker@freenet.de>
725 * cmake/modules/FindKDEWIN.cmake: search in <program files dir>\win32libs
726 for windows supplementary packages too
728 2007-06-30 Ralf Habacker <ralf.habacker@freenet.de>
730 * cmake/dbus/CMakeLists.txt: handle userdb as unix file
732 2007-06-30 Ralf Habacker <ralf.habacker@freenet.de>
734 * dbus/dbus-sysdeps-win.c,dbus/dbus-sysdeps-win.h: removed obsolate
737 2007-06-30 Ralf Habacker <ralf.habacker@freenet.de>
739 * dbus/dbus-sysdeps-win.c (_dbus_daemon_init): reduced compiler warnings
741 2007-06-23 Ralf Habacker <ralf.habacker@freenet.de>
743 * dbus/dbus-auth-script.c (_dbus_auth_script_run): added UNIX_ONLY and
744 WIN_ONLY commands for auth scripts
745 * test/data/auth/external-root.auth-script: limit execution to unix
747 2007-06-21 Havoc Pennington <hp@redhat.com>
749 * dbus/dbus-tranport.c (auth_via_default_rules): made the verbose spam
752 2007-06-21 Havoc Pennington <hp@redhat.com>
754 * dbus/dbus-watch.c (dbus_watch_get_fd): 1) its behavior should
755 not be the same as before, the ABI has never been declared stable
756 on Windows and 2) do not commit to cross-platform files without
757 posting the exact patch to the mailing list
759 * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): as I have pointed
760 out before, either 0xff needs to work on both platforms, or none
761 of the dbus code can rely on it working. That means the options
762 are 1) audit the code for anywhere that relies on 0xff working, if
763 none found ideally add a test that it *doesn't* work and make unix
764 reject it explicitly, but in any case this test would go away or
765 2) make it work on Windows also, then we don't have to figure out
766 whether we rely on it.
768 And in either case, post the exact patch to the mailing list and
771 2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
773 * cmake/CMakeLists.txt: added VERSION_PATCH to be able to
774 distinguish win32 binary release from dbus versioning
776 2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
778 * dbus/dbus-sysdeps-win.c: deleted local DBusCredentials structure
779 (_dbus_getsid): new function
780 (_dbus_read_credentials_socket): used correct function
781 (_dbus_append_user_from_current_process,
782 _dbus_credentials_add_from_current_process): added real
784 (_dbus_credentials_parse_and_add_desired,_dbus_parse_uid):
787 2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
789 * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): don't check
790 0xff as floating point, this isn't supported on win32 math
793 2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
795 * dbus/dbus-sysdeps-win.c (_dbus_homedir_from_username,
796 _dbus_homedir_from_current_process, _dbus_append_desired_identity):
797 removed obsolate functions
799 2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
801 * dbus/dbus-sysdeps-win.c, dbus/dbus-sysdeps-util-win.c,
802 dbus/dbus-sysdeps-win.h: disabled uid/sid conversation stuff
803 implementation by Peter Kuemmel
805 2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
807 * dbus/dbus-watch.c (dbus_watch_get_fd): this function is
808 deprecated and its behavior should be as before until all
809 client code is migrated.
811 2007-06-19 Ralf Habacker <ralf.habacker@freenet.de>
813 * dbus/dbus-sysdeps-util-win.c, tools/dbus-launch-win.c:
814 msvc7.1 fixes by Jaroslaw Staniek tested with mingw
816 2007-06-19 Ralf Habacker <ralf.habacker@freenet.de>
818 * dbus/dbus-sysdeps-win.c, dbus/dbus-sysdeps-spawn-win.c,
819 dbus/dbus-sysdeps-win.h: disabled DBusSocket implementation
822 2007-06-18 Ralf Habacker <ralf.habacker@freenet.de>
824 * dbus-win.patch: removed obsolate patches
826 2007-06-18 Havoc Pennington <hp@redhat.com>
828 * configure.in: bump version to 1.1.2 so CVS is higher than last
829 release (this is not the 1.1.2 release)
831 2007-06-18 Havoc Pennington <hp@redhat.com>
835 2007-06-18 Havoc Pennington <hp@redhat.com>
837 * doc/dbus-specification.xml: document org.freedesktop.DBus.GetId()
839 * bus/driver.c (bus_driver_handle_get_id): implement org.freedesktop.DBus.GetId()
841 * bus/bus.c (bus_context_new): generate a unique ID for each bus context
843 * dbus/dbus-connection.c (dbus_connection_get_server_id): new function
845 * dbus/dbus-bus.c (dbus_bus_get_id): new function
847 * dbus/dbus-server.c (dbus_server_get_id): new function
849 2007-06-18 Havoc Pennington <hp@redhat.com>
851 * dbus/dbus-sysdeps-unix.c (_dbus_read_credentials_socket): clean
852 this up a little bit, to try and understand why telnet'ing to a
853 server and sending a non-nul byte didn't disconnect immediately;
854 now it seems that it does disconnect immediately as it should,
855 though I don't understand what has changed.
857 2007-06-18 Havoc Pennington <hp@redhat.com>
859 * dbus/dbus-watch.c (dbus_watch_get_socket)
860 (dbus_watch_get_unix_fd): new API to match DBusConnection
861 (dbus_watch_get_fd): deprecate this
863 Throughout: just s/dbus_watch_get_fd/dbus_watch_get_socket/g for
864 now since all the transports use sockets anyway
866 2007-06-16 Ralf Habacker <ralf.habacker@freenet.de>
868 * dbus/dbus-macros.h, dbus/dbus-message.c,
869 dbus/dbus-message.h: renamed DBUS_GNUC_DEPRECATED
870 to DBUS_DEPRECATED and extended to msvc compiler
872 2007-06-15 Ralf Habacker <ralf.habacker@freenet.de>
874 * cmake/CMakeLists.txt: use local include header first
876 * dbus/dbus-sysdeps-win.c: mingw fix of DBusCredential struct
878 2007-06-15 Ralf Habacker <ralf.habacker@freenet.de>
880 * cmake/ConfigureChecks.cmake,cmake/config.h.cmake:
881 added check for HAVE_ERRNO_H
883 * cmake/dbus/CMakeLists.txt: added missing files
885 * dbus/dbus-transport-win.c/.h: new files
887 * dbus/dbus-sysdeps-win.c,.h: added required _unix functions
888 to make dbus compilable on win32
890 * dbus/dbus-sysdeps-win-utils.c,.h: moved some functions to
893 * dbus-win.patch: removed applied or obsolate patches
895 Note: dbus-win32 is now compilable, no guarantee that it runs
898 2007-06-15 Havoc Pennington <hp@redhat.com>
900 * dbus/dbus-sysdeps-unix.c (_dbus_append_session_config_file)
901 (_dbus_append_system_config_file): new functions
903 * bus/main.c (main): use _dbus_append_system_config_file() and
904 _dbus_append_session_config_file()
906 * dbus/Makefile.am (INCLUDES): move DBUS_SYSTEM_CONFIG_FILE and
907 DBUS_SESSION_CONFIG_FILE into this makefile
909 2007-06-15 Havoc Pennington <hp@redhat.com>
911 * dbus/dbus-sysdeps.c (_dbus_set_errno_to_zero)
912 (_dbus_get_is_errno_nonzero, _dbus_get_is_errno_eintr)
913 (_dbus_strerror_from_errno): family of functions to abstract
914 errno, though these are somewhat bogus (really we should make our
915 socket wrappers not use errno probably - the issue is that any
916 usage of errno that isn't socket-related probably is not
917 cross-platform, so should either be in a unix-only file that can
918 use errno directly, or is a bug - these general errno wrappers
919 hide issues of this nature in non-socket code, while
920 socket-specific API changes would not since sockets are allowed
923 2007-06-14 Havoc Pennington <hp@redhat.com>
925 * bus/dispatch.c (check_get_connection_unix_process_id): mop up
926 getpid() (noticed by Peter Kümmel) and adapt the test to
927 expect a "pid unknown" error when running on Windows.
929 2007-06-14 Havoc Pennington <hp@redhat.com>
931 * dbus/dbus-sysdeps-unix.c (_dbus_credentials_parse_and_add_user):
932 delete this function since it was effectively the same as
933 _dbus_credentials_add_from_username()
935 2007-06-14 Havoc Pennington <hp@redhat.com>
937 * dbus/dbus-auth.c: adapt to keyring changes
939 * dbus/dbus-keyring.c: change to avoid using user ID and home
940 directory directly; instead use a
941 keyring-location-from-credentials function in dbus-sysdeps
943 * fix to use _dbus_append_user_from_current_process() instead of
944 _dbus_username_from_current_process() or _dbus_append_desired_identity().
946 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
948 * reverted global rename of function _dbus_username_from_current_process.
949 It needs too much tests to verify that the change does not break anything.
950 I had overseen that the signatures are different and requires non
952 This is one *major* disadvantage of emulating oop functionality with c.
953 You are responsible for cleaning every object on every function return point
954 which could be a nightmare if you are not working with dbus all the days.
956 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
958 * dbus/dbus-auth.c (handle_client_initial_response_cookie_sha1_mech):
959 fixed usage of _dbus_append_desired_identity()
961 * dbus/dbus-sysdeps.h (_dbus_username_from_current_process): removed prototype
963 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
965 * dbus/dbus-sysdeps.c: moved global lock system_users from dbus-userdb.c
967 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
969 * global rename of function _dbus_username_from_current_process
970 to _dbus_append_desired_identity.
971 Approved by Havoc Pennington
973 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
975 * dbus/dbus-sysdeps-win.c: disabled DBusUserInfo related code
976 (_dbus_append_desired_identity, _dbus_windows_user_is_process_owner):
977 new win32 functions as counterpart of unix related
978 (_dbus_send_credentials_socket,_dbus_read_credentials_socket):
979 renamed from ..._unix_socket
980 (_dbus_send_credentials_unix_socket): removed obsolate function
982 * dbus/dbus-sysdeps-win-util.c: disabled DBusGroupInfo related code
983 (_dbus_verify_daemon_user,_dbus_change_to_daemon_user):
984 new win32 functions as counterpart of unix related
986 2007-06-14 Simon McVittie <simon.mcvittie@collabora.co.uk>
988 * doc/dbus-specification.xml: say the protocol version is 1 instead of
989 0 (patch from Kristoffer Lundén, fd.o#10033) and remove the FIXME
990 about removing protocol version from messages (as per Havoc's comment
993 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
995 * dbus/dbus-sysdeps-win.c (_dbus_pid_for_log,_dbus_flush_caches):
996 new win32 functions as counterpart of unix related
998 2007-06-14 Ralf Habacker <ralf.habacker@freenet.de>
1000 * cmake/modules/FindKDEWIN.cmake,
1001 cmake/modules/FindKDEWIN_Packager.cmake,
1002 cmake/modules/Win32Macros.cmake: new files from the
1004 * cmake/CMakeLists.txt: cleaned support for kdewin installer and
1005 win32 explorer wrapper
1007 2007-06-13 Havoc Pennington <hp@redhat.com>
1009 * dbus/dbus-message.c (dbus_message_iter_open_container): Fix
1010 broken return_if_fail (kind of scary that test suite does not
1013 2007-06-13 Havoc Pennington <hp@redhat.com>
1015 * dbus/dbus-server-socket.c (_dbus_server_listen_socket): support
1016 all_interfaces=true|false for tcp servers
1018 * dbus/dbus-sysdeps-unix.c (_dbus_listen_tcp_socket): support
1021 * bus/selinux.c: fix some missing includes
1023 * dbus/dbus-server-socket.c (_dbus_server_listen_socket): allow
1024 port to simply be omitted in addition to specifying 0
1026 2007-06-13 Havoc Pennington <hp@redhat.com>
1028 * configure.ac, bus/selinux.c, dbus/dbus-sysdeps-unix-util.c: add
1029 libaudit support, no clue what this means really but now we have
1030 it. Patches from Fedora package.
1032 * bus/bus.c (bus_context_new): move selinux initialization after
1033 changing to daemon user, patch from Fedora package
1035 * dbus/dbus-transport.c (auth_via_unix_user_function): fix a typo
1037 2007-06-12 Havoc Pennington <hp@redhat.com>
1039 * dbus/dbus-message.c (dbus_message_iter_open_container): improve
1040 the checks/warnings for contained_signature a bit
1042 2007-06-12 Havoc Pennington <hp@redhat.com>
1044 * dbus/dbus-marshal-recursive.c (write_or_verify_typecode):
1045 improve the warning a bit if you write extra data into a message
1047 2007-06-12 Havoc Pennington <hp@redhat.com>
1049 * dbus/dbus-auth.c (sha1_handle_second_client_response)
1050 (handle_server_data_anonymous_mech): add the process ID from
1051 socket credentials, if available, even if not using EXTERNAL
1053 * dbus/dbus-transport.c (auth_via_default_rules): support
1054 allow_anonymous flag
1056 * dbus/dbus-connection.c (dbus_connection_get_is_anonymous)
1057 (dbus_connection_set_allow_anonymous): new API for controlling
1060 2007-06-09 Havoc Pennington <hp@redhat.com>
1062 * dbus/dbus-string.c (_dbus_string_pop_line): fix this not to
1063 think an empty line is the end of the file.
1064 Also, fix some whitespace.
1066 * dbus/dbus-string-util.c: add more tests for
1067 _dbus_string_pop_line() revealing that it thinks an empty line is
1068 the end of the file, which broke dbus-auth-script.c so
1069 it didn't really run the scripts
1071 * dbus/dbus-auth.c: add ANONYMOUS mechanism
1073 * dbus/dbus-auth-script.c (_dbus_auth_script_run): fix to detect
1074 an empty/no-op auth script; add commands to check that we have or
1075 don't have the expected credentials
1077 2007-06-09 Havoc Pennington <hp@redhat.com>
1079 * bus/policy.c (bus_policy_create_client_policy): gracefully
1080 continue if the connection has no unix user - just don't apply
1081 any unix user dependent rules.
1083 * bus/config-parser.c: remove dbus-userdb.h usage
1085 * bus/bus.c: remove dbus-userdb.h usage
1087 * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
1088 support Windows user function; also, fix the logic for checking
1089 auth as root in the default auth code (broken in the previous
1092 * dbus/dbus-connection.c
1093 (dbus_connection_set_windows_user_function): new function
1094 (dbus_connection_get_windows_user): new function
1096 2007-06-09 Havoc Pennington <hp@redhat.com>
1098 * bus/dispatch.c (check_get_connection_unix_process_id): adapt
1099 since sysdeps-unix.h stuff isn't included anymore
1101 * bus/bus.c (bus_context_new): use more abstract functions to
1102 change user, so they can be no-ops on Windows
1104 * dbus/dbus-credentials.c, dbus/dbus-credentials.h,
1105 dbus/dbus-credentials-util.c: new files containing a fully opaque
1106 DBusCredentials data type to replace the old not opaque one.
1108 * configure.in (DBUS_UNIX): define DBUS_UNIX to match DBUS_WIN on
1111 * dbus/dbus-userdb.h: prohibit on Windows, next step is to clean
1112 up the uses of it in bus/*.c and factor out the parts of
1113 cookie auth that depend on it
1115 2007-06-07 Havoc Pennington <hp@redhat.com>
1117 * dbus/dbus-message.c: improve some docs related to reading values
1120 2007-06-02 Ralf Habacker <ralf.habacker@freenet.de>
1122 * cmake: added cygwin compile support
1124 2007-06-01 Ralf Habacker <ralf.habacker@freenet.de>
1126 * tools/dbus-launch-win.c: new file, replaces script wrapper on win32.
1128 * cmake/dbus-launch.bat.cmake: removed obsolate file
1130 2007-05-31 Ralf Habacker <ralf.habacker@freenet.de>
1132 * bus/main.c (main): uses _dbus_get_config_file_name() to detect
1133 session.conf location on win32.
1135 * dbus-sysdeps-win.h (_dbus_get_config_file_name,_dbus_file_exists):
1136 new prototyp, undefined interface after including windows.h because
1137 it makes trouble when a paramater is named interface.
1139 * dbus-sysdeps-win.c (_dbus_get_install_root,
1140 _dbus_get_config_file_name,_dbus_file_exists): new functions.
1142 2007-05-27 Ralf Habacker <ralf.habacker@freenet.de>
1144 * bus/policy.c,dbus/dbus-internals.c: fixed inconsistant line endings
1145 as reported by Peter Kümmel.
1147 2007-05-25 John (J5) Palmieri <johnp@redhat.com>
1151 2007-05-25 John (J5) Palmieri <johnp@redhat.com>
1153 * Split NEWS and ChangeLog into a .pre-1-0 file as per HACKING
1154 We forgot to do this during the 1.0 release and it makes sense
1155 now as we get ready to release the first 1.1.0 development tarball
1157 2007-05-25 John (J5) Palmieri <johnp@redhat.com>
1159 * create directory test/data/valid-config-files/session.d so that
1162 2007-05-25 John (J5) Palmieri <johnp@redhat.com>
1164 * INSTALL: remove dependancies for bindings since they no longer
1167 2007-05-25 Ralf Habacker <ralf.habacker@freenet.de>
1169 * dbus/dbus-server-win.c,dbus/dbus-server-win.h: new file
1170 with empty function _dbus_server_listen_platform_specific().
1172 * dbus/dbus-server.c (listen_funcs): uses
1173 _dbus_server_listen_platform_specific on any platform.
1175 2007-05-25 Ralf Habacker <ralf.habacker@freenet.de>
1177 * dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir): not getting
1178 user info from a domain controller isn't an error, the computer
1179 may run in a non domain context.
1181 2007-05-25 Ralf Habacker <ralf.habacker@freenet.de>
1183 * dbus/dbus-sysdeps-win.c (_dbus_full_duplex_pipe): fixed assertation.
1185 2007-05-24 Simon McVittie <simon.mcvittie@collabora.co.uk>
1187 * bus/config-parser.c (test_service_dir_matches): fixed ordering for unix.
1189 * bus/config-parser.c (test_default_session_servicedirs): made allocation
1190 of _progs platform independent.
1192 2007-05-23 Havoc Pennington <hp@redhat.com>
1194 * bus/Makefile.am (install-data-hook): create session.d
1196 * bus/session.conf.in: add session.d for the session bus, so
1197 security policy can be extended
1199 2007-05-22 Ralf.Habacker <ralf.habacker@freenet.de>
1201 * cmake/CMakeLists.txt: fixed creating of TEST_..._BINARY to make
1202 bus-test able to find the binaries.
1204 2007-05-21 Simon McVittie <simon.mcvittie@collabora.co.uk>
1206 * acinclude.m4, configure.in: In recent autotools, ${datadir} is
1207 defined in terms of ${datarootdir}, so EXPANDED_DATADIR needs to be
1208 expanded recursively. Rather than fixing configure.in to do this, I
1209 grabbed the AS_AC_EXPAND macro from autostars.sf.net, which seems to be
1212 2007-05-21 Simon McVittie <simon.mcvittie@collabora.co.uk>
1214 * update-dbus-docs.sh: Assorted improvements:
1215 - Default user if $FDUSER is not set is the ssh default
1216 (set in ~/.ssh/config or based on the local username), not a
1218 - Temporary checkout directory is created securely (preventing symlink
1219 attacks), if mktemp(1) is available
1220 - Use make -C rather than cd && make && cd ..
1222 2007-05-21 Simon McVittie <simon.mcvittie@collabora.co.uk>
1224 * HACKING: Point to correct mailing list
1226 2007-05-21 Simon McVittie <simon.mcvittie@collabora.co.uk>
1228 * doc/dbus-specification.xml: explicitly specify that STRING cannot
1229 contain embedded NULs.
1231 2007-05-20 Ralf.Habacker <ralf.habacker@freenet.de>
1233 * dbus/dbus-internal.c: fix inline problem on win32.
1235 2007-05-20 Ralf.Habacker <ralf.habacker@freenet.de>
1237 * dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir): not reaching
1238 domain controller isn't an error, converted error message to verbose
1241 2007-05-19 Ralf.Habacker <ralf.habacker@freenet.de>
1243 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): disabled
1244 tests not running on wince.
1246 2007-05-19 Ralf.Habacker <ralf.habacker@freenet.de>
1248 * dbus/dbus-internals.c (_dbus_verbose_init): win32 requires 'varname='
1249 to unset a environment variable.
1251 2007-05-19 Ralf.Habacker <ralf.habacker@freenet.de>
1253 * dbus/dbus-sysdeps.c (_dbus_setenv): win32 requires 'varname='
1254 to unset a environment variable.
1256 2007-05-19 Ralf.Habacker <ralf.habacker@freenet.de>
1258 * bus/policy.c (bus_policy_create_client_policy):
1259 win32 temporary fix until the userdb stuff is ported completly.
1261 2007-05-19 Ralf.Habacker <ralf.habacker@freenet.de>
1263 * dbus/dbus-server.c (listen_funcs):
1264 _dbus_server_listen_platform_specific is empty on win32,
1265 limited to unix only.
1267 * dbus/dbus-server.c (valid_addresses): limit unix
1268 only addresses to unix.
1270 2007-05-18 Havoc Pennington <hp@redhat.com>
1272 * doc/dbus-specification.xml: add a GetAll to the Properties
1275 2007-05-17 Ralf.Habacker <ralf.habacker@freenet.de>
1277 * bus\config-parser.c (test_default_session_servicedirs):
1280 2007-05-17 Ralf.Habacker <ralf.habacker@freenet.de>
1282 * configure.in: define constant DBUS_UNIX.
1284 2007-05-14 Ralf Habacker <ralf.habacker@freenet.de>
1286 * dbus/dbus-sysdeps-win.c (_dbus_printf_string_upper_bound):
1287 compile fix for MS Platform SDK 6
1288 patch from Michael Luschas <mluschas@gmail.com>
1290 2007-05-10 John (J5) Palmieri <johnp@redhat.com>
1292 * dbus-1.pc.in: add daemondir to pc file
1293 patch from Brian Cameron <brian.cameron at sun.com>
1295 2007-05-04 Simon McVittie <simon.mcvittie@collabora.co.uk>
1297 * doc/dbus-specification.xml: mention the reserved o.fd.DBus.Local
1298 interface and the corresponding /o/fd/DBus/Local object path;
1299 describe them as reserved and forbid using them in a sent message,
1300 mentioning that in the reference implementation this will cause the
1301 connection to be dropped. Patch approved by Havoc.
1303 2007-04-28 Ralf Habacker <ralf.habacker@freenet.de>
1305 * cmake/: don't install test applications and service files,
1306 moved CMAKE_DEBUG_POSTFIX to top level CMakeLists.txt
1308 2007-04-27 Havoc Pennington <hp@redhat.com>
1310 * dbus/dbus-sysdeps-unix.c (_dbus_open_socket): fix #10781 from
1311 Tobias Nygren, checking pointer to fd vs. 0 rather than checking
1314 2007-04-26 Ralf Habacker <ralf.habacker@freenet.de>
1316 * cmake/: added debug postfixes to debug exe's for
1318 * dbus\dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error):
1319 print error code in case no string message is available.
1321 2007-04-06 Simon McVittie <simon.mcvittie@collabora.co.uk>
1323 * dbus/dbus-message-util.c, dbus/dbus-message.c,
1324 dbus/dbus-message.h: Add API to convert a DBusMessage to/from a
1325 byte array. Patch from Dafydd Harries <dafydd.harries@collabora.co.uk>,
1326 approved by Havoc Pennington.
1328 2007-04-03 Timo Hoenig <thoenig@suse.de>
1330 * dbus/dbus-address.c (dbus_parse_address): Do not accept zero-
1332 * dbus/dbus-address.c (_dbus_address_test): Add test for zero-
1335 2007-03-25 Ralf.Habacker <ralf.habacker@freenet.de>
1337 * cmake/dbus/CMakeLists.txt: debug postfix also for mingw.
1339 2007-03-16 Ralf.Habacker <ralf.habacker@freenet.de>
1341 * cmake/modules/FindExpat.cmake: fix package detection on win32.
1343 * README.win: update install instructions.
1345 2007-03-16 Ralf.Habacker <ralf.habacker@freenet.de>
1347 * dbus/dbus-sysdeps.h (_dbus_split_paths_and_append):
1349 (_DBUS_PATH_SEPARATOR): new macro.
1351 * dbus/dbus-sysdeps.c (_dbus_split_paths_and_append): merged
1352 from dbus/dbus-sysdeps-unix.c and dbus/dbus-sysdeps-win.c.
1354 2007-03-15 Ralf.Habacker <ralf.habacker@freenet.de>
1356 * bus/config-parser.c, bus/policy.c,
1357 bus/policy.h, bus/dbus-daemon.1.in,
1358 bus/session.conf.in: added eavesdrop support
1359 for replies - patch by olli.salli at collabora.co.uk
1360 approved by Havoc Pennington.
1362 2007-03-15 Ralf.Habacker <ralf.habacker@freenet.de>
1364 * dbus\dbus-sysdeps-win-thread.c: renamed to
1365 dbus-sysdeps-thread-win.c, it is a platform depending file
1366 similar to dbus-sysdeps-pthread.c.
1368 2007-03-15 Ralf.Habacker <ralf.habacker@freenet.de>
1370 * cmake\doc\CMakeLists.txt: added prelimary xml doc
1371 support, needs cmake Find script.
1373 2007-03-14 Ralf.Habacker <ralf.habacker@freenet.de>
1375 * cmake: add doxygen support
1377 2007-03-14 Ralf.Habacker <ralf.habacker@freenet.de>
1379 * cmake/config.h.cmake: WINCE fixes, defined DBUS_UNIX.
1381 2007-03-13 Ralf.Habacker <ralf.habacker@freenet.de>
1383 * dbus/dbus-sysdeps-util-win.c (dbus_become_daemon):
1386 2007-03-13 Ralf.Habacker <ralf.habacker@freenet.de>
1388 * dbus-win.patch: removed obsolate patches.
1390 2007-03-13 Ralf.Habacker <ralf.habacker@freenet.de>
1392 * dbus/dbus-sysdeps-win.c: added zero byte sending
1393 and receiving after connection start up
1395 2007-03-11 Havoc Pennington <hp@redhat.com>
1397 * tools/dbus-launch.c (do_close_stderr): fix C89 problem and
1400 * Mostly fix the DBusPipe mess.
1401 - put line break after function return types
1402 - put space before parens
1403 - do not pass structs around by value
1404 - don't use dbus_strerror after calling supposedly cross-platform
1406 - don't name pipe variables "fd"
1407 - abstract special fd numbers like -1 and 1
1409 2007-03-12 Ralf Habacker <ralf.habacker@freenet.de>
1411 * dbus/dbus-sysdeps-win.h, dbus/dbus-sysdeps-win.c,
1412 dbus/dbus-sysdeps-util-win.c: renamed functions
1413 _dbus_xxx_file() to _dbus_file_xxx() to reflect
1414 struct name DBusFile.
1416 2007-03-12 Ralf Habacker <ralf.habacker@freenet.de>
1418 * dbus/dbus-sysdeps-util-unix.c (_dbus_become_daemon):
1419 fix _dbus_pid_fd check.
1421 2007-03-10 Ralf Habacker <ralf.habacker@freenet.de>
1423 * tools/dbus-print-message.c (print_message):
1424 added printing of the reply serial to method returns and
1425 errors, so you can actually figure out the message/reply
1426 pairs - patch by olli.salli at collabora.co.uk.
1428 2007-03-10 Ralf Habacker <ralf.habacker@freenet.de>
1430 * dbus-win.patch: removed committed patches.
1432 2007-03-10 Ralf Habacker <ralf.habacker@freenet.de>
1434 * bus/bus.c, bus/bus.h, bus/main.c, bus/test.c,
1435 dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-util-unix.c,
1436 dbus/dbus-sysdeps-util-win.c, dbus/dbus-sysdeps-win.c,
1437 dbus/dbus-sysdeps.h: renamed _dbus_xxx_pipe to _dbus_pipe_xxx,
1438 completed _dbus_pipe support.
1440 2007-03-10 Ralf Habacker <ralf.habacker@freenet.de>
1442 * dbus/dbus-sysdeps.h (_dbus_listen_tcp_socket):
1443 changed type or port to pointer, because the port is given back.
1445 * dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
1446 implemented returning tcp port. Skipping port parameter
1447 and non integer port values in config <listen> statement
1450 * dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-win.c
1451 (_dbus_listen_tcp_socket): return the real used tcp port.
1453 * bus/dbus-daemon.1.in: added <listen> tcp examples
1455 2007-03-09 Ralf Habacker <ralf.habacker@freenet.de>
1457 * cmake/config.h.cmake: win32 msvc bug fix
1459 2007-03-09 Ralf Habacker <ralf.habacker@freenet.de>
1461 * cmake/config.h.cmake: fixed DBUS_WINxx defines,
1462 using _WINCE does not work.
1464 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1466 * dbus-win.patch: removed _dbus_write_pipe() patch, it is now
1469 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1471 * bus/bus.c, dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps.h:
1472 rename pipe related write() function calls to _dbus_write_pipe().
1474 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1476 * dbus-win.patch: added bus/config-loader-libexpat.c patch,
1477 uses DBUS_WIN for alls win32 related #ifdefs,
1480 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1482 * dbus-win.patch: updated patch for bus/dispatch.c.
1484 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1486 * dbus-win.patch: dbus-connection.c (dbus_connection_get_unix_user,
1487 dbus_connection_get_unix_process_id): Let return them valid user id's,
1488 otherwise bus-test fails. How to replace on win32 ?.
1490 * dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir):
1493 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1495 * dbus/dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error):
1496 use dbus friendly error name.
1497 (fill_win_user_info_homedir): print user name in error case too.
1499 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1501 * cmake/ConfigureChecks.cmake: fixed socketpair check
1503 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1505 * bus/dispatch.c: disabled segfault test on win32 for now
1507 2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
1509 * configure.in, cmake/ConfigureChecks.cmake: added check
1511 * test/test-segfault.c: only include setrlimit stuff only
1514 2007-03-07 Ralf Habacker <ralf.habacker@freenet.de>
1516 * test/test-segfault.c: unix compile fix.
1517 * dbus-win.patch: removed obsolate patches.
1519 2007-03-07 Ralf Habacker <ralf.habacker@freenet.de>
1521 * bus/activation.c: removed obsolate include header.
1522 * test/test-segfault.c: win32 compile fix, rlimit
1523 isn't available on win32.
1524 * dbus-win.patch: removed some more patches, they
1525 are applied or obsolate
1527 2007-03-06 Ralf Habacker <ralf.habacker@freenet.de>
1529 * bus-win.patch: fixes unix listen problems, dbus-test
1532 2007-03-06 Ralf Habacker <ralf.habacker@freenet.de>
1534 * cmake/dbus/CMakeLists.txt,cmake/bus/CMakeLists.txt,
1535 cmake/CMakeLists.txt: win32 compile fix
1537 2007-03-04 Ralf Habacker <ralf.habacker@freenet.de>
1539 * dbus-win.patch, README.win: added available win32
1540 patches from windbus project (http://sf.net/projects/windbus)
1542 2007-03-04 Ralf Habacker <ralf.habacker@freenet.de>
1544 * bus/activation.c: (bus_activation_activate_service):
1545 fixed call to _dbus_spawn_async_with_babysitter().
1547 2007-03-04 Ralf Habacker <ralf.habacker@freenet.de>
1549 * dbus/dbus-spawn.c,dbus/dbus-spawn.h (_dbus_spawn_async_with_babysitter):
1550 added environment pointer as function parameter, used on win32.
1552 * test/spawn-test.c: fixed call to above mentioned function.
1554 2007-03-04 Ralf Habacker <ralf.habacker@freenet.de>
1556 * configure.in,test/test-sleep-forever.c,test/test-names.c:
1557 added configure check for unistd.h.
1559 2007-03-04 Ralf Habacker <ralf.habacker@freenet.de>
1561 * test/Makefile.am: fixed test data copy problem in
1562 out of source build, when sources came from svn or cvs.
1564 2007-03-03 Ralf Habacker <ralf.habacker@freenet.de>
1566 * dbus/*-win.*,bus/*-win.*: added win32 platform related
1567 files. These files are only added to the cmake build system.
1568 The missing dbus-win.patch file will be added later.
1570 2007-03-03 Ralf Habacker <ralf.habacker@freenet.de>
1572 * cmake: new directory, contains cmake build support.
1573 See http://www.cmake.org for more informations.
1574 Currently only unix will be buildable because some
1575 win32 required files are still missing.
1577 2007-03-03 Thiago Macieira <thiago@kde.org>
1579 * dbus/dbus-sysdeps-unix.c: capture the dbus-launch stderr
1580 output and add it to the DBusError message we return.
1582 * tools/dbus-launch.1:
1583 * tools/dbus-launch.c: Add option --close-stderr to, well,
1584 close stderr before starting dbus-daemon.
1586 2007-01-31 Havoc Pennington <hp@redhat.com>
1588 * bus/dbus-daemon.1.in: write a section in the man page on running
1589 a test daemon for debugging purposes
1591 2007-01-26 Havoc Pennington <hp@redhat.com>
1593 * bus/session.conf.in: override all the default limits with much
1594 higher limits on the session bus, there is no reason the session
1595 bus should have low limits
1597 * bus/config-parser.c (bus_config_parser_new): increase default
1598 limits so they are less likely to be hit; in particular the max
1599 replies per connection was way too low
1601 2006-01-25 Simon McVittie <simon.mcvittie@collabora.co.uk>
1603 * doc/dbus-tutorial.xml: Replace Python section of tutorial with
1604 a pointer to the tutorial maintained as part of dbus-python
1606 2006-12-31 Ralf Habacker <ralf.habacker@freenet.de>
1608 * dbus/dbus-sysdeps-unix.c: unix compile fix, moved
1609 atomic_exchange_and_add() from dbus/dbus-sysdeps.c
1610 to here, it's used by _dbus_atomic_inc() and _dbus_atomic_dec().
1612 2006-12-31 Ralf Habacker <ralf.habacker@freenet.de>
1614 * tools/dbus-monitor.c: gettimeofday() is not available
1615 on windows so we have to provide our own. It's taken from
1616 lgpl'd kdewin32 package. - Patches from Christian Ehrlicher
1618 2006-12-31 Ralf Habacker <ralf.habacker@freenet.de>
1620 * dbus/dbus-sysdeps-unix.c: moved _dbus_atomic_inc/dec()
1621 from dbus/dbus-sysdeps.c, windows version of _dbus_atomic_inc/dec()
1622 is in dbus-sysdeps-win.c (not in this patch).
1624 * dbus/dbus-sysdeps.h: DBusAtomic::value is long on windows to fit
1625 with InterlockedInc/Decrement.
1626 - Patches from Christian Ehrlicher
1628 2006-12-31 Ralf Habacker <ralf.habacker@freenet.de>
1630 * tools/dbus-send.c, tools/dbus-monitor.c: win32 compile fix.
1632 2006-12-31 Ralf Habacker <ralf.habacker@freenet.de>
1634 * dbus/dbus-marshal-recursive.c (type DBusTypeReaderClass):
1635 fix mispaced const statement. - Patch from Peter Kümmel
1637 2006-12-19 Ray Strode <rstrode@redhat.com>
1639 * bus/bus.c (process_config_every_time):
1640 don't overwrite existing bus context activation object
1641 until after we've checked that the new activation is
1645 (signal_handler), (handle_reload_watch):
1646 don't call exit() on failure, instead make do and keep
1648 (close_reload_pipe): new function to turn off
1649 hangup-causes-config-reload behavior if an unexpected
1652 2006-12-13 Ralf Habacker <ralf.habacker@freenet.de>
1654 * dbus/dbus-sysdeps-win-thread.c (_dbus_condvar_wait_win32):
1655 correctness fix. - Patch from Christian Ehrlicher
1657 2006-12-13 Ralf Habacker <ralf.habacker@freenet.de>
1659 * dbus/dbus-internals.h: msvc also knows about __FUNCTION__,
1660 we should also use it. - Patch from Christian Ehrlicher
1662 2006-12-13 Ralf Habacker <ralf.habacker@freenet.de>
1664 * dbus-sysdeps-util.c: added win32 related tests
1666 2006-12-12 Ralf Habacker <ralf.habacker@freenet.de>
1668 * dbus/dbus-string.c (_dbus_string_pop_line),
1669 bus/desktop-file.c (parse_section_start,
1670 parse_comment_or_blank,parse_key_value,): uses
1671 _dbus_string_find_eol() to support platform independent eol style.
1673 2006-12-12 Ralf Habacker <ralf.habacker@freenet.de>
1675 * dbus/dbus-string.[ch] (_dbus_string_find_eol): new function.
1676 * dbus/dbus-string-util.c (_dbus_string_test): added testcases for
1677 _dbus_string_find_eol().
1678 Approved by: Havoc Pennington.
1680 2006-12-12 Tim Dijkstra <tim@famdijkstra.org>
1682 * configure.in: Added switch to disable user_database caching.
1684 * dbus/dbus-userdb-util.c, dbus/dbus-userdb.c: Add ifdefs to
1685 be able disable user_dabase caching.
1687 2006-12-12 Tim Dijkstra <tim@famdijkstra.org>
1689 * bus/bus.c, bus/bus.h: Remove DBusUserDatabase from the BusContext
1690 struct. It is unnecessary we have a global one already. Also remove
1691 bus_context_get_user_database function, it is no longer needed.
1692 Flush the global database on reload.
1694 * dbus/dbus-userdb-util.c: Replace _dbus_user_database_get_groups
1695 with _dbus_groups_from_uid. It no longer needs a DBusUserDatabase.
1697 * dbus/dbus-userdb.c, dbus/dbus-userdb.h:
1698 Add _dbus_user_database_flush_system.
1699 Make more functions DBUS_USERDB_INCLUDES_PRIVATE.
1700 Small unrelated change in _dbus_is_a_number: change
1701 _dbus_string_parse_int to _dbus_string_parse_uint.
1703 * bus/connection.c: Change call to _dbus_user_database_get_groups to
1704 _dbus_groups_from_uid.
1706 * bus/policy.c, bus/policy.h: Change call to
1707 _dbus_user_database_get_groups to _dbus_groups_from_uid. Remove
1708 DBusUserDatabase from bus_policy_allow_user prototype, it no longer
1711 2006-12-12 John (J5) Palmieri <johnp@redhat.com>
1713 * bus/signal.c: Fix match_rule_equal errata
1714 (CVE-2006-6107 - Patch from Kimmo Hämäläinen
1715 <kimmo.hamalainen@nokia.com>)
1717 2006-11-19 Thiago Macieira <thiago@kde.org>
1719 * dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock,
1720 _dbus_pthread_condvar_wait,
1721 _dbus_pthread_condvar_wait_timeout): set pmutex->holder to
1722 pthread_self() after coming back from a conditional variable
1723 wait as well as in one codepath where it was forgotten.
1724 Approved by: Havoc Pennington.
1726 2006-11-17 Havoc Pennington <hp@redhat.com>
1728 * update-dbus-docs.sh: allow setting fd.org username via env
1729 variable. Make it run autogen with --enable-xml-docs=yes
1730 --enable-doxygen-docs=yes so configure will fail if the required
1733 2006-11-17 Havoc Pennington <hp@redhat.com>
1735 * doc/dbus-faq.xml: minor FAQ tweaks
1737 2006-11-14 Havoc Pennington <hp@redhat.com>
1739 * dbus/dbus-misc.c, dbus/dbus-misc.h: Move
1740 dbus_get_local_machine_id() to its own file, no substantive
1741 changes. There are a couple other things we might want to add that
1742 are "misc" so moving out of dbus-connection.[hc] which is big
1745 2006-11-14 Havoc Pennington <hp@redhat.com>
1747 * dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
1748 UUID had the timestamp last, but the implementation had it first;
1749 move it to last since I think it's a tiny bit nicer (easier to
1750 compare at a glance, faster to sort, less code), and will not
1751 cause any practical compatibility problems. Also, always convert
1752 the timestamp to big endian.
1754 * doc/dbus-specification.xml: Clean up the docs on the UUID.
1756 * tools/dbus-uuidgen.1: more prominently say it is not suitable
1757 as a replacement for regular uuidgen/RFC4122.
1759 2006-11-14 John (J5) Palmieri <johnp@redhat.com>
1761 * dbus/dbus-threads.h: fix DBUS_THREAD_FUNCTIONS_ALL_MASK to have
1762 the correct value so we don't assert when initalizing recursive threads
1764 * test/name-test/test-thread-init.c: call dbus_threads_init_default
1765 instead of _dbus_threads_init_debug since it is more of a real world