updates.
[silc.git] / TODO
diff --git a/TODO b/TODO
index be058d1ad4c241daa73340372f001036e47d620f..635696411eb9d9fadfc9d1d42d74fee2886ea39f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,7 +1,64 @@
 TODO for 1.1 And Beyond
 =======================
 
-NOTE: Any item that doesn't have (***DONE) in it, isn't done yet.
+NOTE: Any item that doesn't have (***DONE) in it, isn't done yet.  The
+(***TESTING NEEDED) means that the item has been done but not yet properly
+tested.
+
+
+lib/silcclient, The Client Library
+==================================
+
+ o silcclient.h clean up and API rewrites.
+
+ o silcclient_entry.h finishing, all entry relates APIs to this header.
+
+ o SilcChannelEntry, SilcServerEntry, SilcChannelUser, allocating, 
+   freeing, finding, etc. rewrite.  Also making them reference counted for 
+   multi threads use.
+
+ o Finish all the missing SILC packet processings, rewrites.
+
+ o The client_notify.c rewrite.
+
+ o Resuming to client_register.c (remove client_resume.c)
+
+ o Rekey rewrite.
+
+ o Remove protocol.[ch].
+
+ o File transfer rewrite.
+
+ o Starting key exchange directly, rewrite.
+
+ o Channel messages, channel private keys, channel entires, channel 
+   search, etc. rewrite.
+
+ o For many APIs leave the hash context allocations to the caller instead
+   of using client->sha1hash and client->md5hash, or some kind of thread
+   safe (no locking) concept.
+
+ o Password auth test, public key auth test.
+
+ o Key agreement rewrite.
+
+ o Connecting to remote client, peer-to-peer private messages
+
+ o Private message waiting API (in threads)
+
+ o client_attrs.c, attributes rewrite.
+
+ o No SilcBuffer lists back to application in command_reply operations.
+   Convert them all to real lists and/or structures for easier use.
+
+ o Nickname formatting rewrite.
+
+ o UDP connections.
+
+ o Remove silc_client_run and silc_client_run_one from calling SilcSchedule.
+   Leave the scheduling entirely to application.
+
+ o All packet waiting timeout tests and error condition tests.
 
 
 lib/silccore/silcpacket.[ch]   ****DONE****
@@ -33,6 +90,8 @@ lib/silccore
 
  o All payload encoding routines should take SilcStack as argument.
 
+ o All payload test routines into lib/silccore/tests/.
+
 
 lib/silcskr
 ===========
@@ -44,10 +103,10 @@ lib/silcskr
 lib/silcske/silcske.[ch]
 ========================
 
- o IV Included flag support in SKE (it currently doesn't accept it)
+ o IV Included flag support in SKE (***TESTING NEEDED)
 
- o assemble_security_properties to take cipher, hash, hmac, etc. as
-   argument.
+ o UDP transport changes; retransmission support by using exponential
+   backoff algorithm.
 
  o SilcConnAuth header file documentation.
 
@@ -324,14 +383,3 @@ lib/silcserver
    key ends up being used.
 
  o The CMODE cipher & hmac change problem (#101).
-
-
-lib/silcclient
-==============
-
- o Some form of rewrite to make it more efficient.
-
- o Clear up interfaces.
-
- o Remove silc_client_run and silc_client_run_one from calling SilcSchedule.
-   Leave the scheduling entirely to application.