From a5913cbbb297d379893337e6281b6412339b5098 Mon Sep 17 00:00:00 2001 From: "Peter H. Froehlich" Date: Thu, 24 Dec 2020 00:43:20 +0100 Subject: [PATCH] Three notes on OpenBSD. --- README.md | 21 +++++++++++++++++++++ util/openbsd/README.md | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 util/openbsd/README.md diff --git a/README.md b/README.md index d7e9ef1..16debcd 100644 --- a/README.md +++ b/README.md @@ -108,5 +108,26 @@ to remove GCC-specific options. For example, on Solaris: The feature test macros on these systems isn't reliable, so you may also need to use `-D__EXTENSIONS__` in `CFLAGS`. +### OpenBSD + +The man page needs to go into a different path for OpenBSD's `man` command: + +``` +diff --git a/Makefile b/Makefile +index 119347a..dedf69d 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,8 +14,8 @@ endlessh: endlessh.c + install: endlessh + install -d $(DESTDIR)$(PREFIX)/bin + install -m 755 endlessh $(DESTDIR)$(PREFIX)/bin/ +- install -d $(DESTDIR)$(PREFIX)/share/man/man1 +- install -m 644 endlessh.1 $(DESTDIR)$(PREFIX)/share/man/man1/ ++ install -d $(DESTDIR)$(PREFIX)/man/man1 ++ install -m 644 endlessh.1 $(DESTDIR)$(PREFIX)/man/man1/ + + clean: + rm -rf endlessh +``` [np]: https://nullprogram.com/blog/2019/03/22/ diff --git a/util/openbsd/README.md b/util/openbsd/README.md new file mode 100644 index 0000000..d3e24bc --- /dev/null +++ b/util/openbsd/README.md @@ -0,0 +1,34 @@ +# Running `endlessh` on OpenBSD + +## Covering IPv4 and IPv6 + +If you want to cover both IPv4 and IPv6 you'll need to run *two* instances of +`endlessh` due to OpenBSD limitations. Here's how I did it: + +- copy the `endlessh` script to `rc.d` twice, as `endlessh` and `endlessh6` +- copy the `config` file to `/etc/endlessh` twice, as `config` and `config6` + - use `BindFamily 4` in `config` + - use `BindFamily 6` in `config6` +- in `rc.conf.local` force `endlessh6` to load `config6` like so: + +``` +endlessh6_flags=-s -f /etc/endlessh/config6 +endlessh_flags=-s +``` + +## Covering more than 128 connections + +The defaults in OpenBSD only allow for 128 open file descriptors per process, +so regardless of the `MaxClients` setting in `/etc/config` you'll end up with +something like 124 clients at the most. +You can increase these limits in `/etc/login.conf` for `endlessh` (and +`endlessh6`) like so: + +``` +endlessh:\ + :openfiles=1024:\ + :tc=daemon: +endlessh6:\ + :openfiles=1024:\ + :tc=daemon: +```