2007-08-03 Havoc Pennington <hp@redhat.com>
[platform/upstream/dbus.git] / ChangeLog
index 4e6e8ae..37ab97f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,280 @@
+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: