mirror of
https://github.com/skeeto/endlessh.git
synced 2025-12-08 22:23:23 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfe44eb2c5 | ||
|
|
1ecaafd577 | ||
|
|
a5913cbbb2 | ||
|
|
4cb4fc6eac |
13
Makefile
13
Makefile
@@ -1,14 +1,15 @@
|
||||
.POSIX:
|
||||
CC = cc
|
||||
CFLAGS = -std=c99 -Wall -Wextra -Wno-missing-field-initializers -Os
|
||||
LDFLAGS = -ggdb3
|
||||
LDLIBS =
|
||||
PREFIX = /usr/local
|
||||
CC = cc
|
||||
CFLAGS = -std=c99 -Wall -Wextra -Wno-missing-field-initializers -Os
|
||||
CPPFLAGS =
|
||||
LDFLAGS = -ggdb3
|
||||
LDLIBS =
|
||||
PREFIX = /usr/local
|
||||
|
||||
all: endlessh
|
||||
|
||||
endlessh: endlessh.c
|
||||
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ endlessh.c $(LDLIBS)
|
||||
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ endlessh.c $(LDLIBS)
|
||||
|
||||
install: endlessh
|
||||
install -d $(DESTDIR)$(PREFIX)/bin
|
||||
|
||||
21
README.md
21
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/
|
||||
|
||||
@@ -105,7 +105,7 @@ logsyslog(enum loglevel level, const char *format, ...)
|
||||
}
|
||||
}
|
||||
|
||||
struct {
|
||||
static struct {
|
||||
long long connects;
|
||||
long long milliseconds;
|
||||
long long bytes_sent;
|
||||
@@ -504,7 +504,7 @@ static void
|
||||
config_log(const struct config *c)
|
||||
{
|
||||
logmsg(log_info, "Port %d", c->port);
|
||||
logmsg(log_info, "Delay %ld", c->delay);
|
||||
logmsg(log_info, "Delay %d", c->delay);
|
||||
logmsg(log_info, "MaxLineLength %d", c->max_line_length);
|
||||
logmsg(log_info, "MaxClients %d", c->max_clients);
|
||||
logmsg(log_info, "BindFamily %s",
|
||||
|
||||
34
util/openbsd/README.md
Normal file
34
util/openbsd/README.md
Normal file
@@ -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:
|
||||
```
|
||||
Reference in New Issue
Block a user