Subject: CVS commit: pkgsrc/devel/libowfat
From: Amitai Schleier
Date: 2017-06-26 06:52:34
Message id: 20170626045234.E2345FAE8@cvs.NetBSD.org

Log Message:
Update to 0.31. From the changelog:

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

Files:
RevisionActionfile
1.6modifypkgsrc/devel/libowfat/Makefile
1.4modifypkgsrc/devel/libowfat/PLIST
1.5modifypkgsrc/devel/libowfat/distinfo
1.3modifypkgsrc/devel/libowfat/patches/patch-aa