Actions
Todo » History » Revision 21
« Previous |
Revision 21/63
(diff)
| Next »
stbuehler, 2009-10-07 21:12
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
- static-file.exclude
- listen to unix sockets
- 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 timeout in duration column like "5/120" ?
- ?format=auto for parsable status polling
- mod_dirlist
- generate stat dirlist/html body async (to allow etag-cache-hit)
- javascript for sorting (from mod_status)
- stat-cache:
- revalidate dirlist entries with stat() after cache hit ?
- purge invalid entries (stat()/open() failed), i.e. remove from hash tables
- check for normal stat entry, stat() and S_ISDIR before queuing dirlist job
- reset ttl after revalidating entries
- limit for hash tables?
- check symlink/symlink-if-owner-match
- 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
Updated by stbuehler about 15 years ago · 21 revisions