add man pages + add -n option to nobotgate-access
This commit is contained in:
parent
107ec67105
commit
26aa9c3b7e
4 changed files with 57 additions and 4 deletions
13
doc/nobotgate-access.1
Normal file
13
doc/nobotgate-access.1
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
.TH nobotgate-access 3
|
||||
.SH NAME
|
||||
nobotgate-access \- respond with http
|
||||
.SH SYNOPSIS
|
||||
nobotgate-access [-c] PROG ARGS
|
||||
.SH DESCRIPTION
|
||||
nobotgate-access is meant to run under a superserver such
|
||||
as tcpserver(1) or inetd(8). It reads http request headers
|
||||
from stdin(unless \-n is given), prints http response
|
||||
OK headers and finally exec's into PROG where the first
|
||||
argument is set to PROG and the remaining to ARGS.
|
||||
.SH "SEE ALSO"
|
||||
nobotgate(1), tcpserver(1), inetd(8)
|
||||
24
doc/nobotgate.1
Normal file
24
doc/nobotgate.1
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
.TH nobotgate 3
|
||||
.SH NAME
|
||||
nobotgate \- block bots using http header authentication
|
||||
.SH SYNOPSIS
|
||||
nobotgate TOKENFILE VALID INVALID
|
||||
.SH DESCRIPTION
|
||||
nobotgate-access is meant to run under a superserver such
|
||||
as tcpserver(1) or inetd(8).
|
||||
It reads http request headers from stdin and tries find a
|
||||
HTTP Bearer token. If no token is found or the token is not
|
||||
listed in TOKENFILE, it exec's into INVALID.
|
||||
If a token is found and the token is listed in
|
||||
TOKENFILE, it exec's into VALID.
|
||||
.SH "TOKENFILE FORMAT"
|
||||
The tokenfile is parsed line by line. Empty lines are
|
||||
ignored.
|
||||
The token begins at line start and ends at the first space
|
||||
in the line(the space is not part of the token of course).
|
||||
.SH "EXAMPLE"
|
||||
An example tokenfile:
|
||||
1234 this is bob's token
|
||||
abc223-23cm ci/cd token
|
||||
.SH "SEE ALSO"
|
||||
nobotgate-access(1), tcpserver(1), inetd(8)
|
||||
|
|
@ -26,3 +26,8 @@ executable('nobotgate', files(
|
|||
executable('nobotgate-access', files(
|
||||
'./nobotgate-access.c',
|
||||
), dependencies:deps, install:true)
|
||||
|
||||
install_man([
|
||||
'./doc/nobotgate.1',
|
||||
'./doc/nobotgate-access.1',
|
||||
])
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
#include <libowfat/str.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#define dieusage() die(100, argv0, " PROG ARGS");
|
||||
#define dieusage() die(100, argv0, " [-n] PROG ARGS");
|
||||
|
||||
static int consume=1;
|
||||
|
||||
static void consume_headers(void) {
|
||||
char buf[2048];
|
||||
|
|
@ -19,11 +21,20 @@ static void consume_headers(void) {
|
|||
int main(int argc, char **argv)
|
||||
{
|
||||
char *header;
|
||||
(void)argc;
|
||||
int i;
|
||||
errmsg_iam(*argv);
|
||||
for (i=1;i<argc;i++) {
|
||||
if (argv[i][0]!='-') break;
|
||||
if (argv[i][1]=='-' && !argv[i][2]) break;
|
||||
switch (argv[i][1]) {
|
||||
case 'n': consume=0; break;
|
||||
default: dieusage();
|
||||
}
|
||||
}
|
||||
argc-=i;argv+=i;
|
||||
|
||||
if (argc<2) dieusage();
|
||||
|
||||
if (consume)
|
||||
consume_headers();
|
||||
|
||||
header = "HTTP/1.0 200 OK\r\n"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue