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