|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| 
| 
| | * For security reasons we want possition independent code for libraries
  and possition independent executable for executables
* before we were just enabling -fPIC
* now we correctly enable -fPIC and -PIE for libdbus and the bus respectively
* propper LD_FLAGS are set for each also | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 2007-09-20  Ryan Lortie  <desrt@desrt.ca>
        * dbus/signals.c (struct DBusMatchRule, bus_match_rule_new,
        bus_match_rule_set_arg, bus_match_rule_parse_arg_match,
        match_rule_matches): Add support for parsing and matching on
        arg0path='/some/path' type rules.
        * dbus/signals.h (bus_match_rule_set_arg): change to take const
        DBusString instead of const char * for the string to match against.
        * dbus/dbus-bus.c: add a quick note to dbus_bus_add_match
        documentation about the path matching.
        * doc/dbus-specification.xml: add a more detailed description of the
        changes here. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 2007-09-19  Ryan Lortie  <desrt@desrt.ca>
        * dbus/dbus-string.[ch] (compact, _dbus_string_compact,
        _dbus_string_lock): new compact function to free up allocated memory
        that is no longer used.
        * dbus/dbus-message.c (load_message): call _dbus_string_compact on the
        message loader buffer.
        * dbus/dbus-transport-socket.c (do_reading, do_writing): call
        _dbus_string_compact on the incoming/outgoing "encoded" buffers.
        * dbus/dbus-string-util.c (_dbus_string_test): add a few tests for
        string compacting. | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 2007-09-13  Ryan Lortie  <desrt@desrt.ca>
        migrate from cvs to git (cvs2svn -> git-svnimport).
        * HACKING: update release/branch/tag instructions
        * */.cvsignore: rename to .gitignore
        also, clean up tags and branch names to conform to HACKING | 
| | 
| 
| 
| | * update-dbus-docs.sh: upload DTD to server | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * tools/dbus-launch-x11.c (set_address_in_x11): fix from Michael
	Lorenz to use long not int with XChangeProperty format 32
	* dbus/dbus-sysdeps-util-unix.c
	(_dbus_write_pid_to_file_and_pipe): factor this out, and use the
	same code in _dbus_become_daemon (where the parent writes the pid
	file and to the pid pipe) and in bus_context_new (where the daemon
	writes its own pid file and to its own pid pipe)
	* bus/bus.c (bus_context_new): close the pid pipe after we print
	to it. Also, don't write the pid to the pipe twice when we fork,
	someone reported this bug a long time ago. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| | * 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> | 
| | 
| 
| 
| | * configure.in: post-release version bump | 
| | 
| 
| 
| | * release 1.1.2 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | |  | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * bus/activation.c: (bus_activation_activate_service):
If the bus uses a service-laucher, then use the setuid laucher. | 
| | 
| 
| 
| 
| | * configure.in:
Add the needed library exports for the new laucher. | 
| | 
| 
| 
| 
| 
| | * configure.in:
Check for -Wl,--gc-sections so we can really reduce the size of the
setuid binary. | 
| | 
| 
| 
| 
| 
| | * bus/activation.c: (handle_activation_exit_error),
(babysitter_watch_callback):
Map the child exit status integer to a proper dbus error. | 
| | 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * bus/.cvsignore:
Add the autogenerated binary files. | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * bus/system.conf.in:
Add new servicehelper fields to the default system.conf file. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| | * bus/dbus-daemon.1.in:
Add standard_system_servicedirs and servicehelper into the man file
and explain what each does. | 
| | 
| 
| 
| 
| 
| | * doc/busconfig.dtd:
Add servicehelper into the dtd, it will soon be a valid part of the
config file. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * dbus/dbus-protocol.h:
Add new error names needed for the launch helper. | 
| | 
| 
| 
| 
| 
| | * dbus/dbus-sysdeps.c: (_dbus_clearenv):
* dbus/dbus-sysdeps.h:
Add a wrapper for clearenv. | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| | * cmake/modules/FindKDEWIN32.cmake: removed obsolate cmake module | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| | * Add indent-tabs-mode: nil to all file headers. | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| | * 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) | 
| | 
| 
| 
| | dbus/dbus-sysdeps-win.c,dbus-sysdeps-win.h,dbus-sysdeps-win-util.c,dbus-sysdeps-spawn-win.c: synced with windbus sources | 
| | 
| 
| 
| 
| 
| | (_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 | 
| | 
| 
| 
| | for windows supplementary packages too |