Commit 88f69757 authored by John Palmieri's avatar John Palmieri
Browse files

* doc/TODO, various source files: Audited todo's and FIXME's and

  prepended the ones we should be looking at with 1.0.  Those
  prepended with 1.0? need clerification or might not be needed
  for 1.0
parent 57657889
2006-09-05 John (J5) Palmieri <johnp@redhat.com>
* doc/TODO, various source files: Audited todo's and FIXME's and
prepended the ones we should be looking at with 1.0. Those
prepended with 1.0? need clerification or might not be needed
for 1.0
2006-09-05 John (J5) Palmieri <johnp@redhat.com> 2006-09-05 John (J5) Palmieri <johnp@redhat.com>
* dbus/dbus-pending-call.c: Add some checks so we don't crash on * dbus/dbus-pending-call.c: Add some checks so we don't crash on
......
...@@ -1017,7 +1017,7 @@ bus_activation_send_pending_auto_activation_messages (BusActivation *activation ...@@ -1017,7 +1017,7 @@ bus_activation_send_pending_auto_activation_messages (BusActivation *activation
} }
/** /**
* FIXME @todo the error messages here would ideally be preallocated * FIXME @todo 1.0? the error messages here would ideally be preallocated
* so we don't need to allocate memory to send them. * so we don't need to allocate memory to send them.
* Using the usual tactic, prealloc an OOM message, then * Using the usual tactic, prealloc an OOM message, then
* if we can't alloc the real error send the OOM error instead. * if we can't alloc the real error send the OOM error instead.
......
...@@ -183,7 +183,7 @@ bus_connection_disconnected (DBusConnection *connection) ...@@ -183,7 +183,7 @@ bus_connection_disconnected (DBusConnection *connection)
bus_matchmaker_disconnected (matchmaker, connection); bus_matchmaker_disconnected (matchmaker, connection);
} }
/* Drop any service ownership. FIXME Unfortunately, this requires /* Drop any service ownership. FIXME 1.0? Unfortunately, this requires
* memory allocation and there doesn't seem to be a good way to * memory allocation and there doesn't seem to be a good way to
* handle it other than sleeping; we can't "fail" the operation of * handle it other than sleeping; we can't "fail" the operation of
* disconnecting a client, and preallocating a broadcast "service is * disconnecting a client, and preallocating a broadcast "service is
......
...@@ -772,7 +772,7 @@ bus_desktop_file_get_string (BusDesktopFile *desktop_file, ...@@ -772,7 +772,7 @@ bus_desktop_file_get_string (BusDesktopFile *desktop_file,
*val = _dbus_strdup (raw); *val = _dbus_strdup (raw);
/* FIXME we don't distinguish "key not found" from "out of memory" here, /* FIXME 1.0 we don't distinguish "key not found" from "out of memory" here,
* which is broken. * which is broken.
*/ */
if (*val == NULL) if (*val == NULL)
......
...@@ -1734,7 +1734,7 @@ bus_driver_handle_message (DBusConnection *connection, ...@@ -1734,7 +1734,7 @@ bus_driver_handle_message (DBusConnection *connection,
void void
bus_driver_remove_connection (DBusConnection *connection) bus_driver_remove_connection (DBusConnection *connection)
{ {
/* FIXME Does nothing for now, should unregister the connection /* FIXME 1.0 Does nothing for now, should unregister the connection
* with the bus driver. * with the bus driver.
*/ */
} }
...@@ -94,7 +94,7 @@ main (int argc, char **argv) ...@@ -94,7 +94,7 @@ main (int argc, char **argv)
_dbus_string_init_const (&test_data_dir, dir); _dbus_string_init_const (&test_data_dir, dir);
#if 0 #if 0
/* FIXME this is disabled because of thread bugs that need fixing... */ /* FIXME 1.0 this is disabled because of thread bugs that need fixing... */
if (!_dbus_threads_init_debug ()) if (!_dbus_threads_init_debug ())
die ("initializing debug threads"); die ("initializing debug threads");
#endif #endif
......
...@@ -1925,7 +1925,7 @@ process_command (DBusAuth *auth) ...@@ -1925,7 +1925,7 @@ process_command (DBusAuth *auth)
if (!_dbus_string_move (&line, i, &args, 0)) if (!_dbus_string_move (&line, i, &args, 0))
goto out; goto out;
/* FIXME we should probably validate that only the allowed /* FIXME 1.0 we should probably validate that only the allowed
* chars are in the command name * chars are in the command name
*/ */
...@@ -2397,7 +2397,7 @@ _dbus_auth_needs_decoding (DBusAuth *auth) ...@@ -2397,7 +2397,7 @@ _dbus_auth_needs_decoding (DBusAuth *auth)
* the peer. If no encoding was negotiated, just copies the bytes (you * the peer. If no encoding was negotiated, just copies the bytes (you
* can avoid this by checking _dbus_auth_needs_decoding()). * can avoid this by checking _dbus_auth_needs_decoding()).
* *
* @todo We need to be able to distinguish "out of memory" error * @todo 1.0? We need to be able to distinguish "out of memory" error
* from "the data is hosed" error. * from "the data is hosed" error.
* *
* @param auth the auth conversation * @param auth the auth conversation
......
...@@ -444,7 +444,7 @@ _dbus_connection_queue_received_message_link (DBusConnection *connection, ...@@ -444,7 +444,7 @@ _dbus_connection_queue_received_message_link (DBusConnection *connection,
* @param connection the connection. * @param connection the connection.
* @param link the list node and message to queue. * @param link the list node and message to queue.
* *
* @todo This needs to wake up the mainloop if it is in * @todo 1.0? This needs to wake up the mainloop if it is in
* a poll/select and this is a multithreaded app. * a poll/select and this is a multithreaded app.
*/ */
void void
...@@ -863,9 +863,10 @@ free_pending_call_on_hash_removal (void *data) ...@@ -863,9 +863,10 @@ free_pending_call_on_hash_removal (void *data)
_dbus_pending_call_set_timeout_added_unlocked (pending, FALSE); _dbus_pending_call_set_timeout_added_unlocked (pending, FALSE);
} }
/* FIXME this is sort of dangerous and undesirable to drop the lock here, but /* FIXME 1.0? this is sort of dangerous and undesirable to drop the lock
* the pending call finalizer could in principle call out to application code * here, but the pending call finalizer could in principle call out to
* so we pretty much have to... some larger code reorg might be needed. * application code so we pretty much have to... some larger code reorg
* might be needed.
*/ */
_dbus_connection_ref_unlocked (connection); _dbus_connection_ref_unlocked (connection);
_dbus_pending_call_unref_and_unlock (pending); _dbus_pending_call_unref_and_unlock (pending);
...@@ -2693,7 +2694,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending) ...@@ -2693,7 +2694,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending)
if (!_dbus_connection_get_is_connected_unlocked (connection)) if (!_dbus_connection_get_is_connected_unlocked (connection))
{ {
/* FIXME send a "DBUS_ERROR_DISCONNECTED" instead, just to help /* FIXME 1.0 send a "DBUS_ERROR_DISCONNECTED" instead, just to help
* programmers understand what went wrong since the timeout is * programmers understand what went wrong since the timeout is
* confusing * confusing
*/ */
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
* by a single server instance for a fixed period of time, then * by a single server instance for a fixed period of time, then
* discarded). Also, the keys are not sent over the wire. * discarded). Also, the keys are not sent over the wire.
* *
* @todo there's a memory leak on some codepath in here, I saw it once * @todo 1.0? there's a memory leak on some codepath in here, I saw it once
* when running make check - probably some specific initial cookies * when running make check - probably some specific initial cookies
* present in the cookie file, then depending on what we do with them. * present in the cookie file, then depending on what we do with them.
*/ */
......
...@@ -598,7 +598,8 @@ _dbus_marshal_read_basic (const DBusString *str, ...@@ -598,7 +598,8 @@ _dbus_marshal_read_basic (const DBusString *str,
* If you ask for #DBUS_TYPE_DOUBLE you will get a "const double*" back * If you ask for #DBUS_TYPE_DOUBLE you will get a "const double*" back
* and the "value" argument should be a "const double**" and so on. * and the "value" argument should be a "const double**" and so on.
* *
* @todo we aren't using this function (except in the test suite) * @todo 1.0 we aren't using this function (except in the test suite)
* add #ifdefs around it
* *
* @param str the string to read from * @param str the string to read from
* @param pos position to read from * @param pos position to read from
...@@ -1359,7 +1360,8 @@ _dbus_type_to_string (int typecode) ...@@ -1359,7 +1360,8 @@ _dbus_type_to_string (int typecode)
/** /**
* If in verbose mode, print a block of binary data. * If in verbose mode, print a block of binary data.
* *
* @todo right now it prints even if not in verbose mode * @todo 1.0 right now it prints even if not in verbose mode
* check for verbose mode and return if not
* *
* @param data the data * @param data the data
* @param len the length of the data * @param len the length of the data
......
...@@ -46,7 +46,7 @@ typedef struct DBusArrayLenFixup DBusArrayLenFixup; ...@@ -46,7 +46,7 @@ typedef struct DBusArrayLenFixup DBusArrayLenFixup;
* and getting the values should be fast and not involve all this type * and getting the values should be fast and not involve all this type
* reader nonsense. * reader nonsense.
* *
* @todo DBusTypeMark isn't used right now and probably won't be, we should delete it * @todo 1.0 DBusTypeMark isn't used right now and probably won't be, we should delete it
*/ */
struct DBusTypeMark struct DBusTypeMark
{ {
......
...@@ -40,10 +40,6 @@ ...@@ -40,10 +40,6 @@
* basic type may be read with this function. See * basic type may be read with this function. See
* dbus_message_get_args() for more details. * dbus_message_get_args() for more details.
* *
* @todo this is static for now because there's no corresponding
* iter_append_args() and I'm not sure we need this function to be
* public since dbus_message_get_args() is what you usually want
*
* @param iter the message iterator * @param iter the message iterator
* @param error error to be filled in on failure * @param error error to be filled in on failure
* @param first_arg_type the first argument type * @param first_arg_type the first argument type
......
...@@ -624,7 +624,7 @@ dbus_pending_call_steal_reply (DBusPendingCall *pending) ...@@ -624,7 +624,7 @@ dbus_pending_call_steal_reply (DBusPendingCall *pending)
* If the pending call is already completed, this function returns * If the pending call is already completed, this function returns
* immediately. * immediately.
* *
* @todo when you start blocking, the timeout is reset, but it should * @todo 1.0? when you start blocking, the timeout is reset, but it should
* really only use time remaining since the pending call was created. * really only use time remaining since the pending call was created.
* *
* @param pending the pending call * @param pending the pending call
......
...@@ -471,7 +471,7 @@ _dbus_server_toggle_timeout (DBusServer *server, ...@@ -471,7 +471,7 @@ _dbus_server_toggle_timeout (DBusServer *server,
* dbus_server_set_watch_functions() should be called * dbus_server_set_watch_functions() should be called
* immediately to render the server fully functional. * immediately to render the server fully functional.
* *
* @todo error messages on bad address could really be better. * @todo 1.0? error messages on bad address could really be better.
* DBusResultCode is a bit limiting here. * DBusResultCode is a bit limiting here.
* *
* @param address the address of this server. * @param address the address of this server.
...@@ -558,7 +558,7 @@ dbus_server_listen (const char *address, ...@@ -558,7 +558,7 @@ dbus_server_listen (const char *address,
goto out; goto out;
} }
/* FIXME - we will unconditionally unlink() the path if /* FIXME 1.0 - we will unconditionally unlink() the path if
* we don't support abstract namespace. unlink() does * we don't support abstract namespace. unlink() does
* not follow symlinks, but would like independent * not follow symlinks, but would like independent
* confirmation this is safe enough. See also * confirmation this is safe enough. See also
......
...@@ -252,7 +252,7 @@ _dbus_change_identity (dbus_uid_t uid, ...@@ -252,7 +252,7 @@ _dbus_change_identity (dbus_uid_t uid,
/* setgroups() only works if we are a privileged process, /* setgroups() only works if we are a privileged process,
* so we don't return error on failure; the only possible * so we don't return error on failure; the only possible
* failure is that we don't have perms to do it. * failure is that we don't have perms to do it.
* FIXME not sure this is right, maybe if setuid() * FIXME 1.0 not sure this is right, maybe if setuid()
* is going to work then setgroups() should also work. * is going to work then setgroups() should also work.
*/ */
if (setgroups (0, NULL) < 0) if (setgroups (0, NULL) < 0)
...@@ -494,7 +494,7 @@ _dbus_directory_open (const DBusString *filename, ...@@ -494,7 +494,7 @@ _dbus_directory_open (const DBusString *filename,
* UNIX. If an error occurs, the contents of "filename" are * UNIX. If an error occurs, the contents of "filename" are
* undefined. The error is never set if the function succeeds. * undefined. The error is never set if the function succeeds.
* *
* @todo for thread safety, I think we have to use * @todo 1.0 for thread safety, I think we have to use
* readdir_r(). (GLib has the same issue, should file a bug.) * readdir_r(). (GLib has the same issue, should file a bug.)
* *
* @param iter the iterator * @param iter the iterator
......
...@@ -98,7 +98,7 @@ _dbus_abort (void) ...@@ -98,7 +98,7 @@ _dbus_abort (void)
* Wrapper for setenv(). If the value is #NULL, unsets * Wrapper for setenv(). If the value is #NULL, unsets
* the environment variable. * the environment variable.
* *
* @todo if someone can verify it's safe, we could avoid the * @todo 1.0 if someone can verify it's safe, we could avoid the
* memleak when doing an unset. * memleak when doing an unset.
* *
* @param varname name of environment variable * @param varname name of environment variable
......
...@@ -8,7 +8,9 @@ Important for 1.0 ...@@ -8,7 +8,9 @@ Important for 1.0
locks. Fixes the recursive deadlock. See the @todo for more locks. Fixes the recursive deadlock. See the @todo for more
and this thread: http://lists.freedesktop.org/archives/dbus/2006-February/004128.html and this thread: http://lists.freedesktop.org/archives/dbus/2006-February/004128.html
- Audit @todo and FIXME for security issues - Take a look at the issues marked @todo 1.0 or FIXME 1.0. Ones with
Question marks at the ends either need clarification or are not
really needed for 1.0 but would be nice.
- the "break loader" and valid/invalid message tests are all disabled; - 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. they need to be fixed and re-enabled with the new message args stuff.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment