Commits
- Commit:
74c6900c916b368b2f88d9f28cfdb5170cee5f6c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix previous; check for getentropy only when arc4random is missing
on macos we have the situation where we have arc4random available
but no getentropy().
- Commit:
258131b1b60f657acfcc75d5416e859806de1415
- From:
- Omar Polo <op@omarpolo.com>
- Date:
typo
- Commit:
f9ab77a898ec008a445b3842afc21bb4eac60657
- From:
- Omar Polo <op@omarpolo.com>
- Date:
bundle libtls
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.
- Commit:
f5dc7eddd7ac6cf06d7092e9526691b566850b50
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix INSTALL handling
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!
- Commit:
d13b044d59619a52277c229eb37d38265690fb64
- From:
- Omar Polo <op@omarpolo.com>
- Date:
address the strnvis(3) portability fiasco
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.
- Commit:
5d2f4b1611d724a3dbf0d4b8629119cf1ad11e87
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add compat for endian (now required by imsg)
- Commit:
3d0204e7efce3ecaa2112b2c5aca0ab80691ab5a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't quote $5 when calling pkg-config
otherwise we fail the openssl test 'libcrypto libssl'
- Commit:
1610f9541d742906f7f683e9ad1ad2a29225ae8a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
rework the configure script
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.
- Commit:
1ef09e6313e6a7656899f1ce5a98bddb16498934
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add -Wpointer-sign to the mix
It's not present in -W -Wall -Wextra on OpenBSD but it is enabled
on other systems.
- Commit:
c144b1b6f831446f82e201db1ab7fadab4cf11f0
- From:
- Omar Polo <op@omarpolo.com>
- Date:
configure: look for WAIT_ANY
- Commit:
68e38f49b234474bdd123120de004de96fae8715
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use -MMD if the compiler supports it
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.
- Commit:
c26f2460e42aa0822c283c805958989f339e7d8b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
rework the daemon to do fork+exec
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.
- Commit:
0b62f4842d7c65b8f64c5f676a0a05333fd7db6f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
drop landlock/seccomp and capsicum support
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!
- Commit:
bd8683d0fd36893c18e7271faaa3b9ea67df0695
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add tests and compat for setresuid and setresgid
- Commit:
0ab57224fbdcfca36c621a8b13c96f4caa9e950a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
bump version ahead of 1.8 branch