Commit Graph

159 Commits

Author SHA1 Message Date
5ab0496a9b Call tzset() during initialization.
truss output suggests this isn't enough to load posixrules (UTC leap
seconds data) which happens only after the first request.  =(
2013-04-28 19:56:51 +10:00
3ed2762831 Another state transition optimization:
Go from send_header straight to send_reply.
2013-04-28 19:56:51 +10:00
844dcc6b9d Another state transition optimization due to NBIO:
Go from recv_request to send_header without visiting select()
2013-04-28 19:56:51 +10:00
ba91f1cdb3 After accepting a connection, attempt a read straight away instead of
going through an iteration of the select() loop.
2013-04-28 19:56:50 +10:00
f3ce5d1eb9 Don't just SETFL O_NONBLOCK, first GETFL. 2013-04-28 19:56:50 +10:00
b86889f027 %Z gives UTC. Apache uses GMT instead, and wget complains about an
invalid header when it sees UTC, so switch.
2013-04-28 19:56:50 +10:00
14d0ca9ac7 Get the constness right. 2013-04-28 19:56:50 +10:00
625dc5e473 - In decode_url()
- Use '\0' instead of 0 to hint that it's in a character context.
  - Don't realloc - this wastes more time than it saves memory.
- Don't forget to free decoded url if it's found to be unsafe!
2013-04-28 19:56:50 +10:00
ccea5116b5 Restore a check I shouldn't have removed.
We now pass all our tests again.
2013-04-28 19:56:50 +10:00
4b90b875c6 Adapt make_safe_uri() to work in-place.
We're currently failing some tests.
2013-04-28 19:56:50 +10:00
97ce3cb5d0 Turn up the debugging and warnflags. 2013-04-28 19:56:50 +10:00
dc63087421 Test for consolidate_slashes() too. 2013-04-28 19:56:50 +10:00
d7707a9216 Remember to free memory. 2013-04-28 19:56:50 +10:00
a0afb2cc8b Add tests for make_safe_uri. 2013-04-28 19:56:50 +10:00
e6c8b820fd Rename warnflags to debug-build and add debugging and torture defines. 2013-04-28 19:56:50 +10:00
6d24c697b1 Request a bigger file -> more testing. 2013-04-28 19:56:50 +10:00
af7d21c31e Torture test: send and recv one byte at a time to make sure darkhttpd's
buffering is up to scratch.
2013-04-28 19:56:50 +10:00
ab1204f700 Implement (optional, compile-time) shrinking of send buffer for torture tests. 2013-04-28 19:56:50 +10:00
94d3403c2e Remove the pidfile_path assertion entirely.
Its name changed but I didn't notice because I didn't do any DEBUG builds.
2013-04-28 19:56:50 +10:00
b307616f3d Fix some GCC warnings.
Pointed out by: Brian Lewis <bsl04@uark.edu>
Pointed out on: Wed, 27 Sep 2006 15:46:26 -0500
2013-04-28 19:56:50 +10:00
de03d20958 Need some release engineering reminders after I failed to update the pkgname
when I released v1.4.
2013-04-28 19:56:50 +10:00
4a405e36b1 Walking through the code - correct some comment typos. 2013-04-28 19:56:50 +10:00
c2ff18a157 [ darkhttpd-1.4 release ]
Fix a segfault in log_connection() that happens when the incoming
request is too long.

(Forgot to bump the version)
2013-04-28 19:56:50 +10:00
c9947250f2 [ darkhttpd-1.3 release ]
Also remove an unused variable.
2013-04-28 19:56:50 +10:00
868c1ed1da Don't need libutil anymore. 2013-04-28 19:56:50 +10:00
572eed9e3a Add example of --dameon and --pidfile to README. 2013-04-28 19:56:50 +10:00
953a93d2fc Import pidfile helpers and cut them down to just the pieces we need. 2013-04-28 19:56:50 +10:00
c3166bf1d0 Implement warn() 2013-04-28 19:55:48 +10:00
2d4fbd38cd Implement daemonize. 2013-04-28 19:55:48 +10:00
cad637254a Add mimetypes, sort them, remove lots of whitespace from the middle. 2013-04-28 19:55:48 +10:00
ff152e87ef Update copyright years. 2013-04-28 19:55:36 +10:00
25eea59af9 We need libutil on BSD now. 2013-04-28 19:44:12 +10:00
258d54ed8c You don't "usually" need root privs for chroot(), you always do. 2013-04-28 19:44:12 +10:00
4fed6d0665 Implement --pidfile and move clean shutdown into main() 2013-04-28 19:44:12 +10:00
42833fb312 Fix build on FreeBSD by spelling "sockin" correctly.
This has been outstanding for a long time.
2013-04-28 19:44:12 +10:00
6c1922391f Answer requests that end in \n\n as well as the more pedantic \r\n\r\n 2013-04-28 19:44:12 +10:00
bea398d629 Add support for sendfile() on Solaris. 2013-04-28 19:44:12 +10:00
49fb5f3fbf Fix fallback on platforms that don't have sendfile()
It was quite badly broken.
2013-04-28 19:44:12 +10:00
2ca3cef4a3 [ darkhttpd-1.2 release ] 2013-04-28 19:44:12 +10:00
666d9b3355 Instructions, not prompts. 2013-04-28 19:44:12 +10:00
3829ceade8 Fix (unsigned < 0) comparison. 2013-04-28 19:44:12 +10:00
74fcaf5859 safefree -> free 2013-04-28 19:44:12 +10:00
dfe896357a Fix debugf mess. 2013-04-28 19:44:12 +10:00
b50b4f1c5a Fix signed-unsigned comparison. 2013-04-28 19:44:12 +10:00
5cf2862f08 Manually inline acceptfilter code to remove unused arg warning on
non-FreeBSD platforms.
2013-04-28 19:44:12 +10:00
e624dbbe02 Fix err and debugf warnings. 2013-04-28 19:44:12 +10:00
91fcb80e4a Adjust copyright and license. 2013-04-28 19:44:12 +10:00
d545127600 Track requests and bytes transferred statistics. 2013-04-28 19:44:12 +10:00
c4f78a124c [ darkhttpd-1.1 release ]
Make the Makefile work with Solaris make(1S)
2013-04-28 19:44:12 +10:00
27a35821a1 wwwroot = strdup(argv[1]) so we don't end up stripping the only existing
slash out of the commandline shown by ps(1).  And free it on shutdown.
2013-04-28 19:44:12 +10:00