updates
[silc.git] / TODO
diff --git a/TODO b/TODO
index 2c2aadadccdf44dc9c1906f4a5014c3aac919a98..d076aa66fb1a78779c3b997e9b4fd2388d9f4274 100644 (file)
--- a/TODO
+++ b/TODO
@@ -30,18 +30,14 @@ TODO/bugs in Irssi SILC client
 TODO/bugs In SILC Client Library
 ================================
 
- o Remove the assert from silc_client_file_send.
+ o Rewrite the channel's user list thingy and cross list it to the
+   Client entry.
 
  o The PRIVATE_MESSAGE_KEY packet is not handled (it is implemented 
    though).  This should be added and perhaps new client operation
    should be added to notify application that it was received and
    set the key only if application wishes to set (accept the key) it.
 
- o When changing own nickname and there exists a same nickname the library
-   can give the client now nickname in format nick@host.  This is new
-   behaviour and maybe should be removed.  The changer should always
-   get the one it wants and not have the formatted nickname.
-
  o Additions to do after protocol version 1.1:
 
        o Fix the NICK_CHANGE notify handling not to create new entry
@@ -55,8 +51,11 @@ TODO/bugs In SILC Client Library
 TODO/bugs In SILC Server
 ========================
 
- o removing other's modes on channel seems to be possible due to some
-   cumode bug.
+ o Make the normal server save user counts with LIST command reply.
+
+ o The router should check for validity of received notify packets from
+   servers (after all buggy servers may send notify that is actually
+   something that should have not been sent).
 
  o Add hashed passwords to silcd.conf file.
 
@@ -72,8 +71,7 @@ TODO/bugs In SILC Server
    each JOIN command will create and distribute the new channel key
    to everybody on the channel.
 
- o New configuration file format must be added.  The new one will be
-   done using the dotconf config library (lib/dotconf).  The following
+ o New configuration file format must be added.  The following
    tasks relates closely to this as well and must be done at the same time
    when adding the new config file format:
 
@@ -87,6 +85,8 @@ TODO/bugs In SILC Server
        o IP address fields in configuration file should accept mask
          format as well, IP/MASK, and not just plain IP.
 
+ o Lots of statistics updating is missing around the server.
+
  o If client's public key is saved in the server (and doing public key
    authentication) then the hostname and the username information could
    be taken from the public key.  Should be a configuration option!
@@ -167,6 +167,16 @@ describe new stuff to be added to protocol versions 1.x.
     administrative commands and cannot define all that one could imagine.
     To be included in protocol version 1.1.
 
+ 9. Add SILC_MESAGE_FLAG_REPLY for being other side to the
+    SILC_MESSAGE_FLAG_REQUEST.  Add generic SILC_MESSAGE_FLAG_DATA, which
+    can include generic payload, which can include generic data.  The
+    payload definition is left out for now.  To be included in protocol
+    version 1.1.
+
+ 10. Check command reply error status types in various commands,
+     specifically NO_FOPRIV is missing from many commands.  To be 
+     included in protocol version 1.1.
+
 
 TODO After 1.0
 ==============
@@ -258,6 +268,22 @@ least could be done.
          and thus not require any memory allocation.  Same will happen
          with silc_id_payload_* functions.
 
+       o Remove the `truelen' field from SilcBuffer as it is entirely
+         redundant since we can get the true length of the buffer by
+         doing buffer->end - buffer->header.  Add SILC_BUFFER_TRUELEN
+         macro instead.  Consider also removing `len' field too since
+         it effectively is buffer->tail - buffer->data, and adding
+         SILC_BUFFER_LEN macro can do the same.  These would save
+         totally 8 bytes of memory per buffer.
+
+         Add also perhaps function silc_buffer_alloc_size that would
+         effectively do: 
+
+               return silc_buffer_pull_tail(silc_buffer_alloc(size),
+                                            size);
+
+         to not require the user to give the pull_tail anymore.
+
  o Optimizations in Server
 
        o Remove the big switch statement from the function 
@@ -277,6 +303,15 @@ least could be done.
          should be analyzed too how slow the task registering process
          actually is, and find out ways to optimize 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
+         optimized so that the only SERVER_SIGNOFF is sent and not
+         SIGNOFF of notify at all (using SIGNOFF takes the idea about
+         SERVER_SIGNOFF away entirely).
+
+ o Add SilcAsyncOperation to utility library.
+
  o Cipher optimizations (asm, that this) at least for i386 would be nice.
 
  o Add builtin SOCKS and HTTP Proxy support, well the SOCKS at least.