Added SILC HTTP Server API
[runtime.git] / TODO
diff --git a/TODO b/TODO
index 4a432c6782316fd6ed3e236daa8233ea87dc7fa7..7ebae882fdd9d13af89fedfae44d8a81d5ab7202 100644 (file)
--- a/TODO
+++ b/TODO
@@ -11,41 +11,24 @@ on some of the TODO entries simply let us know about it by dropping a note
 to silc-devel mailing list or appear on 'silc' channel on SILCNet.
 
 
-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.
+Runtime library, lib/silcutil/
+==============================
 
-   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.
+ o Add SILC Zip API, compression.
 
-   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.
+ o Unix socket support to Socket Stream API (local socket stream).
 
-   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.
+ o file removing, chmod, rmmod, etc. chdir, rmdir, stat, etc. to
+   lib/silcutil/silcfileutil.h.
 
+ o mmap API
 
-Runtime library, lib/silcutil/
-==============================
+ o Multicast support.
 
- o Simple SILC Rand API for pseudo-random numbers.  use SILC Crypto
-   Toolkit for really good random numbers.
+ o Implement silc_get_num_cpu.
 
- o file removing, chmod, rmmod, etc. chdir, rmdir etc. to
-   lib/silcutil/silcfileutil.h.
+ o silc_file_readfile and silc_file_writefile should perhaps do the thing
+   with mmap, as it's probably a bit faster.
 
  o silc_malloc et. al. to respect --with-alignment.
 
@@ -61,6 +44,10 @@ Runtime library, lib/silcutil/
    SILC currently supports SOCKS4 and SOCKS5 but it needs to be compiled
    in separately.
 
+ o Bring silchttp HTTP server library to SRT.  (***DONE)
+
+ o Simple SILC Rand API for pseudo-random numbers.  (***DONE)
+
  o Add directory opening/traversing functions (***DONE, TODO Windows & Symbian)
 
  o regex from /lib/contrib to lib/silcutil, define SILC Regex API. (***DONE)
@@ -141,10 +128,6 @@ Runtime library, lib/silcutil/
    Add silc_stream_get_root and add get_root stream operation.  It
    returns the root of the stream or NULL if stream doesn't have root.) maybe
 
- (o Compression routines are missing.  The protocol supports packet
-   compression thus it must be implemented.  SILC Zip API must be
-   defined.) maybe
-
  (o SilcIpAddr abstraction.  Ipv4 and Ipv6 support to the abstaction.)
   maybe
 
@@ -155,13 +138,35 @@ Runtime library, lib/silcutil/
  (o Fast mutex implementation.  Fast rwlock implementation.  Mutex and
    rwlock implementation using atomic operations.) not for now.
 
- (o mmap) maybe
+
+SILC XML Library, lib/silcxml/
+==============================
+
+ o SILC XML API (wrapper to expat).  Look at the expat API and simplify
+   it.  The SILC XML API should have at most 8-10 API functions.  It should
+   be possible to create full XML parser with only one function.  And, it
+   should be possible to have a function that is able to parse an entire
+   XML document.  It should also have a parser function to be able to
+   parse a stream of XML data (SilcStream).  It MUST NOT have operations
+   that require multiple function calls to be able to execute that one
+   operation (like creating parser).
 
 
-lib/silcutil/symbian/
-=====================
+Windows Support
+===============
+
+
+Symbian OS Support
+==================
 
  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.  The logging currently works
-   by it cannot be controlled, same with debugging.
+   by it cannot be controlled, same with debugging.  SILC Global API
+   MUST be used with all globals on Symbian.
+
+ o gethostname() returns "Function not implemented".  Others may return
+   the same.  We should fix that probably to use RHostResolver and
+   GetHostName().
+
+ o silc_thread_exit should call User::Exit().