aboutsummaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2024-06-17log configure invocation and uname in config.logOmar Polo
2024-06-11-current againOmar Polo
2024-06-11prepare release 2.0.42.0.5Omar Polo
2024-06-09drop vestiges of -DLIBBSD_OPENBSD_VISOmar Polo
it just isn't worth the pain since I have to check anyway for the working strnvis. it's amazing what a shitshow this situation is. shrug.
2024-06-08fix previous; it's compat/vis.c, sigh...Omar Polo
2024-06-08fix previous; add strnvis to $COMPATSOmar Polo
2024-06-08change the approach for strnvisOmar Polo
instead of making things more obscure via gmid_strnvis(), let's just check for strnvis with -Werror so we can swap the OS broken implementation with the bundled OpenBSD one.
2024-06-06-current againOmar Polo
2024-06-06prepare release 2.0.42.0.4Omar Polo
2024-06-06attempt to deal with the portability fiasco of strnvis(3)Omar Polo
2024-06-04-current againOmar Polo
2024-06-04prepare release 2.0.32.0.3Omar Polo
2024-04-04set next versionOmar Polo
2024-04-04prepare release 2.0.12.0.2Omar Polo
2024-04-03use -Werror=implicit-function-declaration for function detectionOmar Polo
the previous -Werror triggers too easily: on NixOS for example the FORTIFY_SOURCE #warning about a missing optimization level breaks all the checks when using -O0 (which is the default for non-release builds).
2024-02-02add a note regarding the usage of the bundled libtlsOmar Polo
See https://codeberg.org/op/gmid/issues/2
2024-01-24set next versionOmar Polo
2024-01-24prepare release 2.0.12.0.1Omar Polo
2024-01-14configure: fix --mandir handlingAnna “CyberTailor”
2024-01-11start the 2.1 release cycleOmar Polo
2024-01-11prepare release 2.02.0Omar Polo
2024-01-11configure: add --sysconfdir / $SYSCONFDIR handlingOmar Polo
so that we don't have to hardcode /etc in gmid.c. Helps on systems like FreeBSD where the non-base programs are expected to look for their config in /usr/local/etc.
2024-01-07add more endian.h macros implementation for macosOmar Polo
2023-08-24we're in public alpha right now!Omar Polo
2023-08-23don't leave HAVE_GETENTROPY undefinedOmar 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-23fix build of regressOmar Polo
2023-08-23fix previous; check for getentropy only when arc4random is missingOmar Polo
on macos we have the situation where we have arc4random available but no getentropy().
2023-08-23typoOmar 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-13fix INSTALL handlingOmar Polo
Set a sane default for INSTALL, allow it to be changed either as environment variable or configure argument, and propagate it correctly to the generated config.mk. Issue reported by xavi, thanks!
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-23don't quote $5 when calling pkg-configOmar Polo
otherwise we fail the openssl test 'libcrypto libssl'
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-11add -Wpointer-sign to the mixOmar Polo
It's not present in -W -Wall -Wextra on OpenBSD but it is enabled on other systems.
2023-06-08configure: look for WAIT_ANYOmar Polo
2023-06-08use -MMD if the compiler supports itOmar Polo
it's better than the previous Makefile.depend approach since this automatically adapts to the included headers without requiring manual intervention to regen the list.
2023-06-08rework the daemon to do fork+execOmar Polo
It uses the 'common' proc.c from various OpenBSD-daemons. gmid grew organically bit by bit and it was also the first place where I tried to implement privsep. It wasn't done very well, in fact the parent process (that retains root privileges) just fork()s a generation of servers, all sharing *exactly* the same address space. No good! Now, we fork() and re-exec() ourselves, so that each process has a fresh address space. Some features (require client ca for example) are temporarly disabled, will be fixed in subsequent commits. The "ge" program is also temporarly disabled as it needs tweaks to do privsep too.
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-31bump version ahead of 1.8 branchOmar Polo
2022-10-31add memmem compatOmar Polo
2022-10-30fix previousOmar Polo
2022-10-30work around missing HOST_NAME_MAX tooOmar Polo
2022-10-30work around missing LOGIN_NAME_MAXOmar Polo
Both Linux and OpenBSD have LOGIN_NAME_MAX available when including limits.h, FreeBSD, Darwin and possibly others don't. FreeBSD (and maybe Darwin) have MAXLOGNAME, so try to use that if available. Otherwise use _POSIX_LOGIN_NAME_MAX, but only has a fallback since it has a lower value (9 at the time of writing). If everything fails, use 32 which is what OpenBSD use by default; OpenSMTPd also defaults to it. (compat copied from kamid.)
2022-09-08shim for __deadOmar Polo
2022-07-04bump versionOmar Polo
2022-07-04changes for 1.8.4Omar Polo
2022-07-04refactor the makefile / configureOmar Polo
steal more (good) stuff from mandoc-portable :)