2003-08-09 Anders Carlsson <andersca@codefactory.se>
[platform/upstream/dbus.git] / doc / TODO
index e1d2152..0e56e1e 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,17 +1,4 @@
 
- - Service and message names should be more carefully restricted;
-   they should have a max length, may not be an empty string, 
-   and perhaps should not be allowed to be a glob such as "*" since
-   the config file could conveniently use such notation. 
-
-   Suggest requiring length > 0, length < max, 
-   name contains at least one ".", no initial ".", and valid UTF-8. 
-   That would prohibit plain "*" but not "foo.bar.baz.operator*"
-
-   For maximum convenience from all programming languages, we could go
-   further and just categorically ban nearly all non-alphanumeric
-   characters.
-
  - Message matching rules (so broadcasts can be filtered) need sorting
    out.
 
 
  - Activation needs some careful additional thinking-through.
 
- - Recursive/composite/etc. types and associated API, see mailing list.
-
- - Configuration file (working on that now)
-
  - 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.
 
- - Implement all the needed resource limits to keep clients from
-   killing the message bus.
-
  - Automatic service activation, should probably be done through a message flag.
 
  - Disconnecting the remote end on invalid UTF-8 is probably not a good 
@@ -46,9 +26,6 @@
  - We might consider returning a "no such operation" error in dbus-connection.c 
    for unhandled messages.
 
- - Abstract the user database, so you can use something other than the system password 
-   database.
-
  - 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 
    some basic spec'ing out of the GLib/Qt level stubs/skels stuff will be 
    needed to understand the right approach.
 
- - sync up DBusWatch and DBusTimeout so that handle_watch() is a method on DBusWatch 
-   similar to the way timeouts work
-
  - there are various bits of code to manage ref/unref of data slots, that should 
    be merged into a generic facility
 
- - add _dbus_return_if_fail, _dbus_return_val_if_fail() and use on public entry 
-   points in place of _dbus_assert(). Add --disable-checks to control whether these
-   do anything.
-
  - 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.
 
- - dbus_error_has_name(), dbus_message_name_is()
-
- - add DBUS_TYPE_INT64 ? 
-
  - if you send a message to a service then block for reply, and the service exits/crashes
    after the message bus has processed your message but before the service has replied, 
    it would be nice if the message bus sent you an error reply.
 
+ - build and install the Doxygen manual in Makefile when --enable-docs
+
+ - 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.
+
+ - 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.
+
+ - 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.
+
+ - <limit> elements are not merged in from included configuration 
+   files; they have to be in the toplevel file. when loading 
+   a child file, we could just init its DBusLimits from the parent, 
+   then after parsing copy its DBusLimits back to the parent