Added silc_server_remove_servers_by_server to remove servers
[silc.git] / TODO
1 TODO/bugs in Irssi SILC client
2 ==============================
3
4  o add --with-iconv
5
6  o UTF-8 encode/decode WHOIS userinfos, topic, etc.
7
8  o Testing
9
10
11 TODO/bugs In SILC Client Library
12 ================================
13
14  o The PRIVATE_MESSAGE_KEY packet is not handled (it is implemented 
15    though).  This should be added and perhaps new client operation
16    should be added to notify application that it was received and
17    set the key only if application wishes to set (accept the key) it
18    (Do this to 0.9.x).
19
20  o Testing
21
22
23 TODO/bugs In SILC Server
24 ========================
25
26  o Implement the <Requested Attributes> and the Attribute Payload to
27    the core library, client and server.  Maybe implementations of
28    RFC 2425 and RFC 2426 to make it complete.
29
30  o Add special handling in router and server for "connection timed out"
31    error.  Be optimistic.
32
33  o Backup router related issues (Fix this to 0.9.x):
34
35         o Complete backup router support with standalone router
36
37         o Make the backup router work even if not all servers in the
38           cell use it.  When primary goes down, also those that are
39           not using it (are not connected locally) are signoffed.
40
41           o When primary goes down and removing clients of non-backup
42             aware server the SERVER_SIGNOFF includes the router's ID
43             not the server's ID, which it should include.  The notify
44             is sent by backup.
45
46         o When removing clients by server in signoff, EOF etc, find also
47           the client's real server (based on the Client ID's IP), and
48           remove the server too.
49
50         o Testing
51
52  o Close unconfigured client connections in rehash.
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 0.9.x).
60
61  o If client's public key is saved in the server (and doing public key
62    authentication) then the hostname and the username information could
63    be taken from the public key.  Should be a configuration option!
64
65  o Testing
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 0.9.x).
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.x).
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/silccipher.h.
89
90  o ROBOdoc documenting missing from lib/silccrypt/silcpkcs.h.
91
92  o Write "Programming with Toolkit" document, describing how to build
93    Toolkit, how the build system works, where is everything, how
94    new (external) projects can be glued into Toolkit (use irssi as an
95    example), and how external projects can use Toolkit without gluing into
96    it (how to link etc), debugging, architecture, types, etc.
97
98  o Write "Platform Implementations" document to describe what platforms
99    Toolkit support, what has been implemented, what has not been, what
100    works differently etc.