make it compile on mingw32.
[silc.git] / TODO
diff --git a/TODO b/TODO
index 6b95e0b9f2b6d23228866714e011e3cbd7ad7550..75f219f1e16414625d628a6785840c860eda6cc6 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,11 @@
 TODO/bugs in Irssi SILC client
 ==============================
 
- o Fix the silc_channels_join to parse the command like, with fe.
-   silc_parse_command_line, because currently it ignores all options,
-   including passphrase which makes autojoin impossible to +a channels.
-   Other important options are ignored too.
+ o Does not show ops and normal users on JOIN correctly, perhaps some
+   theme issue (Fix this to 0.8.x).
 
- o Add local command to switch the channel's private key when channel has
-   several private keys.  Currently sending channel messages with many
-   keys is not possible because changing the key is not possible by the
-   user.
-
- o /cumode for unknown nick does not give any error message.
+ o /cumode for unknown nick does not give any error message (Fix this to
+   1.0).
 
 
 TODO/bugs In SILC Client Library
@@ -20,7 +14,8 @@ TODO/bugs In SILC Client Library
  o The PRIVATE_MESSAGE_KEY packet is not handled (it is implemented 
    though).  This should be added and perhaps new client operation
    should be added to notify application that it was received and
-   set the key only if application wishes to set (accept the key) it.
+   set the key only if application wishes to set (accept the key) it
+   (Do this to 1.0).
 
  o Additions to do after protocol version 1.1:
 
@@ -35,39 +30,36 @@ TODO/bugs In SILC Client Library
 TODO/bugs In SILC Server
 ========================
 
- o Configuration file additions:
-
-       o Add version handling, to allow, disallow certain versions to
-         connect.
+ o Configuration file additions (Do this to 0.8.x):
 
        o Add incoming connection frequency, incoming connection frequency
          for single IP address, key exchange frequency, key exchange
          frequency for single IP. Add also frequency base.
 
-       o Add hashed passwords to config file.
-
-       o Add rehashing support.
-
  o If server send CUMODE_CHANGE notify (like setting founder) to router
    and router does not have founder on channel (founder is left or there's
    no founder on channel at all), the router will accept the server's
-   founder mode change, even though it perhaps should not do that.
+   founder mode change, even though it perhaps should not do that (Fix 
+   this to 0.9).
 
  o The router should check for validity of received notify packets from
-   servers (after all buggy servers may send notify that is actually
-   something that should have not been sent).
+   routers (fix this to 0.9).  Following NOTIFYs needs to be verified:
+
+       o JOIN (check that joining is allowed)
+       o SIGNOFF (maybe should check that notifier owns the client)
+       o KILLED (check that killling is allowed (Protocol TODO #13))
+
+ o Backup router related issues (Fix this to 1.0):
+
+       o Channel user mode changes are notified unnecessarely when
+         switching to backup router on router crash.
 
  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.
-
- o Backup router related issues
-
-       o Channel user mode changes are notified unnecessarely when
-         switching to backup router on router crash.
+   to everybody on the channel (Fix this to 1.0).
 
  o Lots of statistics updating is missing around the server.
 
@@ -79,54 +71,28 @@ TODO/bugs In SILC Server
 TODO/bugs In SILC Libraries
 ===========================
 
- o Fix possible buffer overflows in silc_id_render function.
-
  o WIN32 silc_net_create_connection_async does not work the same way
    than on Unix.  Do it with threads on WIN32.  The function works but
-   is not actually async currently.
+   is not actually async currently (Fix this to 1.0).
 
- o Rewrite the lib/silcsim/silcsim.h.  The SilcSimContext should be
-   private and silc_sim_alloc should take necessary arguments.
 
- o SILC RNG does not implement random seed files, and they should be
-   implemented.
-
- o The SilcSocketConnection in the SFTP interface is actually redundant
-   and should perhaps be removed.  The application can save it in the
-   context it provides, which is delivered by SFTP libary to all 
-   callback functions.
-
- o EPOC specific additions/changes required:
-
-       o lib/silcutil/epoc routines missing or not completed.
-
-       o Rewrite the lib/silcutil/silcprotocol.[ch] not to have 
-         [un]register functions, but to make it context based all the 
-         way.  The alloc should take as argument the protocol type and 
-         its callback (not only final callback).  It is not good that we 
-         have now global list of registered protocols.
+TODO in Toolkit Documentation
+=============================
 
-       o Global RNG should not be allowed on EPOC, since it won't
-         work.  Every function in library that calls the global RNG must
-         also take the RNG context as argument so that application can
-         provide it if it doesn't want to use global RNG.
+Stuff that needs to be done in order to complete the Tooolkit Reference
+Manual (Do these to 0.9 and 1.0).
 
-       o Think some solution to the global crypto lists in lib/silccrypt.
-         They won't work on EPOC.
+ o ROBOdoc documenting missing from lib/silcutil/silcbuffer.h.
 
-       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 ROBOdoc documenting missing from lib/silcutil/silcdlist.h.
 
+ o ROBOdoc documenting missing from lib/silcutil/silcfileutil.h.
 
-TODO in Toolkit Documentation
-=============================
+ o ROBOdoc documenting missing from lib/silccrypt/silchash.h.
 
-Stuff that needs to be done in order to complete the Tooolkit Reference
-Manual.
+ o ROBOdoc documenting missing from lib/silccrypt/silccipher.h.
 
- o Lots of ROBOdoc header formatting is undone in lib/silcutil, and 
-   lib/silccrypt.
+ o ROBOdoc documenting missing from lib/silccrypt/silcpkcs.h.
 
  o Write "Programming with Toolkit" document, describing how to build
    Toolkit, how the build system works, where is everything, how
@@ -136,7 +102,7 @@ Manual.
 
  o Write "Platform Implementations" document to describe what platforms
    Toolkit support, what has been implemented, what has not been, what
-   wors differently etc.
+   works differently etc.
 
 
 TODO in SILC Protocol
@@ -212,3 +178,19 @@ describe new stuff to be added to protocol versions 1.x.
  10. Check command reply error status types in various commands,
      specifically NO_FOPRIV is missing from many commands.  To be 
      included in protocol version 1.1.
+
+ 11. Change the wording in Private Message Key Payload definition to
+     describe the problems of trusting the payload, and to indicate that
+     the receiver may not accept the key in the payload, and to describe
+     other means of distributing a key.
+
+ 13. Add the killer's client ID to the KILLED notify.  To be included in 
+     protocol version 1.1.
+
+ 14. The length of Arguments Num field in Notify Payload and Command
+     Payload enforces that total of 256 arguments can be associated
+     to a such payload.  However, command-xx draft specified much higher
+     values, and these should be fixed.
+
+ 15. The LEAVE command reply should return the Channel ID of the channel
+     that was parted.