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>
+
* dbus/dbus-pending-call.c: Add some checks so we don't crash on
NULL in the public API (Patch from Kimmo Hämäläinen
<kimmo dot hamalainen at nokia dot com>)
}
/**
- * 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.
* Using the usual tactic, prealloc an OOM message, then
* if we can't alloc the real error send the OOM error instead.
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
* handle it other than sleeping; we can't "fail" the operation of
* disconnecting a client, and preallocating a broadcast "service is
*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.
*/
if (*val == NULL)
void
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.
*/
}
_dbus_string_init_const (&test_data_dir, dir);
#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 ())
die ("initializing debug threads");
#endif
if (!_dbus_string_move (&line, i, &args, 0))
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
*/
* the peer. If no encoding was negotiated, just copies the bytes (you
* 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.
*
* @param auth the auth conversation
* @param connection the connection.
* @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.
*/
void
_dbus_pending_call_set_timeout_added_unlocked (pending, FALSE);
}
- /* FIXME this is sort of dangerous and undesirable to drop the lock here, but
- * the pending call finalizer could in principle call out to application code
- * so we pretty much have to... some larger code reorg might be needed.
+ /* FIXME 1.0? this is sort of dangerous and undesirable to drop the lock
+ * here, but the pending call finalizer could in principle call out to
+ * application code so we pretty much have to... some larger code reorg
+ * might be needed.
*/
_dbus_connection_ref_unlocked (connection);
_dbus_pending_call_unref_and_unlock (pending);
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
* confusing
*/
* by a single server instance for a fixed period of time, then
* 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
* present in the cookie file, then depending on what we do with them.
*/
* 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.
*
- * @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 pos position to read from
/**
* 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 len the length of the data
* and getting the values should be fast and not involve all this type
* 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
{
* basic type may be read with this function. See
* 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 error error to be filled in on failure
* @param first_arg_type the first argument type
* If the pending call is already completed, this function returns
* 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.
*
* @param pending the pending call
* dbus_server_set_watch_functions() should be called
* 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.
*
* @param address the address of this server.
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
* not follow symlinks, but would like independent
* confirmation this is safe enough. See also
/* setgroups() only works if we are a privileged process,
* so we don't return error on failure; the only possible
* 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.
*/
if (setgroups (0, NULL) < 0)
* UNIX. If an error occurs, the contents of "filename" are
* 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.)
*
* @param iter the iterator
* Wrapper for setenv(). If the value is #NULL, unsets
* 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.
*
* @param varname name of environment variable
locks. Fixes the recursive deadlock. See the @todo for more
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;
they need to be fixed and re-enabled with the new message args stuff.