This should work on Linux since kernel 3.17, OS X since 10.12, OpenBSD
since 5.6, and FreeBSD since 12.0. It also introduces no external
dependencies. Note that getentropy should only be called with at most
256 bytes or it will return EIO. The getrandom variant on Linux doesn't
check for this. If called with len > 256, it's allowed to produce a
short read if it gets interrupted. This should show up as an error, so
everything's fine.
- Condense the allocator section in defs.h and make it match the
surrounding style.
- Use real calloc in c3_calloc. Some guy on the internet says
calloc can be faster than malloc since the OS may not actually
need to call memset.
- Replace calloc calls in vere code with c3_calloc.
Note that I left the c3_calloc definition as-is (i.e., not taking
a count argument). I was going to change it, but it seems like
count is 1 at all call sites. If it's ever used with count != 1,
I'd be in support of changing it, fwiw.
Tested with stock clang on an OpenBSD 6.4 amd64 VM. Unfortunately
clang (and also gcc from ports) was not pleased about c3_rand,
whereas this was fine before. I have no idea what changed, but it
works now.
* https-proxy-config: (92 commits)
increases tcp proxy listener timeout to 2 minutes
fixes dumb bug in tcp reverse proxy remote address resolution
upgrades libh2o to v0.13.5 (h2o v2.2.5)
sets the http client request timeout to 2 minutes
adds an http request timer to ensure connections are always closed
adds an http request timer to ensure connections are always closed
adds (disabled) h2o access log
don't leak ship-name in _proxy_ward_connect()
refactors .http.ports write/release (avoid the loom, etc.)
updates SSL_CTX init to support any PEM private key, simplifies error handling
adds u3_wcon (ward candidate conn), refactors ward connection accept and auth
enables ALPN and HTTP2 over TLS
increases timeout before server struct, adds explanatory comment
closes u3_ward stream and timer sequentially, fixing use-after-free per ASan
moves u3_pact to vere.h, replacing the unused u3_apac
fixes memory leak in failed cttp.c address resolution
suppresses AddressSanitizer in vararg functions u3i_molt and u3r_mean
ignores AddressSanitizer errors in jets.c
updates %wise and %that to give and receive the proxy auth nonce
implements nonce-baced authentication for u3_ward proxies
...
* master: (124 commits)
use compile-time assertion to check for unsigned char
Don't build libuv in travis if it is now submoduled.
Rebuild the scripts without PKG_CONFIG_PATH hacks.
Remove manual PKG_CONFIG_PATH configuration.
Enable fallback libuv bundle
Bundle libuv.
adds a cell check for the sample of the +roll gate
Add missing flags fixing the markdown parser bug #951
Revert "Merge pull request #952 from eglaysher/revert-meson"
Revert "Merge pull request #949 from eglaysher/meson-build-clean"
Revert "The -C flag was added for exactly this case."
The -C flag was added for exactly this case.
Take ownership of the submodule repositories.
Revert "Revert "Merge pull request #941 from frodwith/runtime-overflows""
Add legacy meson instructions to README
Fix new meson version check
Fix legacy meson version detection.
Universal meson build.
change overflow check to short
do the don trick for jam
...