Havoc Pennington [Sun, 19 Dec 2004 00:11:20 +0000 (00:11 +0000)]
2004-12-18 Havoc Pennington <hp@redhat.com>
* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
macro
* dbus/dbus-message.c: fix a comment, and add a still-unused
not-implemented function
* dbus/dbus-marshal.h: fix comment
* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
Joe Shaw [Fri, 17 Dec 2004 22:21:16 +0000 (22:21 +0000)]
2004-12-17 Joe Shaw <joeshaw@novell.com>
* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
Type.UnderlyingSystemType to get the actual system type
underneath. This code previously depended on the broken Mono
behavior, which was fixed in 1.1.3.
Havoc Pennington [Sat, 27 Nov 2004 07:30:22 +0000 (07:30 +0000)]
2004-11-27 Havoc Pennington <hp@redhat.com>
* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
are disabled
(_dbus_string_get_const_data): inline when asserts are disabled
* dbus/dbus-message.c: record the _dbus_current_generation of
creation so we can complain if dbus_shutdown() is used improperly.
Do this only if checks are enabled.
* dbus/dbus-connection.c: ditto
Havoc Pennington [Sat, 27 Nov 2004 02:18:36 +0000 (02:18 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c: add with_bus mode to profile echoes
that go through the bus.
* test/glib/run-test.sh: add ability to run test-profile
* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
config file reload.
Havoc Pennington [Sat, 27 Nov 2004 00:19:49 +0000 (00:19 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c: clean up how the fake_malloc_overhead
thing was implemented
Havoc Pennington [Fri, 26 Nov 2004 07:42:24 +0000 (07:42 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c: tweak a bit, add support for some
made-up minimal malloc overhead with plain sockets, since in
real life some sort of buffers are unavoidable thus we could
count them in the theoretical best case
Havoc Pennington [Fri, 26 Nov 2004 07:03:05 +0000 (07:03 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
where I was trying to cache one too many messages
Havoc Pennington [Fri, 26 Nov 2004 06:52:15 +0000 (06:52 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c: reimplement message cache as an array which
makes the cache about twice as fast and saves maybe 1.5% overall
Havoc Pennington [Fri, 26 Nov 2004 06:30:38 +0000 (06:30 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-threads.c (init_global_locks): forgot to put the
message cache lock here
Havoc Pennington [Fri, 26 Nov 2004 06:22:53 +0000 (06:22 +0000)]
2004-11-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
the "char byte_order" next to each other to save 4 bytes
(dbus_message_new_empty_header): reduce preallocation, since the
message cache should achieve a similar effect
(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
message cache that keeps a few DBusMessage around in a pool,
another 8% speedup or so.
* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
Havoc Pennington [Fri, 26 Nov 2004 02:29:00 +0000 (02:29 +0000)]
2004-11-25 Havoc Pennington <hp@redhat.com>
* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
to write, without reading or blocking, try it before the poll()
and skip the poll() if nothing remains to write. This is about a
3% speedup in the echo client/server
Havoc Pennington [Fri, 26 Nov 2004 01:53:13 +0000 (01:53 +0000)]
2004-11-25 Havoc Pennington <hp@redhat.com>
The primary change here is to always write() once before adding
the write watch, which gives us about a 10% performance increase.
* dbus/dbus-transport-unix.c: a number of modifications to cope
with removing messages_pending
(check_write_watch): properly handle
DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
messages_pending stuff
(check_read_watch): properly handle WAITING_FOR_MEMORY and
AUTHENTICATED cases
(unix_handle_watch): after writing, see if the write watch can be
removed
(unix_do_iteration): assert that write_watch/read_watch are
non-NULL rather than testing that they aren't, since they
aren't allowed to be NULL. check_write_watch() at the end so
we add the watch if we did not finish writing (e.g. got EAGAIN)
* dbus/dbus-transport-protected.h: remove messages_pending call,
since it resulted in too much inefficient watch adding/removing;
instead we now require that the transport user does an iteration
after queueing outgoing messages, and after trying the first
write() we add a write watch if we got EAGAIN or exceeded our
max bytes to write per iteration setting
* dbus/dbus-string.c (_dbus_string_validate_signature): add this
function
* dbus/dbus-server-unix.c (unix_finalize): the socket name was
freed and then accessed, valgrind flagged this bug, fix it
* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
as the last valid field plus 1, where really it is equal to the
last valid field. Corrects some message corruption issues.
* dbus/dbus-mainloop.c: verbosity changes
* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
instead of aborting in one of the test codepaths
* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
caused not printing the pid ever again if a verbose was missing
the newline at the end
(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
* dbus/dbus-connection.c: verbosity changes;
(dbus_connection_has_messages_to_send): new function
(_dbus_connection_message_sent): no longer call transport->messages_pending
(_dbus_connection_send_preallocated_unlocked): do one iteration to
try to write() immediately, so we can avoid the write watch. This
is the core purpose of this patchset
(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
dump the outgoing message queue, so nobody will get confused
trying to send them or thinking stuff is pending to be sent
* bus/test.c: verbosity changes
* bus/driver.c: verbosity/assertion changes
* bus/dispatch.c: a bunch of little tweaks to get it working again
because this patchset changes when/where you need to block.
Havoc Pennington [Tue, 23 Nov 2004 06:21:12 +0000 (06:21 +0000)]
2004-11-23 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c: modify to accept a plain_sockets
argument in which case it will bench plain sockets instead of
libdbus, for comparison purposes.
Havoc Pennington [Mon, 22 Nov 2004 19:20:29 +0000 (19:20 +0000)]
2004-11-22 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
threads for more time, so sysprof can get a grip on it.
* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
pointless variable
Havoc Pennington [Sat, 13 Nov 2004 07:07:47 +0000 (07:07 +0000)]
2004-11-13 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c: fix this thing up a bit
* dbus/dbus-message.c (dbus_message_new_empty_header): increase
preallocation sizes by a fair bit; not sure if this will be an
overall performance win or not, but it does reduce reallocs.
* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
the test hack that forced constant realloc if asserts are
disabled, so we can profile sanely. Sprinkle in some
_DBUS_UNLIKELY() which are probably pointless, but before I
noticed the real performance problem I put them in.
(_dbus_string_validate_utf8): micro-optimize this thing a little
bit, though callgrind says it didn't help; then special-case
ascii, which did help a lot; then be sure we detect nul bytes as
invalid, which is a bugfix.
(align_length_then_lengthen): add some more _DBUS_UNLIKELY
superstition; use memset to nul the padding instead of a manual
loop.
(_dbus_string_get_length): inline this as a
macro; it showed up in the profile because it's used for loop
tests and so forth
Havoc Pennington [Wed, 10 Nov 2004 20:12:15 +0000 (20:12 +0000)]
add a little comment about WNOHANG/EINTR
Colin Walters [Wed, 10 Nov 2004 06:53:10 +0000 (06:53 +0000)]
2004-11-10 Colin Walters <walters@verbum.org>
* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
for extra paranoia.
Colin Walters [Tue, 9 Nov 2004 06:11:33 +0000 (06:11 +0000)]
2004-11-09 Colin Walters <walters@verbum.org>
* dbus/dbus-string.c (_dbus_string_get_length): New
function, writes DBusString to C buffer.
* dbus/dbus-string.h: Prototype it.
* dbus/dbus-message.c (dbus_message_type_to_string): New
function, converts message type into C string.
* dbus/dbus-message.h: Prototype it.
* bus/selinux.c (bus_selinux_check): Take source pid,
target pid, and audit data. Pass audit data to
avc_has_perm.
(log_audit_callback): New function, appends extra
audit information.
(bus_selinux_allows_acquire_service): Also take
service name, add it to audit data.
(bus_selinux_allows_send): Also take message
type, interface, method member, error name,
and destination, and add them to audit data.
(log_cb): Initialize func_audit.
* bus/selinux.h (bus_selinux_allows_acquire_service)
(bus_selinux_allows_send): Update prototypes
* bus/services.c (bus_registry_acquire_service): Pass
service name to bus_selinux_allows_acquire_service.
* bus/bus.c (bus_context_check_security_policy): Pass
additional audit data. Move assignment of dest
to its own line.
Colin Walters [Sun, 7 Nov 2004 17:06:34 +0000 (17:06 +0000)]
2004-11-07 Colin Walters <walters@verbum.org>
* dbus/dbus-transport-unix.c (do_authentication): Always
initialize auth_completed.
Colin Walters [Sun, 7 Nov 2004 17:05:19 +0000 (17:05 +0000)]
2004-11-07 Colin Walters <walters@verbum.org>
* bus/bus.c (load_config): Break into three
separate functions: process_config_first_time_only,
process_config_every_time, and process_config_postinit.
(process_config_every_time): Move call of
bus_registry_set_service_context_table into
process_config_postinit.
(process_config_postinit): New function, does
any processing that needs to happen late
in initialization (and also on reload).
(bus_context_new): Instead of calling load_config,
open config parser here and call process_config_first_time_only
and process_config_every_time directly. Later, after
we have forked but before changing UID,
invoke bus_selinux_full_init, and then call
process_config_postinit.
(bus_context_reload_config): As in bus_context_new,
load parse file inside here, and call process_config_every_time
and process_config_postinit.
* bus/services.h, bus/services.c
(bus_registry_set_service_context_table): Rename
from bus_registry_set_sid_table. Take string hash from config
parser, and convert them here into SIDs.
* bus/config-parser.c (struct BusConfigParser): Have
config parser only store a mapping of service->context
string.
(merge_service_context_hash): New function.
(merge_included): Merge context string hashes instead
of using bus_selinux_id_table_union.
(bus_config_parser_new): Don't use bus_selinux_id_table_new;
simply create a new string hash.
(bus_config_parser_unref): Unref it.
(start_selinux_child): Simply insert strings into hash,
don't call bus_selinux_id_table_copy_over.
* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
(bus_selinux_id_table_copy_over): Delete.
Colin Walters [Thu, 4 Nov 2004 04:10:18 +0000 (04:10 +0000)]
*** empty log message ***
Colin Walters [Thu, 4 Nov 2004 04:09:31 +0000 (04:09 +0000)]
2004-11-03 Colin Walters <walters@verbum.org>
* bus/selinux.c (bus_selinux_pre_init): Kill some unused
variables.
Colin Walters [Wed, 3 Nov 2004 16:38:35 +0000 (16:38 +0000)]
2004-11-03 Colin Walters <walters@verbum.org>
* bus/test-main.c (test_pre_hook): Fix test logic,
thanks Joerg Barfurth <Joerg.Barfurth@Sun.COM>.
Colin Walters [Tue, 2 Nov 2004 20:28:00 +0000 (20:28 +0000)]
*** empty log message ***
Colin Walters [Tue, 2 Nov 2004 20:27:48 +0000 (20:27 +0000)]
2004-11-02 Colin Walters <walters@verbum.org>
* bus/selinux.c (bus_selinux_init): Split into two functions,
bus_selinux_pre_init and bus_selinux_post_init.
(bus_selinux_pre_init): Just determine whether SELinux is
enabled.
(bus_selinux_post_init): Do everything else.
* bus/main.c (main): Call bus_selinux_pre_init before parsing
config file, and bus_selinux_post_init after. This ensures that
we don't lose the policyreload notification thread that
bus_selinux_init created before forking previously.
* bus/test-main.c (test_pre_hook): Update for split.
Owen Fraser-Green [Tue, 2 Nov 2004 10:19:20 +0000 (10:19 +0000)]
Patch from Johan Fischer to make mono doc install create the doc dir.
Colin Walters [Fri, 29 Oct 2004 19:59:15 +0000 (19:59 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
* dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
parameter for fd to write pid to.
* dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
* bus/bus.c (bus_context_new): Pass print_pid_fd
to _dbus_become_daemon (bug #1720)
Colin Walters [Fri, 29 Oct 2004 19:22:59 +0000 (19:22 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
Patch from Ed Catmur <ed@catmur.co.uk>
* mono/doc/Makefile.am (install-data-local): Handle
DESTDIR.
Colin Walters [Fri, 29 Oct 2004 19:20:02 +0000 (19:20 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
* bus/.cvsignore, qt/.cvsignore: Update.
Colin Walters [Fri, 29 Oct 2004 19:17:57 +0000 (19:17 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
Patch from Kristof Vansant <de_lupus@pandora.be>
* configure.in: Detect Slackware.
* bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
* bus/rc.messagebus.in: New file.
Colin Walters [Fri, 29 Oct 2004 18:52:30 +0000 (18:52 +0000)]
Add comment about workaround.
Colin Walters [Fri, 29 Oct 2004 18:50:29 +0000 (18:50 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
* tools/dbus-monitor.c (filter_func): Return
DBUS_HANDLER_RESULT_HANDLED in filter function
for now. See:
http://freedesktop.org/pipermail/dbus/2004-August/001433.html
Colin Walters [Fri, 29 Oct 2004 18:13:53 +0000 (18:13 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
Patch from Matthew Rickard <mjricka@epoch.ncsc.mil>
* bus/services.c (bus_registry_acquire_service):
Correctly retrieve service name from DBusString
for printing.
Colin Walters [Fri, 29 Oct 2004 17:37:24 +0000 (17:37 +0000)]
2004-10-29 Colin Walters <walters@redhat.com>
* dbus/dbus-glib.h: Update documentation to not
refer to internal APIs.
Joe Shaw [Wed, 27 Oct 2004 22:35:03 +0000 (22:35 +0000)]
2004-10-27 Joe Shaw <joeshaw@novell.com>
* mono/Arguments.cs (GetDBusTypeConstructor):
type.UnderlyingSystemType will return "System.Byte" if you do it
on "byte[]", which is not what we want. So check the type.IsArray
property and use System.Array instead.
John (J5) Palmieri [Mon, 25 Oct 2004 18:48:58 +0000 (18:48 +0000)]
John (J5) Palmieri <johnp@redhat.com>
* dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
the DBusUserInfo structure since this is passed into the function.
This would cause a double free when the function that allocated
the structure would try to free it when an error occured.
* (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
for service activation to avoid 32bit/64bit parallel install issues
Colin Walters [Fri, 22 Oct 2004 02:14:00 +0000 (02:14 +0000)]
2004-10-21 Colin Walters <walters@verbum.org>
* AUTHORS: Fix my email address, the @gnu.org one
has been bouncing for some time. Also add J5.
Colin Walters [Fri, 22 Oct 2004 02:07:29 +0000 (02:07 +0000)]
2004-10-21 Colin Walters <walters@verbum.org>
* dbus/dbus-transport-unix.c (do_authentication): Return
authentication status to callers.
(unix_handle_watch): If we completed authentication this round,
don't do another read. Instead wait until the next iteration,
after we've read any pending data in the auth buffer.
(unix_do_iteration): Ditto.
(unix_handle_watch): Updated for new do_authentication prototype.
Colin Walters [Mon, 18 Oct 2004 13:06:41 +0000 (13:06 +0000)]
2004-10-18 Colin Walters <walters@verbum.org>
* bus/selinux.c (bus_selinux_enabled): Handle
--disable-selinux case.
Colin Walters [Mon, 18 Oct 2004 04:04:12 +0000 (04:04 +0000)]
2004-10-18 Colin Walters <walters@verbum.org>
* bus/selinux.h: Add bus_selinux_enabled.
* bus/selinux.c (bus_selinux_enabled): Implement it.
* bus/config-parser.c (struct include): Add
if_selinux_enabled member.
(start_busconfig_child): Parse if_selinux_enabled
attribute for include.
(bus_config_parser_content): Handle it.
* bus/session.conf.in, bus/system.conf.in: Add
inclusion of context mapping to default config files;
conditional on SELinux being enabled.
* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
* test/data/invalid-config-files/badselinux-1.conf,
test/data/invalid-config-files/badselinux-2.conf:
Test files for bad syntax.
Colin Walters [Mon, 18 Oct 2004 03:39:40 +0000 (03:39 +0000)]
2004-10-17 Colin Walters <walters@verbum.org>
* dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
(dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
format specifier mismatches.
Olivier Andrieu [Thu, 7 Oct 2004 09:56:02 +0000 (09:56 +0000)]
* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect format string.
* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL pointer
(bug #1540, Leonardo Boiko).
Jon Trowbridge [Wed, 29 Sep 2004 01:46:45 +0000 (01:46 +0000)]
2004-09-28 Jon Trowbridge <trow@ximian.com>
* mono/BusDriver.cs: Changed BusDriver struct to remove
the ServiceCreated and ServiceDeleted events and replace them
with the new ServiceOwnerChanged event.
* mono/example/BusListener.cs: Added a new example program,
which listens for and reports any ServiceOwnerChanged events
on the bus driver.
* mono/example/Makefile.am (DESTDIR): Build changes for the
new BusListener.cs example.
Olivier Andrieu [Mon, 27 Sep 2004 10:01:18 +0000 (10:01 +0000)]
* bus/signals.c (bus_match_rule_parse): validate the components of
match rules (bug #1439).
* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
Olivier Andrieu [Fri, 24 Sep 2004 10:43:36 +0000 (10:43 +0000)]
* doc/dbus-specification.xml: document ServiceOwnerChanged signal.
* bus/driver.c, bus/driver.h, bus/services.c: Use ServiceOwnerChanged
signal instead of ServiceCreated and ServiceDeleted.
* bus/dispatch.c: update testcase for the new signal.
Jon Trowbridge [Mon, 20 Sep 2004 11:24:38 +0000 (11:24 +0000)]
2004-09-20 Jon Trowbridge <trow@ximian.com>
Patch from Nat Friedman <nat@novell.com>
* mono/Makefile.am: A number of small build fixes to allow "make
distcheck" to succeed.
* mono/example/Makefile.am: "make distcheck" fixes.
* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
key in @srcdir@.
* test/Makefile.am: "make distcheck" fixes.
Olivier Andrieu [Fri, 17 Sep 2004 09:14:49 +0000 (09:14 +0000)]
* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
* doc/busconfig.dtd: update the DTD for the at_console attribute.
* bus/driver.c (bus_driver_handle_hello): correctly handle Hello
messages after the first one (bug #1389).
* bus/dispatch.c (check_double_hello_message): add a test case for the
double hello message bug. (check_existent_service_activation): fix
check of spawning error.
David Zeuthen [Thu, 16 Sep 2004 19:56:26 +0000 (19:56 +0000)]
2004-09-16 David Zeuthen <david@fubar.dk>
* python/dbus_bindings.pyx.in: Add support for int64 and uint64
David Zeuthen [Sun, 12 Sep 2004 10:23:42 +0000 (10:23 +0000)]
2004-09-12 David Zeuthen <david@fubar.dk>
Patch from Kay Sievers <kay.sievers@vrfy.org>
* bus/bus.c (bus_context_new):
* bus/bus.h:
* bus/main.c (usage)
(main):
Add commandline option --nofork to override configuration file
setting.
Olivier Andrieu [Thu, 9 Sep 2004 10:20:17 +0000 (10:20 +0000)]
remove the ; after DBUS_(BEGIN|END)_DECLS (bug #974)
Harald Fernengel [Sat, 4 Sep 2004 15:13:38 +0000 (15:13 +0000)]
changelog
Harald Fernengel [Sat, 4 Sep 2004 15:09:48 +0000 (15:09 +0000)]
patch by Jérôme Lodewyck <lodewyck@clipper.ens.fr> to enable integration
of an existing connection into the Qt main loop
Jon Trowbridge [Tue, 31 Aug 2004 03:59:14 +0000 (03:59 +0000)]
2004-08-30 Jon Trowbridge <trow@ximian.com>
* mono/BusDriver.cs: Added. This is a class for interacting with
the org.freedesktop.DBus service.
* mono/Message.cs: Added a mechanism to expose the message that is
currently being dispatched via the static Message.Current
property. Added Message.Sender and Message.Destination
properties.
* mono/Handler.cs: Expose the dispatched message via
Message.Current when handling method calls.
* mono/Service.cs: Expose the dispatched message via
Message.Current when handling signal emissions.
* mono/Connection.cs: Bind dbus_bus_get_base_service via the
Connection.BaseService property.
Jon Trowbridge [Sun, 29 Aug 2004 18:14:30 +0000 (18:14 +0000)]
Mapped CRLF -> LF for consistency.
Havoc Pennington [Sun, 29 Aug 2004 02:14:52 +0000 (02:14 +0000)]
2004-08-28 Havoc Pennington <hp@redhat.com>
* dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
More fixes from Steve Grubb
* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
(_dbus_listen_tcp_socket): fix fd leak
* dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
EINTR to a bit lower in the code
Jon Trowbridge [Thu, 26 Aug 2004 17:26:06 +0000 (17:26 +0000)]
2004-08-26 Jon Trowbridge <trow@ximian.com>
* bus/driver.c (bus_driver_handle_service_exists): Respond with
TRUE if we are inquiring about the existence of the built-in
org.freedesktop.DBus service.
John (J5) Palmieri [Wed, 25 Aug 2004 22:11:49 +0000 (22:11 +0000)]
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
Olivier Andrieu [Wed, 25 Aug 2004 08:03:12 +0000 (08:03 +0000)]
* 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.
Mikael Hallendal [Tue, 24 Aug 2004 00:47:22 +0000 (00:47 +0000)]
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
Colin Walters [Mon, 23 Aug 2004 16:11:15 +0000 (16:11 +0000)]
*** empty log message ***
Colin Walters [Mon, 23 Aug 2004 16:10:47 +0000 (16:10 +0000)]
*** empty log message ***
Colin Walters [Mon, 23 Aug 2004 16:09:54 +0000 (16:09 +0000)]
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.
Havoc Pennington [Mon, 23 Aug 2004 04:33:53 +0000 (04:33 +0000)]
might be nice if my patches compiled...
Havoc Pennington [Mon, 23 Aug 2004 04:12:07 +0000 (04:12 +0000)]
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
Colin Walters [Fri, 20 Aug 2004 15:28:50 +0000 (15:28 +0000)]
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.
Joe Shaw [Tue, 17 Aug 2004 17:08:32 +0000 (17:08 +0000)]
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.
Havoc Pennington [Thu, 12 Aug 2004 23:06:30 +0000 (23:06 +0000)]
fix address to mail about release
Havoc Pennington [Thu, 12 Aug 2004 23:02:41 +0000 (23:02 +0000)]
2004-08-12 Havoc Pennington <hp@redhat.com>
* NEWS: update for 0.22
* configure.in: release 0.22
Colin Walters [Wed, 11 Aug 2004 14:59:34 +0000 (14:59 +0000)]
2004-08-11 Colin Walters <walters@redhat.com>
* tools/dbus-send.c (main, usage): Add --reply-timeout
argument.
Olivier Andrieu [Tue, 10 Aug 2004 21:32:25 +0000 (21:32 +0000)]
* 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.
Havoc Pennington [Tue, 10 Aug 2004 04:18:31 +0000 (04:18 +0000)]
2004-08-10 Havoc Pennington <hp@redhat.com>
* doc/dbus-tutorial.xml: add some more info on GLib bindings
Havoc Pennington [Tue, 10 Aug 2004 03:07:01 +0000 (03:07 +0000)]
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.
Havoc Pennington [Tue, 10 Aug 2004 02:18:37 +0000 (02:18 +0000)]
add a couple of notes about libdbus vs. bindings
John (J5) Palmieri [Tue, 3 Aug 2004 15:43:30 +0000 (15:43 +0000)]
Added documentation for the --enable-python configure switch
Olivier Andrieu [Sat, 31 Jul 2004 18:28:10 +0000 (18:28 +0000)]
* 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.
Colin Walters [Sat, 31 Jul 2004 15:18:04 +0000 (15:18 +0000)]
2004-07-31 Colin Walters <walters@redhat.com>
* configure.in: Move #error in SELinux check to its own line.
Olivier Andrieu [Sat, 31 Jul 2004 09:15:24 +0000 (09:15 +0000)]
* 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.
Colin Walters [Sat, 31 Jul 2004 05:37:15 +0000 (05:37 +0000)]
2004-07-31 Colin Walters <walters@redhat.com>
* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
BUS_SET_OOM.
Colin Walters [Sat, 31 Jul 2004 05:35:52 +0000 (05:35 +0000)]
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.
Havoc Pennington [Fri, 30 Jul 2004 05:59:34 +0000 (05:59 +0000)]
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
Olivier Andrieu [Thu, 29 Jul 2004 08:00:45 +0000 (08:00 +0000)]
* 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.
Anders Carlsson [Wed, 28 Jul 2004 18:14:55 +0000 (18:14 +0000)]
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.
Havoc Pennington [Sun, 25 Jul 2004 04:45:37 +0000 (04:45 +0000)]
2004-07-24 Havoc Pennington <hp@redhat.com>
* AUTHORS: add some people, not really comprehensively, let me
know if I missed you
Havoc Pennington [Sun, 25 Jul 2004 03:52:48 +0000 (03:52 +0000)]
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
Olivier Andrieu [Thu, 22 Jul 2004 07:07:51 +0000 (07:07 +0000)]
remove stray debugging line
Olivier Andrieu [Thu, 22 Jul 2004 07:07:01 +0000 (07:07 +0000)]
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.
David Zeuthen [Mon, 19 Jul 2004 20:55:58 +0000 (20:55 +0000)]
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
Olivier Andrieu [Mon, 19 Jul 2004 10:42:28 +0000 (10:42 +0000)]
* dbus/dbus-message.c: Message counter fix, patch by Christian Hammond <chipx86@gnupdate.org>
Seth Nickell [Sun, 18 Jul 2004 21:44:37 +0000 (21:44 +0000)]
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.
Seth Nickell [Mon, 12 Jul 2004 06:29:00 +0000 (06:29 +0000)]
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... :-( )
Seth Nickell [Sun, 11 Jul 2004 03:09:03 +0000 (03:09 +0000)]
2004-07-10 Seth Nickell <seth@gnome.org>
* python/examples/Makefile.am:
Fix distcheck breakage caused by new examples.
Seth Nickell [Sun, 11 Jul 2004 03:02:14 +0000 (03:02 +0000)]
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.
Colin Walters [Tue, 6 Jul 2004 15:15:59 +0000 (15:15 +0000)]
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.
Havoc Pennington [Sat, 3 Jul 2004 11:20:05 +0000 (11:20 +0000)]
separate out glib binding items
Olivier Andrieu [Mon, 28 Jun 2004 21:56:47 +0000 (21:56 +0000)]
add autogenerated dbus-glib-error-enum.h
Olivier Andrieu [Mon, 28 Jun 2004 21:55:15 +0000 (21:55 +0000)]
* 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
John (J5) Palmieri [Wed, 23 Jun 2004 14:59:44 +0000 (14:59 +0000)]
* switched include directory from glib/ to dbus/
since dbus-glib.h moved
Olivier Andrieu [Tue, 22 Jun 2004 12:08:22 +0000 (12:08 +0000)]
reverting, this was already done
Olivier Andrieu [Tue, 22 Jun 2004 11:58:13 +0000 (11:58 +0000)]
2004-06-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
* configure.in: prevent building the gcj stuff and libxml loader
since they are broken.
Havoc Pennington [Sun, 20 Jun 2004 15:28:15 +0000 (15:28 +0000)]
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