aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-08-03prepare release 2.12.1Omar Polo
2024-08-03proxy-protocol: accept cross-family proxyingOmar Polo
Due to a strict interpretation of the spec if "TCP4" is used we expect two ipv4 addresses (and similar for "TCP6" and ipv6 addresses). However, the family specified in the proxy header matters only for the first address (the source), not the destination! After all, it's not strange to proxy from/to ipv4 and ipv6. Use getaddrinfo(NI_NUMERICHOST) to parse the IP addresses since inet_pton() is too strict.
2024-08-03remove unused argument from check_port_v1Omar Polo
2024-08-03sync changelogOmar Polo
2024-08-03gg: support IPv6 addresses in -POmar Polo
2024-08-03rewordOmar Polo
2024-08-03remove useless debugging logOmar Polo
2024-08-03main_reload: save and restore preforkOmar Polo
We only honour the prefork at startup time.
2024-08-03regress: fix quit()Omar Polo
2024-08-03regress: simplify code and fix commentOmar Polo
we're not running under `set -e' since a long time.
2024-08-03gmid.conf.5: some love for the EXAMPLES sectionOmar Polo
Few grammar and style fixes, plus add an example about logging on a file. Prodded by https://github.com/omar-polo/gmid/issues/34
2024-08-03add support for using the proxy protocol v1 when proxying tooOmar Polo
This is symmetrical to the support for *incoming* requests. The new regress case uses this to proxy to itself using the proxy-protocol v1. Fixes https://github.com/omar-polo/gmid/issues/31
2024-08-03regress: run the proxies on a different portOmar Polo
Soon we may want to run (some) proxies with the proxy-protocol so we can't reuse the same port.
2024-08-03proxy_init: simplify logicOmar Polo
2024-08-03regress: fix test_high_prefork()Omar Polo
we don't load the prefork dynamically, only the prefork at startup is honoured, so fix the test by stopping gmid so it is started with the right prefork.
2024-08-03fmtOmar Polo
2024-07-08change the type for read_posOmar Polo
2024-07-08proxy protocol v1: handle EOF and short readsOmar Polo
2024-07-08remove trailing whitespaces and extra bracesOmar Polo
2024-07-08move some variables to function scopeOmar Polo
2024-07-08fix left computationOmar Polo
2024-07-08no need to clear error before calling read(2)Omar Polo
There are only a few functions (so badly designed) that need to have errno cleared beforehand (hello, strtoll!). read(2) is not among these.
2024-07-08s/should_buffer/proxy_protoOmar Polo
2024-07-08fmtOmar Polo
2024-07-06remove debug logOmar Polo
2024-07-02gemexp: add -vOmar Polo
2024-07-02proxy: inline the `goto retry'Omar Polo
2024-07-02add instructions for fuzzyingOmar Polo
2024-07-02fuzzying the proxy protocol tooOmar Polo
2024-07-02add a few tests found by aflOmar Polo
2024-07-02initial support for fuzzyingOmar Polo
2024-06-28document proxy-v1Omar Polo
2024-06-28show the conf path in the README.mdOmar Polo
2024-06-17titan: add missing includeOmar Polo
2024-06-17proxy-proto: ensure there's a space after "TCP4/6"Omar Polo
2024-06-17replace asserts with error returnsOmar Polo
2024-06-17inline PROXY_PROTO_PARSE_* and EXPECT_SUCCESS macrosOmar Polo
2024-06-17invert the arguments in some comparisonsOmar Polo
2024-06-17whitespace and minor style nitsOmar Polo
2024-06-17add a proxy-v1 keyword to enable the proxy protocol handlingOmar Polo
2024-06-17sync .d includes and DISTFILESOmar Polo
2024-06-17fix proxy_proto_v1_stringOmar Polo
pass to inet_pton the full length of the buffer we're printing to. It'll take care of NUL-terminating the string. If we subtract one it may fail to print some IPv6 addresses. Also, no need to NUL-terminate it again!
2024-06-17add support for the proxy protocol v1Christoph Liebender
This allows to use proxies like nginx or haproxy in front of gmid and still have the correct information about the originating client. This will need explicit opt-in via the `proxy-v1' listen flag which will be added in a follow-up commit. Merges https://github.com/omar-polo/gmid/pull/30
2024-06-17make gemexp verboseChristoph Liebender
2024-06-17titan: introduce xasprintfOmar Polo
2024-06-17titan: improve error checkingOmar Polo
Not only the reading, but the writing can fail too so bail out early in that case. Also, even if it's just a pro forma, check the error flag on stdin too.
2024-06-17comment out stravis instead of adding -Wno-* for stupid gccOmar Polo
gcc has a broken error checking for 'use-after-free' that can be triggered by perfectly valid code. Since it's in a function (stravis) we don't use, comment it out.
2024-06-17log configure invocation and uname in config.logOmar Polo
2024-06-14styleOmar Polo
2024-06-14propagate prefork valueOmar Polo
otherwise the child processes still believet the prefork value is 3 and can end up reading/writing out of bounds when setting up the sockets. Actually, server processes shouldn't create pipes to other servers, but this is left for a follow-up diff. Issue reported by la ninpre, thank you!