Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (1m)  pkgsrc-2024Q1 (8d)  pkgsrc-2023Q4 (55d)  pkgsrc-2023Q2 (88d)  pkgsrc-2023Q3 (167d) 

2024-05-26 12:48:30 UTC Now

2017-06-26 04:52:34 UTC MAIN commitmail json YAML

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

(schmonz)