Commit Graph

385 Commits

Author SHA1 Message Date
Emil Mikulic
89af6956e2 Fix timeouts to close connections. 2018-12-10 21:03:17 +11:00
Emil Mikulic
dcb89f3d0f Add helper script for opening sockets until they run out. 2018-12-10 01:10:19 +11:00
Emil Mikulic
c2fbca8d5a If accept() fails, don't exit.
Temporarily stop accept()ing if we ran out of fds.

Suggested by: Bert Gijsbers
2018-12-10 00:29:51 +11:00
Emil Mikulic
bdae96c653 Switch make_safe_url() to more efficient implementation.
Contributed by: Bert Gijsbers
2018-12-09 23:44:36 +11:00
Emil Mikulic
5f519fec8d Add make_safe_url_new()
Contributed by: Bert Gijsbers
2018-12-09 23:44:33 +11:00
Emil Mikulic
6b91b9dc05 Add LLVM fuzzer. 2018-12-09 23:13:17 +11:00
Emil Mikulic
aad4574163 Bounds check first.
Found with: cppcheck
2018-12-09 22:40:29 +11:00
Emil Mikulic
41b68476c3 [ darkhttpd 1.12 release ] 2016-01-28 01:16:20 +11:00
Emil Mikulic
6acf37e879 Build with warnings. 2016-01-28 01:06:08 +11:00
Emil Mikulic
15eda67214 Fix IPv6 memory corruption crash on FreeBSD.
getsockname() into addrin6 instead of addrin when ipv6 is requested.
2016-01-28 01:06:08 +11:00
Emil Mikulic
485ebd1a20 Run tests under msan. 2016-01-28 00:41:34 +11:00
Emil Mikulic
26e7adea15 Add asan and ubsan to tests, watch stderr. 2016-01-24 16:39:32 +11:00
Emil Mikulic
27c899c165 Obvious %lld -> %llu correction.
Caught with cppcheck.
I have no idea why it wasn't caught earlier.
2016-01-23 20:13:17 +11:00
Emil Mikulic
ae676feaeb Add Makefile for tests and cleaning up. 2016-01-23 20:11:30 +11:00
Emil Mikulic
3478d24419 Make the output more obvious. 2016-01-23 20:10:10 +11:00
Emil Mikulic
112f1ccb92 Test builds with different defines. 2016-01-23 20:08:02 +11:00
Emil Mikulic
f913e17125 Rename "cover" to "run-tests" 2016-01-23 20:05:02 +11:00
Emil Mikulic
26129431b9 Be explicit if the binary was built without IPV6 support.
Fix the number of newlines involved.
2016-01-23 19:57:23 +11:00
Emil Mikulic
2ced9cac51 Try to build with IPv6 by default. 2016-01-23 19:55:33 +11:00
Emil Mikulic
79475170b2 Bump copyright year. 2016-01-23 19:54:07 +11:00
Emil Mikulic
0ee2971740 Catch up to clang changes. 2016-01-14 00:57:42 +11:00
Emil Mikulic
ea93b88e62 Move HAVE_INET6 guards to avoid the appearance of functions that don't return.
Fixes GCC warnings.
2016-01-13 20:24:36 +11:00
Emil Mikulic
24fa3798b2 Explicitly cast getpid() result to int.
This placates cppcheck.
2016-01-13 20:18:30 +11:00
Emil Mikulic
955762645d Tidy up UTF-8 after merge. 2016-01-13 20:04:29 +11:00
Emil Mikulic
4d34abd3c9 Merge branches with UTF-8 changes. 2016-01-13 20:00:44 +11:00
Alexey
9205377852 I added utf-8 in your code: "Content-Type: text/html; charset=utf-8\r\n"
(in few places)
2016-01-13 19:59:40 +11:00
Stephen Zhang
26785ceafe Add '<meta charset="utf-8"/>' to the html header
I think most non-English user would need it to fix error encoding in displaying
file name in the web page.
2016-01-13 19:56:23 +11:00
Hugh Wang
4edc50c42f Use UTF-8 as the encoding for directory listing. 2016-01-13 19:53:14 +11:00
Emil Mikulic
853a6af62d Indent, add dir, allow inconclusive. 2016-01-11 00:32:15 +11:00
Hugh Wang
72159c5010 Add support for IPv6. 2015-12-20 21:59:20 +08:00
Emil Mikulic
02b02a7615 Check the bound first.
Found with cppcheck.
2015-05-20 00:06:59 +10:00
Emil Mikulic
1c5fdb5607 Escape URLs according to RFC3986.
Previously, we weren't escaping parentheses when generating directory listings.

Pointed out by: Wijatmoko U. Prayitno
2015-05-19 22:04:39 +10:00
Emil Mikulic
c4c0034242 Add --default-mimetype flag. 2015-05-19 21:40:26 +10:00
Emil Mikulic
e9aeaba7fe Add test for --no-listing. 2015-05-19 21:30:59 +10:00
Emil Mikulic
fc8e127bb7 Fix memory leak. 2015-05-19 21:17:42 +10:00
Christian Hesse
6564a65dfa mention --forward-all in help output
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-05-19 21:04:02 +10:00
Christian Hesse
03f4c1f390 add option to deny directory listing
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-05-19 21:02:58 +10:00
Emil Mikulic
4e726692f4 [ darkhttpd 1.11 release ] 2015-01-01 22:42:44 +11:00
Emil Mikulic
aa8046a5a1 Remove unused var, add casts to str_to_num() calls. 2015-01-01 22:41:35 +11:00
Emil Mikulic
49ad7a0421 Call setgroups() before setgid() to drop supplementary groups.
See also: https://www.securecoding.cert.org/confluence/display/seccode/POS36-C.+Observe+correct+revocation+order+while+relinquishing+privileges
2015-01-01 22:22:41 +11:00
Emil Mikulic
03a22661a0 Test keepalive. 2015-01-01 22:18:10 +11:00
Emil Mikulic
de92584da1 Add TestHelper.get() 2015-01-01 21:47:59 +11:00
Emil Mikulic
81b1bcbd74 Test for unreadable directory (can't generate listing). 2015-01-01 21:20:08 +11:00
Emil Mikulic
d5bd7558f4 Make str_to_num() check for ERANGE, use it instead of atoi(). 2015-01-01 21:00:57 +11:00
Emil Mikulic
4c8b1e22f3 chomp() isn't needed because read_line() strips [cr]lf. 2015-01-01 20:38:38 +11:00
Emil Mikulic
6e1f045393 Test resize in appendl(). 2015-01-01 20:35:37 +11:00
Emil Mikulic
946a910935 Test 404 and 403. 2015-01-01 20:32:52 +11:00
Emil Mikulic
456bbfcde6 Test CRLF handling in read_line(). 2015-01-01 20:17:03 +11:00
Emil Mikulic
72c5539412 When testing, build with -DDEBUG. 2015-01-01 18:32:01 +11:00
Emil Mikulic
4bf0ef5896 Zero slashes should be impossible here. 2015-01-01 18:26:35 +11:00