updates.
[runtime.git] / TODO
diff --git a/TODO b/TODO
index 0c467017910c022e2754c8e9fec7ab946f851042..ee740ec963d9196932a395f19e0431c26498e13e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -25,12 +25,9 @@ TODO General
 TODO In SILC Client Library
 ===========================
 
- o TODO in commands (silc/local_command.c, lib/silcclient/command.c and
+ o TODO in commands (lib/silcclient/command.c and
                     silc/silclient/command_reply.c):
 
-       o Local command to handle private message keys is not done
-       o Local command to handle channel private keys is not done
-       o Local command to handle key agreement protocol is not done
        o RESTART command is not implemented
 
  o Client library crashes if for example server timeouts protocol
@@ -49,20 +46,18 @@ TODO In SILC Client Library
    from file and using them (see corresponding code in server, it should
    support public key authentication already).
 
- o Connection Authentication request resolving is missing and must be
-   done.  This is required by the protocol.
+ o Non-blocking connection on the background must be stopped if some
+   other connection on same window has established.  Now it is possible
+   that some non-blocking connection timeouts on the background when
+   we already have a working connection to some other place; things
+   goes bad.
 
  o Add client library parameters or options that handle what kind of
    messages the library should print out (using `say' client operation,
    for example) and what is left for the application to print.  The
    appliation could for example set that it handles all command printing
    but all error printing should be handled by the library, etc...
-
- o Non-blocking connection on the background must be stopped if some
-   other connection on same window has established.  Now it is possible
-   that some non-blocking connection timeouts on the background when
-   we already have a working connection to some other place; things
-   goes bad.
+   This is not a showstopper.
 
  o Input line on UI is buggy.  Cursor movement etc bugs.  Too lazy to
    fix it.
@@ -74,35 +69,24 @@ 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 WHOIS and IDENTIFY command reply sending is buggy because
+         it may put status to be SILC_STATUS_LIST_START even though
+         there is only one valid entry (thus should be SILC_STATUS_OK).
+         This happens because it does not check the data.registered == FALSE
+         clients before setting the status.  Good fix for this would be
+         to make sure that the clients table does not include any
+         unregistered clients in the first place.
 
  o TODO in notify types (packet_receive.c):
 
        o SERVER_SIGNOFF notify type is not implemented
 
- o TODO in authentication protocol (protocol.c):
-
-       o Public key authentication is missing in initiator side.  It must
-         be implemented by creating the authentication data.
-
- o TODO in general server (server.c)
-
-       o SILC_PACKET_CONNECTION_AUTH_REQUEST packet type is not
-         implemented.
-
-       o silc_server_connect_to_router_second checks the authentication
-         method to be used in the connection.  However, if it does not
-         find it it must resolve it from the responder by sending the
-         SILC_PACKET_CONNECTION_AUTH_REQUEST packet.
-
  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
@@ -129,9 +113,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 Connection redirect, if server is full, is not implemented.  I also
-   don't know how to do it currently.  Maybe it shouldn't be done at all.
-
 
 TODO In SILC Libraries
 ======================
@@ -175,8 +156,8 @@ TODO in the protocol before SILC 0.x
  o New commands and features in the commands
    (draft-riikonen-silc-spec-xx.txt):
 
-       o Define GETKEY command to fetch the public key of an server
-         and/or client in the SILC Network.
+       o Define GETKEY command to fetch the public key of a server
+         and/or client in the SILC Network.
        o Define SENDKEY command to send your public key to a client
          in the network.  Sending to the server must not be done due
          to various security reasons (the server must not trust the
@@ -199,8 +180,12 @@ TODO in the protocol before SILC 0.x
          flags and define the flags.  The flags could indicate whether
          the message is, for example autoreply or the receiver should not
          reply to the private messages.  What other flags?
+       o Define the Channel Message packet to include channel message
+         flags and define the flags.  Actually the flags should be same
+         as for the private message flags.  This way we can implement
+         for example the CTCP style ACTION (/ME command) messages.
 
- o New feature in the KE/auth protocol
+ o New features in the KE/auth protocol
    (draft-riikonen-silc-ke-auth-xx.txt):
 
        o Define group exchange support for the SKE so that the SKE