Commit Briefs
add an libao audio backend
This backend uses libao to play music. It's a bit convoluted since libao doesn't provide an async interface, so we have to run it in a separate thread. Then, there's some notification via a shared socketpair because the main loop is around poll(). This actually doesn't work OOTB on OpenBSD due to a restrictive pledge(), but it's not a issue since sndio should be used there. libao is the last resort.
CHANGES for 0.13 (tags/0.13)
amused-web: avoid an (im)possible write out-of-bounds in buf_write
spotted while bringing syncparty' bufio.[ch] in sync; if the requested len could be bigger than buf->len plus the buf_grow() increment, so we have to iterate. This is currently impossible since we're usign buf_write() only to add one byte.
amused-web: parse POST data in bufio' rbuf
Add a proper upper limit (4096 seems enough for now) and safely NUL-terminate the rbuf. The idea is to later drop the clt->buf static buffer and allocate it on demand only when we need to do (http) chunking.