Added preliminary Symbian support.
[silc.git] / TODO
diff --git a/TODO b/TODO
index 359b707bccaa54c8c6597e859e00a533653cdf76..22cd60b3f0725088099f86761ffd4b8618db7d81 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,6 +6,79 @@ NOTE: Any item that doesn't have (***DONE) in it, isn't done yet.  The
 tested.
 
 
+SILC Client    ****PARTLY DONE****
+===========
+
+ o Porting to new Toolkit API and new Client Library API
+
+ o Improve help files, especially /cmode, /cumode and /key.
+
+
+lib/silcclient, The Client Library     ***PARTLY DONE****
+==================================
+
+ 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. (***DONE)
+
+ o Finish all the missing SILC packet processings, rewrites.
+
+ o The client_notify.c rewrite. (***TESTING NEEDED)
+
+ o Resuming to client_register.c (remove client_resume.c)
+   (***TESTING NEEDED)
+
+ o Rekey rewrite. (***DONE)
+
+ o Remove protocol.[ch]. (***DONE)
+
+ o File transfer rewrite.
+
+ o Starting key exchange directly, rewrite. (***DONE)
+
+ 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. (***TESTING NEEDED)
+
+ o Connecting to remote client (***DONE)
+
+ o peer-to-peer private messages
+
+ o Private message waiting API (in threads)
+
+ o client_attrs.c, attributes rewrite. (***TESTING NEEDED)
+
+ o No SilcBuffer lists back to application in command_reply operations.
+   Convert them all to real lists and/or structures for easier use.
+   (***DONE)
+
+ o Nickname formatting rewrite. (***TESTING NEEDED)
+
+ o UDP connections. (***TESTING NEEDED)
+
+ o in /cmode and /cumode with +r, maybe the public key and private key
+   could be just some "string", which would then match to "string.pub" and
+   "string.prv".
+
+ o All packet waiting timeout tests and error condition tests.
+
+
+lib/silcsftp
+============
+
+ o Porting to use the new util library.
+
 
 lib/silccore/silcpacket.[ch]   ****DONE****
 ============================
@@ -46,13 +119,13 @@ lib/silcskr
    be.
 
 
-lib/silcske/silcske.[ch]
+lib/silcske/silcske.[ch] ****PARTLY DONE****
 ========================
 
- o IV Included flag support in SKE (***TESTING NEEDED)
+ o IV Included flag support in SKE (***DONE)
 
  o UDP transport changes; retransmission support by using exponential
-   backoff algorithm.
+   backoff algorithm. (***DONE)
 
  o SilcConnAuth header file documentation.
 
@@ -80,7 +153,7 @@ lib/silccrypt                        ****PARTLY DONE****
 
  o Add DSS support.
 
- o Cipher optimizations (asm, that this) at least for i386 would be nice.
+ o Assembler AES (***DONE)
 
  o ECDSA and ECDH.
 
@@ -88,6 +161,10 @@ lib/silccrypt                       ****PARTLY DONE****
 lib/silcutil                   ****PARTLY DONE****
 ============
 
+ o The regex code from lib/contrib might compile fine on all platforms.
+   No need to make it silcutil/unix/ specific.  Add them to generic
+   silcutil.c.
+
  o silc_stringprep to non-allocating version.
 
  o Compression routines are missing.  The protocol supports packet
@@ -102,7 +179,6 @@ lib/silcutil                        ****PARTLY DONE****
 
  o Silc FD Stream to WIN32 (lib/silcutil/silcfdstream.h)
 
-
 lib/silcutil/silcbuffer.h      ****DONE****
 =========================
 
@@ -115,7 +191,7 @@ lib/silcutil/silcbuffer.h   ****DONE****
    totally 8 bytes of memory per buffer. (***DONE)
 
 
-lib/silcutil/silcbuffmt.[ch]   ****PARTLY DONE****
+lib/silcutil/silcbuffmt.[ch]   ****DONE****
 ============================
 
  o SilcStack aware silc_buffer_unformat (***DONE)
@@ -151,7 +227,7 @@ lib/silcutil/silcsocketstream.[ch]  ****PARTY DONE****
  o Test QoS after the changes made to socket stream
 
 
-lib/silcutil/silcschedule*.[ch]                ****DONE****
+lib/silcutil/silcschedule*.[ch]                ****PARTLY DONE****
 ===============================
 
  o Scheduler can be optimized for FD tasks by changing the fd_queue
@@ -214,25 +290,6 @@ lib/silcutil/silcnet*, lib/silcutil/*/silc*net*            ****PARTLY DONE****
  o New network interfaces (***DONE)
 
 
-lib/silcsftp
-============
-
- o Porting to use the new util library.
-
-
-lib/silcutil/epoc/*
-===================
-
-  o lib/silcutil/epoc routines missing or not completed.
-
-  o The PKCS#1 also calls global RNG (even though it is not used
-    currently in SILC, the interface allows its use).
-
-  o Something needs to be thought to the logging globals as well,
-    like silc_debug etc.  They won't work on EPOC.  Perhaps logging
-    and debugging is to be disabled on EPOC.
-
-
 lib/silcmath
 ============
 
@@ -257,6 +314,17 @@ lib/silcmath
  o All utility functions should be made non-allocating ones.
 
 
+lib/silcutil/symbian/          ****PARTLY DONE****
+=====================
+
+  o lib/silcutil/symbian routines missing or not completed.
+    (****TESTING NEEDED)
+
+  o Something needs to be thought to the logging globals as well,
+    like silc_debug etc.  They won't work on EPOC.  Perhaps logging
+    and debugging is to be disabled on EPOC.
+
+
 lib/silcasn1                   ****PARTLY DONE****
 ============
 
@@ -329,14 +397,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.