TODO/bugs in Irssi SILC client
==============================
+ o /NAMES kees showing things wrong after JOIN and after ppl has left
+ channel.
+
o Add local command to switch the channel's private key when channel has
several private keys. Currently sending channel messages with many
keys is not possible because changing the key is not possible by the
that the user has. And a local command to dump the contents of the
public key to the screen. Something like LISTKEYS, SHOWKEY...
- o The QUIT command should wait for server's disconnection (at least for
- a while) before exiting the application.
-
o The JOIN command's HELP is generated from Irssi IRCs JOIN help and
the syntax is not same in SILC. This must be fixed. Most likely
we must forget the Irssi's JOIN command and mimic it to get our
o JOIN command's argument handling is buggy. See the XXX in the code.
+ o key agreement with itself causes the packet sequence numbers go grazy.
+
TODO/bugs In SILC Server
========================
- o On normal server the channel count can go negative (like -3 channels).
+ o After backup resume protocol the TOPIC_SET was not handled correctly
+ by all (unknown Channel ID).
+
+ o Channel user mode changes are notified unnecessarely when switching
+ to backup router on router crash.
- o Change the sever to connect to another server from low ports (706)
+ o Change the server to connect to another server from low ports (706)
and not from high ports. Currently we cannot do incoming connection
checking by remote port because the port is not fixed.
+ o Announcements are incomplete: channel topics are not announced,
+ user modes (UMODE) are not announced.
+
o Add a timeout to handling incoming JOIN commands. It should be
enforced that JOIN command is executed only once in a second or two
seconds. Now it is possible to accept n incoming JOIN commands
each JOIN command will create and distribute the new channel key
to everybody on the channel.
- o Optimize the JOIN command in normal server. When router returns
- command reply for JOIN it returns the new channel key. We however
- still create new channel key when processing the pending JOIN command.
- This works ok but is not necessary.
-
o Optimize the WHOIS and IDENTIFY commands to somehow check whether the
requested clients are on some channel that the server knows about. If
this is the case then the request is not needed to be forwarded to the
o silcd/serverid.c and its routines supports only IPv4.
- o Add perhaps /var/run/silcd.pid for PID information for the server.
-
o New configuration file format must be added. The new one will be
done using the dotconf config library (lib/dotconf). The following
tasks relates closely to this as well and must be done at the same time
TODO/bugs In SILC Libraries
===========================
- o Security fixes from the latest draft for MAC key and MAC computation:
- the packet sequence number.
+ o Optimizations to lib/silcsftp
+
+ o Do not allocate new req for every client request. Use
+ preallocated requests and recycle them.
+
+ o Use SilcList instead of SilcDList for requests. It is faster.
+
+ o Do not allocate new buffer for every packet. Use preallocated
+ buffer and reallocate only if necessary.
o Compression routines are missing. The protocol supports packet
compression thus it must be implemented. SILC Comp API must be