updates.
[crypto.git] / TODO
diff --git a/TODO b/TODO
index 2b8196371c3965c4a052cec1a87028208c574cdd..18600452d7222e9671f7dbafc6416ed37dd6089f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -46,6 +46,8 @@ lib/silccore
 
  o All payload encoding routines should take SilcStack as argument.
 
+ o Remove SilcCommandCb from silccommand.h.
+
  o All payload test routines into lib/silccore/tests/.
 
 
@@ -242,6 +244,16 @@ Runtime library, lib/silcutil/
    compression thus it must be implemented.  SILC Zip API must be
    defined.
 
+ o Add new functions to SilcStack API in lib/silcutil/silcstack.[ch].  Add
+   silc_stack_[set|get]_byte_alignment and
+   silc_stack_[set|get]_address_alignment.  The _byte_alignment defines the
+   default alignment when allocating aligned memory for structures etc.
+   The address_alignment defines the default (default is 0) alignment for
+   memory addresses SilcStack routines return.  Usefull when needing 
+   aligned addresses for example for hardware devices (such as crypto
+   accelerators).  Move also the low level silc_stack_malloc and 
+   silc_stack_realloc from silcstack_i.h to silcstack.h.
+
  (o Generic SilcStatus or SilcResult that includes all possible status and
     error conditions, including those of SILC protocol.  Though, the SILC
     protocol related status (currently in silcstatus.h) cannot be in
@@ -614,6 +626,16 @@ lib/silcserver
  o The server must be able to run behind NAT device.  This means that 
    Server ID must be based on public IP instead of private IP.
 
+ o The following data must be in per-connection context: client id cache, 
+   server id cache, channel id cache, all statistics must be 
+   per-connection.
+
+ o The following data must be in per-thread context: command context
+   freelist/pool, pending commands, random number generator.
+
+ o Do inccoming packet processing in an own FSM thread in the 
+   server-threads FSM.  Same as in client library.
+
  o Reference count all Silc*Entry structures.
 
  Some issues that must be kept in mind from 1.0 and 1.1 silcd's: