TODO In SILC Server
===================
+ o TODO in command.c and in command_reply.c:
+
+ o LIST is not implemented
+ o RESTART is not implemented
+ o INVITE is probably not working correctly
+ o INFO works only with local server. It must work with any
+ server in the network, implement the sending to other servers.
+ o PING works only with local server. It must work with any
+ server in the network, implement the sending to other servers.
+ o MOTD works only with local server. It must work with any
+ server in the network, implement the sending to other servers.
+ o JOIN does not check the invite and ban lists
+ 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. Also, setting ban and invite lists does not
+ work at all and requires some thinking how to do them.
+
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
own resolver stuff (through scheduler, if possible without writing
too much own stuff) or use threads.
- o Length of the packet processing timeouts needs to be checked whether
- they are too short or too long. I haven't really tested whether they
- are suitable. They should be tested on high load which I haven't done
- at all yet.
-
- o INVITE command must set the channel's invite list if channel is
- invite-only channel.
+ o Acceptance of incoming connections (client and server connections)
+ should be checked before key exchange protocol. Currently it is
+ checked at the authentication phase after KE, that is ok, but it should
+ be checked before starting KE, as well.
o Server says that it is able to listen on multiple ports but currently
that is bogus. It can, but internals are for single server.
- o Command flag usage in general is not implemented yet.
-
- o Client history must be implemented. Protocol says that server must
- keep history information about clients for some period of time.
-
o Protocol execution timeouts are hard coded, should be configurable.
o IP address fields in configuration file should accept mask format
o Connection classes should be actually implemented in serverconfig.c.
They can be defined but they are totally ignored currently.
- o Acceptance of incoming connections (client and server connections)
- should be checked before key exchange protocol. Currently it is
- checked at the authentication phase after KE, that is ok, but it should
- be checked before starting KE, as well.
-
TODO In SILC Libraries
======================
for that channel will be changed, if the channel modes permit
this action.
+ After setting the topic the server must send the notify type
+ SILC_NOTIFY_TYPE_TOPIC_SET to its primary router and then to
+ the channel which mode was changed.
+
Reply messages to the command:
Max Arguments: 2
channel. If <comment> is provided it will be sent to the removed
client.
+ After kicking the client the server must send the notify type
+ SILC_NOTIFY_TYPE_KICKED to the channel and to its primary router.
+ The channel key must also be re-generated after kicking.
+
Reply messages to the command:
Max Arguments: 1
Arguments: (1) <Channel ID>
This command is used by client to leave a channel the client is
- joined to. After a client has leaved the channel the server
- must create new key for the channel and distribute to all clients
- still currently on the channel.
+ joined to.
+
+ When leaving the channel the server must send the notify type
+ SILC_NOTIFY_TYPE_LEAVE to its primary router and to the channel.
+ The channel key must also be re-generated when leaving the channel
+ and distribute it to all clients still currently on the channel.
Reply messages to the command: