Commit graph

1889 commits

Author SHA1 Message Date
Colin Walters
7de15965c2 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>.
2009-03-17 16:42:43 -04:00
Colin Walters
3f3a531902 Always append closing quote in log command
Patch suggested by Tomas Hoger <thoger@redhat.com>
2009-03-12 10:31:54 -04:00
Xan Lopez
16e9289ca2 Fix typo in docs. 2009-02-02 15:14:45 -05:00
Colin Walters
510a307da0 Bug 19307: Add missing syslog include 2009-01-06 17:34:20 -05:00
Diego E. 'Flameeyes' Pettenò
597492c39d 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 .
2009-01-06 16:54:36 -05:00
Peter Breitenlohner
09222cd920 Avoid possible use of uninitialized variable
Signed-off-by: Colin Walters <walters@verbum.org>
2009-01-06 16:48:39 -05:00
Colin Walters
98495b896d 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.
2008-12-19 20:03:50 -05:00
Colin Walters
f8d2ef4aca Various compiler warning fixes 2008-12-19 20:03:47 -05:00
Colin Walters
dc77c21374 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.
2008-12-18 15:34:24 -05:00
Colin Walters
3af94cf250 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.
2008-12-17 19:29:39 -05:00
Colin Walters
e6bbcbd903 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.
2008-12-17 16:01:28 -05:00
Colin Walters
6053d2208e 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.
2008-12-16 11:57:27 -05:00
Colin Walters
b45440148a Add message type to security syslog entries
It's part of the security check, we should have it in the log.
2008-12-12 16:58:06 -05:00
Colin Walters
bb2a464067 Add syslog of security denials and configuration file reloads
We need to start logging denials so that they become more easily trackable
and debuggable.
2008-12-12 14:00:16 -05:00
Colin Walters
b4a75abf86 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
2008-12-09 10:15:49 -05:00
Colin Walters
d29bd96c42 Add at_console docs to manpage, as well as brief <policy> foreward
We need some sort of general advice here.
2008-12-09 09:18:49 -05:00
Colin Walters
e43b917520 Merge branch 'manpage' 2008-12-09 09:17:14 -05:00
Colin Walters
920c3c0292 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.
2008-12-09 09:15:06 -05:00
Colin Walters
7f0990abc7 Bug 18229: Update manpage with better advice
See https://bugs.freedesktop.org/show_bug.cgi?id=18229
2008-12-08 20:25:02 -05:00
Tomas Hoger
70a0ac620a 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>
2008-12-05 11:30:56 -05:00
Colin Walters
4a436c3554 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.
2008-12-05 11:30:50 -05:00
Dennis Kaarsemaker
07a4ad4b04 Bug 15393 - support allow_anonymous config variable
* bus/bus.c: Set allow_anonymous if specified from
	parser.
	* bus/config-parser.c: Parse it.
	* bus/config-parser-common.h: Declare it.

Signed-off-by: Colin Walters <walters@verbum.org>
2008-11-12 08:51:00 -05:00
Jon Gosting
e61f13cf32 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>
2008-11-10 23:29:05 -05:00
Matt McCutchen
0314e701c8 Bug 18446: Keep umask for session bus
Signed-off-by: Colin Walters <walters@verbum.org>
2008-11-10 08:55:27 -05:00
Lawrence R. Steeger
14afa0564e Bug 15412: Add --address option to dbus-send
Signed-off-by: Colin Walters <walters@verbum.org>
2008-10-18 14:50:49 -04:00
Lionel Landwerlin
7df72201cf Bug 17969: Don't test for abstract sockets if explicitly disabled
Signed-off-by: Colin Walters <walters@verbum.org>
2008-10-18 14:25:52 -04:00
James Carter
0b17cee84d 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>
2008-10-01 16:40:33 -04:00
Colin Walters
7b10b46c5c 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.
2008-10-01 13:49:48 -04:00
Colin Walters
3683bda27a Add Scott to HACKING 2008-09-23 14:56:41 -04:00
Tor Lillqvist
e2decdf0f1 [win32] Protect usage of SIGHUP with #ifdef
Signed-off-by: Colin Walters <walters@verbum.org>
2008-09-18 19:40:50 -04:00
Tor Lillqvist
99ccfb952a Bug 16755: Ensure we use the correct errno
* dbus/dbus-sysdeps-unix.c: Save errno across cleanup
	and use it for errors to ensure we display the right
	error message.

Signed-off-by: Colin Walters <walters@verbum.org>
2008-09-18 18:51:01 -04:00
Joe Marcus Clarke
3564e5cbe4 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>
2008-09-04 22:13:30 -04:00
Artem Bityutskiy
9680c28358 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>
2008-09-04 21:51:52 -04:00
Michael Meeks
1859c66351 Print serial in dbus-monitor
* tools/dbus-print-message.c: Print serial too.

Signed-off-by: Colin Walters <walters@verbum.org>
2008-08-29 08:48:45 -04:00
Peter McCurdy
2a9b0fbdee 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>
2008-08-25 10:10:00 -04:00
Peter McCurdy
b6c786f312 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>
2008-08-25 10:00:09 -04:00
Colin Walters
213871d3dd Bug 17060: Explicitly hard fail if expat is not available
* configure.in: Tweak libxml/expat detection and handling.
2008-08-11 16:50:39 -04:00
Jens Granseuer
b8e24d6b9c Bug 13387: Fix compilation failure with AI_ADDRCONFIG
Signed-off-by: Colin Walters <walters@verbum.org>
2008-08-07 14:45:51 -04:00
Colin Walters
dd6de35b4e Bug 15646: Remove spurious debugging fprintf(stderr 2008-07-28 16:31:09 -04:00
Marc Brockschmidt
9d51f086b0 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.
2008-07-28 16:14:18 -04:00
Colin Walters
121c6b13a3 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.
2008-07-28 12:02:56 -04:00
Colin Walters
892c0a0053 Bug 16838: Use bash instead of sh to avoid breaking on Ubuntu 2008-07-24 16:37:25 -04:00
Colin Walters
d86df0220e Merge branch 'master' of ssh://walters@git.freedesktop.org/git/dbus/dbus 2008-07-24 16:19:34 -04:00
Scott James Remnant
4cbc30465e 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.
2008-07-24 16:19:14 -04:00
Ray Strode
3bc6840b04 Fix leaks in bus_activation_get_environment error paths
Commit 91306ef938 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.
2008-07-15 04:01:49 -04:00
Ray Strode
01e50bcd5d 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.
2008-07-12 13:38:04 -04:00
Ray Strode
37853b6dd0 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.
2008-07-12 13:38:00 -04:00
Ray Strode
91306ef938 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.
2008-07-12 13:21:23 -04:00
Ray Strode
8ec1604192 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.
2008-07-12 00:32:24 -04:00
Ray Strode
0e3ec9cec0 Add new function _dbus_string_split_on_byte
It allows you to turn a string like KEY=VALUE
into two strings key and value.
2008-07-11 23:58:59 -04:00