1 These are all examples of how you can use the Vstr library, they are often 2centered around IO (as that's the main design of the library) but some show 3features like custom formatters. 4 They all require a POSIX like environment ... although the library should 5happily work on win32 etc. 6 7 All code in this dir. is also under the LGPL, not the GPL. 8 9 NEW 10 11 ex_dnsd 12 13 ex_relay 14 15 ex_bt 16 17 18 CHANGES 19 20 ex_utils 21 22 Allow '-' filename, for stdin 23 24 25 evnt 26 27 allow groups, make Evnt smaller (moveout cb's/conf to group data) 28 have enumeration bind, Ie. bind to each IP address ... 29 helps for testing recv socket. 30 31 32 cntl 33 Remove race when multiple commands are done from multiple connections. 34 timeout's for connections 35 36 37 vlg 38 syslog restart ... tst. 39 40 41 ex_sock_filter 42 43 All asm calls should have names 44 45 46 ex_dir_list2html 47 48 Should produce sort by size 49 Should produce sort by mtime 50 Should produce sort by reverse (6 html pages in all?) 51 Output mtime column 52 Keep netstr list for mime: application/dir-list ? 53 54 55 opt_serv 56 57 conf 58 max timeout for keep-alive 59 limiting IO 60 easyish to do per proc. 61 not to easy to do multi proc. ... need to pass data/connections 62 Already fucked with limit connections 63 64 65 ex_httpd 66 67http://www.sans.org/top20/#u2 68 69 man page 70 Allow req_conf to have matches (maybe (match-allow [] ...) ?) 71 Match needed for different ETags for content neg. 72 allow turn off shutdown() 73 Fix req_conf_err (full pathname, uses 404 for conf and 404.html) 74 test secure dirs, conf + main 75 test useable dirs, conf + main 76 77 Allow none 78 Redirect for non-canonical URLs (Ie. %61 used) -- like %2e/%2f fixup 79 mime_types speed, by having explicit filename/ext matches 80 nice() 81 public/symlinks path checking 82 allowdev - http://www.arctic.org/~dean/apache/1.3/mod_allowdev.c 83 fd cache 84 stat cache 85 conf 86 allow setting socket options? 87 Location: + custom error files? 88 memory allocation errors == 503 for conf? 89 auth token-file cdb /path - allows multiple user/pass 90 Delta encoding: http://www.ietf.org/rfc/rfc3229.txt 91 http://bobwyman.pubsub.com/main/2004/09/implementations.html 92 limit location/content-location somehow ? 93 Support charset/accept-charset (appended to text/* Content types) 94 Support default 95 Support per file. -- http://www.w3.org/TR/chips/ 96 Random extra headers 97 406 error file per. request 98 Have more match types, so we can change policy for early parts of 99 request processing. 100 Allow req_conf to change to a defined set of policies 101 Allow policy limiting of what "commands" req_conf can do. 102 userdirs? - problem due to getpwnam() braindamage 103 IP_TOS && IP_RECVTOS 104 Child dies in --procs, when sent SIGCONT after SIGTSTP or SIGSTOP 105 C-z fg 106 jhttpd -> vstr-httpd? 107 ipv6 108 edge triggered events 109 FreeBSD sendfile 110 FreeBSD kqueue 111 112 BUGS? 113 GMT time convertion isn't done ... fuck the broken apps. 114 CRLF should be done as (CR)?LF ... fuck the broken apps. Although we 115 check for response splitting. 116 117 tst 118 119 LFS 120 half response splitting requests 121 mtime in future 122 too many clients 123 getopt: 124 daemon, chroot, drop-privs 125 signals 126 mmap failure 127 seek failure 128 sendfile failure 129 mem failure 130 131