Todo » History » Revision 15
Revision 14 (stbuehler, 2009-09-06 14:11) → Revision 15/63 (stbuehler, 2009-09-06 14:14)
h1. small todo list
Note: this list is updated every now and then and doesn't necessarily represent the exact state of development. Use it as a rough overview.
* core
** out-of-fd handling should be (only) in the main worker
** ipv6 support (for radix-tree, used for mod_access)
** throttling by ip
** X-Sendfile/X-LIGHTTPD-Send-tmpfile support, maybe new stuff like X-Throttle
** limit request/response header size, request url length
** response parser: accept \n too
* angel
** zero downtime restarts
** log rotation (or use the zero downtime restart?)
** control socket interface
** angel-control util
* log
** scheme:// prefix
** support for pipes
** open log files with angel
** print "startup" (== if logging is disabled) log messages to stderr/angel if the log level target isn't /dev/null
* plugin api
** inter-plugin api
** plugin data per client ip address
*** can be used for bandwidth throttling, limit requests per second, limit concurrent requests etc
*** has to be shared among all workers so locking needed?
*** maybe let main worker do the lookup/removal in a radix tree so no locking needed for that and let plugin make sure it's threadsafe when modifying
* modules
** port remaining modules from 1.x
** add even more innovative modules :)
* mod_status
** show the last request in keep-alive state to make it visible where the client entered that state and maybe show sth. like 23/120, client entered that state 23s ago, will idle away after a total of 120s
* test framework
* build systems
** use shared libraries for common libs
** lighty common libs should probably installed in a default lib directory (/usr/lib), plugins in a subdir
** provide pkg-config for 3rd party module builds
** at least one build system should provide static builds