Added SILC Server library.
[silc.git] / TODO
diff --git a/TODO b/TODO
index 42161a4cb8f802978907a9c782d1b37b87f53acb..6e39a0ab897f3472f6ad2dc7489be16d79e90f0b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -28,7 +28,7 @@ lib/silccrypt
  o ECDSA and ECDH.
 
 
  o ECDSA and ECDH.
 
 
-lib/silccore/silcpacket.[ch]   ****PARTLY DONE****
+lib/silccore/silcpacket.[ch]   ****DONE****
 ============================
 
  o SilcPacketEngine.
 ============================
 
  o SilcPacketEngine.
@@ -36,7 +36,13 @@ lib/silccore/silcpacket.[ch] ****PARTLY DONE****
  o New SILC Packet API.
 
 
  o New SILC Packet API.
 
 
-lib/silccore/silcid.[ch]
+lib/silccore/silcpacket.[ch]
+============================
+
+ o IV Included flag support, UDP transport support
+
+
+lib/silccore/silcid.[ch]       ****DONE****
 ========================
 
   o Add silc_id_str2id to accept the destination buffer as argument
 ========================
 
   o Add silc_id_str2id to accept the destination buffer as argument
@@ -46,7 +52,13 @@ lib/silccore/silcid.[ch]
   o silc_id_str2id, silc_id2str to non-allocating routines.
 
 
   o silc_id_str2id, silc_id2str to non-allocating routines.
 
 
-lib/silcutil
+lib/silccore
+============
+
+  o All payload encoding routines should take SilcStack as argument.
+
+
+lib/silcutil                   ****PARTLY DONE****
 ============
 
  o Compression routines are missing.  The protocol supports packet
 ============
 
  o Compression routines are missing.  The protocol supports packet
@@ -101,6 +113,8 @@ lib/silcutil/silcsocketstream.[ch]  ****PARTY DONE****
 
  o Add SilcSocketStream.
 
 
  o Add SilcSocketStream.
 
+ o Test QoS
+
 
 lib/silcutil/epoc/*
 ===================
 
 lib/silcutil/epoc/*
 ===================
@@ -205,25 +219,8 @@ lib/silcutil/silcnet*, lib/silcutil/*/silc*net*            ****PARTLY DONE****
    to handle the sockets by themself.
 
 
    to handle the sockets by themself.
 
 
-apps/silcd
-==========
-
- o Remove the big switch statement from the function
-   silc_server_packet_parse_type and replace it with predefined
-   table of function pointers where each of the slot in table
-   represents the packet type value.
-
-   Same could be done with notify packets which has big switch
-   statement too.  Same kind of table of notify callbacks could be
-   done as well.
-
- o The parser callback in the server will add a timeout task for
-   all packets.  It will require registering and allocating a
-   new task to the SilcSchedule.  Maybe, at least, for server
-   and router packets the parser would be called immediately
-   instead of adding it to the scheduler with 0 timeout.  It
-   should be analyzed too how slow the task registering process
-   actually is, and find out ways to optimize it.
+lib/silcserver
+==============
 
  o The SERVER_SIGNOFF notify handing is not optimal, because it'll
    cause sending of multiple SIGNOFF notify's instead of the one
 
  o The SERVER_SIGNOFF notify handing is not optimal, because it'll
    cause sending of multiple SIGNOFF notify's instead of the one
@@ -265,4 +262,10 @@ apps/silcd
    each JOIN command will create and distribute the new channel key
    to everybody on the channel (Fix this to 0.9.x).
 
    each JOIN command will create and distribute the new channel key
    to everybody on the channel (Fix this to 0.9.x).
 
+ o Related to above.  If multiple JOINs are received in sequence perhaps
+   new key should be created only once, if the JOINs are handeled at the same
+   time.  Now we create multiple keys and never end up using them because
+   many JOINs are processed at the same time in sequence.  Only the last
+   key ends up being used.
+
  o The CMODE cipher & hmac change problem (#101).
  o The CMODE cipher & hmac change problem (#101).