This is the FreeBSD port of the OpenBSD relayd and relayctl.
relayd is a daemon to relay and dynamically redirect incoming connections
to a target host. Its main purposes are to run as a load-balancer,
application layer gateway, or transparent proxy. The daemon is able to
monitor groups of hosts for availability, which is determined by checking
for a specific service common to a host group. When availability is con-
firmed, Layer 3 and/or layer 7 forwarding services are set up by relayd.
Layer 3 redirection happens at the packet level; to configure it, relayd
communicates with pf(4).
The following relayd functionality is not (yet) implemented in FreeBSD:
- carp demote
- modifying routing tables
- snmp traps
The relayctl program controls the relayd(8) daemon.
all: drop support for FreeBSD 13, mips and risc64sf
Reviewed by: many (*)
Differential Revision: https://reviews.freebsd.org/D55624
Differential Revision: https://reviews.freebsd.org/D55642 (merged in from bofh)
many (*)
acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
nobutaka pkubaj se tagattie thj
Anton Saietskii
GenericRikka
Gert Doering
Jan Bramkamp
Oleh Hushchenkov
Oleksandr Kryvulia
Ralf van der Enden
Yamagi
desktop kde python tcltk office
net/relayd: Update to 7.4.2024.01.15-p3
This fixes a problem where relayd would flush address tables during a
config reload, even when the tables are unchanged. This can disrupt
incoming connections handled by the configuration.
Approved by: 0mp (implicit)
Sponsored by: Klara, Inc.
Sponsored by: Modirum MDPay
Differential Revision: https://reviews.freebsd.org/D49086
net/relayd: Update to 7.4.2024.01.15-p0
This fixes recent build failures.
Also:
- Do not pass -lpfctl to LDFLAGS. Relayd's build system is already doing
that.
- Remove the bsd.own.mk patch, which support for armv6 and armv7 builds.
The patch has been upstreamed.
MFH: 2024Q2
Sponsored by: Modirum MDPay
Sponsored by: Klara, Inc.
net/relayd: fix build on armv6/armv7
Add armv6/armv7 to CLANG_ARCH so OpenBSD's bsd.own.mk knows that we are
building with clang on these.
Approved by: portmgr (build fix blanket)
MFH: 2023Q4
net/relayd: Update to 7.3.2023.05.09-p5
This release fixes relayd on recent 15.0, where the pf(4) ioctls has
changed.
Sponsored by: Modirum MDPay
Sponsored by: Klara, Inc.
net/relayd: Regenerate checksums
It turns out that in the last round of testing I did not regenerate the
checksums correctly. Fixing it now.
MFH: 2023Q3
Sponsored by: Modirum MDPay
Sponsored by: Klara, Inc.
net/relayd: Update to 7.3.2023.05.09-p2
This version is in sync with the relayd version present in the OpenBSD
main branch as of 2023.05.09.
While here:
- Switch to a new repository where FreeBSD relayd is now maintained.
This is where we moved many of the port's patches to clean up the
files/ directory.
- Take maintainership as agreed via email with the current maintainer.
Sponsored by: Modirum MDPay
Sponsored by: Klara, Inc.
Co-authored-by: Dave Cottlehuber <dch@FreeBSD.org>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
Fix build with -no-common
While here make the substitution of %%PREFIX%% operational (again?).
It has probably been lost due to make makepatch generating patch files
after the substitution by the actual prefix has been performed in the
post-patch target.
To prevent this issue in the future, the substitution of %%PREFIX%%
by the actual prefix is moved in to the post-configure phase, since the
configure command does not rely on the substitution having been performed.
net/relayd: fix build on 12/CURRENT
While here, assign maintainer to submitter and clean up formatting a
little
PR: 236657
Submitted by: Nikola Kolev <koue@chaosophia.net>
Update USE_GITHUB so it does not require GH_COMMIT.
Using this new scheme allows only setting the _tag_ or _commit hash_ in
GH_TAGNAME and not having to know the hash for a tag. This scheme will
download a tarball that has a different checksum than before due to a changed
directory name for extraction.
The following MASTER_SITES are provided to retain the old checksum and
directory structure (that require GH_COMMIT):
GH -> GHL
GITHUB -> GITHUB_LEGACY
Differential Revision: https://reviews.freebsd.org/D748
Submitted by: amdmi3
Reviewed by: mat, swills, antoine, bdrewery
With hat: portmgr
Only use libevent2
Remove libevent as libevent2 is providing a good compatibility interface as well
as providing better performances.
Remove custom patches from libevent2 and install libevent2 the regular way
Mark ports abusing private fields of the libevent1 API as broken
Import a patch from fedora to have honeyd working with libevent2
Remove most of the patches necessary to find the custom installation we used to
have for libevent2
With hat: portmgr
* USES=uidfix -- staging without needing root access
* Don't install relayd.conf to staging; switch to @sample in pkg-plist
* Drop warnings for FreeBSD 7.x compat as that's long out of support
* Modernize LIB_DEPENDS
* Fix LICENSE: this is OpenBSD code, but it uses the ISC Licence
wording rather than either of the {2,3}-clause BSD licenses.
Approved by: portmgr (blanket "just fix it")
Fix installation of ports that rely on cp -n for installing files. r245960
changed cp to exit with a non-zero exit code if the file exists and is not
overwritten thus causing ports to fail installing when e.g. trying to cp
.default -> .conf files that already exist.
We just ignore the error and continue, as we used to.
Reported by: jaset
Approved by: portmgr (bapt)
In the rc.d scripts, change assignments to rcvar to use the
literal name_enable wherever possible, and ${name}_enable
when it's not, to prepare for the demise of set_rcvar().
In cases where I had to hand-edit unusual instances also
modify formatting slightly to be more uniform (and in
some cases, correct). This includes adding some $FreeBSD$
tags, and most importantly moving rcvar= to right after
name= so it's clear that one is derived from the other.
- Update to 4.6.20090813
- Backport several patches from OpenBSD 4.7 and newer
- Fix build with FreeBSD 7 (arc4random.c)
- Fix user and group creation in pkginstall
- Add reload command to startup file
- Enable optional static build with libevent
- Take maintainership
PR: ports/147122
Approved by: kuriyama (private e-mail)
Fix a few "bad example" problems in the rc.d scripts that have been
propogated by copy and paste.
1. Primarily the "empty variable" default assignment, which is mostly
${name}_flags="", but fix a few others as well.
2. Where they are not already documented, add the existence of the _flags
(or other deleted empties) option to the comments, and in some cases add
comments from scratch.
3. Replace things that look like:
prefix=%%PREFIX%%
command=${prefix}/sbin/foo
to just use %%PREFIX%%. In many cases the $prefix variable is only used
once, and in some cases it is not used at all.
4. In a few cases remove ${name}_flags from command_args
5. Remove a long-stale comment about putting the port's rc.d script in
/etc/rc.d (which is no longer necessary).
No PORTREVISION bumps because all of these changes are noops.
OpenBSD's Relay Daemon (previously known as hoststated).
relayd is a daemon to relay and dynamically redirect incoming
connections to a target host. Its main purposes are to run as a
load-balancer, application layer gateway, or transparent proxy. The
daemon is able to monitor groups of hosts for availability, which is
determined by checking for a specific service common to a host group.
WWW: http://spootnik.org/relayd/
# This port will work on $OSVERSION >= 700049.
# If you want to use on RELENG_6, apply a patch in
#
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/net/pf_table.c.diff?r1=1.67&r2=1.68