+2007-08-03 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: add major/minor/micro version number AC_SUBST
+
+ * dbus/dbus-arch-deps.h.in (DBUS_MAJOR_VERSION,
+ DBUS_MINOR_VERSION, DBUS_MICRO_VERSION, DBUS_VERSION_STRING,
+ DBUS_VERSION): collection of macros to get version of library we
+ are compiled against.
+
+ * dbus/dbus-misc.c (dbus_get_version): new function, to get
+ version of library we are linked against at runtime.
+
+2007-07-30 Havoc Pennington <hp@redhat.com>
+
+ * bus/activation-helper.c (check_bus_name): don't use
+ _dbus_check_valid_bus_name() which is only around with
+ --enable-checks, instead use _dbus_validate_bus_name().
+ Bug #11766 from Diego <diego@pemas.net>
+
+2007-07-27 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: post-release version bump
+
+2007-07-27 Havoc Pennington <hp@redhat.com>
+
+ * release 1.1.2
+
+2007-07-26 Havoc Pennington <hp@redhat.com>
+
+ * bus/config-parser-trivial.c (check_return_values): disable a
+ test that hardcoded the bus user's name
+
+ * bus/dispatch.c (bus_dispatch_test_conf): remove the "if
+ (!use_launcher)" around the tests, they were only failing because
+ we didn't pass through all the expected errors from the helper.
+
+ * bus/activation-exit-codes.h
+ (BUS_SPAWN_EXIT_CODE_CHILD_SIGNALED): add a code for child segfaulting
+ (BUS_SPAWN_EXIT_CODE_GENERIC_FAILURE): make "1" be a generic
+ failure code, so if a third party launch helper were written it
+ could just always return 1 on failure.
+
+2007-07-24 Daniel P. Berrange <dan@berrange.com>
+
+ * bus/dbus-daemon.1: Add docs on new syntax options for the bus
+ address strings
+
+ * dbus/dbus-address.c: Allow * in addresses (for binding to all
+ addresses).
+
+ * dbus/dbus-sysdeps.h:
+ * dbus/dbus-sysdeps-unix.c: Re-write to use getaddrinfo instead
+ of gethostbyname to enable protocol independant name lookup,
+ making IPv6 work
+
+ * dbus/dbus-server-socket.h:
+ * dbus/dbus-server-socket.c: Add support for 'family' in the
+ address string to specify ipv4 vs ipv6. Use a port string to
+ allow for service resolution. Allow for binding to multiple
+ sockets at once in case of dual IPv4 & IPv6 stacks.
+
+ * dbus/dbus-server-unix.c: Pass in an array of file descriptors
+ instead of a single one.
+
+ * dbus/dbus-transport-socket.h:
+ * dbus/dbus-transport-socket.c: Add support for 'family' in the
+ address string to specify ipv4 vs ipv6. Use a port string to
+ allow for service resolution.
+
+2007-07-24 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: add AM_PROG_CC_C_O to allow per-target CPPFLAGS
+
+ * bus/dispatch.c (bus_dispatch_test_conf): Fix up setting
+ TEST_LAUNCH_HELPER_CONFIG to include the full path, and enable
+ test shell_fail_service_auto_start when use_launcher==TRUE
+
+ * bus/activation-helper-bin.c (convert_error_to_exit_code): pass
+ through the INVALID_ARGS error so the test suite works
+
+ * bus/activation.c (handle_activation_exit_error): return
+ DBUS_ERROR_NO_MEMORY if we get BUS_SPAWN_EXIT_CODE_NO_MEMORY
+
+ * dbus/dbus-spawn.c (_dbus_babysitter_get_child_exit_status):
+ return only the exit code of the child, not the entire thingy from
+ waitpid(), and make the return value indicate whether the child
+ exited normally (with a status code)
+
+ * bus/bus.c (process_config_first_time_only): _dbus_strdup works
+ on NULL so no need to check
+ (process_config_every_time): move servicehelper init here, so we
+ reload it on HUP or config file change
+
+ * bus/Makefile.am (install-data-hook): remove comment because
+ Emacs make mode seems to be grumpy about it
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/Makefile.am:
+ * bus/test-system.c: (die), (check_memleaks), (test_pre_hook),
+ (test_post_hook), (main):
+ Add back the test-system.c file - not sure now this got ignored in the
+ diff. I blame git.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * configure.in:
+ Use ustar to generate the tarball; this fixes the make distcheck
+ problem when the data files do not fit in the archive:
+ tar: dbus-1.1.2/test/data/valid-service-files/org.freedesktop.DBus.
+ TestSuiteShellEchoServiceFail.service.in: file name is too
+ long (max 99); not dumped
+
+ We have to have the 'long' names as the service helper matches by
+ filename rather than by the name in the service file.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * configure.in:
+ * test/Makefile.am:
+ * test/data/invalid-service-files-system/org.freedesktop.DBus.TestS
+ uiteNoExec.service.in:
+ * test/data/invalid-service-files-system/org.freedesktop.DBus.TestS
+ uiteNoService.service.in:
+ * test/data/invalid-service-files-system/org.freedesktop.DBus.TestS
+ uiteNoUser.service.in:
+ * test/data/valid-config-files-system/debug-allow-all-fail.conf.in:
+ * test/data/valid-config-files-system/debug-allow-all-pass.conf.in:
+ * test/data/valid-config-files/debug-allow-all-sha1.conf.in:
+ * test/data/valid-config-files/debug-allow-all.conf.in:
+ * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
+ teEchoService.service.in:
+ * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
+ teSegfaultService.service.in:
+ * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
+ teShellEchoServiceFail.service.in:
+ * test/data/valid-service-files-system/org.freedesktop.DBus.TestSui
+ teShellEchoServiceSuccess.service.in:
+ * test/data/valid-service-files/debug-echo.service.in:
+ * test/data/valid-service-files/debug-segfault.service.in:
+ * test/data/valid-service-files/debug-shell-echo-fail.service.in:
+ * test/data/valid-service-files/debug-shell-echo-success.service.in:
+ * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoS
+ ervice.service.in:
+ * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfa
+ ultService.service.in:
+ * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShell
+ EchoServiceFail.service.in:
+ * test/data/valid-service-files/org.freedesktop.DBus.TestSuiteShell
+ EchoServiceSuccess.service.in:
+ Add the data files needed by the system activation unit checks.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/dispatch.c: (check_segfault_service_no_auto_start),
+ (check_launch_service_file_missing),
+ (check_launch_service_user_missing),
+ (check_launch_service_exec_missing),
+ (check_launch_service_service_missing), (bus_dispatch_test_conf),
+ (bus_dispatch_test_conf_fail), (bus_dispatch_test):
+ Add unit tests for system activation. Most are copied from the
+ session activation tests, but some didn't apply when using a laucher.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/activation.c: (bus_activation_activate_service):
+ If the bus uses a service-laucher, then use the setuid laucher.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * configure.in:
+ Add the needed library exports for the new laucher.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * configure.in:
+ Check for -Wl,--gc-sections so we can really reduce the size of the
+ setuid binary.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/activation.c: (handle_activation_exit_error),
+ (babysitter_watch_callback):
+ Map the child exit status integer to a proper dbus error.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/bus.c: (process_config_first_time_only),
+ (process_config_every_time), (bus_context_unref),
+ (bus_context_get_servicehelper):
+ * bus/bus.h:
+ Add the concept of a service-helper and allow it's value to be read.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/activation.c: (bus_activation_entry_unref),
+ (update_desktop_file_entry):
+ Add the concept of, and read the value of user from the desktop file.
+ The user string is not required unless we are using system activation.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/activation.c:
+ * bus/desktop-file.h:
+ Move the defines into the header file, as we use these in the lauch
+ helper as well as the desktop file parsing.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/.cvsignore:
+ Add the autogenerated binary files.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/Makefile.am:
+ * bus/test.h:
+ Add the build glue for the lauch helper, and also add the launch-helper
+ OOM checks into make check. I've probably broken the build, give me 2.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/test-launch-helper.c: (die), (check_memleaks),
+ (test_post_hook), (bus_activation_helper_oom_test), (main):
+ Add a test wrapper to allow OOM checks on the launch helper.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/activation-helper-bin.c: (convert_error_to_exit_code),
+ (main):
+ * bus/activation-helper.c: (desktop_file_for_name),
+ (clear_environment), (check_permissions), (check_service_name),
+ (get_parameters_for_service), (switch_user),
+ (exec_for_correct_user), (check_bus_name), (get_correct_parser),
+ (launch_bus_name), (check_dbus_user), (run_launch_helper):
+ * bus/activation-helper.h:
+ Add the initial launch-helper. This is split into a main section and a
+ binary loader that allows us to lauch the main section in another test
+ harness to do stuff like OOM testing. No build glue yet.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/Makefile.am:
+ * bus/config-parser.c: (bus_config_parser_unref),
+ (start_busconfig_child), (bus_config_parser_end_element),
+ (servicehelper_path), (bus_config_parser_content),
+ (bus_config_parser_finished),
+ (bus_config_parser_get_servicehelper),
+ (test_default_session_servicedirs),
+ (test_default_system_servicedirs), (bus_config_parser_test):
+ * bus/config-parser.h:
+ Make the config-parser code use the common config code.
+ Also add the session and systemdirs stuff, and make the config parser
+ aware of the servicehelper field.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/system.conf.in:
+ Add new servicehelper fields to the default system.conf file.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/config-parser-trivial.c: (service_dirs_find_dir),
+ (service_dirs_append_link_unique_or_free), (bus_config_parser_new),
+ (bus_config_parser_unref), (bus_config_parser_start_element),
+ (bus_config_parser_end_element), (bus_config_parser_content),
+ (bus_config_parser_finished), (bus_config_parser_get_user),
+ (bus_config_parser_get_type), (bus_config_parser_get_service_dirs),
+ (check_return_values), (do_load), (check_loader_oom_func),
+ (process_test_valid_subdir), (make_full_path), (check_file_valid),
+ (bus_config_parser_trivial_test):
+ * bus/config-parser-trivial.h:
+ Add a security sensitive stripped down config parser for the setuid
+ launcher. This file only reads what it needs, and doesn't try to do
+ anything remotely clever like including external files.
+ It is not intended to validate the config file; it is expected that
+ config-parser will do that before the setuid program tries to read it.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/config-parser-common.c:
+ (bus_config_parser_element_name_to_type),
+ (bus_config_parser_element_type_to_name):
+ * bus/config-parser-common.h:
+ We don't want to run the whole config parser with all it's deps in the
+ setuid program. We need to implement a stripped down config parser just
+ for the launcher, and to do so I need some common functions and
+ defines; add them here.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * dbus/dbus-sysdeps-unix.c:
+ (_dbus_get_standard_system_servicedirs):
+ * dbus/dbus-sysdeps-win.c:
+ Provide a way to get the standard system servicedirs, just like we do
+ for the session service dirs. These should be seporate, as there may
+ be a security issue starting up some session stuff as root.
+ The use-case for the same binary starting up per-system _and_
+ per-session is also not valid.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/dbus-daemon.1.in:
+ Add standard_system_servicedirs and servicehelper into the man file
+ and explain what each does.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * doc/busconfig.dtd:
+ Add servicehelper into the dtd, it will soon be a valid part of the
+ config file.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * dbus/dbus-spawn.c: (read_data),
+ (_dbus_babysitter_get_child_exit_status):
+ * dbus/dbus-spawn.h:
+ Add a function so we can get access to the exit status of the launch
+ helper.
+ By providing the return code and not the error we can leave the
+ 'what does this mean?' to the bus launch code and not include it in the
+ dbus directory.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * bus/activation-exit-codes.h:
+ Add defines which specify the output codes of the launch helper.
+ We have to use exit codes as this is the only way we can return failure
+ type without going grotty things like redirecting possibly-nonsecure
+ stderr into the error.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * dbus/dbus-protocol.h:
+ Add new error names needed for the launch helper.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * dbus/dbus-sysdeps.c: (_dbus_clearenv):
+ * dbus/dbus-sysdeps.h:
+ Add a wrapper for clearenv.
+
+2007-07-24 Richard Hughes <richard@hughsie.com>
+
+ * doc/system-activation.txt:
+ Add design document for the system activation parts. I'll shortly be
+ committing many patches that add system activation using a setuid
+ launcher into CVS, so expect things to be broken for a few hours.
+
+2007-07-19 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * cmake/modules/FindKDEWIN.cmake: fixed comment
+ * cmake/modules/FindKDEWIN32.cmake: removed obsolate cmake module
+
+2007-07-18 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-message.c (dbus_message_get_cached)
+ (dbus_message_cache_or_finalize): don't mess with message from
+ message cache outside of the cache lock. Bug #9164 from Jonathan
+ Matthew.
+
+2007-07-13 Havoc Pennington <hp@redhat.com>
+
+ * Add indent-tabs-mode: nil to all file headers.
+
+2007-07-12 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): invert the test
+ for parsing hex as double to be sure it fails to work
+
+ * dbus/dbus-sysdeps.c (_dbus_string_parse_double): don't allow hex numbers.
+
+2007-07-10 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-connection.c (struct DBusConnection): Fix from Olivier
+ Hochreutiner to avoid trying to protect individual bits in a word
+ with different locks (make dispatch_acquired and io_path_acquired
+ dbus_bool_t rather than bitfields)
+
+2007-07-09 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c,dbus-sysdeps-win.h,dbus-sysdeps-win-util.c,
+ dbus-sysdeps-spawn-win.c: synced with windbus sources
+
+2007-07-07 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c
+ (_dbus_getsid): remove unused jump label
+ (_dbus_read_credentials_socket): _dbus_string_init could fail,
+ check initialisation
+ (_dbus_get_working_dir, _dbus_init_working_dir): remove unused
+ functions
+
+2007-07-04 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * cmake/modules/FindKDEWIN.cmake: search in <program files dir>\win32libs
+ for windows supplementary packages too
+
+2007-06-30 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * cmake/dbus/CMakeLists.txt: handle userdb as unix file
+
+2007-06-30 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c,dbus/dbus-sysdeps-win.h: removed obsolate
+ DBusUserInfo code
+
+2007-06-30 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c (_dbus_daemon_init): reduced compiler warnings
+
+2007-06-23 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-auth-script.c (_dbus_auth_script_run): added UNIX_ONLY and
+ WIN_ONLY commands for auth scripts
+ * test/data/auth/external-root.auth-script: limit execution to unix
+
+2007-06-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-tranport.c (auth_via_default_rules): made the verbose spam
+ cross-platform
+
+2007-06-21 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-watch.c (dbus_watch_get_fd): 1) its behavior should
+ not be the same as before, the ABI has never been declared stable
+ on Windows and 2) do not commit to cross-platform files without
+ posting the exact patch to the mailing list
+
+ * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): as I have pointed
+ out before, either 0xff needs to work on both platforms, or none
+ of the dbus code can rely on it working. That means the options
+ are 1) audit the code for anywhere that relies on 0xff working, if
+ none found ideally add a test that it *doesn't* work and make unix
+ reject it explicitly, but in any case this test would go away or
+ 2) make it work on Windows also, then we don't have to figure out
+ whether we rely on it.
+
+ And in either case, post the exact patch to the mailing list and
+ don't just commit.
+
+2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * cmake/CMakeLists.txt: added VERSION_PATCH to be able to
+ distinguish win32 binary release from dbus versioning
+
+2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c: deleted local DBusCredentials structure
+ (_dbus_getsid): new function
+ (_dbus_read_credentials_socket): used correct function
+ (_dbus_append_user_from_current_process,
+ _dbus_credentials_add_from_current_process): added real
+ sid reading
+ (_dbus_credentials_parse_and_add_desired,_dbus_parse_uid):
+ deleted
+
+2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-util.c (_dbus_sysdeps_test): don't check
+ 0xff as floating point, this isn't supported on win32 math
+ implementation
+
+2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c (_dbus_homedir_from_username,
+ _dbus_homedir_from_current_process, _dbus_append_desired_identity):
+ removed obsolate functions
+
+2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c, dbus/dbus-sysdeps-util-win.c,
+ dbus/dbus-sysdeps-win.h: disabled uid/sid conversation stuff
+ implementation by Peter Kuemmel
+
+2007-06-21 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-watch.c (dbus_watch_get_fd): this function is
+ deprecated and its behavior should be as before until all
+ client code is migrated.
+
+2007-06-19 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-util-win.c, tools/dbus-launch-win.c:
+ msvc7.1 fixes by Jaroslaw Staniek tested with mingw
+
+2007-06-19 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus/dbus-sysdeps-win.c, dbus/dbus-sysdeps-spawn-win.c,
+ dbus/dbus-sysdeps-win.h: disabled DBusSocket implementation
+ by Peter Kuemmel
+
+2007-06-18 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * dbus-win.patch: removed obsolate patches
+
+2007-06-18 Havoc Pennington <hp@redhat.com>
+
+ * configure.in: bump version to 1.1.2 so CVS is higher than last
+ release (this is not the 1.1.2 release)
+
+2007-06-18 Havoc Pennington <hp@redhat.com>
+
+ * Release 1.1.1
+
+2007-06-18 Havoc Pennington <hp@redhat.com>
+
+ * doc/dbus-specification.xml: document org.freedesktop.DBus.GetId()
+
+ * bus/driver.c (bus_driver_handle_get_id): implement org.freedesktop.DBus.GetId()
+
+ * bus/bus.c (bus_context_new): generate a unique ID for each bus context
+
+ * dbus/dbus-connection.c (dbus_connection_get_server_id): new function
+
+ * dbus/dbus-bus.c (dbus_bus_get_id): new function
+
+ * dbus/dbus-server.c (dbus_server_get_id): new function
+
+2007-06-18 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-sysdeps-unix.c (_dbus_read_credentials_socket): clean
+ this up a little bit, to try and understand why telnet'ing to a
+ server and sending a non-nul byte didn't disconnect immediately;
+ now it seems that it does disconnect immediately as it should,
+ though I don't understand what has changed.
+
+2007-06-18 Havoc Pennington <hp@redhat.com>
+
+ * dbus/dbus-watch.c (dbus_watch_get_socket)
+ (dbus_watch_get_unix_fd): new API to match DBusConnection
+ (dbus_watch_get_fd): deprecate this
+
+ Throughout: just s/dbus_watch_get_fd/dbus_watch_get_socket/g for
+ now since all the transports use sockets anyway
+
2007-06-16 Ralf Habacker <ralf.habacker@freenet.de>
* dbus/dbus-macros.h, dbus/dbus-message.c,