X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=TODO;h=cc5fc769a559e397fee0dbfc0528d3ca0eb3f862;hb=017dec75a98209fbef49eb496c2269b0c49e736d;hp=29bda11470fc2eec70384e23c209690fb2b7c057;hpb=b964e49e6fb7e7faaa19d38cd2ad5d5ebaf22ca6;p=silc.git diff --git a/TODO b/TODO index 29bda114..cc5fc769 100644 --- a/TODO +++ b/TODO @@ -1,15 +1,10 @@ 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 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 + user. 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 @@ -19,6 +14,17 @@ TODO/bugs in Irssi SILC client cipher, hash, hmac and pkcs configuration to the Irssi SILC's config file. + o The QUIT command should wait for servers 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. + + o With USERS command to a channel user is not joined the name of the + channel is printed as garbled. + + o Add PERL scripting support from Irssi CVS. + 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. @@ -30,50 +36,25 @@ TODO/bugs in Irssi SILC client 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 - 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. + o JOIN command's argument handling is buggy. See the XXX in the code. TODO/bugs In SILC Server ======================== - 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 - the server has been removed. + o Add perhaps /var/run/silcd.pid for PID information for the server. + + o Add a timeout to handling incmoing 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 + and process them without any timeouts. THis must be employed because + each JOIN command will create and distribute the new channel key + to everybody on the channel. o Incomplete IPv6 support: - o silc_server_get_users_on_channel does not support IPv6 based - Client ID's. - o silc_server_route_get and the route code in general supports - only IPv4. o silcd/serverid.c and its routines supports only IPv4. - o DNS/IP lookup blocks the server. This must be fixed. Check the - resolver stuff (resolver(3), resolver(5)). Either we have to do the - own resolver stuff (through scheduler, if possible without writing - too much own stuff) or use threads. - o The backup router support described in the protocol specification should be done at some point. @@ -100,12 +81,7 @@ TODO/bugs In SILC Server TODO/bugs In SILC Libraries =========================== - o Incomplete IPv6 support: - - o All network routines in lib/silcutil/silcnet.[ch] does not - support IPv6. - o silc_id_render supports only IPv4 based ID's in the file - lib/silcutil/silcutil.c. + o Some ./prepare problems with latest autoconf and automake. o Compression routines are missing. The protocol supports packet compression thus it must be implemented. SILC Comp API must be @@ -124,22 +100,27 @@ TODO/bugs In SILC Libraries only cosmetic changes but at some point must be done to make the payload interfaces consistent. + o Incomplete IPv6 support: + + o All network routines in lib/silcutil/silcnet.[ch] does not + support IPv6. + o silc_id_render supports only IPv4 based ID's in the file + lib/silcutil/silcutil.c. + 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 -===================== +TODO/Bugs in native WIN32 support (libraries) +============================================= - o pp-03 draft: + o silc_net_create_connection_async does not work the same way than on + Unix. Do it with threads on WIN32. - 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. + +TODO In SILC Protocol +===================== 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 @@ -150,18 +131,6 @@ TODO In SILC Protocol TODO After 1.0 ============== - o Pthreads support. A lot of problems are solved with server (and with - client as well) if we add pthread support. We can forget things such - as non-blocking connecting etc, and we can do things such as DNS/IP - lookups async. The server itself also benefits great deal from - threads, especially from performance point of view. - - But, this is not a small task and almost entire SILC Library has to - be made re-entrant. Own API is probably added for the threads support - to make changes in the future as painless as possible. So the API - would have things like silc_mutex_lock, silc_mutex_unlock and - friends... - o X.509 certificate support. SILC protocol supports certificates and it would be great to have support for them. This is a big task as support has to be made for ASN.1 as well. I've looked into OpenSSL