updates.
[silc.git] / TODO
diff --git a/TODO b/TODO
index 9ff6f4f8f6dfa4551a24e17916358325dacf26cb..283d1db52dc99816901d8236f8a68eb2cfd7ec45 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,15 +1,49 @@
 TODO/bugs in Irssi SILC client
 ==============================
 
- o Add KNOCKOUT local command.  It should kick an client from channel and
-   set a ban for it for number of seconds.
+ o Do not let irssi update the status bar on JOIN until the join command
+   is successful, so that it does not update that I'm on the channel
+   even though I could not join the channel.
 
- o Add KICKBAN local command.  Kicks and bans the specified client.
+ o The CMODE notify handling in client library may return NULL
+   client entry pointer to the application (when server was the CMODE's
+   executor).  Fix this somehow.
+
+ o Add PERL scripting support from Irssi CVS.
+
+ o Add local commands to list the current server and client public keys
+   that the user has.  And a local command to dump the contents of the
+   public key to the screen.  Something like LISTKEYS, SHOWKEY...
+
+ o We should get rid of the clientconfig.[ch] in Irssi SILC and move the
+   cipher, hash, hmac and pkcs configuration to the Irssi SILC's config
+   file.
+
+ o Extend the /HELP command to support sub commands or something.  So
+   that user can say /help set mutual_authentication they would get
+   help of the mutual_authentication setting.
+
+ o Set different kind of settings, like, /set mutual_authentication,
+   /set key_exchange_timeout, /set conn_auth_timeout etc etc.
 
 
 TODO/bugs In SILC Client Library
 ================================
 
+ o Library should save the cumode and not start from 0 everytime then
+   CUMODE is issued.  A mechanism of getting the channel entry for
+   CMODE and CUMODE by the command reply identifier must be added.
+   Otherwise saving the modes for the channels and channel user
+   entries are impossible since server does not send Channel ID as
+   command reply in these functions.
+
+ o All protocol execution timeouts are hard coded. They should be 
+   configurable and the Irssi SILC client should be able to set them
+   with for example /set key_exchange_timeout etc.  The silc_client_alloc
+   should take a Params structure or something as argument.
+
+ o silc_client_close_connection leaks memory.  Read the XXX from code.
+
  o The client library must manage somehow when receiving client that has
    same nickname, same server, same username but different Client ID than
    what we have in the cache.  It is now assumed that they are different
@@ -18,28 +52,10 @@ TODO/bugs In SILC Client Library
    interface separately or it could just remove the old client unless
    it is on some channels.
 
- o Add local commands to list the current server and client public keys
-   that the user has.  And a local command to dump the contents of the
-   public key to the screen.
-
- 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...
-   This is not a showstopper.
-
- o Input line on UI is buggy.  Cursor movement etc bugs.  Too lazy to
-   fix it.
-
 
 TODO/bugs In SILC Server
 ========================
 
- o The SKE protocol in the server does not verify the remote hosts 
-   (the router's) public key at all.  All public keys are accepted without
-   verification - this obviously is not secure.
-
  o When server quits and all clients of that server are removed from all
    channels the channel keys are re-generated for all clients.  This is
    a bug and should be done only once per channel after all clients of
@@ -111,6 +127,28 @@ TODO/bugs In SILC Libraries
    only cosmetic changes but at some point must be done to make the
    payload interfaces consistent.
 
+ o Add builtin SOCKS and HTTP Proxy support, well the SOCKS at least.
+   SILC currently supports SOCKS4 and SOCKS5 but it needs to be compiled
+   in separately.
+
+
+TODO In SILC Protocol
+=====================
+
+ o pp-03 draft:
+
+       o Add SILC_MESSAGE_FLAG_SIGNED flag that indicates that the
+         messages is signed with the senders private key and thus can
+         be verified with its public key.  This is especially handy
+         feature when sending privat messages without having negotiated
+         private keys, thus the servers decrypts and re-ecnrypts the
+         messages.  Other applications exists as well.
+
+ o If channel founder mode is set and the invite mode is set on channel
+   then the founder should be added to the list automatically so that
+   if the founder signoff's it will be able join again to the invite only
+   channel wihtout being invited.
+
 
 TODO After 1.0
 ==============
@@ -142,6 +180,8 @@ TODO After 1.0
    to start writing one myself.  Anyhow, the OpenSSL X.509 lib should
    be checked.
 
+   Other package that should be checked is the NSS's X509 library.
+
  o SSH2 public keys support.  Maybe - not really needed but could be
    nice as SSH is widely used all over the place.  SILC Protocol 
    supports SSH2 public keys.