Commits
- Commit:
b9e76932975f4713e0b9e49ed71f9c8e6c19c53e- From:
- rsadowski <rsadowski@openbsd.org>
- Date:
relayd: fix DEBUG build
feedback and OK tb@
- Commit:
0c9dbe77378362ddd333790c3b291fd5b8e940ed- From:
- op <op@openbsd.org>
- Date:
fix memory leak in config_purge() when dealing CONFIG_PROTOS
original diff from CypherFox (openbsd at cypher-fox com), thanks!
slightly rearranged to be a bit smaller by me, but still equivalent.
- Commit:
8b2ee1ae14ac9b438a93883d3b80dd27d0b13704- From:
- op <op@openbsd.org>
- Date:
remove dup block that tries to close tls client ca fd
it's already closed and fd set to -1 a few lines above.
diff from Marc Jorge (openbsd [at] cypher-fox com), thanks!
- Commit:
6b5c4000434cc5dc67e202d8aede2f543b5b2bf3- From:
- rsadowski <rsadowski@openbsd.org>
- Date:
Standardize logging with bgpd
OK claudio@
- Commit:
a6cad40b9e072c4880d925603e8a227ccb98f2aa- From:
- claudio <claudio@openbsd.org>
- Date:
Use imsg_get_fd() to extract the fd from an imsg.
OK tb@
- Commit:
c4efe747621091eebe4473e6bf136cb19c94288f- From:
- tb <tb@openbsd.org>
- Date:
relayd: add support for client certificates
This feature has been requested many times over the years. Various patches
were provided by Asherah Connor, Rivo Nurges, Markus Läll and maybe others.
These patches always stalled for various reasons.
From Sören Tempel, mostly based on Asherah's latest patch.
ok florian tb
- Commit:
754759d678506a17ec8fb2feac05db61c71387a6- From:
- claudio <claudio@openbsd.org>
- Date:
Use imsg_get_fd()
As usual proc_forward_imsg() is never forwarding a file descriptor so
just use -1 there. This should be replaced by imsg_forward().
All other changes are simple conversions.
OK tb@
- Commit:
cb6a69b94e073f2305fbf62c884f1ad6edbf643d- From:
- op <op@openbsd.org>
- Date:
remove ssl_init()
it's a noop; nowadays both LibreSSL and OpenSSL libcrypto and libssl
initialize themselves automatically before doing anything.
ok tb
- Commit:
b04f28f2e15608a34561cdf978f5fdd74e576665- From:
- jsg <jsg@openbsd.org>
- Date:
fix use after free
ok tb@
- Commit:
32448cef7c96a015bb526a8614f52f1d54a6bf67- From:
- kn <kn@openbsd.org>
- Date:
Remove unneeded calls to tls_init(3)
As per the manual and lib/libtls/tls.c revision 1.79 from 2018
"Automatically handle library initialisation for libtls." initialisation
is handled automatically by other tls_*(3) functions.
Remove explicit tls_init() calls from base to not give the impression of
it being needed.
Feedback tb
OK Tests mestre
- Commit:
738b3cc9ee5e087ffe860159c9e5c5c0bd4d1d7e- From:
- rob <rob@openbsd.org>
- Date:
Add support for binary protocol health checking. Feedback and guidance from
benno@ and reky@. Man page tweaks from jmc@.
ok benno@
- Commit:
0c91187da1707fc65869cc8b4fd03050eac43f3d- From:
- reyk <reyk@openbsd.org>
- Date:
Add support for OCSP stapling
Many thanks to Bruno Flueckiger who independently sent a very similar
patch. He also tested the one I'm committing that it works as
expected.
OK tb@
- Commit:
cf7bc080f889bf3357e89f5124e8121b5e2129c9- From:
- reyk <reyk@openbsd.org>
- Date:
Make sure that the IMSG_CTL_RESET message is sent immediately.
This fixes an issue that might better be solved in imsg itself.
The problem is that IMSG_CTL_RESET does not include an fd while the
following messages (IMSG_CFG_RELAY and IMSG_CFG_RELAY_FD) do contain
fds. If the receiver gets them in one buffer (via recvmsg), the first
fd might be wrongly associated to the IMSG_CTL_RESET message. This is
theoretically taken care of by the imsg API, so it is either a bug in
relayd's API usage or in imsg itself.
"sure" claudio@ as a temporary fix.
- Commit:
9261e0d8173c20551ba0953a8492dfa0edb4568b- From:
- reyk <reyk@openbsd.org>
- Date:
Add support for SNI with new "tls keypair" option to load additional certs.
Tested by many (thanks!)
Feedback & OK rob@
- Commit:
fe4913ec641bced939aab727cbc4124c761bdde9- From:
- reyk <reyk@openbsd.org>
- Date:
Move the relay keys/certs into a separate global list and look them up by id.
Moving the certs out of the relay struct will help to add multiple SNI certs.
Tested by many users (thanks!)
Feedback & OK rob@
- Commit:
a98b5322a841ddcba70ce92a8e61eacff7e625b5- From:
- benno <benno@openbsd.org>
- Date:
add options to specify the control socket in relayd and relayctl.
From Kapetanakis Giannis, thanks.
ok claudio@
- Commit:
3fe6d92f514cbdc29af14f5e0d038f809b69e4f2- From:
- claudio <claudio@openbsd.org>
- Date:
Change the ecdhe curve configuration to the same way httpd is doing it.
This removes 'no ecdh' and renames 'ecdh curve auto' to ecdhe default.
The code uses now tls_config_set_ecdhecurves(3) so it is possible to
specify multiple curves now. If people specified curves in their config
they need to adjust their config now.
OK beck@
- Commit:
ce78c3f2788dc89df85317c6f32c49e6a78db780- From:
- claudio <claudio@openbsd.org>
- Date:
Use file descriptor passing to load certificates into the relays. Especially
the ca file (having all the trusted certs in them) can be so big that loading
via imsg fails.
OK beck@
- Commit:
0481e102e35851eb83aca966d123d64aa6232d7f- From:
- jsg <jsg@openbsd.org>
- Date:
Differentiate between a style string not being specified and an empty
style string by including NUL in imsg and set the pointer in the struct
passed over imsg to NULL in the receiving process to be sure nothing
tries to use it.
Avoids a crash when specifying an empty style string reported by
Karl-Andre' Skevik. ok bluhm@
- Commit:
f4a6eef32d65cd21b8ae3ff004c9e6df1da60025- From:
- claudio <claudio@openbsd.org>
- Date:
Migrate relayd to use libtls for TLS. Still does the TLS privsep via the
engine but at least we can use a sane API for new features.
Going in now so it is possible to work with this in tree.
General agreement at d2k17.
- Commit:
4b93801a98e2a425e1c812f57ec6374c9dec15fa- From:
- reyk <reyk@openbsd.org>
- Date:
The new fork+exec mode used too many fds in the parent process on
startup, for a short time, so we needed a rlimit hack in relayd.c.
Sync the fix from httpd: rzalamena@ has fixed proc.c and I added the
proc_flush_imsg() mechanism that makes sure that each fd is
immediately closed after forwarding it to a child process instead of
queueing it up.
OK rzalamena@ jca@ benno@
- Commit:
58fc320c602b00aed04b7887496e83d9892bed86- From:
- reyk <reyk@openbsd.org>
- Date:
Split "struct relayd" into two structs: "struct relayd" and "struct
relayd_config". This way we can send all the relevant global
configuration to the children, not just the flags and the opts.
With input from and
OK claudio@ benno@
- Commit:
6878f8712adf014802d40e694e8bf6c0292d5960- From:
- reyk <reyk@openbsd.org>
- Date:
As done in httpd, (re-)initialize ps_what in all processes. This is
no functional change at this point.
- Commit:
e5c598d0a4ce1461dc9a6692ff48d34b475f1477- From:
- claudio <claudio@openbsd.org>
- Date:
Switch from the not really working session cache (because of the multiprocess
nature of relayd) to tls session tickets to do TLS session resumption.
TLS session tickets do not need to store SSL session data in the server but
instead send an encrypted ticket to the clients that allows to resume the
session. This is mostly stateless (apart from the encryption keys).
relayd now ensures that all relay processes use the same key to encrypt
the tickets. Keys are rotated every 2h and there is a primary and backup key.
The tls session timeout is set to 2h to hint to the clients how long the
session tickets is supposed to be alive.
Input and OK benno@, reyk@
- Commit:
ba24b6a0553a214647057d94ea3baf2b8fe2ef6c- From:
- mmcc <mmcc@openbsd.org>
- Date:
Remove NULL-checks before free(). No functional change.
