updates.
[silc.git] / TODO
diff --git a/TODO b/TODO
index 63738799183ef9e2765b2329021e5d840108bddc..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****
@@ -21,23 +78,35 @@ lib/silccore/silcpacket.[ch]        ****PARTLY DONE****
 lib/silccore/silcid.[ch]       ****DONE****
 ========================
 
 o Add silc_id_str2id to accept the destination buffer as argument
-    and thus not require any memory allocation.  Same will happen
-    with silc_id_payload_* functions. (***DONE)
+ o Add silc_id_str2id to accept the destination buffer as argument
+   and thus not require any memory allocation.  Same will happen
+   with silc_id_payload_* functions. (***DONE)
 
 o silc_id_str2id, silc_id2str to non-allocating routines. (***DONE)
+ o silc_id_str2id, silc_id2str to non-allocating routines. (***DONE)
 
 
 lib/silccore
 ============
 
-  o All payload encoding routines should take SilcStack as argument.
+ o All payload encoding routines should take SilcStack as argument.
+
+ o All payload test routines into lib/silccore/tests/.
+
+
+lib/silcskr
+===========
+
+ o Removing key from the repository is not possible currently.  It should
+   be.
 
 
 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 UDP transport changes; retransmission support by using exponential
+   backoff algorithm.
 
  o SilcConnAuth header file documentation.
 
@@ -103,7 +172,7 @@ lib/silcutil/silcbuffer.h   ****DONE****
 lib/silcutil/silcbuffmt.[ch]   ****PARTLY DONE****
 ============================
 
- o SilcStack aware silc_buffer_unformat
+ o SilcStack aware silc_buffer_unformat (***DONE)
 
  o SilcStack aware silc_buffer_format (***DONE)
 
@@ -131,6 +200,8 @@ lib/silcutil/silcsocketstream.[ch]  ****PARTY DONE****
 
  o Add SilcSocketStream for WIN32
 
+ o Handle EOS sending to upper layer properly
+
  o Test QoS after the changes made to socket stream
 
 
@@ -224,6 +295,10 @@ lib/silcmath
    increased memory consumption with TFM, and the rare need for public
    key operations in server.
 
+ o Change LTM and TFM function names when importing to SILC tree to avoid
+   rare linking problems on system that has same named symbols already in
+   the system.
+
  o The SILC MP API function must start returning indication of success
    and failure of the operation.
 
@@ -231,6 +306,8 @@ lib/silcmath
    any other MP function (including utility ones) that may allocate
    memory.
 
+ o Test on x86_64.
+
  o All utility functions should be made non-allocating ones.
 
 
@@ -306,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.