aboutsummaryrefslogtreecommitdiff
path: root/src/inetd.in
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2009-11-28 13:35:13 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2009-11-28 13:35:13 +0200
commit0a2857fb3ffd9afe6f245d44672fbdf31aed6de0 (patch)
tree2d2e67158d96d9b3ac5ba61847019c6c4e3b1c7c /src/inetd.in
parent36a53f1875a097fa16bceaf674dc627d916651df (diff)
downloadpies-0a2857fb3ffd9afe6f245d44672fbdf31aed6de0.tar.gz
pies-0a2857fb3ffd9afe6f245d44672fbdf31aed6de0.tar.bz2
Optionally provide an inetd wrapper.
* configure.ac: New option --enable-inetd * src/inetd.in: New file. * src/.gitignore: Add inetd.sh. * src/Makefile.am (inetd.sh): New goal. (install-exec-hook): New rule.
Diffstat (limited to 'src/inetd.in')
-rw-r--r--src/inetd.in90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/inetd.in b/src/inetd.in
new file mode 100644
index 0000000..eefe0f6
--- /dev/null
+++ b/src/inetd.in
@@ -0,0 +1,90 @@
+#! /bin/sh
+# This file is part of GNU Pies.
+# Copyright (C) 2008, 2009 Sergey Poznyakoff
+#
+# GNU Pies is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Pies is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Pies. If not, see <http://www.gnu.org/licenses/>. */
+
+PATH=_SBINDIR_:$PATH
+
+cmdline=
+debug=0
+
+help()
+{
+ echo "Usage: $0 [OPTION] [CONFIG [CONFIG...]] [-- PIES_OPTION]"
+ echo ""
+ echo "OPTIONS are:"
+ echo " -d increase debug level"
+ echo " -R rate set maximum rate"
+ echo " -t, --lint parse configuration file and exit"
+ echo " -s, --status display info about the running instance"
+ echo " -S, --stop stop the running instance"
+ echo ""
+ echo " -?, --help give this help list"
+ echo " --usage give a short usage message"
+ echo " -V, --version print program version"
+ echo ""
+ echo "Report bugs to <bug-pies@gnu.org.ua>."
+}
+
+while test $# -ne 0
+do
+ case $1 in
+ -d) debug=$(($debug + 1))
+ shift
+ ;;
+ -R) cmdline="$cmdline --rate=$2"
+ shift
+ shift
+ ;;
+ -R*)
+ ropt=`echo $1 | sed 's/^-R/--rate=/'`
+ cmdline="$cmdline $ropt"
+ shift
+ ;;
+ -t|--lint|-s|--status|-S|--stop)
+ cmdline="$cmdline $1"
+ shift
+ ;;
+ -V|--version)
+ pies --version | sed -n '1s/^pies/inetd.sh/p'
+ exit
+ ;;
+ --usage)
+ echo "$0 [-dtsSV?] [-R rate] [--lint] [--status] [--stop] [--help]"
+ pad=`echo $0 | sed 's/./ /g'`
+ echo "$pad [--usage] [--version] [CONFIG [CONFIG...]] [-- PIES_OPTION]"
+ exit
+ ;;
+ -?|--help)
+ help
+ exit
+ ;;
+ --) shift
+ cmdline="$cmdline $@"
+ break
+ ;;
+ -*) echo >&2 "$0: unknown option"
+ exit 64
+ ;;
+ *) cmdline="$cmdline --config-file=$1"
+ shift
+ esac
+done
+
+if test $debug -gt 0; then
+ cmdline="$cmdline --debug=$debug"
+fi
+
+pies --inetd $cmdline

Return to:

Send suggestions and report system problems to the System administrator.