Commit graph

1974 commits

Author SHA1 Message Date
John (J5) Palmieri
b78d222083 Console user security policy
* bus/config-parser.c:
(struct PolicyType): Add POLICY_CONSOLE
(struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
(start_busconfig_child): Sets up console element when
<policy at_console=""> is encountered in a policy file
(append_rule_from_element): Convert console elements to console
rules.

* bus/policy.c:
(bus_policy_create_client_policy): Add console rules to the client
policy based on if the client is at the console
(bus_policy_append_console_rule): New function for adding a
console rule to a policy
(bus_policy_merge): Handle console rule merging

* dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
where we check for console user files

* dbus/dbus-sysdeps.c:
(_dbus_file_exists): New function which checks if the given
file exists
(_dbus_user_at_console): New function which does the system
specific process of checking if the user is at the console

* dbus/dbus-userdb.c:
(_dbus_is_console_user): New function converts a UID to user name
and then calls the system specific _dbus_user_at_console to
see if the user is at the console and therefor a console user
2004-08-25 22:11:49 +00:00
Olivier Andrieu
8a2c91b8a5 * bus/config-parser.c (set_limit):
* bus/dbus-daemon-1.1.in:
* test/data/valid-config-files/many-rules.conf: set the
max_match_rules_per_connection limt from the config file.

* doc/busconfig.dtd: update the DTD.

* bus/driver.c: remove some unused variables.
2004-08-25 08:03:12 +00:00
Mikael Hallendal
83c224e3d0 2004-08-24 Mikael Hallendal <micke@imendio.com>
* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since
	it's been replaced by dbus_g_bus_get
2004-08-24 00:47:22 +00:00
Colin Walters
bb7876f026 *** empty log message *** 2004-08-23 16:11:15 +00:00
Colin Walters
642dcad6c5 *** empty log message *** 2004-08-23 16:10:47 +00:00
Colin Walters
ee78f2800f 2004-08-23 Colin Walters <walters@redhat.com>
* bus/selinux.h: Prototype bus_selinux_get_policy_root.

	* bus/selinux.c: Create a thread for policy reload notification.
	(bus_selinux_get_policy_root): Implement.

	Updated SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>

	* bus/config-parser.c (start_busconfig_child)
	(bus_config_parser_content): Support SELinux-root relative
	inclusion.

	* configure.in <HAVE_SELINUX>: Add -lpthread.

	* bus/test-main.c (test_pre_hook, test_post_hook): New.
	(test_post_hook): Move memory checking into here.
	(test_pre_hook, test_post_hook): Move SELinux checks in
	here, but conditional on a DBUS_TEST_SELINUX environment
	variable.  Unfortunately we can't run the SELinux checks
	as a normal user, since they won't have any permissions
	for /selinux.  So this will have to be tested manually
	for now, until we have virtualization for most of
	libselinux.
2004-08-23 16:09:54 +00:00
Havoc Pennington
a7291aee0e might be nice if my patches compiled... 2004-08-23 04:33:53 +00:00
Havoc Pennington
bd4db6455b 2004-08-23 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
	drop supplementary groups, suggested by Steve Grubb
2004-08-23 04:12:07 +00:00
Colin Walters
c7c4d95d0e 2004-08-20 Colin Walters <walters@redhat.com>
* bus/config-parser.c (start_busconfig_child): Remove some unused
	variables.

	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
	warning.
2004-08-20 15:28:50 +00:00
Joe Shaw
00f0e76788 2004-08-17 Joe Shaw <joeshaw@novell.com>
* configure.in: If --enable-mono is passed in, if we can't find
	mono error out.

	* mono/Makefile.am: Use /gacutil to install assemblies into the
	GAC and not /root.
2004-08-17 17:08:32 +00:00
Havoc Pennington
224d88bc1f fix address to mail about release 2004-08-12 23:06:30 +00:00
Havoc Pennington
f03e25d569 2004-08-12 Havoc Pennington <hp@redhat.com>
* NEWS: update for 0.22

	* configure.in: release 0.22
2004-08-12 23:02:41 +00:00
Colin Walters
fefa40496b 2004-08-11 Colin Walters <walters@redhat.com>
* tools/dbus-send.c (main, usage): Add --reply-timeout
	argument.
2004-08-11 14:59:34 +00:00
Olivier Andrieu
eb37885909 * bus/bus.c (process_config_first_time_only): get rid of an unused
DBusError that was causing a memoy leak (bug #989).

* dbus/dbus-keyring.c, dbus/dbus-message.c: fix compilation on
  Solaris/Forte C (bug #974)

* bus/main.c (main): plug two minuscule memleaks.
2004-08-10 21:32:25 +00:00
Havoc Pennington
cd33e8dd62 2004-08-10 Havoc Pennington <hp@redhat.com>
* doc/dbus-tutorial.xml: add some more info on GLib bindings
2004-08-10 04:18:31 +00:00
Havoc Pennington
43605a6f4e 2004-08-09 Havoc Pennington <hp@redhat.com>
* COPYING: switch to Academic Free License version 2.1 instead of
	2.0, to resolve complaints about patent termination clause.
2004-08-10 03:07:01 +00:00
Havoc Pennington
138e17cce0 add a couple of notes about libdbus vs. bindings 2004-08-10 02:18:37 +00:00
John (J5) Palmieri
7cb72cf53d Added documentation for the --enable-python configure switch 2004-08-03 15:43:30 +00:00
Olivier Andrieu
3abcc7d28d * bus/config-parser.c (bus_config_parser_new): fix an invalid _unref
in the SELinux support.

* doc/busconfig.dtd: update DTD for SELinux support.

* bus/config-loader-libxml.c: fix error handler and parser
initialisation/cleanup. OOM test now works with libxml2 HEAD.

* configure.in: remove the warning about libxml2

* dbus/dbus-bus.c: silence doxygen warning.
2004-07-31 18:28:10 +00:00
Colin Walters
1239d93280 2004-07-31 Colin Walters <walters@redhat.com>
* configure.in: Move #error in SELinux check to its own line.
2004-07-31 15:18:04 +00:00
Olivier Andrieu
fabef9f399 * dbus/dbus-internals.h (_DBUS_SET_OOM):
* bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
dbus_error_set.

* bus/dispatch.c (check_send_exit_to_service): fix the test case,
broken by the change in the _SET_OOM macros.
2004-07-31 09:15:24 +00:00
Colin Walters
0f2cd8ba8e 2004-07-31 Colin Walters <walters@redhat.com>
* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
	BUS_SET_OOM.
2004-07-31 05:37:15 +00:00
Colin Walters
f49c8eecef 2004-07-31 Colin Walters <walters@redhat.com>
* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
	AC_MSG_CHECKING.
2004-07-31 05:35:52 +00:00
Havoc Pennington
1e9b185b0c 2004-07-24 Havoc Pennington <hp@redhat.com>
SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>

	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
	functionality

	* configure.in: add --enable-selinux

	* bus/policy.c (bus_policy_merge): add FIXME to a comment

	* bus/main.c (main): initialize and shut down selinux

	* bus/connection.c: store SELinux ID on each connection, to avoid
	repeated getting of the string context and converting it into
	an ID

	* bus/bus.c (bus_context_get_policy): new accessor, though it
	isn't used
	(bus_context_check_security_policy): check whether the security
	context of sender connection can send to the security context of
	recipient connection

	* bus/config-parser.c: add parsing for <selinux> and <associate>

	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
	implement dbus_connection_get_unix_fd()

	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
	function, used by the selinux stuff
2004-07-30 05:59:34 +00:00
Olivier Andrieu
4076d31c71 * bus/config-loader-libxml.c: complete the implementation of libxml
backend for config file loader. Doesn't work with full OOM test yet.

* configure.in: change error when selecting libxml into a warning.

* test/data/invalid-config-files: add two non-well-formed XML files.

* glib/Makefile.am: libdbus_gtool always uses expat, not libxml.

* dbus/dbus-transport-unix.c (unix_handle_watch): do not disconnect in
case of DBUS_WATCH_HANGUP, several do_reading() may be necessary to
read all the buffer. (bug #894)

* bus/activation.c (bus_activation_activate_service): fix a potential
assertion failure (bug #896). Small optimization in the case of
auto-activation messages.

* dbus/dbus-message.c (verify_test_message, _dbus_message_test): add
test case for byte-through-vararg bug (#901). patch by Kimmo
Hämäläinen.
2004-07-29 08:00:45 +00:00
Anders Carlsson
b72fe8c67d 2004-07-28 Anders Carlsson <andersca@gnome.org>
* python/dbus.py:
	* python/dbus_bindings.pyx.in:
	Add dbus.init_gthreads (), allow emit_signal to pass
	arguments to the signal.
2004-07-28 18:14:55 +00:00
Havoc Pennington
c3cac7a6bf 2004-07-24 Havoc Pennington <hp@redhat.com>
* AUTHORS: add some people, not really comprehensively, let me
	know if I missed you
2004-07-25 04:45:37 +00:00
Havoc Pennington
8d413c6e71 2004-07-24 Havoc Pennington <hp@redhat.com>
* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
	Owen

	* test/Makefile.am (DIST_SUBDIRS): here also
2004-07-25 03:52:48 +00:00
Olivier Andrieu
5e9fd25100 remove stray debugging line 2004-07-22 07:07:51 +00:00
Olivier Andrieu
7eb304c54e 2004-07-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
	breaking build on Solaris, reported by Farhad Saberi on the ML.

	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
	va_arg invocation to account for integer promotion in the case of
	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)

	* bus/services.c (bus_service_remove_owner): fix bug #902, use
	_dbus_list_get_first_link, not _dbus_list_get_first.

	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.

	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
	handler functions so that the asserts in _dbus_object_subtree_unref
	do not fail.

	* dbus/dbus-transport-unix.c (do_reading):
	_dbus_transport_queue_messages return value is of type
	dbus_bool_t, not DBusDispatchStatus.
2004-07-22 07:07:01 +00:00
David Zeuthen
c9c0adce43 2004-07-19 David Zeuthen <david@fubar.dk>
* dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN

	* bus/dispatch.c:
	(check_get_connection_unix_user): Debug says GetProperty; but the
	method is called GetConnectionUnixUser
	(check_get_connection_unix_process_id): New function
	(bus_dispatch_test): Actually call check_get_connection_unix_user();
	also call check_get_connection_unix_process_id()

	* bus/driver.c:
	(bus_driver_handle_get_connection_unix_process_id): New function,
	handles GetConnectionUnixProcessID on the org.freedesktop.DBus
	interface

	* dbus/dbus-auth.c:
	(handle_server_data_external_mech): Set pid from the credentials
	obtained from the socket

	* dbus/dbus-connection.c:
	(dbus_connection_get_unix_process_id): New function

	* dbus/dbus-connection.h:
	Add prototype for dbus_connection_get_unix_process_id

	* dbus/dbus-transport.c:
	(_dbus_transport_get_unix_process_id): New function

	* dbus/dbus-transport.h:
	Add prototype for _dbus_transport_get_unix_process_id
2004-07-19 20:55:58 +00:00
Olivier Andrieu
dcbc92bfeb * dbus/dbus-message.c: Message counter fix, patch by Christian Hammond <chipx86@gnupdate.org> 2004-07-19 10:42:28 +00:00
Seth Nickell
5d0ed9c704 2004-07-18 Seth Nickell <seth@gnome.org>
* python/dbus.py:
	* python/dbus_bindings.pyx.in:
	* python/tests/test-client.py:

	Add dbus.ByteArray and dbus_bindings.ByteArray
	types so that byte streams can be passed back.

	Give jdahlin the heaps of credit that are so
	rightfully his.
2004-07-18 21:44:37 +00:00
Seth Nickell
5afe4265ea 2004-07-12 Seth Nickell <seth@gnome.org>
* python/dbus.py:

	Add message argument to the default object_method_handler
	function.

	* python/dbus_bindings.pyx.in:

	Automatically return NIL when passed an empty list
	(we can't pass back a list since lists are typed
	and we don't have any idea what type the the client
	intended the list to be... :-( )
2004-07-12 06:29:00 +00:00
Seth Nickell
dd4ff748c1 2004-07-10 Seth Nickell <seth@gnome.org>
* python/examples/Makefile.am:

	Fix distcheck breakage caused by new examples.
2004-07-11 03:09:03 +00:00
Seth Nickell
233f8d0e33 2004-07-10 Seth Nickell <seth@gnome.org>
* python/dbus.py:

	Add "message" argument to service-side dbus.Object
	methods. This will break existing services written
	using the python bindings, but will allow extraction
	of all the message information (e.g. who its from).

	Add improved "object oriented" signal handling/emission.

	* python/examples/example-service.py:

	Nix this example.

	* python/examples/example-signal-emitter.py:
	* python/examples/example-signal-recipient.py:

	Two new examples that show how to emit and receive
	signals using the new APIs.

	* python/examples/example-signals.py:
	* python/examples/gconf-proxy-service.py:
	* python/examples/gconf-proxy-service2.py:

	Add "message" argument to service methods.
2004-07-11 03:02:14 +00:00
Colin Walters
3d0f1fb1b6 2004-07-06 Colin Walters <walters@redhat.com>
* doc/Makefile.am, qt/Makefile.am:
	mono/doc/Makefile.am: Allow 'make dist'
	without doc building of various sorts or
	QT support enabled.
2004-07-06 15:15:59 +00:00
Havoc Pennington
54752a6d94 separate out glib binding items 2004-07-03 11:20:05 +00:00
Olivier Andrieu
6df26b2432 add autogenerated dbus-glib-error-enum.h 2004-06-28 21:56:47 +00:00
Olivier Andrieu
2779cbf976 * bus/driver.c (bus_driver_handle_get_connection_unix_user)
* dbus/bus.c (dbus_bus_get_unix_user)
* doc/dbus-specification.xml: implement GetConnectionUnixUser
method of org.freedesktop.DBus interface.

* bus/dispatch.c: test case
2004-06-28 21:55:15 +00:00
John (J5) Palmieri
5d58a04018 * switched include directory from glib/ to dbus/
since dbus-glib.h moved
2004-06-23 14:59:44 +00:00
Olivier Andrieu
a2a5df49d6 reverting, this was already done 2004-06-22 12:08:22 +00:00
Olivier Andrieu
9406615018 2004-06-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
* configure.in: prevent building the gcj stuff and libxml loader
	since they are broken.
2004-06-22 11:58:13 +00:00
Havoc Pennington
961e6ca41c 2004-06-20 Havoc Pennington <hp@redhat.com>
* dbus/dbus-glib-error-enum.h: autogenerate the GError enum
	codes from the dbus error names

        * glib/dbus-glib.h: move to subdir dbus/ since it's included
	as dbus/dbus-glib.h and that breakage is now visible due to
	including dbus/dbus-glib.h in dbus-glib-lowlevel.h

	* glib/dbus-glib.h: s/gproxy/g_proxy/

	* dbus/dbus-shared.h: new header to hold stuff shared with
	binding APIs

	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
	than dbus-errors.h

	* glib/dbus-glib.h (dbus_set_g_error): move to
	dbus-glib-lowlevel.h

	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
	of stuff to enable this

	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here

	* a bunch of other changes with the same basic "separate glib
	bindings from dbus.h" theme
2004-06-20 15:28:15 +00:00
Owen Fraser-Green
eed3989ea3 Remove glib-sharp from Libs flag. 2004-06-10 12:55:28 +00:00
Owen Fraser-Green
e7ec62bcb0 Fixed typo for python/examples make 2004-06-10 12:13:39 +00:00
Owen Fraser-Green
15e3aa9257 Bumped required versions for mono 2004-06-10 12:10:13 +00:00
Olivier Andrieu
7da40340f3 2004-06-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
	the reply value of the ServiceExists message.
2004-06-09 18:15:10 +00:00
John (J5) Palmieri
118f72cd0c * Python bindings are updated to reflect C API changes which now
accept plain path strings instead of an array of path elements.
2004-06-08 02:35:44 +00:00
Havoc Pennington
a8b1cf0774 2004-06-07 Havoc Pennington <hp@redhat.com>
* doc/TODO: remove auto-activation item since it's done; sort
	items by importance/milestone
2004-06-07 21:02:23 +00:00