tAdd xinetd gopher request filter example daemon. - geomyidae - A small C-based gopherd. (gopher://bitreich.org/1/scm/geomyidae) (HTM) git clone git://r-36.net/geomyidae (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 72b56b76bbd9616ec82b59b4a6541ca40ab4e660 (DIR) parent 147e063355b1560f40584b7ddb11f8831e350753 (HTM) Author: Christoph Lohmann <20h@r-36.net> Date: Wed, 17 Mar 2021 22:18:34 +0100 Add xinetd gopher request filter example daemon. Diffstat: xinetd-gopher-request-filter.conf | 23 +++++++++++++++++++++++ xinetd-gopher-request-filter.sh | 18 ++++++++++++++++++ 2 files changed, 41 insertions(+), 0 deletions(-) --- (DIR) diff --git a/xinetd-gopher-request-filter.conf b/xinetd-gopher-request-filter.conf t@@ -0,0 +1,23 @@ +# Adopt service to your needs. +service gopher +{ + socket_type = stream + protocol = tcp + only_from = 0.0.0.0/0 ::/0 + flags = IPv6 + + wait = no + user = gopherd + group = gopherd + groups = yes + server = /path/to/xinetd-gopher-request-filter.sh + instances = 50 + nice = 19 + + log_type = SYSLOG daemon debug + log_on_success = PID HOST EXIT DURATION + log_on_failure = HOST + + disable = no +} + (DIR) diff --git a/xinetd-gopher-request-filter.sh b/xinetd-gopher-request-filter.sh t@@ -0,0 +1,18 @@ +#!/bin/sh +# +# Copy me if you can. +# +# Change to fit to your original running geomyidae instance. +dstserver="localhost" +dstport="7070" + +read -r request +case "${request}" in +/bill-gates-chips-us-all|/something-secret) + printf "3The request cannot be handled\terror\t70\r\n" + ;; +*) + printf "%s\r\n" "${request}" | nc "${dstserver}" "${dstport}" + ;; +esac +