-General
-=======
-
- o Create apps/tutorial containing various Toolkit API tutorials.
-
- o The Toolkit split. The Toolkit is to be splitted in parts. How many
- parts and what the parts are isn't decided yet. Each part is a separate
- software package. Current thinking is of the following:
-
- SILC Toolkit SILC protocol, client and server library
- SILC Runtime Toolkit runtime library
- SILC Crypto Toolkit crypto, asn1, math, skr, pgp, etc.
-
- The rationale for this is of course that other than SILC projects
- might like to use the various libraries SILC Toolkit provides, but
- naturally they don't want the bloat of SILC protocol related stuff.
-
- The Runtime library in SILC Toolkit is a general purpose runtime library,
- like Glib and APR are. The runtime library is to be developed further
- to provide alternative to Glib and APR.
-
- The Crypto library in SILC Toolkit is a general purpose crypto library
- providing pretty nice APIs compared to many other crypto libraries,
- especially OpenSSL. The Crypto library is to be developed further
- to include support for OpenPGP, X.509 and SSH2.
-
-
-lib/silccore
-============
-
- o SILC_PACKET_FLAG_ACK support. Implement ACK packet and packet payload
- to silcpacket.c.
-
- o All payload encoding routines should take SilcStack as argument.
-
- o Remove SilcCommandCb from silccommand.h.
-
- o All payload test routines into lib/silccore/tests/.
-
-
-lib/silcclient, The Client Library
-==================================
-
- o UDP SILC connection support to SILC server
-
- o Giving WHOIS for nick that doesn't exist should remove any same
- named entries from the client cache.
-
- o peer-to-peer private messages
-
- o Private message key request notification to application. See XXX in
- client_prvmsg.c.
-
- o in JOIN notify handle resolving that timedout. Currently the user is
- never joined the channel if this happens. What to do if message is
- received from user that hasn't been resolved/joined?
-
- o Add the SilcStream (socket stream) from the SilcPacketStream and
- SilcSocket from the socket stream to SilcClientConnection for easier
- access to them for programmers. Currently these have to be digged up
- from the packet stream.
-
- o Connection option that attemps to connect to remot host with various
- different mechanisms: UDP 706, TCP 706, TCP 80, TCP 443, UDP 7706 and
- TCP 7706. This is the so called hole punching mechanism.
-
- o Message ACKing support.
-
- o in /cmode and /cumode with +r, maybe the public key and private key
- could be just some "string", which would then match to "string.pub" and
- "string.prv".
-
- o If the SILC Events (see below) are implemented, perhaps client library
- should provide events so that application developer has a choice of
- developing the SILC app with callbacks or with events.
-
- o Ability to recover from rekey errors, at least try to.
-
-
-Runtime library, lib/silcutil/