updates
[silc.git] / TODO
1 TODO/bugs in Irssi SILC client
2 ==============================
3
4  o /cumode for unknown nick does not give any error message (Fix this to
5    1.0).
6
7
8 TODO/bugs In SILC Client Library
9 ================================
10
11  o The PRIVATE_MESSAGE_KEY packet is not handled (it is implemented 
12    though).  This should be added and perhaps new client operation
13    should be added to notify application that it was received and
14    set the key only if application wishes to set (accept the key) it
15    (Do this to 1.0).
16
17  o Add SilcStatus to `command' client operation and return common
18    error statuses to the client operation.
19
20  o Remove conn->current_channel.
21
22  o Additions to do after protocol version 1.1:
23
24         o Add support for list of errors in command replies.  Protocol
25           TODO entry 1.
26
27
28 TODO/bugs In SILC Server
29 ========================
30
31  o Configuration file additions (Do this to 0.8.x):
32
33         o Add incoming connection frequency, incoming connection frequency
34           for single IP address, key exchange frequency, key exchange
35           frequency for single IP. Add also frequency base.
36
37  o If server send CUMODE_CHANGE notify (like setting founder) to router
38    and router does not have founder on channel (founder is left or there's
39    no founder on channel at all), the router will accept the server's
40    founder mode change, even though it perhaps should not do that (Fix 
41    this to 0.9).
42
43  o The router should check for validity of received notify packets from
44    routers (fix this to 0.9).  Following NOTIFYs needs to be verified:
45
46         o JOIN (check that joining is allowed)
47         o SIGNOFF (maybe should check that notifier owns the client)
48
49  o Backup router related issues (Fix this to 1.0):
50
51         o Channel user mode changes are notified unnecessarely when
52           switching to backup router on router crash.
53
54  o Add a timeout to handling incoming JOIN commands.  It should be 
55    enforced that JOIN command is executed only once in a second or two
56    seconds.  Now it is possible to accept n incoming JOIN commands
57    and process them without any timeouts.  THis must be employed because
58    each JOIN command will create and distribute the new channel key
59    to everybody on the channel (Fix this to 1.0).
60
61  o Lots of statistics updating is missing around the server.
62
63  o If client's public key is saved in the server (and doing public key
64    authentication) then the hostname and the username information could
65    be taken from the public key.  Should be a configuration option!
66
67
68 TODO/bugs In SILC Libraries
69 ===========================
70
71  o WIN32 silc_net_create_connection_async does not work the same way
72    than on Unix.  Do it with threads on WIN32.  The function works but
73    is not actually async currently (Fix this to 1.0).
74
75
76 TODO in Toolkit Documentation
77 =============================
78
79 Stuff that needs to be done in order to complete the Tooolkit Reference
80 Manual (Do these to 0.9 and 1.0).
81
82  o ROBOdoc documenting missing from lib/silcutil/silcbuffer.h.
83
84  o ROBOdoc documenting missing from lib/silcutil/silcdlist.h.
85
86  o ROBOdoc documenting missing from lib/silcutil/silcfileutil.h.
87
88  o ROBOdoc documenting missing from lib/silccrypt/silchash.h.
89
90  o ROBOdoc documenting missing from lib/silccrypt/silccipher.h.
91
92  o ROBOdoc documenting missing from lib/silccrypt/silcpkcs.h.
93
94  o Write "Programming with Toolkit" document, describing how to build
95    Toolkit, how the build system works, where is everything, how
96    new (external) projects can be glued into Toolkit (use irssi as an
97    example), and how external projects can use Toolkit without gluing into
98    it (how to link etc), debugging, architecture, types, etc.
99
100  o Write "Platform Implementations" document to describe what platforms
101    Toolkit support, what has been implemented, what has not been, what
102    works differently etc.
103
104
105 TODO in SILC Protocol
106 =====================
107
108  2. Define that WHOIS and IDENTIFY commands must send list of errors
109     if multiple Client ID (or Channel ID and Server ID for IDENTIFY) was
110     requested and was not found.  Each unfound entry must cause an error
111     command reply to the sender.  Also define that errors must be sent
112     *after* sending successfully found entries (this way receiver may
113     ignore them).  To be included in protocol version 1.1.
114
115  17. Cell wide channel founder support, and permanent channels when
116      founder mode set.
117
118  21. Subscription/IRC's notify kind support?
119
120  24. Implement the <Requested Attributes> and the Attribute Payload to
121      the core library, client and server.
122
123  25. Disconnect Payload change to include Status Type instead of
124      human readable error message?