Colin Walters [Fri, 10 Jul 2009 23:26:52 +0000 (19:26 -0400)]
Bug 21646 - Fix a signed char comparison
Original suggested patch from Marc-Andre Lureau <marcandre.lureau@gmail.com>
Explicitly cast to unsigned char before we do comparisons.
(cherry picked from commit
1f6ac4deef91df3130c61525a2800e6b8a0ddcbf)
Colin Walters [Fri, 10 Jul 2009 23:22:54 +0000 (19:22 -0400)]
Add missing include for unistd.h in test-service.c
We use usleep here.
(cherry picked from commit
e5310abd6cbc4c2e1a9df54f097d6642ad0833c6)
Kurt Miller [Fri, 10 Jul 2009 23:14:10 +0000 (19:14 -0400)]
Bug 21347 - Don't fail autolaunching if process has SIGCHLD handler
If other code in the process set a global SIGCHLD handler, it
will make autolaunching fail spuriously due to waitpid() failing.
This fix will temporarily block SIGCHLD delivery.
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit
644fc38b249b490981becda4b2de5261865bba23)
Scott James Remnant [Thu, 9 Jul 2009 15:35:13 +0000 (16:35 +0100)]
dbus_message_append_args_valist - abandon container
In case of OOM when constructing an array, we should abandon the
container to free the resources.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
3f070088232f82fafce97c4fb3015da098fe00bf)
Scott James Remnant [Thu, 9 Jul 2009 15:34:54 +0000 (16:34 +0100)]
bfo22316 - add dbus_message_iter_abandon_container()
It's not currently possible to abandon creation of a container without
either hitting asserts or leaking memory. This new function allows
that.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
e57a368c440aec39caf6c3b491cf76ef615dc2e8)
Scott James Remnant [Thu, 9 Jul 2009 15:28:29 +0000 (16:28 +0100)]
Add test case for assert when unwinding a container.
* dbus/dbus-message-util.c: when constructing an array of structures,
it's not possible to unwind in case of an error part-way through.
This test will therefore assert.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
4bea3ca2b02098f2513a9902511e4de77ccf9b91)
Scott James Remnant [Mon, 11 May 2009 22:29:52 +0000 (23:29 +0100)]
Add tests for pending call timeouts
* test/test-service.c (handle_delay_echo, path_message_func): Add a
variant of the Echo method which sleeps for a short time.
* test/name-test/test-pending-call-timeout.c: Run tests with default,
specified and infinite timeout to make sure we get the reply.
* test/name-test/run-test.sh: Run the new test
* test/name-test/Makefile.am: Build the new test
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
c1f165261afcc3bafa9b24ff916bb231628e3782)
Scott James Remnant [Mon, 11 May 2009 21:54:44 +0000 (22:54 +0100)]
Unrestrict session bus timeout.
* bus/session.conf.in: Remove the reply_timeout stanza, previously
intended to increase the reply timeout, this now reduces it.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
bd2063e17e1bb57dee1a5dfed76c9dde76d55ff3)
Scott James Remnant [Mon, 11 May 2009 21:43:09 +0000 (22:43 +0100)]
Change default reply timeout.
* bus/config-parser.c (bus_config_parser_new): change the default reply
timeout to "never"
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
8f1d2a2fa8ba2f25121465ad82289c0e09c9675a)
Scott James Remnant [Mon, 11 May 2009 21:42:50 +0000 (22:42 +0100)]
Expire list timeout may be negative for no expiry.
* bus/expirelist.c (do_expiration_with_current_time): Don't check for
expiry if expire_after is negative, will just disable the expiry timer
after the call.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
d672d0320628e93a247eeff89945c81926a42163)
Scott James Remnant [Mon, 11 May 2009 21:42:32 +0000 (22:42 +0100)]
Explicitly check for zero time fields.
* bus/expirelist.c (do_expiration_with_current_time): If the item added
time fields are both zero, always expire.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
d33cfec625bf769384cc370ad0ea660c9993aa15)
Scott James Remnant [Mon, 11 May 2009 21:42:13 +0000 (22:42 +0100)]
Remove 6 hour timeout restriction.
* dbus/dbus-pending-call.c (_dbus_pending_call_new_unlocked): Now that
the timeout math won't overflow, don't clamp to six hours.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
7398ad7374c0a9201d41397c956deee325f3593e)
Scott James Remnant [Mon, 11 May 2009 21:41:49 +0000 (22:41 +0100)]
Fix issue where timeouts can overflow.
* dbus/dbus-connection.c (_dbus_connection_block_pending_call): Rework
the timeout math so instead of calculating an end time, which may
overflow, we instead calculate the elapsed time which is always
smaller than the boundaries.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
1faa92114f6489d286ad4cebe5e91b2145a4f7d1)
Scott James Remnant [Mon, 11 May 2009 21:41:20 +0000 (22:41 +0100)]
Update documentation now that INT_MAX means no timeout.
* dbus/dbus-connection.c (dbus_connection_send_with_reply): Fix
documentation now that INT_MAX will not be clamped.
(dbus_connection_send_with_reply_and_block): Update documentation too.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
ce0d932d9be5adec22943dd7b268bd4a165ada64)
Scott James Remnant [Mon, 11 May 2009 21:40:38 +0000 (22:40 +0100)]
Don't allocate DBusTimeout for pending call when passed INT_MAX
* dbus/dbus-pending-call.c (_dbus_pending_call_new_unlocked): When passed
INT_MAX, do not clamp the value and do not allocate a timeout for the call
(_dbus_pending_call_get_timeout_unlocked): Document that this may return
NULL.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
92dd55c903b440bc423f1f8f9aeb0bbbbcc11bac)
Scott James Remnant [Mon, 11 May 2009 21:40:10 +0000 (22:40 +0100)]
Allow a pending call to block forever
* dbus/dbus-connection.c (_dbus_connection_block_pending_call): Allow the
pending call to have no timeout, in which case we simply block until we
complete, have data or get disconnected.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
e5eb472d11aa36c67e320edce41d66eb18cdf5d0)
Scott James Remnant [Mon, 11 May 2009 21:38:23 +0000 (22:38 +0100)]
Make sure a pending call timeout isn't assumed.
* dbus/dbus-connection.c (_dbus_connection_attach_pending_call_unlocked):
Don't assume that the pending call has a timeout.
(connection_timeout_and_complete_all_pending_call_unlocked): check that
the timeout was actually added before removing it; this safeguards us
if the pending call doesn't have a timeout.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit
ba22606c3b21c55c5c0af30d8f07edd71ded7213)
Marc Mutz [Wed, 7 Jan 2009 11:46:53 +0000 (12:46 +0100)]
configure.in: fail abstract socket test gracefully when cross-compiling
* configure.in: only run AC_CACHE_CHECK if enable_abstract_sockets=auto
* configure.in: warn that, when cross-compiling, we're unable to detect
abstract sockets availability automatically
Signed-off-by: Thiago Macieira <thiago@kde.org>
Marc Mutz [Fri, 17 Apr 2009 14:23:42 +0000 (16:23 +0200)]
configure.in: not all gccs support -Wno-pointer-sign
Signed-off-by: Thiago Macieira <thiago@kde.org>
Colin Walters [Mon, 27 Apr 2009 16:13:25 +0000 (12:13 -0400)]
Release 1.2.14
Eamon Walsh [Tue, 21 Apr 2009 23:11:22 +0000 (19:11 -0400)]
libselinux behavior in permissive mode wrt invalid domains
Stephen Smalley wrote:
> On Tue, 2009-04-21 at 16:32 -0400, Joshua Brindle wrote:
>
>> Stephen Smalley wrote:
>>
>>> On Thu, 2009-04-16 at 20:47 -0400, Eamon Walsh wrote:
>>>
>>>> Stephen Smalley wrote:
>>>>
>> <snip>
>>
>>
>>> No, I don't want to change the behavior upon context_to_sid calls in
>>> general, as we otherwise lose all context validity checking in
>>> permissive mode.
>>>
>>> I think I'd rather change compute_sid behavior to preclude the situation
>>> from arising in the first place, possibly altering the behavior in
>>> permissive mode upon an invalid context to fall back on the ssid
>>> (process) or the tsid (object). But I'm not entirely convinced any
>>> change is required here.
>>>
>>>
>> I just want to follow up to make sure we are all on the same page here. Was the
>> suggestion to change avc_has_perm in libselinux or context_to_sid in the kernel
>> or leave the code as is and fix the callers of avc_has_perm to correctly handle
>> error codes?
>>
>> I prefer the last approach because of Eamon's explanation, EINVAL is already
>> passed in errno to specify the context was invalid (and if object managers
>> aren't handling that correctly now there is a good chance they aren't handling
>> the ENOMEM case either).
>>
>
> I'd be inclined to change compute_sid (not context_to_sid) in the kernel
> to prevent invalid contexts from being formed even in permissive mode
> (scenario is a type transition where role is not authorized for the new
> type). That was originally to allow the system to boot in permissive
> mode. But an alternative would be to just stay in the caller's context
> (ssid) in that situation.
>
> Changing the callers of avc_has_perm() to handle EINVAL and/or ENOMEM
> may make sense, but that logic should not depend on enforcing vs.
> permissive mode.
>
>
FWIW, the following patch to D-Bus should help:
bfo21072 - Log SELinux denials better by checking errno for the cause
Note that this does not fully address the bug report since
EINVAL can still be returned in permissive mode. However the log
messages will now reflect the proper cause of the denial.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
Signed-off-by: Colin Walters <walters@verbum.org>
Federico Mena Quintero [Wed, 18 Mar 2009 22:17:00 +0000 (16:17 -0600)]
bfo20738 - Return a useful error message from dbus_signature_validate()
Signed-off-by: Federico Mena Quintero <federico@novell.com>
Federico Mena Quintero [Wed, 18 Mar 2009 22:15:23 +0000 (16:15 -0600)]
bfo20738 - Translate DBusValidity into error message
Signed-off-by: Federico Mena Quintero <federico@novell.com>
William Lachance [Tue, 21 Apr 2009 17:51:46 +0000 (13:51 -0400)]
Bug 19567 - Make marshaling code usable without DBusConnection
Some projects want to reuse the DBus message format, without
actually going through a DBusConnection. This set of changes
makes a few functions from DBusMessage public, and adds a new
function to determine the number of bytes needed to demarshal
a message.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Tue, 21 Apr 2009 17:11:54 +0000 (13:11 -0400)]
Followup Bug 19502 - Don't attempt to init va_list, not portable
Kjartan Maraas [Tue, 21 Apr 2009 16:52:22 +0000 (12:52 -0400)]
Bug 19502 - Sparse warning cleanups
This patch makes various things that should be static static,
corrects some "return FALSE" where it should be NULL, etc.
Signed-off-by: Colin Walters <walters@verbum.org>
Eamon Walsh [Fri, 20 Mar 2009 04:26:42 +0000 (00:26 -0400)]
dbus-launch: use InputOnly X window
Working on SELinux policy for X, and came across this issue in dbus-launch:
Windows created for use as property/selection placeholders should be of
class InputOnly, since no drawing is ever done to them.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
Signed-off-by: Thiago Macieira <thiago@kde.org>
Johan Gyllenspetz [Tue, 17 Mar 2009 21:26:03 +0000 (17:26 -0400)]
Bug 20494 - Fix signed confusion for dbus_message_get_reply_serial return
We were incorrectly converting the serial to a signed integer
and comparing it to -1.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 25 Feb 2009 16:10:15 +0000 (11:10 -0500)]
Bug 20137 - Fix alignment usage when demarshaling basics
We can't safely type-pun from e.g. char * to DBusBasicValue *, because
the latter has higher alignment requirements. Instead, create an
explicit pointer for each case.
Also, we mark each one volatile to sidestep strict aliasing issues, for
the future when we turn on strict aliasing support.
Original patch and review from Jay Estabrook <jay.estabrook@hp.com>.
Colin Walters [Thu, 12 Mar 2009 14:31:54 +0000 (10:31 -0400)]
Always append closing quote in log command
Patch suggested by Tomas Hoger <thoger@redhat.com>
Colin Walters [Wed, 1 Apr 2009 16:02:00 +0000 (12:02 -0400)]
Bug 17803 - Fix both test case and validation logic
The previous commit had errors in both the test case and
the validation logic. The test case was missing a trailing
comma before the previous one, so we weren't testing the
signature we thought we were.
The validation logic was wrong because if the type was not valid,
we'd drop through the entire if clause, and thus skip returning
an error code, and accept the signature.
Marc Mutz [Mon, 20 Apr 2009 11:47:59 +0000 (13:47 +0200)]
configure.in: fix help string alignment
* AC_ARG_ENABLE(libaudit: use AS_HELP_STRING for aligned help messages
Signed-off-by: Thiago Macieira <thiago@kde.org>
(cherry picked from commit
660073925b03cad2f6e95ba9f25a81c2d9727185)
Xan Lopez [Mon, 14 Apr 2008 12:46:33 +0000 (15:46 +0300)]
Fix typo in docs.
Colin Walters [Wed, 7 Jan 2009 00:36:11 +0000 (19:36 -0500)]
Bump for unstable cycle
Colin Walters [Wed, 7 Jan 2009 00:35:55 +0000 (19:35 -0500)]
Release 1.2.12.
Colin Walters [Tue, 23 Sep 2008 18:56:41 +0000 (14:56 -0400)]
Add Scott to HACKING
Colin Walters [Mon, 11 Aug 2008 20:50:39 +0000 (16:50 -0400)]
Bug 17060: Explicitly hard fail if expat is not available
* configure.in: Tweak libxml/expat detection and handling.
Lionel Landwerlin [Sat, 18 Oct 2008 18:25:52 +0000 (14:25 -0400)]
Bug 17969: Don't test for abstract sockets if explicitly disabled
Signed-off-by: Colin Walters <walters@verbum.org>
Jon Gosting [Tue, 11 Nov 2008 04:29:05 +0000 (23:29 -0500)]
Bug 18064 - more efficient validation for fixed-size type arrays
* dbus/dbus-marshal-validate.c: If an array is fixed size,
skip validation
Signed-off-by: Colin Walters <walters@verbum.org>
James Carter [Wed, 1 Oct 2008 20:40:33 +0000 (16:40 -0400)]
Initialize AVC earlier so we can look up service security contexts
* bus/bus.c: Initialize AVC earlier:
http://lists.freedesktop.org/archives/dbus/2008-October/010493.html
Signed-off-by: Colin Walters <walters@verbum.org>
Michael Meeks [Fri, 29 Aug 2008 12:48:45 +0000 (08:48 -0400)]
Print serial in dbus-monitor
* tools/dbus-print-message.c: Print serial too.
Signed-off-by: Colin Walters <walters@verbum.org>
Tor Lillqvist [Thu, 18 Sep 2008 23:40:50 +0000 (19:40 -0400)]
[win32] Protect usage of SIGHUP with #ifdef
Signed-off-by: Colin Walters <walters@verbum.org>
Lawrence R. Steeger [Sat, 18 Oct 2008 18:50:49 +0000 (14:50 -0400)]
Bug 15412: Add --address option to dbus-send
Signed-off-by: Colin Walters <walters@verbum.org>
Matt McCutchen [Mon, 10 Nov 2008 13:55:27 +0000 (08:55 -0500)]
Bug 18446: Keep umask for session bus
Signed-off-by: Colin Walters <walters@verbum.org>
Diego E. 'Flameeyes' Pettenò [Sun, 4 Jan 2009 00:16:50 +0000 (01:16 +0100)]
Fix cross-compiling with autotools.
The AC_CANONICAL_TARGET macro and the $target_os variables are used for the
target of compilers and other code-generation tools, and should not be used
during cross-compile of generic software. Replace them with
AC_CANONICAL_HOST and $host_os instead, as they should have been from the
start.
For a breakdown of what host, build and target machines are, please see
http://blog.flameeyes.eu/s/canonical-target .
Peter Breitenlohner [Tue, 6 Jan 2009 21:48:39 +0000 (16:48 -0500)]
Avoid possible use of uninitialized variable
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Sat, 20 Dec 2008 01:02:14 +0000 (20:02 -0500)]
Enable -Werror by default with --enable-maintainer-mode, and change warnings
Important compiler warnings were being lost in the noise from warnings
we know about but aren't problems, and moreover made using -Werror
difficult. Now we expect *all* developers and testers to be using
-Werror.
Colin Walters [Fri, 19 Dec 2008 23:54:59 +0000 (18:54 -0500)]
Various compiler warning fixes
Colin Walters [Fri, 19 Dec 2008 20:17:49 +0000 (15:17 -0500)]
Bump for unstable cycle
Colin Walters [Fri, 19 Dec 2008 20:17:24 +0000 (15:17 -0500)]
Release 1.2.10
Colin Walters [Thu, 18 Dec 2008 00:29:39 +0000 (19:29 -0500)]
Add requested_reply to send denials, and connection loginfo to "would deny"
The requested_reply field is necessary in send denials too because
it's used in the policy language. The connection loginfo lack in
"would deny" was just an oversight.
Colin Walters [Wed, 17 Dec 2008 21:01:28 +0000 (16:01 -0500)]
Add uid, pid, and command to security logs
Extend the current security logs with even more relevant
information than just the message content. This requires
some utility code to look up and cache (as a string)
the data such as the uid/pid/command when a connection is
authenticated.
Colin Walters [Tue, 16 Dec 2008 17:29:04 +0000 (12:29 -0500)]
Colin Walters [Tue, 16 Dec 2008 16:57:27 +0000 (11:57 -0500)]
Add optional logging on allow rules
This lets us have a backwards compatibility allow rule but still easily
see when that rule is being used.
Colin Walters [Fri, 12 Dec 2008 21:58:06 +0000 (16:58 -0500)]
Add message type to security syslog entries
It's part of the security check, we should have it in the log.
Colin Walters [Wed, 10 Dec 2008 19:17:02 +0000 (14:17 -0500)]
Add syslog of security denials and configuration file reloads
We need to start logging denials so that they become more easily trackable
and debuggable.
Colin Walters [Fri, 12 Dec 2008 19:50:21 +0000 (14:50 -0500)]
Clean up and clarify default system policy
The former was too reliant on old bugs and was generally unclear.
This one makes explicit exactly what is allowed and not.
Colin Walters [Tue, 9 Dec 2008 15:47:25 +0000 (10:47 -0500)]
Bump version for unstable cycle
Colin Walters [Tue, 9 Dec 2008 15:46:41 +0000 (10:46 -0500)]
Release 1.2.8
Colin Walters [Tue, 9 Dec 2008 15:15:49 +0000 (10:15 -0500)]
Another manpage update explicitly mentioning bare send_interface
We need to fix all of the bare send_interface rules; see:
https://bugs.freedesktop.org/show_bug.cgi?id=18961
Colin Walters [Tue, 9 Dec 2008 14:18:49 +0000 (09:18 -0500)]
Add at_console docs to manpage, as well as brief <policy> foreward
We need some sort of general advice here.
Colin Walters [Tue, 9 Dec 2008 14:15:06 +0000 (09:15 -0500)]
Bug 18229: Allow signals
Our previous fix went too far towards lockdown; many things rely
on signals to work, and there's no really good reason to restrict
which signals can be emitted on the bus because we can't tie
them to a particular sender.
Colin Walters [Fri, 5 Dec 2008 16:53:14 +0000 (11:53 -0500)]
Release 1.2.6
Tomas Hoger [Thu, 4 Dec 2008 20:19:13 +0000 (15:19 -0500)]
Bug 18229 - Change system.conf to correctly deny non-reply sends by default
The previous rule <allow send_requested_reply="true"/> was actually
applied to all messages, even if they weren't a reply. This meant
that in fact the default DBus policy was effectively allow, rather
than deny as claimed.
This fix ensures that the above rule only applies to actual reply
messages.
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Thu, 4 Dec 2008 19:27:21 +0000 (14:27 -0500)]
Infrastructure for testing a "system like" bus in test suite
The tmp-session-like-system.conf bus configuration has a security
policy intended to mirror that of the system bus. This allows
testing policy rules.
Colin Walters [Mon, 6 Oct 2008 22:10:55 +0000 (18:10 -0400)]
Bump configure again for git
Colin Walters [Mon, 6 Oct 2008 22:09:51 +0000 (18:09 -0400)]
Release 1.2.4
Peter McCurdy [Mon, 25 Aug 2008 14:00:09 +0000 (10:00 -0400)]
2008-08-24 Peter McCurdy <pmccurdy@skeptopotamus>
* dbus/dbus-marshal-recursive.c: A stray comma
between two string literals caused incorrect
output and a compiler warning.
Signed-off-by: Colin Walters <walters@verbum.org>
Peter McCurdy [Mon, 25 Aug 2008 14:10:00 +0000 (10:10 -0400)]
Bug 17280: Add a prototype for _dbus_credentials_add_adt_audit_data()
* dbus/dbus-credentials.h: Add a prototype for
_dbus_credentials_add_adt_audit_data()
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 1 Oct 2008 17:49:48 +0000 (13:49 -0400)]
Bug 17803: Panic from dbus_signature_validate
* dbus/dbus-marshal-validate.c: Ensure we validate
a basic type before calling is_basic on it.
* dbus-marshal-validate-util.c: Test.
Joe Marcus Clarke [Fri, 5 Sep 2008 02:13:30 +0000 (22:13 -0400)]
Bug 17061: Handle error return from sysconf correctly
* dbus/dbus-sysdeps-unix.c:
* dbus/dbus-sysdeps-util-unix.c: Cast return
from sysconf temporarily so we actually see
-1.
Signed-off-by: Colin Walters <walters@verbum.org>
Jens Granseuer [Thu, 7 Aug 2008 18:45:51 +0000 (14:45 -0400)]
Bug 13387: Fix compilation failure with AI_ADDRCONFIG
Signed-off-by: Colin Walters <walters@verbum.org>
Artem Bityutskiy [Fri, 29 Aug 2008 14:13:15 +0000 (17:13 +0300)]
Bug 17352: synchronize the file before renaming
Dbus is doing atomic file updates by copying them, changing
the copy, and re-naming them. However, it does not synchronize
the file before re-naming, which results in corruption in
case of unclean reboots. The reason for this is that file-systems
have write-back cache and they postpone writing data to the media.
This patch adds the missed fsync() for the Unix part. I do
not have windows so cannot provide a windows port fix.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Colin Walters <walters@verbum.org>
Colin Walters [Wed, 6 Aug 2008 19:58:41 +0000 (15:58 -0400)]
Correctly dist 1.2.3 tarball with docs enabled
Colin Walters [Wed, 6 Aug 2008 17:21:54 +0000 (13:21 -0400)]
Bump configure.ac to 1.2.2
Colin Walters [Mon, 28 Jul 2008 20:31:09 +0000 (16:31 -0400)]
Bug 15646: Remove spurious debugging fprintf(stderr
Marc Brockschmidt [Mon, 28 Jul 2008 20:09:53 +0000 (16:09 -0400)]
Bug 16727: Handle ERANGE for getgr; fixes user in many groups
Patch originally from Noèl Köthe.
Modified by Colin Walters <walters@verbum.org>
* dbus/dbus-sysdeps-unix.c, dbus/dbus-sysdeps-unix-utils.c:
Use a while() loop to reallocate buffer if we get ERANGE
return. This fixes the case where a user is in a large
number of groups.
Colin Walters [Mon, 28 Jul 2008 16:02:56 +0000 (12:02 -0400)]
Bug 16294: Don't lose inotify watch when config fails to parse
* bus/dir-watch-inotify.c: Always drop the watch in
handle_inotify_watch; this ensures we always readd it
correctly in bus_drop_all_directory_watches.
Colin Walters [Thu, 24 Jul 2008 20:37:25 +0000 (16:37 -0400)]
Bug 16838: Use bash instead of sh to avoid breaking on Ubuntu
Colin Walters [Thu, 24 Jul 2008 20:19:34 +0000 (16:19 -0400)]
Merge branch 'master' of ssh://walters@git.freedesktop.org/git/dbus/dbus
Scott James Remnant [Thu, 24 Jul 2008 20:19:14 +0000 (16:19 -0400)]
Bug 16839: Fix bus names in test case so it actually works.
* test/name-test/test-privserver.c (filter_session_message, main),
* test/name-test/test-privserver-client.c (open_shutdown_private_connection):
Replace TestServer with PrivServer to match the service definition files.
Ray Strode [Tue, 15 Jul 2008 08:01:49 +0000 (04:01 -0400)]
Fix leaks in bus_activation_get_environment error paths
Commit
91306ef938873fce8f2ae2d4a6b3282d0379c65a introduced
two memory leaks on OOM error paths. In one case the
environment string array wasn't getting freed, and in the
other case it was getting freed with dbus_free instead of
dbus_free_string_array.
Ray Strode [Fri, 11 Jul 2008 14:27:07 +0000 (10:27 -0400)]
Update man page to make the point of the <type> element more clear
There have been a number of patches in the past try to key system
versus session bus policy off of the message bus type, when the
policy should be distinguished from more fine-grained options in the
individulal policy files. Hopefully, this man page update will make
that more clear.
Ray Strode [Thu, 10 Jul 2008 17:19:44 +0000 (13:19 -0400)]
Add new UpdateActivationEnvironment bus message
It adjusts the environment of activated bus clients.
This is important for session managers that get started
after the session bus daemon and want to influence the
environment of desktop services that are started by the
bus.
Ray Strode [Thu, 10 Jul 2008 18:35:38 +0000 (14:35 -0400)]
Store what environment to activate with on activation object
We now keep the environment in a hash table member of the
activation object and provide a method
bus_activation_set_environment_variable to modify the
hash table. This hash table is seeded initially with the
environment of the bus daemon itself.
Ray Strode [Thu, 10 Jul 2008 17:12:01 +0000 (13:12 -0400)]
When spawning processes, don't ignore the passed in environment
Previously, we'd always call execv() and unconditionally use
the environment of the parent. Now we call execve() with the
passed in environment. For compatibility, we detect if
the passed in environment is NULL and for that case, use the
environment from the parent instead.
Ray Strode [Fri, 11 Jul 2008 15:32:30 +0000 (11:32 -0400)]
Add new function _dbus_string_split_on_byte
It allows you to turn a string like KEY=VALUE
into two strings key and value.
Ray Strode [Thu, 10 Jul 2008 16:45:36 +0000 (12:45 -0400)]
Add new _dbus_get_environment call
It's a wrapper around the environ external variable.
It will be important in the future when we allow
bus clients to modify the environment of future
activated clients. Presently, we just always use the
bus daemon environment wholesale.
Thiago Macieira [Sat, 7 Jun 2008 15:48:04 +0000 (17:48 +0200)]
Merge branch 'dbus-1.2'
Oswald Buddenhagen [Sat, 7 Jun 2008 15:24:50 +0000 (17:24 +0200)]
Fix inverted return value from dbus_connection_read_write()
* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
The double negation re no_progress_possible was obviously too
confusing: the path for dispatch = FALSE would return an inverted
status. So make it progress_possible and fix the logic.
Signed-off-by: Thiago Macieira <thiago@kde.org>
Colin Walters [Thu, 5 Jun 2008 21:24:34 +0000 (17:24 -0400)]
Bug 15740: Solaris/ADT auditing support (simon zheng)
* bus/driver.c: Add GetAdtAuditSessionData method
which returns audit data for a connection.
* configure.in: Detect ADT auditing support
* dbus/dbus-auth.c: Read ADT auditing creds.
* dbus/dbus-connection.c: Implement
dbus_connection_get_adt_audit_session_data.
* dbus/dbus-connection.h: Export it.
* dbus/dbus-credentials.c: Add support for
gathering adt_audit_data and retrieving it
via _dbus_credentials_get_adt_audit_data.
* dbus/dbus-credentials.h: Add
DBUS_CREDENTIAL_ADT_AUDIT_DATA_ID.
* dbus/dbus-protocol.h: New error
DBUS_ERROR_ADT_AUDIT_DATA_UNKNOWN.
* dbus/dbus-sysdeps.c: Support for reading
audit credentials via ADT API.
* dbus/dbus-transport.c: New function
_dbus_transport_get_adt_audit_session_data
to retrieve credentials.
* dbus/dbus-transport.h: Export it.
Colin Walters [Sat, 31 May 2008 01:05:48 +0000 (21:05 -0400)]
Tweak HACKING to describe test/name-test briefly
* HACKING: Describe test/name-test.
Colin Walters [Sat, 31 May 2008 00:41:49 +0000 (20:41 -0400)]
Bug 15635: Hold a reference during read/write dispatch (Scott James Remnant)
* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
Reference the D-Bus connection during the function call since we
call other functions that may free the last reference and we
still expect to be able to check the connection after they return
to decide our own return value.
Colin Walters [Sat, 31 May 2008 00:25:36 +0000 (20:25 -0400)]
Bug 15571: Clean up GUID-less connections correctly (Scott James Remnant)
* dbus/dbus-connection.c (connection_forget_shared_unlocked):
Remove shared connections which lack a GUID from the list that
caches those, otherwise references to them will remain after
they have been freed.
* test/name-test/test-privserver-client.c: Update test to
try GUID-less connections too.
Colin Walters [Fri, 30 May 2008 23:58:13 +0000 (19:58 -0400)]
Bug 15570: Reset initialized state on dbus_shutdown (Scott James Remnant)
* dbus/dbus-bus.c (addresses_shutdown_func): Reset initialized back
to FALSE after cleaning up the address list so that it will be
reinitialized again if D-Bus is used after dbus_shutdown()
* test/name-test/test-privserver-client.c: Uncomment part of
test which should now pass.
Colin Walters [Fri, 30 May 2008 21:11:15 +0000 (17:11 -0400)]
Add "PrivServer" test which exercises DBusServer and dbus_shutdown
* test/data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service.in:
New service file for PrivServer.
* configure.in: Generate it.
* test/name-test/Makefile.am: Build test-privserver and
test-privserver-client.
* test/name-test/test-privserver.c: Use DBusServer to
serve a private connection.
* test/name-test/test-privserver-client.c: Connect
via session bus and get address of private server,
exercise dbus_shutdown().
* test/name-test/run-test.sh: Run it.
Colin Walters [Fri, 30 May 2008 20:53:35 +0000 (16:53 -0400)]
Add noinst convenience test library, add a test-shutdown
* test/Makefile.am: New convenience library
libdbus_testutils_la. Reorder build so that
test/ gets built before test/name-test so
name-test files can depend on it.
* test/name-test/test-shutdown.c: New file,
exercises dbus_shutdown () a bit.
* test/name-test/run-test.sh Run test-shutdown.
* test/test-utils.h: In some cases we already have
DBUS_COMPILATION defined, avoid double definition
warning.
Colin Walters [Fri, 30 May 2008 14:33:18 +0000 (10:33 -0400)]
Add test library functions for using DBusServer
* test/test-utils.h, test/test-utils.c: Add functions
which hook up a DBusServer to a DBusLoop, useful
for test cases.
Colin Walters [Fri, 30 May 2008 15:14:46 +0000 (11:14 -0400)]
Bug 15588: Fix typo in #ifdef for userdb cache (Scott James Remnant)
* dbus/dbus-userdb-util.c, dbus/dbus-userdb.c: Correct name of
macro used in #ifdef block to match that defined by configure,
otherwise the userdb cache will never be enabled.
Colin Walters [Wed, 28 May 2008 20:01:22 +0000 (16:01 -0400)]
Bug 15947: Close file descriptors before execing helper (Markus Rechberger)
* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
Close file descriptors before exec.