Compilation warning fixes.
[crypto.git] / TODO
diff --git a/TODO b/TODO
index 8a87669b7f03448ed6b566b7f8d30e172bf310f2..07b7b956455d43ce7eed64bffc4e8196a7607b43 100644 (file)
--- a/TODO
+++ b/TODO
@@ -68,6 +68,15 @@ lib/silcclient, The Client Library
    never joined the channel if this happens.  What to do if message is
    received from user that hasn't been resolved/joined?
 
+ o Add the SilcStream (socket stream) from the SilcPacketStream and
+   SilcSocket from the socket stream to SilcClientConnection for easier
+   access to them for programmers.  Currently these have to be digged up
+   from the packet stream.
+
+ o Connection option that attemps to connect to remot host with various 
+   different mechanisms: UDP 706, TCP 706, TCP 80, TCP 443, UDP 7706 and
+   TCP 7706.  This is the so called hole punching mechanism.
+
  o Message ACKing support.
 
  o in /cmode and /cumode with +r, maybe the public key and private key
@@ -96,7 +105,6 @@ Runtime library, lib/silcutil/
 
  o Add silc_stream_get_root and add get_root stream operation.  It 
    returns the root of the stream or NULL if stream doesn't have root.
-   Like SilcPacketStream might return SilcSocketStream.
 
  o Change some stream routines (like socket stream API) to accept ANY
    stream and use silc_stream_get_root to get the socket stream from the
@@ -207,6 +215,9 @@ Runtime library, lib/silcutil/
    _ua unaligned memory allocation routines.  Remove unaligned memory
    allocation possibility. (***DONE)
 
+ o silc_stack_alloc shouldn't require multiple by 8 size argument, it 
+   should figure it out itself.
+
  o silc_malloc et. al. to respect --with-alignment.
 
  o Add '%@' format to silc_snprintf functions.  It marks for external
@@ -232,6 +243,9 @@ Runtime library, lib/silcutil/
  o Change silc_gettimeofday on Unix to use clock_gettime with REALTIME
    clock if it is available, otherwise use gettimeofday(). (***DONE)
 
+ (o SilcIpAddr abstraction.  Ipv4 and Ipv6 support to the abstaction.) 
+  maybe
+
  (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
@@ -517,10 +531,24 @@ lib/silcserver
  o Do inccoming packet processing in an own FSM thread in the
    server-threads FSM.  Same as in client library.
 
+ o Binding to other ports than 706 too.  To allow easier traversing
+   through NATs and firewalls server should bind to 80, 443 and 7706
+   by default (at least try to bind).  Connections must work normally
+   even if they were established to some other port other than 706.
+
+   Connection option that attemps to connect to remot server with various 
+   different mechanisms: UDP 706, TCP 706, TCP 80, TCP 443, UDP 7706 and
+   TCP 7706.  This is the so called hole punching mechanism.
+
  o Reference count all Silc*Entry structures.
 
  Some issues that must be kept in mind from 1.0 and 1.1 silcd's:
 
+ o The server and router software MUST work out of the box.  After 
+   installation the server must not require any configuration to run the
+   most basic working configuration.  No defining IP addresses, etc.
+   The server must work just by running it.
+
  o The SERVER_SIGNOFF notify handing is not optimal, because it'll
    cause sending of multiple SIGNOFF notify's instead of the one
    SERVER_SIGNOFF notify that the server received.  This should be