This is a Roadmap meant to communicate with people the status of MiniWebsvr.

  • Completed items
  • Items not done yet
  • Partial implementation

0.04 Released (Jan 1 2007) → First LGPL release
  • Add support for HEAD
  • Add support for OPTIONS
  • Harden server by preventing buffer-overflow vulnerabilities
  • Add support for Conditional GET's (If-Modified-Since)
  • Add support for command-line options
0.05 Released (Jan 18 2007)
  • Port to UNIX sockets
  • Add support for range-bound downloads (Support Resume)
0.0.6 Released (Feb 9 2007)
  • Implement fixed-size thread pool(PThreads implementation only)
0.0.7 Released (Mar 10 2007)
  • Implement custom default index
  • Optional disabling of directory listing,reporting of name and version & logging
0.0.8 Released (May 28 2007)
  • Error checking with errors and/or warnings for command-line options
  • Under Win32 architectures you could hijack the port the server listens on - Fixed
  • Short versions of command-line parameter options
  • FreeBSD support
  • Large files (>2GB) support
0.0.9 Released (Aug 22 2007)
  • Fixed off-by-one buffer overflow/underflow problem
0.0.9a Released (Nov 20 2007)
  • Config system (Optional config file)
  • Implement XML parser for Config system
  • Running as service for Win32 version
  • Configurator GUI for Win32 version
  • Installer for Win32 version
  • Add vhost support (For HTTP/1.0 and HTTP/1.1)
Requirements for 0.1.0 met (Beta)
Version 0.1.0 should have a feature set to be a complete static content server
  • Implement self-adjusting size thread pool
  • Add support for Pipelining (In a safe, compliant way)
  • Port to Library
  • Provide sample application to replace stand-alone server
  • Implement XML Generator
    • Implement Directory Listing using XML Generator
    • Re-implement string handling to suit
  • Add preliminary HOOK support Need to revise if this is wise, a VFS might work much more elegantly
Requirements for 0.2.0 met (Stable)

At this stage we plan to do the next round of unstable code changes.

Features that we intend to implement, but have not given it much thought (as it is quite a bit into the future):
  • The configuration can be pushed from the app or have its own handlers to read conf files.
  • This library provides you with HOOKS, into the server, so you can write your own functions that will override some functionality
    • HOOK to override the default directory listing func
    • HOOK to call a func with given parameters when a certain resource (file) is called
    • HOOK to define fixed-content, and maybe even override disk IO with some VFS (so you can serve static content out of your own bundled resource file or a DB, etc...)
    • HOOK to override a whole directory, and that returns the sub-path and parameters to a func
  • POST support
  • PUT support
  • DIGEST authentication support
  • Users
  • Content-Encoding: gzip