Commit Graph

156 Commits

Author SHA1 Message Date
Emil Mikulic
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
Emil Mikulic
f3ce5d1eb9 Don't just SETFL O_NONBLOCK, first GETFL. 2013-04-28 19:56:50 +10:00
Emil Mikulic
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
Emil Mikulic
14d0ca9ac7 Get the constness right. 2013-04-28 19:56:50 +10:00
Emil Mikulic
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
Emil Mikulic
ccea5116b5 Restore a check I shouldn't have removed.
We now pass all our tests again.
2013-04-28 19:56:50 +10:00
Emil Mikulic
4b90b875c6 Adapt make_safe_uri() to work in-place.
We're currently failing some tests.
2013-04-28 19:56:50 +10:00
Emil Mikulic
97ce3cb5d0 Turn up the debugging and warnflags. 2013-04-28 19:56:50 +10:00
Emil Mikulic
dc63087421 Test for consolidate_slashes() too. 2013-04-28 19:56:50 +10:00
Emil Mikulic
d7707a9216 Remember to free memory. 2013-04-28 19:56:50 +10:00
Emil Mikulic
a0afb2cc8b Add tests for make_safe_uri. 2013-04-28 19:56:50 +10:00
Emil Mikulic
e6c8b820fd Rename warnflags to debug-build and add debugging and torture defines. 2013-04-28 19:56:50 +10:00
Emil Mikulic
6d24c697b1 Request a bigger file -> more testing. 2013-04-28 19:56:50 +10:00
Emil Mikulic
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
Emil Mikulic
ab1204f700 Implement (optional, compile-time) shrinking of send buffer for torture tests. 2013-04-28 19:56:50 +10:00
Emil Mikulic
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
Emil Mikulic
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
Emil Mikulic
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
Emil Mikulic
4a405e36b1 Walking through the code - correct some comment typos. 2013-04-28 19:56:50 +10:00
Emil Mikulic
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
Emil Mikulic
c9947250f2 [ darkhttpd-1.3 release ]
Also remove an unused variable.
2013-04-28 19:56:50 +10:00
Emil Mikulic
868c1ed1da Don't need libutil anymore. 2013-04-28 19:56:50 +10:00
Emil Mikulic
572eed9e3a Add example of --dameon and --pidfile to README. 2013-04-28 19:56:50 +10:00
Emil Mikulic
953a93d2fc Import pidfile helpers and cut them down to just the pieces we need. 2013-04-28 19:56:50 +10:00
Emil Mikulic
c3166bf1d0 Implement warn() 2013-04-28 19:55:48 +10:00
Emil Mikulic
2d4fbd38cd Implement daemonize. 2013-04-28 19:55:48 +10:00
Emil Mikulic
cad637254a Add mimetypes, sort them, remove lots of whitespace from the middle. 2013-04-28 19:55:48 +10:00
Emil Mikulic
ff152e87ef Update copyright years. 2013-04-28 19:55:36 +10:00
Emil Mikulic
25eea59af9 We need libutil on BSD now. 2013-04-28 19:44:12 +10:00
Emil Mikulic
258d54ed8c You don't "usually" need root privs for chroot(), you always do. 2013-04-28 19:44:12 +10:00
Emil Mikulic
4fed6d0665 Implement --pidfile and move clean shutdown into main() 2013-04-28 19:44:12 +10:00
Emil Mikulic
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
Emil Mikulic
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
Emil Mikulic
bea398d629 Add support for sendfile() on Solaris. 2013-04-28 19:44:12 +10:00
Emil Mikulic
49fb5f3fbf Fix fallback on platforms that don't have sendfile()
It was quite badly broken.
2013-04-28 19:44:12 +10:00
Emil Mikulic
2ca3cef4a3 [ darkhttpd-1.2 release ] 2013-04-28 19:44:12 +10:00
Emil Mikulic
666d9b3355 Instructions, not prompts. 2013-04-28 19:44:12 +10:00
Emil Mikulic
3829ceade8 Fix (unsigned < 0) comparison. 2013-04-28 19:44:12 +10:00
Emil Mikulic
74fcaf5859 safefree -> free 2013-04-28 19:44:12 +10:00
Emil Mikulic
dfe896357a Fix debugf mess. 2013-04-28 19:44:12 +10:00
Emil Mikulic
b50b4f1c5a Fix signed-unsigned comparison. 2013-04-28 19:44:12 +10:00
Emil Mikulic
5cf2862f08 Manually inline acceptfilter code to remove unused arg warning on
non-FreeBSD platforms.
2013-04-28 19:44:12 +10:00
Emil Mikulic
e624dbbe02 Fix err and debugf warnings. 2013-04-28 19:44:12 +10:00
Emil Mikulic
91fcb80e4a Adjust copyright and license. 2013-04-28 19:44:12 +10:00
Emil Mikulic
d545127600 Track requests and bytes transferred statistics. 2013-04-28 19:44:12 +10:00
Emil Mikulic
c4f78a124c [ darkhttpd-1.1 release ]
Make the Makefile work with Solaris make(1S)
2013-04-28 19:44:12 +10:00
Emil Mikulic
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
Emil Mikulic
e18f533945 . Tell people to use Makefile for building.
. Make a few things clearer by improving examples.
2013-04-28 19:44:12 +10:00
Emil Mikulic
af46f81440 User specifies platform, like mpg123. 2013-04-28 19:44:12 +10:00
Emil Mikulic
108eb4cce3 . Split usage() into many printfs() to keep GCC3 happy about ISO limits.
. Knock out the REPLY_GENERATED length assertion since ap_buf doesn't
  null-terminate strings and it's never been tripped by xasprintf()
  consumers.
. Cast rusage times when printing, and don't print too many zeroes.
2013-04-28 19:44:12 +10:00