aboutsummaryrefslogtreecommitdiff
path: root/regress
AgeCommit message (Collapse)Author
2024-11-24fix test_log_commonOmar Polo
2024-08-29improve failure log of test_log_*Omar Polo
2024-08-29add some tests for the different log stylesOmar Polo
2024-08-24regress: hide REMOTE_{ADDR,HOST} tooOmar Polo
2024-08-24regress/fcgi: dump and check all the parametersOmar Polo
2024-08-24improve testsOmar Polo
2024-08-24rework match_host(); fix alias handling; add two alias testsOmar Polo
2024-08-23work around comically tiny HOST_NAME_MAX on glibc systemOmar Polo
glibc is clearly violating POSIX since they set HOST_NAME_MAX to 64, and they've known so for years. Unfortunately this means that, despite using the right interfaces, we have to work around bugs in their libc. ugh. Luckily, gmid doesn't need to do DNS, it just needs a define large enough to store a hostname, but not unlimited, to catch possible misconfigurations. We don't risk to round-trip this into an interface that expects smaller strings. Reported and fix tested by Anna “CyberTailor”, see <https://codeberg.org/op/gmid/issues/3>.
2024-08-18fcgi-test: fix stale commentOmar 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-03rewordOmar Polo
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-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-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-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-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!
2024-06-10disable a test that fails on darwin in the CIOmar Polo
2024-06-10regress: add another test in test_gg_n_flagOmar Polo
Related to https://github.com/omar-polo/gmid/issues/12
2024-06-10use $gg rather than gg in regressOmar Polo
2024-06-10indentOmar Polo
2024-06-10iri: don't error on a '..' component at the start of the pathOmar Polo
I choose to out of paranoia, but the algorithm defined in RFC3986 allows for them. So, we should rather remove the leading '..' component and continue to handle the rest of the path. Fixes https://github.com/omar-polo/gmid/issues/12
2024-06-10add regress for gg -nOmar Polo
2024-06-06regress: add a test for comments and blanks at the start of the fileOmar Polo
2024-06-06add a todoOmar Polo
2024-06-03regress: add a check for `fastcgi off' handling across locationsOmar Polo
Based on the bug report from Alex, thanks!
2024-05-29regress: add test_ipv6_serverOmar Polo
2024-05-29regress: add a knob to disable test_ipv6_addrOmar Polo
at least on the CI is failing with "can't connect to ::1:10965: Address not available" which suggests IPv6 is broken there.
2024-05-29typoOmar Polo
2024-05-29regress: rename ipv4 test and add another with ipv6Omar Polo
2024-05-29iri: add support for raw IPv6 addressesOmar Polo
2024-05-29regress: run test_ip_addr with host=127.0.0.1Omar Polo
2024-05-29regress: use the new gg -q to reduce the blabberingOmar Polo
2024-05-29add regress that hit gmid via a raw IPv4 addressOmar Polo
2024-04-04add a test for the config dumpingOmar Polo
2024-01-30rename the @common_opt macro back to @commonOmar Polo
now common is no longer a reserved keyword
2024-01-26add a test that uses @-style macrosOmar Polo
See Codeberg issue #1.
2023-08-29regress: change naming scheme for certs, add GENCERT_FLAGS knobOmar Polo
Call the certificates .pem and the keys .key; use contrib/gencert to generate the certificates and provide a GENCERT_FLAGS knob so that regress can be run with EC keys (GENCERT_FLAGS=-e). Still no automatic way of testing with both RSA and EC keys.
2023-08-23bundle libtlsOmar Polo
gmid (like all other daemons that want to do privsep crypto) has a very close relationship with libtls and need to stay in sync with it. OpenBSD' libtls was recently changed to use OpenSSL' EC_KEY_METHOD instead of the older ECDSA_METHOD, on the gmid side we have to do the same otherwise failures happens at runtime. In a similar manner, privsep crypto is silently broken in the current libretls (next version should fix it.) The proper solution would be to complete the signer APIs so that applications don't need to dive into the library' internals, but that's a mid-term goal, for the immediate bundling the 'little' libtls is the lesser evil. The configure script has gained a new (undocumented for the time being) flag `--with-libtls=bundled|system' to control which libtls to use. It defaults to `bundled' except for OpenBSD where it uses the `system' one. Note that OpenBSD versions before 7.3 (inclusive) ought to use --with-libtls=bundled too since they still do ECDSA_METHOD.
2023-08-03use the legacy style in the tests for nowOmar Polo
2023-08-03fix test after log style condensed changeOmar Polo
2023-07-26use `log syslog off' in regress to avoid spamming syslogOmar Polo
2023-07-25ge->gemexp forgotten in previousOmar Polo
2023-07-25rename ge -> gemexp in regress tooOmar Polo
2023-07-25allow to change the logging style; introduce some new onesOmar Polo
add `log style <style>'; The old default is called `legacy' now, a new default format is added called `condensed', and `common' and `combined' to mimick Apache httpd and nginx (respectively) are also added.
2023-07-24add a test for the file loggingOmar Polo