19328b800e
0.31: special case buffer_get_token with token length 1 through memccpy (almost 4x speedup) test for pread and use it instead of lseek+read in cdb and io_mmapwritefile add mmap_readat (like mmap_read but open by fd, not by name) add fmt_iso8601 and scan_iso8601 (time_t -> "2014-05-27T19:22:16Z") add fmt_netstring and scan_netstring (http://cr.yp.to/proto/netstrings.txt) add (fmt|scan)_varint and (fmt|scan)_pb_* (binary marshaling ala protocol buffers) 0.30: add compiletimeassert.h add haveuint128.h byte.h now defines UNALIGNED_ACCESS_OK on x86 add scan_ulongn, scan_8longn, scan_xlongn, scan_longn, scan_netstring change buffer to have a destructor function pointer SECURITY: fmt_strn would write one byte too many (returned right length though, so usually not a problem as that byte would be overwritten with \0 by the caller anyway) fmt_pad and fmt_fill fail more gracefully when srclen > maxlen You can now say $ make WERROR=-Werror (compiling t.c may fail but that's strictly speaking not part of the library) scan_html now decodes HTML entities based on the actual w3c list (from entities.json, say gmake update to fetch the current version) added fmt_escapechar* to fmt.h (implement various escaping mechanisms also found in textcode but for a single char not a whole string, and they always escape, not just when they think it's needed) scan_ushort was supposed to abort early and return 5 when attempting to parse "65536", because the result does not fit. It did not. Now it does. scan_*long, scan_*int, scan_*short now properly abort if the number would not fit SECURITY: check for integer overflow in stralloc_ready switch io_fds from array to newly implemented (hopefully thread-safe) iarray switch epoll from level triggering to edge triggering introduce io_eagain_read and io_eagain_write (discontinue using io_eagain plz) fix buffer_get add fmt_html_tagarg, fmt_xml, scan_html_tagarg add socket_fastopen, socket_fastopen_connect4, socket_fastopen_connect6 and socket_quickack on Linux, in iob_send, if MSG_MORE is defined, and the request type lends itself to it, used sendto/sendmsg with MSG_MORE instead of TCP_CORK (saves two syscalls) add io_fd_flags so the caller can tell io_fd whether the socket is blocking (saves one fcntl syscall) more constness for stralloc and buffer mmap_read/mmap_shared on zero length files no longer fail but return a zero length buffer if SOCK_NONBLOCK is defined, use it instead of socket+fcntl ... but if errno==EINVAL still fall back to socket+fcntl (Robert Henney) SECURITY: fix botched integer overflow handling logic in stralloc_ready (Giorgio) add critbit 0.29: save 8 bytes in taia.h for 64-bit systems add buffer_tosa (buffer writing to auto-growing stralloc) add iarray support SCTP in addition to TCP fix io_receivefd so the incoming buffer is only 1 byte; io_passfd sends only one byte, so we might receive (and discard) other data if we try to read more (Stefan Bühler, from the lightttpd project) add io_fd_canwrite (like io_fd but assume the fd is writable) save a few syscalls here and there add awesome hack in isset.h (comex, Linus Torvalds) add byte_equal_notimingattack |
||
---|---|---|
.. | ||
patches | ||
buildlink3.mk | ||
DESCR | ||
distinfo | ||
Makefile | ||
PLIST |