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