-TODO/bugs In SILC Client Library
-================================
+TODO/bugs in Irssi SILC client
+==============================
+
+ 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 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.
+ 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 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 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 Input line on UI is buggy. Cursor movement etc bugs. Too lazy to
- fix it.
+ 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
+ client but it might not be. It should at least number the clients
+ using the client->num so that they can be accessed from the user
+ interface separately or it could just remove the old client unless
+ it is on some channels.
TODO/bugs In SILC Server
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
==============
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.