Joe Shaw [Sat, 12 Feb 2005 00:51:33 +0000 (00:51 +0000)]
2005-02-11 Joe Shaw <joeshaw@novell.com>
* mono/Connection.cs: The unpredictability of finalizers in mono
prevents us from deterministically disconnecting the filters from
the Service class's finalizer, so move tracking of filters and
matches here. Add API for that.
* mono/Service.cs: Remove the code, add code which calls the
methods now on the Connection class.
John (J5) Palmieri [Fri, 11 Feb 2005 19:51:18 +0000 (19:51 +0000)]
* python/dbus.py (class Sender): added to support dbus signals better
(Bus::add_signal_receiver): added expand_args parameter which defaults
to True. When expand args is True the signal handler will pass the
message arguments as parameters to the signal handler. If False
revert to previous behavior where the signal handler must get the
argument list from the message. This is to help port applications
like HAL that have a tendancy to send variable length argument lists.
self._match_rule_to_receivers is now a dict of dicts.
(Bus::remove_signal_receiver): pop handler off the dict intead of
removing it from a list
(Bus::_signal_func): change signal handlers so that interface,
signal_name, service, path and message are packed into a Sender
object and that is passed to the handler. If expand_args is True
extract the args list from the message and append it to the parameter
list
* python/dbus_bindings.pyx.in (class Signature): added to support
signiature types
(MessageIter::__init__): changed iteration limit to match D-BUS
(MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY,
STRUCT and VARIENT type support
(MessageIter::python_value_to_dbus_sig): made recursive to support
recursive types
(MessageIter::append*): added Signature, dict, tuple
support
* python/examples/example-client.py: added examples of getting tuples
and dicts
* python/examples/example-service.py: added examples of sending tuples
and dicts
* python/examples/example-signal-recipient.py: Fixed to handle new
signal callback format
Havoc Pennington [Fri, 11 Feb 2005 03:37:03 +0000 (03:37 +0000)]
2005-02-10 Havoc Pennington <hp@redhat.com>
* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
(call dbus_g_proxy_add_signal)
* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
escape the hostname
(_dbus_server_new_for_domain_socket): escape the path
* dbus/dbus-address.c (dbus_address_escape_value): new
(dbus_address_unescape_value): new
(dbus_parse_address): unescape values
* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
* doc/dbus-specification.xml: explain how to escape values in
addresses
Havoc Pennington [Fri, 11 Feb 2005 01:13:45 +0000 (01:13 +0000)]
2005-02-10 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c (generate_special): modify test to
avoid using a non-basic dict key
* dbus/dbus-marshal-validate-util.c: add test for the below
* doc/dbus-specification.xml: require that dict keys are a basic
type
* dbus/dbus-marshal-validate.c
(_dbus_validate_signature_with_reason): require that dict key is a
basic type
Havoc Pennington [Thu, 10 Feb 2005 23:47:55 +0000 (23:47 +0000)]
2005-02-10 Havoc Pennington <hp@redhat.com>
* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
change to be _and_unlock instead of _unlocked
* dbus/dbus-connection.c
(_dbus_connection_send_preallocated_unlocked_no_update): rename to
have no_update so we can find this bug quickly in future
Havoc Pennington [Thu, 10 Feb 2005 23:17:27 +0000 (23:17 +0000)]
2005-02-10 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-util.c (verify_test_message): tests for string
array
* dbus/dbus-message.c (dbus_message_append_args_valist): add
support for arrays of string/signature/path
Joe Shaw [Thu, 10 Feb 2005 23:01:28 +0000 (23:01 +0000)]
2005-02-10 Joe Shaw <joeshaw@novell.com>
* dbus/dbus-connection.c
(_dbus_connection_queue_received_message_link,
_dbus_connection_message_sent): Add the path to
the verbose output.
(_dbus_connection_send_preallocated_and_unlock): Added. Calls
_dbus_connection_send_preallocated_unlocked(), updated the
dispatch status, and unlocks. Fixes a bug where certain
situations (like a broken pipe) could cause a Disconnect message
to not be sent, tricking the bus into thinking a service was still
there when the process had quit.
(_dbus_connection_send_preallocated): Call
_dbus_connection_send_preallocated_and_unlock().
(_dbus_connection_send_and_unlock): Added. Calls
_dbus_connection_send_preallocated_and_unlock().
(dbus_connection_send): Call _dbus_connection_send_and_unlock().
(dbus_connection_send_with_reply): Update the dispatch status and
unlock.
* mono/Service.cs (~Service): Added. Removes the filter so that
we don't get unmanaged code calling back into a GCed delegate.
(RemoveFilter); Added.
John (J5) Palmieri [Thu, 10 Feb 2005 04:36:23 +0000 (04:36 +0000)]
* dbus/dbus-message.c (dbus_message_iter_open_container):
- Removed check for iterator type being an array because
get_arg_type does not work with writer iterators
- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
Colin Walters [Mon, 7 Feb 2005 14:14:50 +0000 (14:14 +0000)]
2005-02-07 Colin Walters <walters@verbum.org>
* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
sender or proposed_recipient.
Havoc Pennington [Mon, 7 Feb 2005 05:44:57 +0000 (05:44 +0000)]
2005-02-07 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.xml: some more language cleanups; add
stuff about how to deal with invalid protocol and extension
points; add _ to allowed chars in auth commands; add EXTENSION_
auth command prefix
Colin Walters [Mon, 7 Feb 2005 05:31:59 +0000 (05:31 +0000)]
2005-02-07 Colin Walters <walters@verbum.org>
* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
sender or proposed_recipient.
Havoc Pennington [Mon, 7 Feb 2005 04:47:52 +0000 (04:47 +0000)]
2005-02-06 Havoc Pennington <hp@redhat.com>
* s/expected/required/ in a couple places for clarity
Havoc Pennington [Sun, 6 Feb 2005 15:35:25 +0000 (15:35 +0000)]
fix the docs on signal you get when you lose a bus name
Havoc Pennington [Sun, 6 Feb 2005 05:19:50 +0000 (05:19 +0000)]
2005-02-06 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c (generate_special): more tests
* dbus/dbus-marshal-validate.c (validate_body_helper): detect
array length that exceeds the maximum
Havoc Pennington [Sun, 6 Feb 2005 04:21:57 +0000 (04:21 +0000)]
2005-02-05 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c (generate_special): more test cases,
increasing coverage
* dbus/dbus-marshal-validate.c (validate_body_helper): return the
reason why a signature was invalid
* dbus/dbus-marshal-header.c (load_and_validate_field): fix to
skip the length of the string before we look at it in validation
* dbus/dbus-string-util.c (_dbus_string_test): add tests for
equal_substring
* dbus/dbus-message.c (_dbus_message_loader_new): default
max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
Havoc Pennington [Sat, 5 Feb 2005 21:03:28 +0000 (21:03 +0000)]
2005-02-05 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
if the signature of a variant was empty
(_dbus_validate_signature_with_reason): catch "(a)" (array inside
struct with no element type)
* dbus/dbus-message-factory.c (generate_uint32_changed): add more
mangled messages to break things
Havoc Pennington [Sat, 5 Feb 2005 04:15:57 +0000 (04:15 +0000)]
2005-02-04 Havoc Pennington <hp@redhat.com>
* glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
g_quark_try_string() so it actually can return 0
(dbus_g_proxy_connect_signal): ditto
2005-02-04 Havoc Pennington <hp@redhat.com>
* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
bogus warning
(tristring_from_message): assert cleanly on null path/interface
(should not be possible though I decided later)
(dbus_g_proxy_dispose): move proxy manager unregistration here
(DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
g_return_if_fail() checks
Havoc Pennington [Sat, 5 Feb 2005 03:24:54 +0000 (03:24 +0000)]
2005-02-04 Havoc Pennington <hp@redhat.com>
* doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
* doc/introspect.dtd: add introspect.dtd from David A. Wheeler
(with some minor changes)
* doc/dbus-specification.xml: add deprecated attribute to
introspection format
Havoc Pennington [Mon, 31 Jan 2005 23:17:19 +0000 (23:17 +0000)]
2005-01-31 Havoc Pennington <hp@redhat.com>
* glib/dbus-gproxy.c: rewrite how signals work again, this time I
think it's sort of right
Havoc Pennington [Mon, 31 Jan 2005 03:15:24 +0000 (03:15 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* tools/dbus-viewer.c: kind of half-ass hook up the option menu.
Havoc Pennington [Mon, 31 Jan 2005 02:55:12 +0000 (02:55 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* tools/dbus-names-model.c: dynamically watch NameOwnerChanged
* autogen.sh: change to autotools 1.9
* glib/dbus-gproxy.c: completely change how signals work
(dbus_g_proxy_add_signal): new function to specify signature of a
signal
(dbus_g_proxy_emit_received): marshal the dbus message to GValues,
and g_warning if the incoming message has the wrong signature.
Havoc Pennington [Sun, 30 Jan 2005 23:29:50 +0000 (23:29 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* tools/dbus-names-model.c (have_names_notify): fix this
* dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
up the string array handling a bit
Havoc Pennington [Sun, 30 Jan 2005 23:06:32 +0000 (23:06 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
(dbus_g_pending_call_cancel): new function
* dbus/dbus-glib.h: move GType decls for connection/message here;
* dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
here, just kind of rationalizing how we handle all that
* tools/dbus-names-model.c: new file for a tree model listing the
services on a bus
* tools/dbus-tree-view.c (model_new): use proper typing on the
model rows
Havoc Pennington [Sun, 30 Jan 2005 20:06:52 +0000 (20:06 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c: add a custom GSource back that just checks
whether the message queue has anything in it; otherwise, there are
cases where we won't see messages in the queue since there was no
IO visible to the glib main loop
* dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
increase default message timeout to 25 seconds
Havoc Pennington [Sun, 30 Jan 2005 19:35:00 +0000 (19:35 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c (no_bus_stop_server): remove the
warning about the g_warning that I just fixed
Havoc Pennington [Sun, 30 Jan 2005 19:33:29 +0000 (19:33 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
custom source, seems to be a lot easier to understand and work
better.
Havoc Pennington [Sun, 30 Jan 2005 18:25:14 +0000 (18:25 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
I think this main loop thing is conceptually broken, but here are
some band aids. I'll maybe rewrite it in a minute.
* glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
custom GSource, so don't pass it in; confusing
(gsource_server_finalize, gsource_connection_finalize): add
finalize handlers that remove all the watches.
Havoc Pennington [Sun, 30 Jan 2005 07:44:08 +0000 (07:44 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
* glib/dbus-gobject.c (introspect_properties): fix the XML
generated
* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
which effectively detects the use of freed messages
* glib/dbus-gobject.c (handle_introspect): modify and return the
reply message instead of the incoming message
* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
gee, maybe it should SEND THE XML instead of just making a string
and freeing it again ;-)
* tools/dbus-print-message.c (print_message): improve printing of
messages
* configure.in: add debug-glib.service to the output
Havoc Pennington [Sun, 30 Jan 2005 05:18:44 +0000 (05:18 +0000)]
2005-01-30 Havoc Pennington <hp@redhat.com>
dbus-viewer introspected and displayed the bus driver
* dbus/dbus-object-tree.c
(object_tree_test_iteration): add tests for a handler registered on "/"
* dbus/dbus-object-tree.c
(_dbus_decompose_path): fix to handle path "/" properly
(run_decompose_tests): add tests for path decomposition
* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
properly
* glib/dbus-gobject.c (handle_introspect): fix quotes
* test/glib/run-test.sh: support launching the bus, then running
dbus-viewer
* test/glib/test-service-glib.c (main): put in a trivial gobject
subclass and register it on the connection
* bus/driver.c (bus_driver_handle_introspect): implement
introspection of the bus driver service
* dbus/dbus-protocol.h: add #defines for the XML namespace,
identifiers, doctype decl
* bus/driver.c (bus_driver_handle_get_service_owner): handle
attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by
returning the service unchanged.
(bus_driver_handle_message): remove old check for reply_serial in
method calls, now the message type deals with that
(bus_driver_handle_message): handle NULL interface
* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
* glib/dbus-gloader-expat.c (description_load_from_string): allow
-1 for len
* tools/dbus-viewer.c: add support for introspecting a service on
a bus
* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
(dbus_g_pending_call_unref): add
Havoc Pennington [Sat, 29 Jan 2005 20:12:22 +0000 (20:12 +0000)]
2005-01-29 Havoc Pennington <hp@redhat.com>
* tools/dbus-tree-view.c: add support for displaying properties.
(run dbus-viewer with an introspect xml file as arg, then resize
the window so the tree elements show up, not sure what that is)
* glib/dbus-gobject.c (handle_introspect): return
org.freedesktop.Properties and org.freedesktop.Introspectable
interfaces when we are introspected.
* doc/dbus-specification.xml: allow empty interface name when
Get/Set a property
Havoc Pennington [Sat, 29 Jan 2005 19:52:19 +0000 (19:52 +0000)]
2005-01-29 Havoc Pennington <hp@redhat.com>
* glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
though it uses glib, it could be extended for any binding in
principle
* glib/dbus-gobject.c (gobject_message_function): change to the
new way properties work
* dbus/dbus-protocol.h: add the new interfaces
* doc/dbus-specification.xml: document the introspection format,
Introspectable interface, and add an org.freedesktop.Properties
interface.
* glib/dbus-gparser.c: add support for a <property> element
* glib/dbus-gidl.c: add PropertyInfo
* glib/dbus-gobject.c (handle_introspect): put the outermost
<node> outside the signal and property descriptions.
(introspect_properties): export properties as <property> rather
than as method calls
Havoc Pennington [Sat, 29 Jan 2005 04:21:32 +0000 (04:21 +0000)]
2005-01-28 Havoc Pennington <hp@redhat.com>
* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
related to authentication protocol
John (J5) Palmieri [Fri, 28 Jan 2005 19:09:55 +0000 (19:09 +0000)]
* python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
- BUS_ACTIVATION -> BUS_STARTER
- DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
- class MessageIter (__init__): Added recursion checking
so we throw a nice error instead of just disconnecting from the
bus.
(get): Added arg_type parameter for recursion.
Removed the nil type
Added signiture type placeholder (not implemented)
Added struct type placeholder (not implemented)
Added varient type placeholder (not implemented)
Commented out dict type for now
(get_element_type): renamed from get_array_type
(get_*): changed to use the dbus_message_iter_get_basic API
(get_*_array): removed in favor of recursive get_array method
(get_array): new recursive method which calls get to marshal
the elements of the array
(value_to_dbus_sig): New method returns the corrasponding
dbus signiture to a python value
(append): Comment out dict handling for now
Handle lists with the new recursive API
Comment out None handling for now
(append_nil): removed
(append_*): changed to use dbus_message_iter_append_basic API
(append_*_array): removed in favor of recursive append_array
method
(__str__): Make it easier to print out recursive iterators
for debugging
- class Message (__str__): moved type inspection to the
MessageIter class' __str__ method
(get_iter): Added an append parameter wich defaults to False
If True use the new API's to create an append iterator
* python/dbus.py: Update to use new bindings API
- TYPE_ACTIVATION -> TYPE_STARTER
- class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
- class ActivationBus -> class StarterBus
- class RemoteObject (__call__): get an append iterator
- (_dispatch_dbus_method_call): get an append iterator
- class Object (emit_signal): get an append iterator
* python/examples/: Fixed up the examples to work with the new API
Joe Shaw [Fri, 28 Jan 2005 17:04:35 +0000 (17:04 +0000)]
2005-01-28 Joe Shaw <joeshaw@novell.com>
* configure.in: Bump version up to 0.30.
* HACKING: Add a release item to bump the version number up after
a release.
Havoc Pennington [Fri, 28 Jan 2005 15:02:41 +0000 (15:02 +0000)]
small spec fix
Havoc Pennington [Fri, 28 Jan 2005 05:30:53 +0000 (05:30 +0000)]
2005-01-28 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.xml: update to describe 16-bit types and
dict entries
* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
assertion
* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
type
* dbus/dbus-marshal-recursive.c: implement
Havoc Pennington [Fri, 28 Jan 2005 03:06:56 +0000 (03:06 +0000)]
2005-01-27 Havoc Pennington <hp@redhat.com>
* dbus/dbus-arch-deps.h.in: add 16/32-bit types
* configure.in: find the right type for 16 and 32 bit ints as well
as 64
* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
the 16-bit types so people don't have to stuff them in 32-bit or
byte arrays.
Havoc Pennington [Fri, 28 Jan 2005 00:08:28 +0000 (00:08 +0000)]
remove completed byteswap item
Havoc Pennington [Thu, 27 Jan 2005 23:39:26 +0000 (23:39 +0000)]
2005-01-27 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c: byteswap the message if you init an
iterator to read/write from it
* dbus/dbus-marshal-byteswap.c: new file implementing
_dbus_marshal_byteswap()
* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
Havoc Pennington [Thu, 27 Jan 2005 01:50:01 +0000 (01:50 +0000)]
2005-01-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-validate-util.c: break this out (and fix
build, apparently - nobody noticed?)
Havoc Pennington [Thu, 27 Jan 2005 00:52:30 +0000 (00:52 +0000)]
2005-01-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-recursive.h: remove todo comment
Joe Shaw [Tue, 25 Jan 2005 19:47:13 +0000 (19:47 +0000)]
2005-01-25 Joe Shaw <joeshaw@novell.com>
* Land the mono binding changes to conform to the new APIs.
* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
DBusType/Dict.cs, and DBusType/Nil.cs from the build.
* mono/Arguments.cs (GetCodeAsString): Added. Returns the dbus
type code as a string.
(InitAppending): Rename dbus_message_append_iter_init() to
dbus_message_iter_init_append().
* mono/BusDriver.cs: Rename ServiceEventHandler to
NameOwnerChangedHandler. Rename GetServiceOwner to GetOwner.
Rename ServiceOwnerChanged to NameOwnerChanged.
* mono/Connection.cs: Rename BaseService to UniqueName, and the
underlying C call.
* mono/Custom.cs: Removed. The CUSTOM type has been removed.
* mono/Service.cs: Rename Exists to HasOwner, internally rename
dbus_bus_acquire_service() to dbus_bus_request_name().
* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
of Type.UnderlyingSystemType to get the correct element type for
the array.
(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
dbus_message_get_{element|arg}_type() instead of
dbus_message_iter_init_array_iterator().
(Append): Replace dbus_message_iter_append_array() with
dbus_message_iter_open_container() and
dbus_message_iter_close_container().
* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed. These
types have been removed.
* mono/DBusType/*.cs: Replace calls of
dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
but specify the type in the DllImport extern declaration. Ditto
for dbus_message_iter_append_[type]() ->
dbus_message_iter_append_basic().
* mono/example/BusListener.cs: Update for ServiceEventHandler ->
NameOwnerChangedHandler.
John (J5) Palmieri [Tue, 25 Jan 2005 19:06:53 +0000 (19:06 +0000)]
* python/dbus_bindings.pyx.in: Rename of methods and bindings
- get_base_service->get_unique_name
- bus_get_base_service->bus_get_unique_name
- dbus_bus_get_base_service -> dbus_bus_get_unique_name
- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS
- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
- bus_activate_service -> bus_start_service_by_name
- dbus_bus_activate_service -> dbus_bus_start_service_by_name
- bus_acquire_service -> bus_request_name
- dbus_bus_acquire_service -> dbus_bus_request_name
- bus_service_exists -> bus_name_has_owner
- dbus_bus_service_exists -> dbus_bus_name_has_owner
* python/dbus.py: Rename of methods
- activate_service -> start_service_by_name
- bus_acquire_service -> bus_request_name
- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS
- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
Joe Shaw [Mon, 24 Jan 2005 21:44:35 +0000 (21:44 +0000)]
2005-01-24 Joe Shaw <joeshaw@novell.com>
* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
signature for the method that can't be found.
* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
the message has any arguments, we need to call
_dbus_type_reader_get_current_type(), not
_dbus_type_reader_has_next().
Havoc Pennington [Mon, 24 Jan 2005 05:56:25 +0000 (05:56 +0000)]
2005-01-24 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c: more testing of message validation
* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
header
Havoc Pennington [Sun, 23 Jan 2005 06:10:07 +0000 (06:10 +0000)]
2005-01-23 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c, dbus/dbus-message-util.c:
get this all working, not many tests in the framework yet though
Havoc Pennington [Sun, 23 Jan 2005 03:53:34 +0000 (03:53 +0000)]
couple of minor tweaks
Havoc Pennington [Sun, 23 Jan 2005 03:43:38 +0000 (03:43 +0000)]
add middle initial
Havoc Pennington [Sun, 23 Jan 2005 00:30:49 +0000 (00:30 +0000)]
accidentally committed this stuff along with the doc changes, probably broken, will fix it soon
Havoc Pennington [Sun, 23 Jan 2005 00:28:41 +0000 (00:28 +0000)]
the new tutorial/FAQ
Havoc Pennington [Sun, 23 Jan 2005 00:25:39 +0000 (00:25 +0000)]
2005-01-22 Havoc Pennington <hp@redhat.com>
* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
tutorial, based on work from David Wheeler.
Havoc Pennington [Fri, 21 Jan 2005 06:18:04 +0000 (06:18 +0000)]
2005-01-21 Havoc Pennington <hp@redhat.com>
* dbus/dbus-bus.c: add more return_if_fail checks
* dbus/dbus-message.c (load_message): have the "no validation"
mode (have to edit the code to toggle the mode for now though)
* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
skips all validation; I want to use this at least for benchmark
baseline, I'm not sure if it should be a publicly-available switch.
Havoc Pennington [Fri, 21 Jan 2005 05:06:10 +0000 (05:06 +0000)]
2005-01-21 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c: don't put the GLib bindings in the same
toplevel doxygen group as the low-level API stuff
* dbus/dbus.h: note that libdbus is the low-level API
Havoc Pennington [Fri, 21 Jan 2005 04:47:31 +0000 (04:47 +0000)]
2005-01-20 Havoc Pennington <hp@redhat.com>
* update-dbus-docs.sh: script to update docs on the web site, only
works for me though. neener.
Havoc Pennington [Fri, 21 Jan 2005 04:14:54 +0000 (04:14 +0000)]
2005-01-20 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
code can reveal bugs in it
Havoc Pennington [Fri, 21 Jan 2005 03:47:21 +0000 (03:47 +0000)]
2005-01-20 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
select() version, patches from Tor Lillqvist
Havoc Pennington [Fri, 21 Jan 2005 03:44:10 +0000 (03:44 +0000)]
2005-01-20 Havoc Pennington <hp@redhat.com>
* doc/dbus-tutorial.xml: replace > with >
* bus/services.c (bus_registry_acquire_service): validate the name
and return a better error if it's no good.
* doc/dbus-specification.xml: note NO_AUTO_START change
* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
from AUTO_START, we're toggling the default
* bus/dispatch.c: adapt the tests to change of auto-start default
Havoc Pennington [Tue, 18 Jan 2005 22:20:38 +0000 (22:20 +0000)]
2005-01-18 Havoc Pennington <hp@redhat.com>
* rename dbus-daemon-1 to dbus-daemon throughout
Havoc Pennington [Tue, 18 Jan 2005 20:42:15 +0000 (20:42 +0000)]
2005-01-18 Havoc Pennington <hp@redhat.com>
* Throughout, grand renaming to strip out the use of "service",
just say "name" instead (or "bus name" when ambiguous). Did not
change the internal code of the message bus itself, only the
programmer-facing API and messages.
* doc/dbus-specification.xml: further update the message bus section
* bus/config-parser.c (all_are_equiv): fix bug using freed string
in error case
Havoc Pennington [Tue, 18 Jan 2005 03:03:07 +0000 (03:03 +0000)]
2005-01-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-types.h: remove 16-bit types since we don't use them
ever
* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
"invalid name character" not only non-ASCII
* doc/dbus-specification.xml: further update spec, message bus
parts are still out-of-date but the marshaling etc. stuff is now
accurate-ish
Havoc Pennington [Tue, 18 Jan 2005 00:20:39 +0000 (00:20 +0000)]
2005-01-17 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.xml: partially update spec
Havoc Pennington [Mon, 17 Jan 2005 22:03:19 +0000 (22:03 +0000)]
2005-01-17 Havoc Pennington <hp@redhat.com>
* Throughout, align variant bodies according to the contained
type, rather than always to 8. Should save a fair bit of space in
message headers.
* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
fix handling of case where p == end
* doc/TODO: remove the dbus_bool_t item and variant alignment items
Havoc Pennington [Mon, 17 Jan 2005 19:49:52 +0000 (19:49 +0000)]
2005-01-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
of an 8-bit type. Now dbus_bool_t is the type to use whenever you
are marshaling/unmarshaling a boolean.
Havoc Pennington [Mon, 17 Jan 2005 03:53:40 +0000 (03:53 +0000)]
2005-01-16 Havoc Pennington <hp@redhat.com>
This is about it on what can be disabled/deleted from libdbus
easily, back below 150K anyhow. Deeper cuts are more work than
just turning the code off as I've done here.
* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
signed int convenience funcs
* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
verbose mode
* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
things out of libdbus
* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
tests-enabled-only, though it should probably be deleted)
* dbus/dbus-message-util.c: same stuff
* dbus/dbus-auth-util.c: same stuff
Havoc Pennington [Mon, 17 Jan 2005 01:20:02 +0000 (01:20 +0000)]
2005-01-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
way for stripping down dbus-userdb.c stuff included in libdbus.
Rename _dbus_parse_uid for consistency.
Havoc Pennington [Mon, 17 Jan 2005 00:16:28 +0000 (00:16 +0000)]
2005-01-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-internals.c (_dbus_real_assert): print the function
name the assertion failed in
* dbus/dbus-internals.h (_dbus_return_if_fail)
(_dbus_return_val_if_fail): assert that the name of the function
containing the check doesn't start with '_', since we only want to
use checks on public functions
* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
checks to assertions
* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
change checks to asserts for private function
* dbus/dbus-message.c (_dbus_message_set_serial): checks
to asserts for private function
* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
broken assertion that was breaking make check
(_dbus_type_reader_array_is_empty): remove this rather than fix
it, was only used in assertions
Havoc Pennington [Sun, 16 Jan 2005 22:13:35 +0000 (22:13 +0000)]
2005-01-16 Havoc Pennington <hp@redhat.com>
* test/unused-code-gc.py: hacky script to find code that's used
only by the bus (not libdbus) or used only by tests or not used at
all. It has some false alarms, but looks like we can clean up a
lot of size from libdbus.
* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
dbus/Makefile.am: initially move 10K of binary size out of libdbus
Havoc Pennington [Sun, 16 Jan 2005 15:51:55 +0000 (15:51 +0000)]
2005-01-16 Havoc Pennington <hp@redhat.com>
* Add and fix docs according to Doxygen warnings throughout
source.
* dbus/dbus-marshal-recursive.c
(_dbus_type_reader_array_is_empty): change this to just call
array_reader_get_array_len() and make it static
* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
from get_array_type
(dbus_message_iter_init_append): rename from append_iter_init
* dbus/dbus-marshal-recursive.c
(_dbus_type_reader_get_element_type): rename from
_dbus_type_reader_get_array_type
Havoc Pennington [Sun, 16 Jan 2005 02:23:56 +0000 (02:23 +0000)]
2005-01-15 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c (with_bus_server_filter): fix crash
* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
when DBUS_DISABLE_ASSERT
(_dbus_marshal_set_basic): be sure we align for the string length
* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
this look faster
* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
inline macro version
(_dbus_string_set_byte): provide inline macro version
Havoc Pennington [Sat, 15 Jan 2005 07:15:38 +0000 (07:15 +0000)]
2005-01-15 Havoc Pennington <hp@redhat.com>
* Land the new message args API and type system.
This patch is huge, but the public API change is not
really large. The set of D-BUS types has changed somewhat,
and the arg "getters" are more geared toward language bindings;
they don't make a copy, etc.
There are also some known issues. See these emails for details
on this huge patch:
http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
* dbus/dbus-marshal-*: all the new stuff
* dbus/dbus-message.c: basically rewritten
* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
freed blocks to be all non-nul bytes so using freed memory is less
likely to work right
* dbus/dbus-internals.c (_dbus_test_oom_handling): add
DBUS_FAIL_MALLOC=N environment variable, so you can do
DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
thorough.
* qt/message.cpp: port to the new message args API
(operator<<): use str.utf8() rather than str.unicode()
(pretty sure this is right from the Qt docs?)
* glib/dbus-gvalue.c: port to the new message args API
* bus/dispatch.c, bus/driver.c: port to the new message args API
* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
"locked" flag to TRUE and align_offset to 0; I guess we never
looked at these anyhow, but seems cleaner.
* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
move allocation padding macro to this header; use it to implement
(_DBUS_STRING_STATIC): ability to declare a static string.
* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
change to return TRUE if the interface is not set.
* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
to dbus-marshal-validate.[hc]
* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
dbus-internals.c
* dbus/Makefile.am: cut over from dbus-marshal.[hc]
to dbus-marshal-*.[hc]
* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
function here from dbus-marshal.c
Joe Shaw [Thu, 13 Jan 2005 01:22:04 +0000 (01:22 +0000)]
Update some paths in HACKING
Joe Shaw [Wed, 12 Jan 2005 22:55:32 +0000 (22:55 +0000)]
2005-01-12 Joe Shaw <joeshaw@novell.com>
* NEWS: Update for 0.23.
* configure.in: Release 0.23.
Joe Shaw [Wed, 12 Jan 2005 22:52:34 +0000 (22:52 +0000)]
2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am, mono/example/Makefile.am: Always build the
dbus DLL with --debug. Clean up after the .mdb files this leaves
behind.
Joe Shaw [Wed, 12 Jan 2005 22:48:20 +0000 (22:48 +0000)]
2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am, mono/example/Makefile.am: Always build the
dbus DLL with --debug. Clean up after the .mdb files this leaves
behind.
Joe Shaw [Wed, 12 Jan 2005 22:41:29 +0000 (22:41 +0000)]
2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/doc/Makefile.am: Need to uninstall the docs on "make
uninstall"
Joe Shaw [Wed, 12 Jan 2005 22:34:28 +0000 (22:34 +0000)]
2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am, mono/example/Makefile.am: Always build the
dbus DLL with --debug.
Joe Shaw [Wed, 12 Jan 2005 17:31:08 +0000 (17:31 +0000)]
2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am: Always build the dbus DLL with --debug.
* mono/Arguments.cs (GetDBusTypeConstructor): If the type
is an enum, get the enum's underlying type. Another mono
1.1.3 fix.
Havoc Pennington [Tue, 11 Jan 2005 22:35:58 +0000 (22:35 +0000)]
fix doh! in test for double parsing
Joe Shaw [Tue, 11 Jan 2005 22:09:16 +0000 (22:09 +0000)]
2005-01-11 Joe Shaw <joeshaw@novell.com>
Patch from Sjoerd Simons <sjoerd@luon.net>
* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
DESTDIR. It breaks stuff.
Joe Shaw [Tue, 11 Jan 2005 19:59:06 +0000 (19:59 +0000)]
2005-01-11 Joe Shaw <joeshaw@novell.com>
Patch from Tambet Ingo <tambet@ximian.com>
* mono/DBusType/Array.cs (Get): Get the underlying element type by
calling type.GetElementType(). The code previously depended on
broken Mono behavior, which was fixed in Mono 1.1.3.
* mono/DBusType/Dict.cs (constructor): Fix the parameters for
Activator.CreateInstance() so that the class's constructor is
called with the right parameters.
Joe Shaw [Tue, 11 Jan 2005 19:31:56 +0000 (19:31 +0000)]
2005-01-11 Joe Shaw <joeshaw@novell.com>
Patch from Timo Teräs <ext-timo.teras@nokia.com>
* dbus/dbus-connection.c
(_dbus_connection_queue_received_message_link): Call
_dbus_connection_remove_timeout() instead of the _locked()
variant, since it's always called from
_dbus_connection_handle_watch(), which handles the locking.
Removed the _locked() variant since it's no longer used.
Havoc Pennington [Mon, 3 Jan 2005 17:18:11 +0000 (17:18 +0000)]
2005-01-03 Havoc Pennington <hp@redhat.com>
* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
return
Havoc Pennington [Mon, 3 Jan 2005 17:06:35 +0000 (17:06 +0000)]
2004-12-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
Havoc Pennington [Mon, 3 Jan 2005 17:05:26 +0000 (17:05 +0000)]
add a file to hold the validation routines
Havoc Pennington [Mon, 3 Jan 2005 07:16:12 +0000 (07:16 +0000)]
2005-01-03 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
floating point
* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
Havoc Pennington [Mon, 3 Jan 2005 07:15:38 +0000 (07:15 +0000)]
finish off my TODO list for stuff needed to port dbus-message.c. Next
step is to do so.
Havoc Pennington [Mon, 3 Jan 2005 04:25:32 +0000 (04:25 +0000)]
just when the file was looking all beautiful, add horrible hacky code to
fixup array lengths after setting a value somewhere within the array.
Havoc Pennington [Mon, 3 Jan 2005 00:23:03 +0000 (00:23 +0000)]
cleanup args to read func in test suite
Havoc Pennington [Mon, 3 Jan 2005 00:01:59 +0000 (00:01 +0000)]
checkpoint set_variable_length work
Havoc Pennington [Sun, 2 Jan 2005 22:13:26 +0000 (22:13 +0000)]
values-only DBusTypeWriter
Havoc Pennington [Sun, 2 Jan 2005 20:15:01 +0000 (20:15 +0000)]
minor cleanup
Havoc Pennington [Sun, 2 Jan 2005 19:10:16 +0000 (19:10 +0000)]
clean up the naming of dbus_marshal functions
Havoc Pennington [Sun, 2 Jan 2005 08:46:42 +0000 (08:46 +0000)]
delete some more noise, put args in consistent order (a big bug trap sadly),
and work on the set value stuff some
Havoc Pennington [Sun, 2 Jan 2005 05:01:07 +0000 (05:01 +0000)]
cleanups and fixes
Havoc Pennington [Sun, 2 Jan 2005 04:29:52 +0000 (04:29 +0000)]
implement _dbus_type_writer_write_reader() (to copy a block of values)
which is the first step toward a sane reimplementation of all that delete/modify
and realign nonsense in dbus-message.c
Havoc Pennington [Sun, 2 Jan 2005 02:47:51 +0000 (02:47 +0000)]
change strings to be marshaled consistently with the other basic types (address of the value passed in, so char**)
Havoc Pennington [Sun, 2 Jan 2005 02:38:23 +0000 (02:38 +0000)]
make reader const-correct
Havoc Pennington [Sun, 2 Jan 2005 02:17:05 +0000 (02:17 +0000)]
extend unit test to display progress and to verify that we are inserting not appending in all cases
Havoc Pennington [Sun, 2 Jan 2005 00:37:24 +0000 (00:37 +0000)]
add DBusTypeMark
Havoc Pennington [Sat, 1 Jan 2005 23:32:45 +0000 (23:32 +0000)]
2005-01-01 Havoc Pennington <hp@redhat.com>
* configure.in: add -Wfloat-equal