Commit Graph

137 Commits (b375c53c7d0a4232b85bb8dbad3dfed28a6f7278)

Author SHA1 Message Date
leitner 6a71cd9a91 add libowfat/ to includes
leitner a8fa432152 minimal demonstrator program for iom api
leitner 94feba3667 use write in buffer_put for a slight perf improvement
leitner a4a2aed3de fmt_ip6 was violating rfc5952 section 4.2.2
leitner 14f26729e9 add scan_utf8_sem
add utf8 test suite
leitner 41db97d380 improve json escape decoder, add test suite
leitner a1f1986247 include <foo> -> include "foo"
leitner 7f829a36bc add base64url support
leitner 32a312b8f1 add marshaling code for protocol buffers
leitner 6859c4b6ca add netstring formatter
fix scan_netstring to actually correctly return the length of the transported string
add documentation
leitner 6cfc16fc40 add gcc 5 integer overflow intrinsics support to rangecheck.h
in the process, identify a gnarly problem that was not only not found by
  the test suite, there was a test testing for the wrong behavior!
leitner e5865bcc52 fix timezone handling
leitner ac6979e4af add scan_iso8601+test
leitner ad5ce55281 add fmt_iso8601
leitner 38ea25fd9f more updates
leitner 953eb639b2 on Linux, save a few syscalls by using sendto/sendmsg with MSG_MORE
instead of write/writev + setsockopt TCP_CORK
leitner 39e7ee90bb introduce io_eagain_read and io_eagain_write (discontinue using io_eagain plz)
leitner 0f6e586fc9 fix some bugs that cppcheck found
leitner 4ecc33dcea catch not enough bytes in input buffer case
leitner 63b08692d0 check value to large error for asn1derlength
leitner 708c358a74 for asn1derlength: save a few bytes
for asn1dertag: catch too-large-value overflow
leitner 24d1ccb1b7 reject non-minimally encoded ASN.1 DER data
split scan_asn1derlength into scan_asn1derlength and scan_asn1derlengthvalue
leitner a544abc39c switch io_fds from array to newly implemented (hopefully thread-safe) iarray
switch epoll from level triggering to edge triggering
leitner 9b6671efee add buffer_tosa check to marshal.c
failed attempt to improve scan_ulongn, results in essentially same code
but the C code looks slighly better so I'm keeping it
leitner 08ba483bfb catch other potential overflow
leitner 4a04c40595 get rid of more -Wconversion warnings
leitner f7fee036c1 SECURITY: check for integer overflow in stralloc_ready
leitner 539ef564ab add unit tests for uint*
leitner e1081e4b13 remove -Wconversion warnings
leitner 18afec7d68 scan_*longlong now properly abort if the number would not fit
leitner 01ffc04006 do proper early abort in the other scan_* routines if the numeric value
is too large
leitner 35942878c2 $ make WERROR=-Werror now builds with -Werror
add some single char escaping routines to fmt.h
pull in html5 entities from w3c and use those to do a proper scan_html decoding
fix an off-by-one in fmt_to_array
add a ton of unit tests for the fmt routines
leitner dd4f86fbfa add some unit tests for the formatting routines
leitner 45702476e7 add scan_netstring
leitner e175800a8c add io_fd_canwrite (like io_fd but assume the fd is writable)
save a few syscalls here and there
leitner 6185645a35 add trivial compare-and-swap test
leitner 25f6b4640a remove warning
leitner bb9cdaaafb add iarray
leitner 25912d79cb one more test
leitner 6d4c89ea72 byte_zero is also miscompiled by gcc 4.3.2
leitner 97ac873038 gcc 4.3.1 generates bad code for byte_copy, so I'm switching to a
simpler version
leitner 6fd49579e8 forgot to add message in httperror
leitner a8a5e9a3d5 some valgrind de-noising
fix subtle typo in sub_of (David Sirovsky)
leitner 58a07defd7 add uint64 pack and unpack routines
leitner 72eba9bf79 catch one more case in umult64 (Tomi Jylhä-Ollila)
leitner b157ed2812 prepare for leak detection
leitner aa435fbee3 add fmt_strm
leitner 3c31c1a03b fmt_xlonglong was utterly broken (Johannes Vetter)
leitner 1b17f47def escape more in fmt_ldapescape
leitner b2be335043 win32 compat