X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=TODO-1.0;h=73e5a27bc4c2bbffb83c63e54fe1872255e611ff;hb=413da0f8686910f5e627393157566ae729ca99c4;hp=4a0f6e2a558a18f6f5be2148746b4a900ca5bb41;hpb=6f6c6b1f52138ed5138c530614b24a503e542024;p=silc.git diff --git a/TODO-1.0 b/TODO-1.0 index 4a0f6e2a..73e5a27b 100644 --- a/TODO-1.0 +++ b/TODO-1.0 @@ -31,6 +31,14 @@ least could be done. o OpenPGP certificate support, allowing the use of PGP public keys in SILC. + o SILC PKCS (silcpkcs.h) reorganizing when other PK supports added. + Move the SILC Public Key routines away from the crypto library into + the core library (silccore). silc_pkcs_public/private_key_* routines + to silc_public/private_key_* routines. The silc_public_key_* routines + should also automatically handle SILC Public Keys, and other keys + and certificates as well. Add fe. silcpk.h into silccore. It should + also include the Public Key Payload encoding and decoding routines. + o Compression routines are missing. The protocol supports packet compression thus it must be implemented. SILC Zip API must be defined. @@ -67,7 +75,7 @@ least could be done. These naturally cause the overal memory consumption to grow but would take away many allocations that can be done several - times in a second. + times in a second (see also ~/silcpacket). o Move the actual file descriptor task callback (the callback that handles the incoming data, outgoing data etc, that is implemnted @@ -116,16 +124,30 @@ least could be done. SIGNOFF of notify at all (using SIGNOFF takes the idea about SERVER_SIGNOFF away entirely). + o Another SERVER_SIGNOFF opt/bugfix: Currently the signoff is + sent to a client if it is on same channel as the client that + signoffed. However, the entire SERVER_SIGNOFF list is sent to + the client, ie. it may receive clients that was not on the + same channel. This is actually against the specs. It must be + done per channel. It shouldn't receive the whole list just + because one client happened to be on same channel. + + o See also ~/silcserver + o Add SilcAsyncOperation to utility library. Any function that takes callback as an argument must/should return SilcAsyncOperation (see ~/silcasync). o Rewrite SilcProtocol to be SilcFSM (see ~/silcfsm). - o Do some scheduler optimizations (see ~/silcschedule). + o Do some scheduler optimizations and interface changes (see + ~/silcschedule). + + o Change the lib/silccore/silcpacket.[ch] interfaces (see ~/silcpacket). - o Change SILC_TASK_CALLBACK to non-static, and remove the macro - SILC_TASK_CALLBACK_GLOBAL. + o Add abstract SilcStream and SilcSocketStream (see ~/silcstream). + + o Change some of the SILC Net interfaces (see ~/silcnet). o Add DSS support. @@ -138,6 +160,13 @@ least could be done. SILC currently supports SOCKS4 and SOCKS5 but it needs to be compiled in separately. + 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 + 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 (Fix this to 0.9.x). + o EPOC specific additions/changes required: o lib/silcutil/epoc routines missing or not completed. @@ -148,3 +177,7 @@ least could be done. o Something needs to be thought to the logging globals as well, like silc_debug etc. They won't work on EPOC. Perhaps logging and debugging is to be disabled on EPOC. + + o Check whether we can fully comply with RFC 2779. + + o The CMODE cipher & hmac change problem (#101).