A minimal but flexible directory listing server
Find a file
Laslo Hunhold cb7a1f6390
Replace off_t with size_t
While off_t might be better suited for file-offsets and -sizes, the
IEEE Computer Society was unable to mandate limits (min, max) for it
in the POSIX specification in the last 32 years. Because it's impossible
to portably determine these numbers for signed integers, I decided
to switch to size_t for the offsets to be able to pass proper values
to strtonum(), because C99 is sane and has defined limits for size_t
(i.e. SIZE_MIN and SIZE_MAX).

On my system, long long and off_t have the same size, so it didn't
trigger any bugs, but strtonum() could pass a bigger number to
lower and upper than they can handle and make them overflow.

The rationale for switching to size_t is actually given by the fact that
functions like mmap() blur the border between memory and filesystem.
Another point is that glibc has a horrible define _FILE_OFFSET_BITS
you need to set to 64 to actually get decent values for off_t, which
was a huge headache in sbase until we found that out.

Signed-off-by: Laslo Hunhold <dev@frign.de>
2020-08-05 18:59:55 +02:00
arg.h Correct arg.h license 2018-07-16 11:49:51 +02:00
config.def.h Specify UTF-8 for non-binary content-types 2019-01-02 17:04:23 +01:00
config.mk Be extra pedantic again and remove all warnings 2018-03-05 00:30:53 +01:00
http.c Replace off_t with size_t 2020-08-05 18:59:55 +02:00
http.h Ensure const-correctness where possible and refactor parse_range() 2020-08-05 18:28:21 +02:00
LICENSE Use timegm() instead of mktime() to generate UNIX-timestamp 2020-07-23 16:48:34 +02:00
main.c Ensure const-correctness where possible and refactor parse_range() 2020-08-05 18:28:21 +02:00
Makefile Refactor the single source file into multiple modules 2018-02-04 21:27:33 +01:00
quark.1 Make host parameters optional 2020-04-21 17:04:52 +02:00
resp.c Replace off_t with size_t 2020-08-05 18:59:55 +02:00
resp.h Replace off_t with size_t 2020-08-05 18:59:55 +02:00
sock.c Ensure const-correctness where possible and refactor parse_range() 2020-08-05 18:28:21 +02:00
sock.h Ensure const-correctness where possible and refactor parse_range() 2020-08-05 18:28:21 +02:00
util.c Refactor response-generation 2020-08-05 13:41:44 +02:00
util.h Refactor response-generation 2020-08-05 13:41:44 +02:00