From 361fdaaa11226554854cb292fe0ed6b372898320 Mon Sep 17 00:00:00 2001 From: Alvar Penning Date: Tue, 17 Feb 2026 23:03:23 +0100 Subject: OpenBSD: Document login class w/ extended openfiles A file heavy applications makes heavy use of files. Shocking news. OpenBSD's daemon login class limits the amount of openfiles quite strict. This restriction is an annoyance for lots of applications, and, unless I am mistaken, seems to be an issue for snac as well. Thus, after hopefully fixing this on my instance, I tried to briefly document this in snac(8) and provide a minimal login.conf(5) example. --- doc/snac.8 | 35 +++++++++++++++++++++++++++++++++++ examples/snac_openbsd_login_conf | 7 +++++++ 2 files changed, 42 insertions(+) create mode 100755 examples/snac_openbsd_login_conf diff --git a/doc/snac.8 b/doc/snac.8 index 78e1946..8265dea 100644 --- a/doc/snac.8 +++ b/doc/snac.8 @@ -704,6 +704,41 @@ out there. If you want your language file to be included in the standard .Nm distribution, please send me a link to it via the Fediverse to @grunfink@comam.es or make a PR via the Git repository. +.Ss Number of open files on OpenBSD and login classes +Being a file intensive application, even a small +.Nm +instance might open lots of files, especially when forwarding a new post to +other instances. +.Pp +OpenBSD's daemon login class comes with a very low +.Pa openfiles +value, usually restricting the amount of open files to 128 (cur), 1024 (max). +This can result in +.Nm +to stop working due to too many open files. +.Pp +To continue operation, a new +.Pa snac +login class can be created. Please consult +.Xr login.conf 5 +and afterwards create a new login class as follows. +.Bd -literal -offset indent +snac:\\ + :openfiles=4096:\\ + :tc=daemon: +.Ed +.Pp +After rebuilding the +.Pa /etc/login.conf.db , +ensure that your snac user's login class is set to +.Pa snac : +.Bd -literal -offset indent +# cap_mkdb /etc/login.conf +# usermod -L snac SNACUSER +.Ed +.Pp +One restart later, the daemon should run with increased +.Pa openfiles . .Sh ENVIRONMENT .Bl -tag -width Ds .It Ev DEBUG diff --git a/examples/snac_openbsd_login_conf b/examples/snac_openbsd_login_conf new file mode 100755 index 0000000..f39b9a1 --- /dev/null +++ b/examples/snac_openbsd_login_conf @@ -0,0 +1,7 @@ +# OpenBSD login.conf(5) entry to increase the openfiles for the snac login +# class. Further documented under "Number of open files on OpenBSD and login +# classes" in snac(8). + +snac:\ + :openfiles=4096:\ + :tc=daemon: -- cgit v1.2.3