-Important for 1.0
+Important for 1.2
===
- - Audit @todo and FIXME for security issues
+ - System bus activation
- - 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.
+ - Windows port
- - the "break loader" and valid/invalid message tests are all disabled;
- they need to be fixed and re-enabled with the new message args stuff.
- I think I want to drop the .message files thing and just have code
- that generates messages, more like the tests for
- dbus-marshal-recursive.c (this is mostly done now, just needs some
- cleanup)
-
- - 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.
-
- - validate dict entry number of fields
-
- - just before 1.0, try a HAVE_INT64=0 build and be sure it runs
-
- - in dbus-keyring.c, enforce that the keyring dir is not
- world readable/writable
+Important for 1.0 GLib Bindings
+===
- - Ping isn't handled
+ - Test point-to-point mode
- - dbus-pending-call.c has some API and thread safety issues to review
+ - Add support for getting sender
- - transmit GUID from server to client in the auth protocol, so
- connections can be shared even if the address used to connect
- to them didn't have a GUID in it.
+ - format_version in the object info doesn't look like it's handled correctly. The creator
+ of the object info should specify some fixed number per struct version; the library
+ should handle only specific numbers it knows about. There's no assumption that all
+ numbers >= the given one are compatible. The idea is that new versions of the lib
+ can offer totally different object info structs, but old versions
+ keep working.
-Important for 1.0 GLib Bindings
+Important for 1.0 Python bindings
===
- - finish dbus-glib-tool support for adding introspection
- data to GObject and autoexporting GObject using same
+ - Hammer down API
+
+ - Fix removing of signals from the match tree
- - Need to make sure that dbus-glib.h never returns any
- dbus_malloc() memory, only g_malloc().
- dbus_g_proxy_end_call() is the major offender.
+ - Fix refcounting and userdata lifecycles
- - DBusGProxy doesn't emit "destroy" when it should
+ - Write a generic mainloop
Might as Well for 1.0
===
- - add dbus_message_has_path(), maybe has_member/interface
-
- - connection_open/connection_disconnect lacks symmetry, open/close
- or connect/disconnect
-
- protocol version in each message is pretty silly
Can Be Post 1.0
===
+ - revamp dbus-launch a bit,
+ see http://lists.freedesktop.org/archives/dbus/2006-October/005906.html
+ for some thoughts.
+
+ - clean up the creds issue on *BSD's in dbus/dbus-sysdeps-unix.c.
+ They should work as is but we need to rearange it to make it
+ clearer which method is being used. configure.in should
+ be fixed up to make that decition.
+
+ - _dbus_connection_unref_unlocked() is essentially always broken because
+ the connection finalizer calls non-unlocked functions. One fix is to make
+ the finalizer run with the lock held, but since it calls out to the app that may
+ be pretty broken. More likely all the uses of unref_unlocked are just wrong.
+
+ - if the GUID is obtained only during authentication, not in the address,
+ we could still share the connection
+
- Allow a dbus_g_proxy_to_string()/g_object_to_string() that
would convert the proxy to an "IOR" and dbus_g_proxy_from_string()
that would decode; using these, dbus-glib users could avoid
data could still be factored out into an internal "base class"
perhaps.
+ - Keep convenience wrappers in sync with bus methods
+
- document the auth protocol as a set of states and transitions, and
then reimplement it in those terms
do per-display by simply including GUID in the service name.
- optimization and profiling!
+
+ - Match rules aren't in the spec (probably a lot of methods on the bus
+ are not)
+
+ - the "break loader" and valid/invalid message tests are all disabled;
+ they need to be fixed and re-enabled with the new message args stuff.
+ I think I want to drop the .message files thing and just have code
+ that generates messages, more like the tests for
+ dbus-marshal-recursive.c (this is mostly done now, just needs some
+ cleanup)
+
+ - just before 1.0, try a HAVE_INT64=0 build and be sure it runs
+
+ - Windows port needs recursive mutexes
+
+Should Be Post 1.0
+===
+
+ - look into supporting the concept of a "connection" generically
+ (what does this TODO item mean?)
+
+ - test/name-test should be named test/with-bus or something like that
+
+