Ralf Habacker [Thu, 21 Jun 2007 13:11:10 +0000 (13:11 +0000)]
* dbus/dbus-sysdeps-win.c: deleted local DBusCredentials structure
(_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
Havoc Pennington [Mon, 18 Jun 2007 18:05:21 +0000 (18:05 +0000)]
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.
Ralf Habacker [Fri, 15 Jun 2007 21:04:43 +0000 (21:04 +0000)]
* cmake/ConfigureChecks.cmake,cmake/config.h.cmake: added check for HAVE_ERRNO_H
* cmake/dbus/CMakeLists.txt: added missing files
* dbus/dbus-transport-win.c/.h: new files
* dbus/dbus-sysdeps-win.c,.h: added required _unix functions to make dbus compilable on win32
* dbus/dbus-sysdeps-win-utils.c,.h: moved some functions to dbus-sysdeps-win.c
* dbus-win.patch: removed applied or obsolate patches
Note: dbus-win32 is now compilable, no guarantee that it runs without any problems
Havoc Pennington [Fri, 15 Jun 2007 19:28:36 +0000 (19:28 +0000)]
2007-06-15 Havoc Pennington <hp@redhat.com>
* 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)
Havoc Pennington [Thu, 14 Jun 2007 22:02:10 +0000 (22:02 +0000)]
2007-06-14 Havoc Pennington <hp@redhat.com>
* 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.
Havoc Pennington [Thu, 14 Jun 2007 21:15:33 +0000 (21:15 +0000)]
2007-06-14 Havoc Pennington <hp@redhat.com>
* 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()
Havoc Pennington [Thu, 14 Jun 2007 20:59:16 +0000 (20:59 +0000)]
2007-06-14 Havoc Pennington <hp@redhat.com>
* dbus/dbus-auth.c: adapt to keyring changes
* dbus/dbus-keyring.c: change to avoid using user ID and home
directory directly; instead use a
keyring-location-from-credentials function in dbus-sysdeps
* fix to use _dbus_append_user_from_current_process() instead of
_dbus_username_from_current_process() or _dbus_append_desired_identity().
Ralf Habacker [Thu, 14 Jun 2007 20:08:48 +0000 (20:08 +0000)]
* reverted global rename of function _dbus_username_from_current_process.
It needs to much tests to verify that the change does not break anything. I had overseen that the signatures are different (** to *) which requires non trivial changes. This is one *major* disadvantage of elumating oop functionality with c. You are responsible for cleaning every object on every function return point, which could be a nightmare if you are not working with dbus all the days.
Ralf Habacker [Thu, 14 Jun 2007 17:37:27 +0000 (17:37 +0000)]
* dbus/dbus-sysdeps-win.c: disabled DBusUserInfo related code
(_dbus_append_desired_identity,_dbus_windows_user_is_process_owner): new win32 functions as counterpart of unix related
(_dbus_send_credentials_socket,_dbus_read_credentials_socket): renamed from ..._unix_socket
(_dbus_send_credentials_unix_socket): removed obsolate function
* dbus/dbus-sysdeps-win-util.c: disabled DBusGroupInfo related code
(_dbus_verify_daemon_user,_dbus_change_to_daemon_user): new win32 functions as counterpart of unix related
Simon McVittie [Thu, 14 Jun 2007 09:50:17 +0000 (09:50 +0000)]
doc/dbus-specification.xml: say the protocol version is 1 instead of 0
(patch from Kristoffer Lundén, fd.o#10033)
Also remove the FIXME about removing protocol version from messages (as per
Havoc's comment on that bug)
Ralf Habacker [Thu, 14 Jun 2007 07:56:47 +0000 (07:56 +0000)]
* cmake/modules/FindKDEWIN.cmake, cmake/modules/FindKDEWIN_Packager.cmake cmake/modules/Win32Macros.cmake: new files from the kdewin32 project
* cmake/CMakeLists.txt: cleaned support for kdewin installer and win32 explorer wrapper
Havoc Pennington [Wed, 13 Jun 2007 16:30:43 +0000 (16:30 +0000)]
2007-06-13 Havoc Pennington <hp@redhat.com>
* configure.ac, bus/selinux.c, dbus/dbus-sysdeps-unix-util.c: add
libaudit support, no clue what this means really but now we have
it. Patches from Fedora package.
* bus/bus.c (bus_context_new): move selinux initialization after
changing to daemon user, patch from Fedora package
* dbus/dbus-transport.c (auth_via_unix_user_function): fix a typo
Havoc Pennington [Tue, 12 Jun 2007 18:36:19 +0000 (18:36 +0000)]
2007-06-12 Havoc Pennington <hp@redhat.com>
* dbus/dbus-auth.c (sha1_handle_second_client_response)
(handle_server_data_anonymous_mech): add the process ID from
socket credentials, if available, even if not using EXTERNAL
* dbus/dbus-transport.c (auth_via_default_rules): support
allow_anonymous flag
* dbus/dbus-connection.c (dbus_connection_get_is_anonymous)
(dbus_connection_set_allow_anonymous): new API for controlling
anonymous access
Havoc Pennington [Sun, 10 Jun 2007 04:54:45 +0000 (04:54 +0000)]
2007-06-09 Havoc Pennington <hp@redhat.com>
* dbus/dbus-string.c (_dbus_string_pop_line): fix this not to
think an empty line is the end of the file.
Also, fix some whitespace.
* dbus/dbus-string-util.c: add more tests for
_dbus_string_pop_line() revealing that it thinks an empty line is
the end of the file, which broke dbus-auth-script.c so
it didn't really run the scripts
* dbus/dbus-auth.c: add ANONYMOUS mechanism
* dbus/dbus-auth-script.c (_dbus_auth_script_run): fix to detect
an empty/no-op auth script; add commands to check that we have or
don't have the expected credentials
* bus/policy.c (bus_policy_create_client_policy): gracefully
continue if the connection has no unix user - just don't apply
any unix user dependent rules.
* bus/config-parser.c: remove dbus-userdb.h usage
* bus/bus.c: remove dbus-userdb.h usage
* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
support Windows user function; also, fix the logic for checking
auth as root in the default auth code (broken in the previous
commit)
* dbus/dbus-connection.c
(dbus_connection_set_windows_user_function): new function
(dbus_connection_get_windows_user): new function
* bus/dispatch.c (check_get_connection_unix_process_id): adapt
since sysdeps-unix.h stuff isn't included anymore
* bus/bus.c (bus_context_new): use more abstract functions to
change user, so they can be no-ops on Windows
* dbus/dbus-credentials.c, dbus/dbus-credentials.h,
dbus/dbus-credentials-util.c: new files containing a fully opaque
DBusCredentials data type to replace the old not opaque one.
* configure.in (DBUS_UNIX): define DBUS_UNIX to match DBUS_WIN on
windows
* dbus/dbus-userdb.h: prohibit on Windows, next step is to clean
up the uses of it in bus/*.c and factor out the parts of
cookie auth that depend on it
Ralf Habacker [Fri, 1 Jun 2007 22:05:42 +0000 (22:05 +0000)]
* bus/main.c (main): uses _dbus_get_config_file_name() to detect session.conf location on win32.
* dbus-sysdeps-win.h (_dbus_get_config_file_name,_dbus_file_exists): new prototyp, undefined interface after including windows.h because t makes trouble when a paramater is named interface.
* dbus-sysdeps-win.c (_dbus_get_install_root,_dbus_get_config_file_name,_dbus_file_exists): new functions.
* Split NEWS and ChangeLog into a .pre-1-0 file as per HACKING
We forgot to do this during the 1.0 release and it makes sense
now as we get ready to release the first 1.1.0 development tarball
Ralf Habacker [Thu, 24 May 2007 19:15:26 +0000 (19:15 +0000)]
* dbus/dbus-server-win.c,dbus/dbus-server-win.h: new file with empty function _dbus_server_listen_platform_specific().
* dbus/dbus-server.c (listen_funcs): uses _dbus_server_listen_platform_specific() on win platform too.
Ralf Habacker [Thu, 24 May 2007 18:15:24 +0000 (18:15 +0000)]
* dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir): not getting user info from a domain controller isn't an error, the computer may run in a non domain context.
Simon McVittie [Mon, 21 May 2007 17:37:08 +0000 (17:37 +0000)]
acinclude.m4, configure.in: In recent autotools, ${datadir} is
defined in terms of ${datarootdir}, so EXPANDED_DATADIR needs to be
expanded recursively. Rather than fixing configure.in to do this, I
grabbed the AS_AC_EXPAND macro from autostars.sf.net, which seems to be
commonly used.
Simon McVittie [Mon, 21 May 2007 16:43:57 +0000 (16:43 +0000)]
* update-dbus-docs.sh: Assorted improvements:
- Default user if $FDUSER is not set is the ssh default
(set in ~/.ssh/config or based on the local username), not a
hard-coded "johnp"
- Temporary checkout directory is created securely (preventing symlink
attacks), if mktemp(1) is available
- Use make -C rather than cd && make && cd ..
Ralf Habacker [Sat, 19 May 2007 15:17:26 +0000 (15:17 +0000)]
* dbus/dbus-server.c (listen_funcs): _dbus_server_listen_platform_specific is empty on win32, limited to unix only.
* dbus/dbus-server.c (valid_addresses): limit unix only addresses to unix.
Simon McVittie [Fri, 4 May 2007 10:28:12 +0000 (10:28 +0000)]
doc/dbus-specification.xml: mention the reserved o.fd.DBus.Local interface
and the corresponding /o/fd/DBus/Local object path; describe them as reserved
and forbid using them in a sent message, mentioning that in the reference
implementation this will cause the connection to be dropped.
Patch approved by Havoc.
* cmake: added debug postfixes to debug exe's for easier debugging.
* dbus\dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error): print error code in case no string message is available.
Simon McVittie [Fri, 6 Apr 2007 12:13:13 +0000 (12:13 +0000)]
dbus/dbus-message-util.c, dbus/dbus-message.c, dbus/dbus-message.h:
Add API to convert a DBusMessage to/from a byte array.
Patch from Dafydd Harries <dafydd.harries@collabora.co.uk>, approved by
Havoc Pennington.
* dbus/dbus-address.c (dbus_parse_address): Do not accept zero-length address.
* dbus/dbus-address.c (_dbus_address_test): Add test for zero-length address.
Ralf Habacker [Fri, 16 Mar 2007 21:56:33 +0000 (21:56 +0000)]
* dbus/dbus-sysdeps.h (_dbus_split_paths_and_append): new prototyp (_DBUS_PATH_SEPARATOR): new macro.
* dbus/dbus-sysdeps.c (_dbus_split_paths_and_append): merged from dbus/dbus-sysdeps-unix.c and dbus/dbus-sysdeps-win.c.
Ralf Habacker [Thu, 15 Mar 2007 13:27:01 +0000 (13:27 +0000)]
* bus/config-parser.c, bus/policy.c, bus/policy.h, bus/dbus-daemon.1.in,bus/session.conf.in: added eavesdrop support for replies - patch by olli.salli at collabora.co.uk approved by Havoc Pennington.