1 TODO for Irssi SILC Client 1.0
2 ==============================
4 o Testing - See test plan:
5 http://silcnet.org/docs/silc-client-1.0-test.pdf
6 http://silcnet.org/docs/silc-client-1.0-test.ps
9 TODO for SILC Server 1.0
10 ========================
12 o Backup router testing
15 - (1) primary goes down (works)
16 - (2) server(s) looses primary, but backup doesn't
17 - Works, if the primary sends SERVER_SIGNOFF to backup for the
18 the signoffed servers it will disconnect them. The servers
19 will reconnect to primary, no desync. If primary sends ping
20 back (before SERVER_SIGNOFF) the backup returns failure to
21 server. Server resends START_USE, and same repeats. Either
22 the SERVER_SIGNOFF is received or the server disconnects from
23 backup, and reconnects to primary.
24 - (3) server looses primary, but backup doesn't, but ping timeouts
26 - Works, the backup will be primary, server will notice it and
27 network works. When the backup gets connection back to primary,
28 primary will reject resuming. Backup switches back to backup
29 router. Server timeouts, disconnects and reconnects to primary
31 - (4) backup looses primary, but server(s) doesn't
32 - Works, the backup is in desync. When backup connects back to
33 primary it attempts to execute the resuming. The primary will
34 reject this. The backup accepts it and resumes as backup
35 router, no desync. Servers get the backup resuming protocol
36 but it will timeout, and no other action is taken. No desync in
38 - (5) server looses primary, backup crashes
39 - Works, the server will attempt to reconnect to the primary
40 and backup. Server will be cut from rest of the network.
41 - (6) server looses primary, backup doesn't, rejects server's use,
42 then backup looses primary
43 - Same as (2), (3), if primary crashed, normal resuming occurs.
46 - (1) normal resuming (works)
47 - (2) backup crashes during resuming
48 - Works, no desync in router or server. Server reconnects to
49 the router to avoid desync in server.
50 - (3) primary crashes during resuming
51 - Works, no desync in backup or server. Backup handles crash
52 during first contact, during resuming and immediately after.
53 Server handle crash during first contact, after contact and
54 immediately after. In case of error server fallbacks to the
55 backup router. If backup rejects fallback, server disconnects
56 and reconnects to both backup and primary.
57 - (4) a server crashes during resuming (multiple servers present)
58 - Works, no desync in backup or servers. The backup restarts the
59 protocol after timeout. After that the protocol executes
60 quickly since all other servers are already connected to the
61 primary. While waiting restart servers fallback to the
63 - (5) server can connect to primary but cannot communicate
64 - Works, no desync in server. The server notices that the
65 protocol did not succeed, and verifies from backup whether it
66 can be used still. If backup refuses the server reconnects
67 to the primary router.
68 - (6) backup can connect to primary but cannot communicate
70 - (7) primary won't communicate with server
72 - (8) primary won't communicate with backup
74 - (9) backup cannot communicate with server
75 - Works, no desync in backup or servers. The backup restarts the
76 protocol after timeout. This happens as long as the protocol
77 is executed successfully. Primary can communicate through the
78 backup during this. Servers fallback to backup after timeout
79 occurs and waits for new resuming. If the server never answers
80 anything to backup (but is up) then resuming lasts for ever,
81 until the server is either removed from network or starts
82 communicating. However, this does not cause network desync.
83 - (10) server cannot communicate with backup
87 JOIN, TOPIC_SET, CMODE_CHANGE, CUMODE_CHANGE, CHANNEL_CHANGE,
88 UMODE_CHANGE, INVITE, BAN (rest of the notifys does not apply, no
91 - Communication (works)
92 - Test communication during switching, after switching, during
93 resuming and after resuming.
98 TODO/bugs In SILC Libraries
99 ===========================
101 o Test cases for all cryptographic primitive in lib/silccrypt/
103 o Test cases for all payload encoding and decoding routins in lib/silccore/
105 o Test cases for math library routines in lib/silcmath/
108 TODO in Toolkit Documentation
109 =============================
111 Stuff that needs to be done in order to complete the Tooolkit Reference
112 Manual (Do these to 0.9.x).
114 o Write "Programming with Toolkit" document, describing how to build
115 Toolkit, how the build system works, where is everything, how
116 new (external) projects can be glued into Toolkit (use irssi as an
117 example), and how external projects can use Toolkit without gluing into
118 it (how to link etc), debugging, architecture, types, etc.
120 o Searching of predefined keywords, exact and partial matches (would be