updates.
[silc.git] / TODO
diff --git a/TODO b/TODO
index 5e240e083926eca103f844857e40ce8f23093756..8a837e926dd47305b31b6f7eee26e0abe4055ed1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -43,23 +43,27 @@ TODO/bugs In SILC Server
    hash tables should replace the lists.  Thus, the ID cache should be
    rewritten to use hash tables internally.
 
- o New configuration file format must be added.  The new one will be
-   done using the dotconf config library.
-
  o The backup router support described in the protocol specification
    should be done at some point.
 
- o Server says that it is able to listen on multiple ports but currently
-   that is bogus.  It can, but internals are for single server.
+ o New configuration file format must be added.  The new one will be
+   done using the dotconf config library (lib/dotconf).  The following
+   tasks relates closely to this as well and must be done at the same time
+   when adding the new config file format:
 
- o Protocol execution timeouts are hard coded, should be configurable.
+       o Server says that it is able to listen on multiple ports but
+         currently that is bogus.  It can, but internals are for single
+         server.
 
- o IP address fields in configuration file should accept mask format
-   as well, IP/MASK, and not just plain IP.
+       o Protocol execution timeouts are hard coded, should be
+         configurable.
 
- o Connection classes should be actually implemented in serverconfig.c.
-   They can be defined but they are totally ignored currently.  And they
-   should be redefined also.
+       o IP address fields in configuration file should accept mask
+         format as well, IP/MASK, and not just plain IP.
+
+        o Connection classes should be actually implemented in
+         serverconfig.c.  They can be defined but they are totally
+         ignored currently.  And they should be redefined also.
 
 
 TODO/bugs In SILC Libraries
@@ -69,13 +73,11 @@ TODO/bugs In SILC Libraries
 
        o All network routines in lib/silcutil/silcnet.[ch] does not
          support IPv6.
+       o silc_id_render supports only IPv4 based ID's in the file
+         lib/silcutil/silcutil.c.
 
- o Hash tables must be implemented.  The requirement for this is that
-   the hash table is collision resistant so that it can be used in 
-   critical positions as well.  It probably works the 95% of the time
-   fine without collisions but the last 5% of the cases must be
-   handled.  Maybe two interfaces could be done, one for normal static
-   hash tables and one for collision resistant hash table.
+ o All the ID Cache routines has not been implemented in
+   lib/silccore/idcache.c.
 
  o Compression routines are missing.  The protocol supports packet
    compression thus it must be implemented.  SILC Comp API must be
@@ -86,6 +88,17 @@ TODO/bugs In SILC Libraries
  o The CAST cipher is not compiled currently due to compilation errors;
    check those.  Cast is in lib/silccrypt/cast.c.
 
+ o All payload parsing (decoding) functions should take unsigned char *
+   and uint32 as data and data length as arguments.  Now some of the
+   routines do already that but most of the routines use SilcBuffer.
+   The SilcBuffer ones should be removed since buf->data and buf->len
+   is more convenient to use.  However, the silc_buffer_[un]format
+   routines support only SilcBuffer so they would require reallocation
+   of SilcBuffer.  Maybe support for raw data (and not just SilcBuffer)
+   should be added silc_buffer_[un]format_? routines.  These are currently
+   only cosmetic changes but at some point must be done to make the
+   payload interfaces consistent.
+
 
 TODO After 1.0
 ==============