updates.
[runtime.git] / TODO
diff --git a/TODO b/TODO
index e524e5bb38c25789828f877c34d3219e2aa41c7c..06677ae7101ef607cfae1bce6939a7649c8f3db1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -100,37 +100,42 @@ TODO In SILC Client Library
 TODO In SILC Server
 ===================
 
+ o TODO in commands (command.c and command_reply.c):
+
+       o RESTART is not implemented
+       o CMODE should be rewritten as it uses a lot duplicated code.
+         Some of the modes may still not be implemented or is implemented
+         the wrong way.
+       o In servers all command reply funtions should still call the
+         pending command reply even if the reply was error.  In client
+         it is not called but in server, I think, it must be called.
+         When implementing this check that all commands handle the
+         situation correctly when it is called as pending command
+         (it should most likely check that cmd->pending == TRUE/FALSE).
+
+ o TODO in notify types (packet_receive.c):
+
+       o CHANNEL_CHANGE notify type is not implemented
+       o SERVER_SIGNOFF notify type is not implemented
+
  o Packet processing can be made faster. All packet function in the
    packet_receive.c has same prototypes.  Instead of calling those from
    huge switch() make a table of callback functions that can be called
    directly by the packet type.
 
- o silc_server_send_key_agreement and silc_server_send_private_message_key
-   are one and same function (also silc_server_send_private_message is
-   almost same function).  These should be unified to one generic named
-   function and use that.
-
  o DNS/IP lookup blocks the server.  This must be fixed.  Check the
    resolver stuff (resolver(3), resolver(5)).  Either we have to do the
    own resolver stuff (through scheduler, if possible without writing
    too much own stuff) or use threads.
 
- o Length of the packet processing timeouts needs to be checked whether
-   they are too short or too long.  I haven't really tested whether they
-   are suitable.  They should be tested on high load which I haven't done
-   at all yet.
-
- o INVITE command must set the channel's invite list if channel is 
-   invite-only channel.
+ o Acceptance of incoming connections (client and server connections)
+   should be checked before key exchange protocol.  Currently it is
+   checked at the authentication phase after KE, that is ok, but it should
+   be checked before starting KE, as well.
 
  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 Command flag usage in general is not implemented yet.
-
- o Client history must be implemented.  Protocol says that server must
-   keep history information about clients for some period of time.
-
  o Protocol execution timeouts are hard coded, should be configurable.
 
  o IP address fields in configuration file should accept mask format
@@ -139,11 +144,6 @@ TODO In SILC Server
  o Connection classes should be actually implemented in serverconfig.c.
    They can be defined but they are totally ignored currently.
 
- o Acceptance of incoming connections (client and server connections)
-   should be checked before key exchange protocol.  Currently it is
-   checked at the authentication phase after KE, that is ok, but it should
-   be checked before starting KE, as well.
-
 
 TODO In SILC Libraries
 ======================