aboutsummaryrefslogtreecommitdiff
path: root/have
AgeCommit message (Collapse)Author
2024-04-03fix landlock testOmar Polo
include stddef.h for size_t
2024-01-21update imsg test: gmid now requires the new API tooOmar Polo
2024-01-10add missing entries in have/Makefile distfilesOmar Polo
2023-08-23resurrect landlock supportOmar Polo
this time targetting ABI level 3; partially based on how claudio@ handled it in rpki-client. Fun how this bit of code has come full circle (gmid inspired what I wrote for got, which inspired what was written for rpki-client, which has come back.)
2023-08-23adding forgotten fileOmar Polo
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-22sync have/* filesOmar Polo
2023-08-07address the strnvis(3) portability fiascoOmar Polo
strnvis originates on OpenBSD. When NetBSD added it to their libc they decided to swap the argument. Without starting a holy war on the "best" argument order, adding an implementation of a function that's widely available and making its signature purposefully incompatible is beyond justification. FreeBSD (and so macos too?) followed NetBSD in this, so we end up with *two* major and incompatible strnvis implementations. libbsd is in a limbo, they started with the OpenBSD version but they'll probably switch to the NetBSD version in the future. That's why we can't have nice things. Do the right thing(tm) and check for the presence of the original strnvis(3), if not available or broken use the bundled one.
2023-07-02add compat for endian (now required by imsg)Omar Polo
2023-06-13rework the configure scriptOmar Polo
now it resembles less oconfigure and more the configure scripts I'm using in my recent projects. I'd argue it's more easy to use it.
2023-06-08configure: look for WAIT_ANYOmar Polo
2023-05-08drop landlock/seccomp and capsicum supportOmar Polo
it reached a point where this stuff is not maintenable. I'd like to move forward with gmid, but the restriction of capsicum and the linux environment at large that make landlock unusable (how can you resolve DNS portably when under landlock?) -and don't get me started on seccomp- makes it impossible for me to do any work. So, I prefer removing the crap, resuming working on gmid by cleaning stuff and consolidating the features, improving various things etc... and then eventually see how to introduce some sandboxing again on other systems. Patches to resume sandboxing are, as always, welcome!
2022-12-02add tests and compat for setresuid and setresgidOmar Polo
2022-10-31add memmem compatOmar Polo
2022-10-31rework `make dist'Omar Polo
2022-03-19const-ify some tablesOmar Polo
matches found with % grep -R '=[ ]*{' . | fgrep -v const
2021-10-07add compat for sys/tree.hOmar Polo
2021-10-02improve libevent2 handlingOmar Polo
* add configure check * change the way the headers are required (copied from tmux)
2021-09-19add configure check and shim for landlockOmar Polo
First move towards landlock support (#3). The shim is needed until libc provides the proper wrappers for the landlock APIs; I hope it doesn't take too long, but landlock was merged back in May and are still missing.
2021-04-25add compat for reallocarrayOmar Polo
2021-03-31check if sys/queue.h provides TAILQ_FOREACH_SAFEOmar Polo
2021-02-23tests and compat for imsgOmar Polo
2021-02-11add check for program_invocation_short_nameOmar Polo
2021-02-10fix setproctitle detection on FreeBSDOmar Polo
2021-02-08add check for libeventOmar Polo
2021-02-04add compat for setproctitleOmar Polo
This adds a check for setproctitle and for the (linux) prctl PR_SET_NAME. If setproctitle is not available, on linux we provide an implementation that use prctl (taken from tmux compat layer.)
2021-01-25adding openssl testOmar Polo
2021-01-21more OpenBSD goodiesOmar Polo
2021-01-21add a configure script and some compatOmar Polo
tested on openbsd, alpine and void