Commit graph

1795 commits

Author SHA1 Message Date
John (J5) Palmieri
6db561dce2 CVE-2008-0595 dbus security policy circumvention
* CVE-2008-0595 - security policy of the type <allow send_interface=
  "some.interface.WithMethods"/> work as an implicit allow for
  messages sent without an interface bypassing the default deny rules
  and potentially allowing restricted methods exported on the bus to be
  executed by unauthorized users.  This patch fixes the issue.
* bus/policy.c (bus_client_policy_check_can_send,
  bus_client_policy_check_can_receive): skip messages without an
  interface when evaluating an allow rule, and thus pass it to the
  default deny rules
2008-02-26 13:30:47 -05:00
John (J5) Palmieri
381c8548b2 correctly unref connections without guids during shutdown
* dbus/dbus-connection.c (close_connection_on_shutdown): new method
  split out from shared_connections_shutdown
  (shared_connections_shutdown): shutdown all shared connections
  without guids
  (_dbus_connection_ref_unlocked): handle OOM when prepending no guid
  connections to the shared_connections_no_guid list
* Patch by  Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>
2008-02-26 10:35:56 -05:00
John (J5) Palmieri
be8750940b fix build against the latest gcc/glibc
* dbus/dbus-sysdeps-unix.c: define _GNU_SOURCE
* bus/selinux.c: include limits.h
* Patch by Matthias Clasen <mclasen at redhat.com>
2008-02-21 13:42:06 -05:00
John (J5) Palmieri
7d409700c3 fixes dbus-launch so the bus goes away when X does (Red Hat Bug #430412)
* tools/dbus-launch.c (main): set xdisplay = NULL
* Patch by Matthias Clasen <mclasen at redhat.com>
+
2008-02-21 12:02:58 -05:00
John (J5) Palmieri
b53e46c2e2 post-release bump 2008-01-17 15:21:50 -05:00
John (J5) Palmieri
b1b4017980 Release 1.1.4(1.2.0RC2) 2008-01-17 15:20:25 -05:00
John (J5) Palmieri
e1821fc35a fix inotify support
2008-01-17  Timo Hoenig  <thoenig@suse.de>
	* fix inotify support
	* bus/dir-watch-inotify.c (_handle_inotify_watch): fix reading of the
	inotify events. Also, use ssize_t not size_t for 'ret'.
	* bus/dir-watch-inotify.c (bus_watch_directory): watch not only for
	IN_MODIFY but also for IN_CREATE and IN_DELETE
	* bus/dir-watch-inotify.c (bus_drop_all_directory_watches): drop the
	inotify watches more elegantly by closing inotify:_fd, set inotify_fd to
	-1 after dropping the watches
2008-01-17 14:57:47 -05:00
John (J5) Palmieri
9311dea540 post-release version bump 2008-01-15 19:54:46 -05:00
John (J5) Palmieri
e42caf6a34 Released 1.1.3 (1.2.0RC1) 2008-01-15 19:52:40 -05:00
John (J5) Palmieri
fae808d6fe fix HACKING to say git instead of cvs 2008-01-15 18:35:41 -05:00
John (J5) Palmieri
e113a70b56 wrap all_reader_classes[] in #ifndef DBUS_DISABLE_ASSERT (FDO Bug #9030)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Sébastien Couret <10function at gmail dot com>

	* dbus/dbus-marshal-recursive.c (all_reader_classes[]): wrap in
	#ifndef DBUS_DISABLE_ASSERT since it is only used in asserts which
	are noop
2008-01-15 18:10:50 -05:00
John (J5) Palmieri
7ef60319c7 handle SASL EXTERNAL's inital empty responce (FDO Bug #9945)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Magnus Henoch <henoch plus bfdo at dtek dot chalmers dot se>

	* dbus/dbus-auth.c (handle_server_data_external_mech): handle SASL
	EXTERNAL's inital empty responce (FDO Bug #9945)
2008-01-15 17:21:52 -05:00
John (J5) Palmieri
71c2677086 add lsb headers to init script (FDO Bug #11491)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* bus/messagebus.in: add lsb headers (FDO Bug #11491)
2008-01-15 16:58:36 -05:00
John (J5) Palmieri
6cfcabbc00 check write return value so we don't hang (FDO Bug #11665)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Peter O'Gorman <pogma at thewrittenword dot com>

	* dbus/dbus-spawn.c (babysit_signal_handler): check write return value
	so we don't hang (FDO Bug #11665)
2008-01-15 16:51:30 -05:00
John (J5) Palmieri
c0910a0bda support for AIX poll implementation (FDO Bug #11666)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Peter O'Gorman <pogma at thewrittenword dot com>

	* dbus/dbus-sysdeps.h: support for AIX poll implementation (FDO Bug
	#11666)
2008-01-15 16:43:46 -05:00
John (J5) Palmieri
94bc113117 make shell script more portable (FDO Bug #11667)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* tests/name-test/run-test.sh: make more portable (FDO Bug #11667)
2008-01-15 16:23:54 -05:00
John (J5) Palmieri
738743002d don't check for < 0 on an unsigned variable (FDO Bug #12924)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-connection.c (_dbus_connection_get_next_client_serial):
	don't check for < 0 on an unsigned variable (FDO Bug #12924)
2008-01-15 15:57:34 -05:00
John (J5) Palmieri
4cc2bfa10e check failed allocation (FDO Bug #12920)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* bus/bus.c (setup_server): check failed allocation (FDO Bug #12920)
2008-01-15 15:49:35 -05:00
John (J5) Palmieri
7ba3dc8bf9 the API contract says sitter_p can be NULL, so let's check it (FDO Bug #12919)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): the API
	contract says sitter_p can be NULL, so let's check it (FDO Bug #12919)
2008-01-15 15:45:20 -05:00
John (J5) Palmieri
c8a9cf8103 use correct ssize_t type instead of size_t (FDO Bug #12862)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-spawn.c (read_ints, read_pid): use correct ssize_t type
	instead of size_t (FDO Bug #12862)
2008-01-15 15:40:31 -05:00
John (J5) Palmieri
97872bf72f make sure to call va_end if we hit an OOM error inside va_start (FDO Bug #12846)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-errors.c (dbus_set_error): make sure to call va_end if we
	hit an OOM error inside va_start (FDO Bug #12846)
2008-01-15 15:30:19 -05:00
John (J5) Palmieri
1b64602017 fix possible crash if pending_return is NULL (FDO Bug #12673)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-connection.c (dbus_connection_send_with_reply):
	fix possible crash if pending_return is NULL (FDO Bug #12673)
2008-01-15 15:23:57 -05:00
John (J5) Palmieri
f44e259110 never auto-select libxml
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* portions of patch submitted by Tim Mooney
	<enchanter at users dot sourceforge dot net>

	* configure.in: never auto-select libxml (FDO Bug #12479)
2008-01-15 15:16:23 -05:00
John (J5) Palmieri
85d7a8e4d7 add OOM handling in various places
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patches by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-sysdeps-unix (_dbus_get_autolaunch_address): handle OOM
	(FDO Bug #12945)

	* dbus/dbus-uuidgen.c (return_uuid): handle OOM (FDO Bug #12928)

	* dbus/dbus-misc.c (dbus_get_local_machine_id): handle OOM, fix return
	value to return NULL not FALSE (FDO Bug #12946)
2008-01-15 14:43:19 -05:00
John (J5) Palmieri
9db435926f rewrite selinux error handling to not abort due to a NULL read
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* bus/bus.c (bus_context_check_security_policy): rewrite selinux error
	handling to not abort due to a NULL read and to set the error only if
	it is not already set (Based off of FDO Bug #12430)
2008-01-15 14:20:43 -05:00
John (J5) Palmieri
c18415e2c6 add OOM handling
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-internals.c (_dbus_read_uuid_file_without_creating,
	_dbus_create_uuid_file_exclusively): add OOM handling (FDO Bug #12952)
2008-01-15 13:53:54 -05:00
John (J5) Palmieri
a6a22beeae add error handling when polling (FDO Bug #12954)
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-spawn.c (babysit, babysitter_iteration): add error
	handling when polling (FDO Bug #12954)
2008-01-15 13:46:50 -05:00
John (J5) Palmieri
f72bb380a6 remove dead code
2008-01-15  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* bus/config-parser.c (locate_attributes): remove dead code which
	always evaluated to TRUE

	* dbus/dbus-shell.c (_dbus_shell_quote): remove unused code
2008-01-15 13:32:47 -05:00
John (J5) Palmieri
fec58d8d78 plug a possible BusClientPolicy leak (FDO Bug #13242)
2008-01-14  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* bus/connection.c (bus_connection_complete): plug a possible
	BusClientPolicy leak (FDO Bug #13242)
2008-01-14 19:04:41 -05:00
John (J5) Palmieri
831a0d71c4 add inotify support (FDO Bz#13268)
2008-01-14  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Frederic Crozat <fcrozat at mandriva dot com> (FDO Bz#
	13268)

	* add inotify support

	* bus/Makefile.am: add inotify module to the build

	* bus/dir-watch-inotify.c: inotify module based off the dnotify and
	kqueue modules

	* configure.in: add checks and switch for inotify
	also add a printout at the end of configure if inotify and kqueue
	support is being built in (dnotify already had this)
2008-01-14 19:00:36 -05:00
John (J5) Palmieri
cbf5d0b6fa watch for file creates in dnotify
2008-01-14  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Frederic Crozat <fcrozat at mandriva dot com>

	* bus/dir-watch-dnotify.c (bus_watch_directory): watch for file
	creates also
2008-01-14 18:17:53 -05:00
John (J5) Palmieri
c8e29a910b return message loader buffer in case of OOM (FDO Bug#12666)
2008-01-14  John (J5) Palmieri  <johnp@redhat.com>

	* patch by Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>

	* dbus/dbus-transport-socket.c(do_reading): return message
	loader buffer in case of OOM (FDO Bug#12666)
2008-01-14 18:09:14 -05:00
John (J5) Palmieri
93e8a272d7 add warning to output when libxml is selected
2008-01-14  John (J5) Palmieri  <johnp@redhat.com>

	* configure.in: add warning to output when libxml is selected since
	we don't have a libxml maintainer and expat works perfectly fine
	for what we need an xml parser for
2008-01-14 15:53:13 -05:00
John (J5) Palmieri
ede4e45146 add _dbus_geteuid to fix EXTERNAL authentication in setuid applications
2008-01-14  John (J5) Palmieri  <johnp@redhat.com>

	* Patch by Andrea Luzzardi  <scox at sig11 dot org>: creates a
	_dbus_geteuid function to fix EXTERNAL authentication in setuid
	applications

	*  dbus/dbus-sysdeps-unix.c (_dbus_geteuid): used to get the effective
	uid of the running program
	(_dbus_credentials_add_from_current_process): use geteuid instead of
	getuid
	(_dbus_append_user_from_current_process): use geteuid instead of
	getuid

	* dbus/dbus-sysdeps-util-unix.c (_dbus_change_to_daemon_user): use
	geteuid instead of getuid
	(_dbus_unix_user_is_at_console): use geteuid instead of getuid

	* dbus/dbus-sysdeps-win.c (_dbus_geteuid): add a windows equivilant
	that returns DBUS_UID_UNSET
2008-01-14 15:07:48 -05:00
Havoc Pennington
047ec880e9 fix some curly braces that were on the wrong line
2007-12-18  Havoc Pennington  <hp@redhat.com>

	* dbus/dbus-connection.c (_dbus_connection_block_pending_call):
	fix location of curly braces
2007-12-18 15:20:17 -05:00
Sjoerd Simons
ed47b4502b Allow a normal session bus to be reused by applications using autolaunching
2007-11-23  Sjoerd Simons  <sjoerd@luon.net>

   * tools/dbus-launch.c: let both a normal dbus-launch and an
   autolaunched bus save their parameters in X11 if possible. This makes
   the autolaunch and non-autolaunch behaviour more similar. With the
   exception that on a normal launch there will always be a new session
   bus and not being able to save parameters is not fatal. This also
   enables to launch programs directly with autolaunch (not very usefull
   though).
2007-11-23 11:31:05 +01:00
Havoc Pennington
bef4260ad5 Fix a problem where a nul byte was wrongly introduced into UUIDs, due to _dbus_string_copy_to_buffer weird behavior.
2007-10-31  Havoc Pennington  <hp@redhat.com>

	* bus/selinux.c (log_audit_callback): rewrite to use
	_dbus_string_copy_to_buffer_with_nul()

	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): change to NOT
	nul-terminate the buffer; fail an assertion if there is not enough
	space in the target buffer. This fixes two bugs where
	copy_to_buffer was used to copy the binary bytes in a UUID, where
	nul termination did not make sense. Bug reported by David Castelow.
	(_dbus_string_copy_to_buffer_with_nul): new function that always
	nul-terminates the buffer, and fails an assertion if there is not
	enough space in the buffer.
2007-10-31 13:58:28 -04:00
Havoc Pennington
5340b8de0b audit_init() was not declared in header, causing warnings; fix this and namespace it
2007-10-23  Havoc Pennington  <hp@redhat.com>

	* bus/bus.c (bus_context_new): use the new name here

	* bus/selinux.c (bus_selinux_audit_init): rename from audit_init()
	to avoid possible libc conflict, and declare it in .h file to
	avoid a warning
2007-10-23 14:48:52 -04:00
Havoc Pennington
a8e32b6874 add HAVE_SELINUX around call to audit_init() so things build without selinux
2007-10-19  Havoc Pennington  <hp@redhat.com>

	* bus/bus.c (bus_context_new): put audit_init() in HAVE_SELINUX
2007-10-19 17:20:06 -04:00
Havoc Pennington
53f6713976 do not call audit_init() from bus/ directory from files in dbus/
2007-10-19  Havoc Pennington  <hp@redhat.com>

	* bus/bus.c (bus_context_new): put the audit_init() in here
	instead, which I believe ends up being the same as where it was
	before, though I'm not sure I understand why it goes here.

	* dbus/dbus-sysdeps-util-unix.c (_dbus_change_to_daemon_user):
	remove audit_init() from here, this file can't depend on code in
	bus/ directory
2007-10-19 15:05:27 -04:00
Simon McVittie
71a357de56 configure.in: *Actually* fix detection of i486 atomic ops.
My previous attempt at a fix would always enable them due to wrong quoting.
Patch from Colin Walters <walters@verbum.org>
2007-10-16 10:13:15 +01:00
Simon McVittie
23bcdd7394 Amend ChangeLog - DBUS_ERROR_INIT is now used within libdbus as well as provided 2007-10-11 17:29:40 +01:00
Simon McVittie
f55897af74 Use DBUS_ERROR_INIT instead of dbus_error_init wherever it's clearly equivalent 2007-10-11 17:26:30 +01:00
Simon McVittie
e54d56b7b2 Merge branch 'inline' 2007-10-11 17:24:18 +01:00
Simon McVittie
d229e579a3 Merge branch 'atomic'
Conflicts:

	ChangeLog
2007-10-11 17:24:16 +01:00
Simon McVittie
48ad73fd5b Add J5's recent changes to ChangeLog 2007-10-11 10:56:12 +01:00
Simon McVittie
ecc4a25ed2 Update ChangeLog 2007-10-11 10:38:01 +01:00
Simon McVittie
a18ebe81bd Rename DBUS_ERROR_INITIALIZER to DBUS_ERROR_INIT per Havoc's review 2007-10-11 10:35:35 +01:00
Simon McVittie
262c02a9fa Add DBUS_ERROR_INITIALIZER macro 2007-10-11 10:35:25 +01:00
Simon McVittie
902beb7c2c Enable Autoconf's AC_C_INLINE to avoid compilation failure with gcc -ansi.
If inline isn't recognised (e.g. on a strict C90 compiler, like gcc -ansi) this
defines it to __inline__, __inline or nothing, whichever works. This is safe,
because we never use inline except in combination with static.
2007-10-11 10:27:28 +01:00