mirror of
https://github.com/skeeto/endlessh.git
synced 2025-12-09 22:45:36 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfe44eb2c5 | ||
|
|
1ecaafd577 | ||
|
|
a5913cbbb2 | ||
|
|
4cb4fc6eac |
13
Makefile
13
Makefile
@@ -1,14 +1,15 @@
|
|||||||
.POSIX:
|
.POSIX:
|
||||||
CC = cc
|
CC = cc
|
||||||
CFLAGS = -std=c99 -Wall -Wextra -Wno-missing-field-initializers -Os
|
CFLAGS = -std=c99 -Wall -Wextra -Wno-missing-field-initializers -Os
|
||||||
LDFLAGS = -ggdb3
|
CPPFLAGS =
|
||||||
LDLIBS =
|
LDFLAGS = -ggdb3
|
||||||
PREFIX = /usr/local
|
LDLIBS =
|
||||||
|
PREFIX = /usr/local
|
||||||
|
|
||||||
all: endlessh
|
all: endlessh
|
||||||
|
|
||||||
endlessh: endlessh.c
|
endlessh: endlessh.c
|
||||||
$(CC) $(LDFLAGS) $(CFLAGS) -o $@ endlessh.c $(LDLIBS)
|
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ endlessh.c $(LDLIBS)
|
||||||
|
|
||||||
install: endlessh
|
install: endlessh
|
||||||
install -d $(DESTDIR)$(PREFIX)/bin
|
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
|
The feature test macros on these systems isn't reliable, so you may also
|
||||||
need to use `-D__EXTENSIONS__` in `CFLAGS`.
|
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/
|
[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 connects;
|
||||||
long long milliseconds;
|
long long milliseconds;
|
||||||
long long bytes_sent;
|
long long bytes_sent;
|
||||||
@@ -504,7 +504,7 @@ static void
|
|||||||
config_log(const struct config *c)
|
config_log(const struct config *c)
|
||||||
{
|
{
|
||||||
logmsg(log_info, "Port %d", c->port);
|
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, "MaxLineLength %d", c->max_line_length);
|
||||||
logmsg(log_info, "MaxClients %d", c->max_clients);
|
logmsg(log_info, "MaxClients %d", c->max_clients);
|
||||||
logmsg(log_info, "BindFamily %s",
|
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