updates.
[silc.git] / TODO
diff --git a/TODO b/TODO
index c72f3504899fddfe5c5fba19d7b2ddc9902cad3d..c408e032b7919882300ba914753396e9ebe70f74 100644 (file)
--- a/TODO
+++ b/TODO
@@ -75,14 +75,6 @@ TODO In SILC Client Library
    message sending.  I guess the logic is done in server side but is
    missing from client.
 
- o Private message key setting is missing and must be implemented.
-   Currently private messages are encrypted with session keys.  This
-   is required by the protocol.
-
- o Channel private key setting is missing and must be implemented.
-   Currently there cannot be private keys for channels.  Normal channel
-   keys (generated by server) are used.  This is required by the protocol.
-
  o I guess, public key authentication (when connecting to a server)
    is not working currently.  It is just matter of loading the keys
    from file and using them (see corresponding code in server, it should
@@ -91,17 +83,20 @@ TODO In SILC Client Library
  o Connection Authentication request resolving is missing and must be
    done.  This is required by the protocol.
 
- o Move ssh_client_notify_by_server to its own file (like notify.[ch]).
-
- o Key Exchange protocol's responder side is missing from client.  
-   Generally it is possible for the client to be responder so it should
-   be implemented (See corresponding code from server).  Error handling
-   in the KE protocol is also in pretty bad shape in client.
-
 
 TODO In SILC Server
 ===================
 
+ 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
@@ -158,12 +153,6 @@ TODO In SILC Libraries
    not in distribution), but it is not used yet, and it requires some
    tweaking on the Makefiles (we want static lib not shared).
 
- o Cipher API needs to be made more consistent.  Some parts of the
-   code generated with current Cipher API looks really bad.  Same
-   is with PKCS API, even worse actually.  They need to be made
-   cleaner.  Introducing silc_cipher_encrypt/decrypt/set_key etc.
-   functions (I actually don't understand why have I left these un-done).
-
  o SIM support for SILC PKCS API needs to made so that they could be
    used as SIM's.  At the same time some work is required on prime
    generation as the way it is done now sucks.  Read from code for