| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
DBusUserInfo code
|
| |
|
|
|
|
|
|
| |
WIN_ONLY commands for auth scripts
* test/data/auth/external-root.auth-script: limit execution to unix
|
|
|
|
| |
cross-platform
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
binary releases from dbus versioning
|
|
|
|
|
|
|
| |
(_dbus_getsid): new function
(_dbus_read_credentials_socket): fixed
(_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
|
|
|
|
| |
point, this isn't supported on win32 math implementation
|
|
|
|
| |
_dbus_homedir_from_current_process, _dbus_append_desired_identity): removed obsolate functions
|
|
|
|
| |
dbus/dbus-sysdeps-win.h: disabled DBusSocket implementation by Peter Kuemmel
|
|
|
|
| |
behavior should be as before until all client code is migrated.
|
|
|
|
| |
Jaroslaw Staniek tested with mingw
|
|
|
|
| |
dbus/dbus-sysdeps-win.h: disabled DBusSocket implementation Patch by Peter Kuemmel
|
| |
|
|
|
|
|
| |
* configure.in: bump version to 1.1.2 so CVS is higher than last
release (this is not the 1.1.2 release)
|
|
|
|
| |
* Release 1.1.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
DBUS_GNUC_DEPRECATED to DBUS_DEPRECATED and extended to msvc compiler
|
|
|
|
| |
* dbus/dbus-sysdeps-win.c: mingw compile fix of DBusCredential struct
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-sysdeps-unix.c (_dbus_append_session_config_file)
(_dbus_append_system_config_file): new functions
* bus/main.c (main): use _dbus_append_system_config_file() and
_dbus_append_session_config_file()
* dbus/Makefile.am (INCLUDES): move DBUS_SYSTEM_CONFIG_FILE and
DBUS_SESSION_CONFIG_FILE into this makefile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-sysdeps.c (_dbus_set_errno_to_zero)
(_dbus_get_is_errno_nonzero, _dbus_get_is_errno_eintr)
(_dbus_strerror_from_errno): family of functions to abstract
errno, though these are somewhat bogus (really we should make our
socket wrappers not use errno probably - the issue is that any
usage of errno that isn't socket-related probably is not
cross-platform, so should either be in a unix-only file that can
use errno directly, or is a bug - these general errno wrappers
hide issues of this nature in non-socket code, while
socket-specific API changes would not since sockets are allowed
cross-platform)
|
| |
|
|
|
|
|
|
| |
* bus/dispatch.c (check_get_connection_unix_process_id): mop up
getpid() (noticed by Peter KKümmel) and adapt the test to
expect a "pid unknown" error when running on Windows.
|
|
|
|
|
|
| |
* dbus/dbus-sysdeps-unix.c (_dbus_credentials_parse_and_add_user):
delete this function since it was effectively the same as
_dbus_credentials_add_from_username()
|