2004-05-07 22:45:15 +00:00
|
|
|
- Probably no point in a version number in the daemon name
|
|
|
|
|
(s/dbus-daemon-1/dbus-daemon/)
|
|
|
|
|
|
2003-03-18 23:22:12 +00:00
|
|
|
- How we will handle DCOP needs sorting out. Among other things, we
|
|
|
|
|
need to check that service and service-ownership semantics map to DCOP
|
|
|
|
|
reasonably well.
|
|
|
|
|
|
|
|
|
|
- Activation needs some careful additional thinking-through.
|
|
|
|
|
|
|
|
|
|
- Property list feature on message bus (list of properties associated
|
|
|
|
|
with a connection). May also include message matching rules
|
|
|
|
|
that involve the properties of the source or destination
|
|
|
|
|
connection.
|
|
|
|
|
|
2003-03-26 21:06:17 +00:00
|
|
|
- Automatic service activation, should probably be done through a message flag.
|
2003-03-18 23:22:12 +00:00
|
|
|
|
2003-03-28 05:42:19 +00:00
|
|
|
- Disconnecting the remote end on invalid UTF-8 is probably not a good
|
|
|
|
|
idea. The definitiion of "valid" is slightly fuzzy. I think it might
|
|
|
|
|
be better to just silently "fix" the UTF-8, or perhaps return an error.
|
|
|
|
|
|
2003-03-31 18:58:14 +00:00
|
|
|
Owen says we should only validate the UTF-8 on dbus_message_get_string()
|
|
|
|
|
(changing get_string to have an error return, and allowing a type error
|
|
|
|
|
as a possible return)
|
|
|
|
|
|
2003-04-03 21:56:22 +00:00
|
|
|
- The convenience functions in dbus-bus.h should perhaps have
|
|
|
|
|
the signatures that they would have if they were autogenerated
|
|
|
|
|
stubs. e.g. the acquire service function. We should also evaluate
|
|
|
|
|
which of these functions to include, in light of the fact that
|
|
|
|
|
GLib/Qt native stubs will probably also exist.
|
|
|
|
|
|
2003-04-05 00:37:17 +00:00
|
|
|
- assorted _-prefixed symbols in libdbus aren't actually used by
|
|
|
|
|
libdbus, only by the message bus. These bloat up the library
|
|
|
|
|
size. Not sure how to fix, really.
|
|
|
|
|
|
2003-05-03 23:07:19 +00:00
|
|
|
- build and install the Doxygen manual in Makefile when --enable-docs
|
2003-05-05 19:12:58 +00:00
|
|
|
|
|
|
|
|
- if you send the same message to multiple connections, the serial number
|
|
|
|
|
will only be right for one of them. Probably need to just write() the serial
|
|
|
|
|
number, rather than putting it in the DBusMessage, or something.
|
|
|
|
|
|
2003-05-17 17:53:17 +00:00
|
|
|
- perhaps the bus driver should have properties that reflect attributes
|
|
|
|
|
of the session, such as hostname, architecture, operating system,
|
|
|
|
|
etc. Could be useful for code that wants to special-case behavior
|
|
|
|
|
for a particular host or class of hosts, for example.
|
|
|
|
|
|
2003-05-16 20:09:25 +00:00
|
|
|
- currently the security policy stuff for messages to/from
|
|
|
|
|
the bus driver is kind of strange; basically it's hardcoded that
|
|
|
|
|
you can always talk to the driver, but the default config file
|
|
|
|
|
has rules for it anyway, or something. it's conceptually
|
|
|
|
|
screwy at the moment.
|
2003-05-17 17:53:17 +00:00
|
|
|
|
2003-08-30 00:26:00 +00:00
|
|
|
- when making a method call, if the call serial were globally unique,
|
|
|
|
|
we could forward the call serial along with any method calls made
|
|
|
|
|
as a result of the first method call, and allow reentrancy that was
|
|
|
|
|
strictly part of the call stack of said method call. But I don't
|
|
|
|
|
really see how to do this without making the user pass around the
|
|
|
|
|
call serial to all method calls all the time, or disallowing
|
|
|
|
|
async calls.
|
2003-08-31 01:51:44 +00:00
|
|
|
|
|
|
|
|
- the invalid messages in the test suite are all useless because
|
2003-10-14 05:16:56 +00:00
|
|
|
they are invalid for the wrong reasons due to protocol changes.
|
|
|
|
|
(Consider extending test suite to validate that they are
|
|
|
|
|
invalid for right reason, e.g. an "INVALID_ERROR Foo" line
|
|
|
|
|
in the message files)
|
2003-09-01 18:02:06 +00:00
|
|
|
|
2003-09-17 03:52:07 +00:00
|
|
|
- I don't want to introduce DBusObject, but refcounting and object
|
|
|
|
|
data could still be factored out into an internal "base class"
|
|
|
|
|
perhaps.
|
2003-09-21 18:43:20 +00:00
|
|
|
|
2003-09-21 19:53:56 +00:00
|
|
|
- modify the auth protocol to also support other initial-handshake
|
2004-06-07 20:07:43 +00:00
|
|
|
type of information such as protocol version
|
2003-09-21 19:53:56 +00:00
|
|
|
|
|
|
|
|
- document the auth protocol as a set of states and transitions, and
|
|
|
|
|
then reimplement it in those terms
|
|
|
|
|
|
2003-09-22 03:11:12 +00:00
|
|
|
- dbus_gproxy or dbus_g_proxy?
|
|
|
|
|
|
2003-09-25 13:38:44 +00:00
|
|
|
- add dbus_message_has_path(), maybe has_member/interface
|
|
|
|
|
|
2003-10-11 06:20:28 +00:00
|
|
|
- re_align_field_recurse() in dbus-message.c is broken because it
|
|
|
|
|
crashes on some types of header field values. security problem.
|
2003-10-12 00:55:11 +00:00
|
|
|
|
|
|
|
|
- modify the wire protocol to keep the args signature separate
|
2003-10-21 05:46:52 +00:00
|
|
|
from the args themselves. Make the name of TYPE_CUSTOM part
|
2003-10-12 00:55:11 +00:00
|
|
|
of the type signature, rather than part of the value.
|
|
|
|
|
Then you have the full typecheck in a single string.
|
2004-06-07 20:07:43 +00:00
|
|
|
See http://freedesktop.org/pipermail/dbus/2004-June/001169.html
|
2003-10-12 00:55:11 +00:00
|
|
|
|
|
|
|
|
- dbus_message_iter_init_array_iterator has "iter" and "iterator"
|
|
|
|
|
in the same function name
|
2003-10-12 05:59:39 +00:00
|
|
|
|
|
|
|
|
- the GLib bindings varargs take DBUS_TYPE_WHATEVER and
|
|
|
|
|
return stuff allocated with dbus_malloc(); should this
|
|
|
|
|
be made more "G" at some expense in code duplication?
|
2003-10-21 05:46:52 +00:00
|
|
|
You also still have to use some D-BUS functions such as
|
|
|
|
|
dbus_message_get_args() which takes a DBusError.
|
|
|
|
|
Probably we need to either fully encapsulate and hide
|
|
|
|
|
dbus/dbus.h, or encapsulate it slightly less e.g. no
|
2003-11-01 18:24:32 +00:00
|
|
|
GError. Or maybe it's as simple as "never return dbus_malloc()
|
|
|
|
|
memory" and just fully encapsulate the get_args() type of
|
|
|
|
|
stuff.
|
2003-10-14 05:16:56 +00:00
|
|
|
|
|
|
|
|
- need to define bus behavior if you send a message to
|
|
|
|
|
yourself; is it an error, or allowed? If allowed,
|
|
|
|
|
we need to have a test for it in the test suite.
|
|
|
|
|
|
2003-10-16 Havoc Pennington <hp@redhat.com>
* bus/connection.c (bus_pending_reply_expired): either cancel or
execute, not both
(bus_connections_check_reply): use unlink, not remove_link, as we
don't want to free the link; fixes double free mess
* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
where no reply was received
* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
fix a refcount leak
* bus/signals.c (match_rule_matches): add special cases for the
bus driver, so you can match on sender/destination for it.
* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
DBUS_PRINT_BACKTRACE is set
* dbus/dbus-internals.c: add pid to assertion failure messages
* dbus/dbus-connection.c: add message type code to the debug spew
* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
sender=foo not service=foo
* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use
DBUS_ACTIVATION_ADDRESS instead
* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
DBUS_SYSTEM_BUS_ADDRESS if appropriate
* bus/bus.c (bus_context_new): handle OOM copying bus type into
context struct
* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
(dbus_message_iter_get_object_path_array): new function (half
finished, disabled for the moment)
* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
DBUS_MESSAGE_TYPE_ERROR
* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
avoid redirecting stderr to /dev/null
(babysit): close stdin if not doing the "exit_with_session" thing
* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
stdout/stdin, so things don't get confused
* bus/system.conf.in: fix to allow replies, I modified .conf
instead of .conf.in again.
2003-10-16 06:34:51 +00:00
|
|
|
- array lengths should probably be returned as size_t rather than int
|
|
|
|
|
(though they are kind of a pita to pass in as size_t with the
|
|
|
|
|
varargs, so maybe not - what does glib do with g_object_get()?)
|
|
|
|
|
|
2003-10-21 05:46:52 +00:00
|
|
|
- recursive dispatch, see dbus_connection_dispatch()
|
|
|
|
|
|
2004-05-20 02:30:10 +00:00
|
|
|
- Perhaps the auth protocol should be able to negotiate a protocol
|
|
|
|
|
version to the least-common-denominator between client and server?
|
|
|
|
|
Though in practice ever using this feature would be pretty tough,
|
|
|
|
|
since protocol probably modifies the API. But we could have it there
|
|
|
|
|
as a safety net.
|
|
|
|
|
|
2004-06-07 20:48:33 +00:00
|
|
|
- STRING_OR_NIL is wrong, doesn't work in C++ etc. ; should not have done that.
|
|
|
|
|
Use empty string or special string values or separate functions/signals
|
|
|
|
|
or whatever instead.
|
|
|
|
|
|
|
|
|
|
- For recursive types, one approach is that "structs" are done as parens,
|
|
|
|
|
so e.g. s(ii) is a string and struct { int; int; } etc. Type codes
|
|
|
|
|
then all have to be done as strings not single ints.
|
|
|
|
|
We could also put the type signature for the message body in a header field.
|
|
|
|
|
An "any" type has the type string included in the value.
|
|
|
|
|
|
|
|
|
|
- do we need per-display activation; if so I'd like to do this by setting a
|
|
|
|
|
"display ID" property on screen 0, with a GUID, and keying activation by
|
|
|
|
|
said GUID. Otherwise you get all kinds of unrobust
|
|
|
|
|
string/hostname-based mess. per-screen is then done by appending screen number
|
|
|
|
|
to the display. If displays have a deterministic ID like this, you can
|
|
|
|
|
do per-display by simply including GUID in the service name.
|
2004-06-01 13:58:57 +00:00
|
|
|
|