commit 0080b8dff74c583682867eb190e49237fee3b9db
Author: Ximin Luo <[email protected]>
Date:   Thu Sep 12 17:03:08 2013 +0100

    use GNU autotools to create an installable package, including docs
---
 Makefile                                       |    5 +-
 facilitator/.gitignore                         |   27 +++++
 facilitator/Makefile                           |   19 ----
 facilitator/Makefile.am                        |   42 ++++++++
 facilitator/autogen.sh                         |    2 +
 facilitator/conf/fp-facilitator                |   27 +++++
 facilitator/configure.ac                       |   13 +++
 facilitator/doc/facilitator-howto.txt          |   39 ++------
 facilitator/init.d/facilitator                 |  122 -----------------------
 facilitator/init.d/facilitator-email-poller    |  119 ----------------------
 facilitator/init.d/facilitator-email-poller.in |  121 +++++++++++++++++++++++
 facilitator/init.d/facilitator-reg-daemon      |  119 ----------------------
 facilitator/init.d/facilitator-reg-daemon.in   |  121 +++++++++++++++++++++++
 facilitator/init.d/facilitator.in              |  125 ++++++++++++++++++++++++
 14 files changed, 492 insertions(+), 409 deletions(-)

diff --git a/Makefile b/Makefile
index bf504af..8771405 100644
--- a/Makefile
+++ b/Makefile
@@ -65,7 +65,10 @@ test:
        ./flashproxy-client-test
 
 test-full: test
-       cd facilitator && make test
+       cd facilitator && \
+         { test -x ./config.status && ./config.status || \
+         { test -x ./configure || ./autogen.sh; } && ./configure; } \
+         && make && make check
        cd proxy && make test
 
 .PHONY: all install dist sign dist-exe clean clean-all test test-full
diff --git a/facilitator/.gitignore b/facilitator/.gitignore
new file mode 100644
index 0000000..7574515
--- /dev/null
+++ b/facilitator/.gitignore
@@ -0,0 +1,27 @@
+# files build by autogen.sh
+/aclocal.m4
+/configure
+/depcomp
+/install-sh
+/missing
+/test-driver
+/Makefile.in
+
+# files built by ./configure
+/init.d/facilitator
+/init.d/facilitator-email-poller
+/init.d/facilitator-reg-daemon
+/Makefile
+/config.status
+/config.log
+
+# files built by autoconf not meant for source-distribution
+/autom4te.cache
+
+# files for binary-distribution
+/flashproxy-facilitator-*.tar.*
+
+# files output by test-driver
+/test-*.log
+/*-test.log
+/*-test.trs
diff --git a/facilitator/Makefile b/facilitator/Makefile
deleted file mode 100644
index 07ed125..0000000
--- a/facilitator/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-DESTDIR =
-PREFIX = /usr/local
-BINDIR = $(PREFIX)/bin
-
-all:
-       :
-
-install:
-       mkdir -p $(DESTDIR)$(BINDIR)
-       cp -f facilitator facilitator-email-poller facilitator-reg-daemon 
facilitator-reg facilitator.cgi fac.py $(DESTDIR)$(BINDIR)
-       cp -f init.d/facilitator init.d/facilitator-email-poller 
init.d/facilitator-reg-daemon $(DESTDIR)/etc/init.d/
-
-clean:
-       rm -f *.pyc
-
-test:
-       ./facilitator-test
-
-.PHONY: all install clean test
diff --git a/facilitator/Makefile.am b/facilitator/Makefile.am
new file mode 100644
index 0000000..58e19b3
--- /dev/null
+++ b/facilitator/Makefile.am
@@ -0,0 +1,42 @@
+# our own variables
+
+fpfacilitatoruser = @fpfacilitatoruser@
+initscriptdir = $(sysconfdir)/init.d
+exampledir = $(docdir)/examples
+
+# automake PLVs
+
+dist_bin_SCRIPTS = facilitator facilitator-email-poller facilitator-reg-daemon 
facilitator-reg facilitator.cgi fac.py
+initscript_SCRIPTS = init.d/facilitator init.d/facilitator-email-poller 
init.d/facilitator-reg-daemon
+
+dist_doc_DATA = doc/appengine-howto.txt doc/facilitator-howto.txt 
doc/gmail-howto.txt README
+dist_example_DATA = conf/fp-facilitator
+
+dist_TESTS = facilitator-test
+
+# stuff built from AC_CONFIG_FILES
+# see http://www.gnu.org/software/automake/manual/html_node/Scripts.html
+CLEANFILES = $(initscript_SCRIPTS)
+
+# our own targets
+
+post-install:
+       which adduser >/dev/null 2>&1 && \
+         adduser --quiet \
+           --system \
+           --disabled-password \
+           --home $(sysconfdir)/flashproxy \
+           --no-create-home \
+           --shell /bin/false \
+           --group \
+           $(fpfacilitatoruser) || \
+         useradd \
+           --system \
+           --home $(sysconfdir)/flashproxy \
+           -M \
+           --shell /bin/false \
+           $(fpfacilitatoruser)
+       for i in facilitator facilitator-email-poller facilitator-reg-daemon; 
do \
+         update-rc.d $$i defaults; \
+         /etc/init.d/$$i start; \
+       done
diff --git a/facilitator/autogen.sh b/facilitator/autogen.sh
new file mode 100755
index 0000000..4e7cc05
--- /dev/null
+++ b/facilitator/autogen.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+autoreconf -if
diff --git a/facilitator/conf/fp-facilitator b/facilitator/conf/fp-facilitator
new file mode 100644
index 0000000..125d0cc
--- /dev/null
+++ b/facilitator/conf/fp-facilitator
@@ -0,0 +1,27 @@
+# This is an example apache2 config for serving the facilitator.
+#
+# You can edit this file according to the instructions below, then copy it to
+# /etc/apache2/sites-available/fp-facilitator, or wherever is appropriate. Then
+# you can run `a2ensite fp-facilitator` to enable it.
+#
+<VirtualHost *:443>
+       # Update this with your hostname!
+       ServerName fp-facilitator.example.com
+       DocumentRoot /dev/null
+       # Make sure the path below matchs where you installed the facilitator.
+       ScriptAliasMatch ^(.*) /usr/bin/facilitator.cgi$1
+       MaxClients 256
+
+       CustomLog ${APACHE_LOG_DIR}/fp-access.log common
+       ErrorLog ${APACHE_LOG_DIR}/fp-error.log
+       LogLevel warn
+       SSLEngine on
+
+       # Manually install your certificate to the following location.
+       SSLCertificateFile /etc/apache2/fp-facilitator.pem
+       # If you got an intermediate certificate, uncomment the following line
+       # and install the certificate to that location too.
+       #SSLCertificateChainFile /etc/apache2/fp-intermediate.pem
+
+       Header add Strict-Transport-Security "max-age=15768000"
+</VirtualHost>
diff --git a/facilitator/configure.ac b/facilitator/configure.ac
new file mode 100644
index 0000000..3b74de5
--- /dev/null
+++ b/facilitator/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.69])
+AC_INIT([flashproxy-facilitator], [1.3])
+AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+
+AC_ARG_VAR(fpfacilitatoruser, [the user/group for the facilitator to run as])
+fpfacilitatoruser="${fpfacilitatoruser:-flashproxy-fac}"
+
+AC_CONFIG_FILES([Makefile
+       init.d/facilitator
+       init.d/facilitator-email-poller
+       init.d/facilitator-reg-daemon])
+
+AC_OUTPUT
diff --git a/facilitator/doc/facilitator-howto.txt 
b/facilitator/doc/facilitator-howto.txt
index a5cadb6..6283cf8 100644
--- a/facilitator/doc/facilitator-howto.txt
+++ b/facilitator/doc/facilitator-howto.txt
@@ -87,10 +87,6 @@ Restart servers.
 
 == Facilitator program installation
 
-Create the user the daemons will run as.
-
-       # useradd --shell /usr/sbin/nologin --system --home /nonexistent -M 
facilitator-nobody
-
 Install the programs.
 
        # cd
@@ -103,6 +99,13 @@ This installs facilitator.cgi, facilitator, 
facilitator-email-poller,
 facilitator-reg-daemon, facilitator-reg, and fac.py to /usr/local/bin.
 It also installs System V init files to /etc/init.d/.
 
+Do post-installation tasks.
+
+       # make postinst
+
+This creates a user for the daemons to run as, and sets up the init.d
+scripts in the default system runlevels.
+
 === Registration daemon setup
 
 The facilitator-reg-daemon program requires a private RSA key (used to
@@ -119,13 +122,6 @@ reg-daemon.pub into the appropriate place.
 Install reg-daemon.key /etc/flashproxy to match what the init script
 expects.
 
-=== Init script setup
-
-       # update-rc.d facilitator defaults
-       # /etc/init.d/facilitator start
-       # update-rc.d facilitator-reg-daemon defaults
-       # /etc/init.d/facilitator-reg-daemon start
-
 == HTTP server setup
 
 Apache is the web server that runs the CGI program.
@@ -138,24 +134,9 @@ Edit /etc/apache2/ports.conf and comment out the port 80 
configuration.
        # NameVirtualHost *:80
        # Listen 80
 
-Create a new file /etc/apache2/sites-available/fp-facilitator with
-these contents:
-       MaxClients 256
-       <VirtualHost *:443>
-               ServerName fp-facilitator.example.com
-               DocumentRoot /dev/null
-               ScriptAliasMatch ^(.*) /usr/local/bin/facilitator.cgi$1
-               CustomLog /dev/null common
-               ErrorLog ${APACHE_LOG_DIR}/error.log
-               LogLevel warn
-               SSLEngine on
-               SSLCertificateFile /etc/apache2/fp-facilitator.pem
-               SSLCertificateChainFile /etc/apache2/intermediate.pem
-               Header add Strict-Transport-Security "max-age=15768000"
-       </VirtualHost>
-intermediate.pem is a possible intermediate certificate file provided by
-the CA; if you did not get one, then leave off the
-SSLCertificateChainFile line.
+Edit conf/fp-facilitator as per the instructions given in that file, and
+install it to /etc/apache2/sites-available/fp-facilitator or whatever is
+appropriate for your apache2 installation.
 
 Link the configured site into sites-enabled.
        # a2ensite fp-facilitator
diff --git a/facilitator/init.d/facilitator b/facilitator/init.d/facilitator
deleted file mode 100755
index 19bb482..0000000
--- a/facilitator/init.d/facilitator
+++ /dev/null
@@ -1,122 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          facilitator
-# Required-Start:    $remote_fs $syslog
-# Required-Stop:     $remote_fs $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Flash proxy facilitator
-# Description:       Debian init script for the flash proxy facilitator.
-### END INIT INFO
-#
-# Author:      David Fifield <[email protected]>
-#
-
-# Based on /etc/init.d/skeleton from Debian 6.
-
-# The relay must support the websocket pluggable transport.
-# This is the IPv4 address of tor1.bamsoftware.com.
-RELAY=173.255.221.44:9901
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
-DESC="Flash proxy facilitator"
-NAME=facilitator
-PIDFILE=/var/run/$NAME.pid
-LOGFILE=/var/log/$NAME.log
-PRIVDROP_USER=facilitator-nobody
-DAEMON=/usr/local/bin/$NAME
-DAEMON_ARGS="-r $RELAY --log $LOGFILE --pidfile $PIDFILE --privdrop-user 
$PRIVDROP_USER"
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-. /lib/init/vars.sh
-. /lib/lsb/init-functions
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-       # Return
-       #   0 if daemon has been started
-       #   1 if daemon was already running
-       #   2 if daemon could not be started
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
-               || return 1
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-               $DAEMON_ARGS \
-               || return 2
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-       # Return
-       #   0 if daemon has been stopped
-       #   1 if daemon was already stopped
-       #   2 if daemon could not be stopped
-       #   other if a failure occurred
-       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE
-       RETVAL="$?"
-       [ "$RETVAL" = 2 ] && return 2
-       # Wait for children to finish too if this is a daemon that forks
-       # and if the daemon is only ever run from this initscript.
-       # If the above conditions are not satisfied then add some other code
-       # that waits for the process to drop all resources that could be
-       # needed by services started subsequently.  A last resort is to
-       # sleep for some time.
-       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
-       [ "$?" = 2 ] && return 2
-       rm -f $PIDFILE
-       return "$RETVAL"
-}
-
-case "$1" in
-  start)
-       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
-       do_start
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  stop)
-       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-       do_stop
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  status)
-       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-       ;;
-  restart|force-reload)
-       log_daemon_msg "Restarting $DESC" "$NAME"
-       do_stop
-       case "$?" in
-         0|1)
-               do_start
-               case "$?" in
-                       0) log_end_msg 0 ;;
-                       1) log_end_msg 1 ;; # Old process is still running
-                       *) log_end_msg 1 ;; # Failed to start
-               esac
-               ;;
-         *)
-               # Failed to stop
-               log_end_msg 1
-               ;;
-       esac
-       ;;
-  *)
-       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-       exit 3
-       ;;
-esac
-
-:
diff --git a/facilitator/init.d/facilitator-email-poller 
b/facilitator/init.d/facilitator-email-poller
deleted file mode 100755
index 2c9ecb8..0000000
--- a/facilitator/init.d/facilitator-email-poller
+++ /dev/null
@@ -1,119 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          facilitator-email-poller
-# Required-Start:    $remote_fs $syslog
-# Required-Stop:     $remote_fs $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Flash proxy email rendezvous poller
-# Description:       Debian init script for the flash proxy email rendezvous 
poller.
-### END INIT INFO
-#
-# Author:      David Fifield <[email protected]>
-#
-
-# Based on /etc/init.d/skeleton from Debian 6.
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
-DESC="Flash proxy email rendezvous poller"
-NAME=facilitator-email-poller
-PIDFILE=/var/run/$NAME.pid
-LOGFILE=/var/log/$NAME.log
-CONFDIR=/etc/flashproxy
-PRIVDROP_USER=facilitator-nobody
-DAEMON=/usr/local/bin/$NAME
-DAEMON_ARGS="--pass $CONFDIR/reg-email.pass --log $LOGFILE --pidfile $PIDFILE 
--privdrop-user $PRIVDROP_USER"
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-. /lib/init/vars.sh
-. /lib/lsb/init-functions
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-       # Return
-       #   0 if daemon has been started
-       #   1 if daemon was already running
-       #   2 if daemon could not be started
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
-               || return 1
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-               $DAEMON_ARGS \
-               || return 2
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-       # Return
-       #   0 if daemon has been stopped
-       #   1 if daemon was already stopped
-       #   2 if daemon could not be stopped
-       #   other if a failure occurred
-       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE
-       RETVAL="$?"
-       [ "$RETVAL" = 2 ] && return 2
-       # Wait for children to finish too if this is a daemon that forks
-       # and if the daemon is only ever run from this initscript.
-       # If the above conditions are not satisfied then add some other code
-       # that waits for the process to drop all resources that could be
-       # needed by services started subsequently.  A last resort is to
-       # sleep for some time.
-       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
-       [ "$?" = 2 ] && return 2
-       rm -f $PIDFILE
-       return "$RETVAL"
-}
-
-case "$1" in
-  start)
-       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
-       do_start
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  stop)
-       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-       do_stop
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  status)
-       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-       ;;
-  restart|force-reload)
-       log_daemon_msg "Restarting $DESC" "$NAME"
-       do_stop
-       case "$?" in
-         0|1)
-               do_start
-               case "$?" in
-                       0) log_end_msg 0 ;;
-                       1) log_end_msg 1 ;; # Old process is still running
-                       *) log_end_msg 1 ;; # Failed to start
-               esac
-               ;;
-         *)
-               # Failed to stop
-               log_end_msg 1
-               ;;
-       esac
-       ;;
-  *)
-       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-       exit 3
-       ;;
-esac
-
-:
diff --git a/facilitator/init.d/facilitator-email-poller.in 
b/facilitator/init.d/facilitator-email-poller.in
new file mode 100755
index 0000000..ef90794
--- /dev/null
+++ b/facilitator/init.d/facilitator-email-poller.in
@@ -0,0 +1,121 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          facilitator-email-poller
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Flash proxy email rendezvous poller
+# Description:       Debian init script for the flash proxy email rendezvous 
poller.
+### END INIT INFO
+#
+# Author:      David Fifield <[email protected]>
+#
+
+# Based on /etc/init.d/skeleton from Debian 6.
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
+DESC="Flash proxy email rendezvous poller"
+NAME=facilitator-email-poller
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+PIDFILE=@localstatedir@/run/$NAME.pid
+LOGFILE=@localstatedir@/log/$NAME.log
+CONFDIR=@sysconfdir@/flashproxy
+PRIVDROP_USER=@fpfacilitatoruser@
+DAEMON=@bindir@/$NAME
+DAEMON_ARGS="--pass $CONFDIR/reg-email.pass --log $LOGFILE --pidfile $PIDFILE 
--privdrop-user $PRIVDROP_USER"
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       # Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+       # Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       # Wait for children to finish too if this is a daemon that forks
+       # and if the daemon is only ever run from this initscript.
+       # If the above conditions are not satisfied then add some other code
+       # that waits for the process to drop all resources that could be
+       # needed by services started subsequently.  A last resort is to
+       # sleep for some time.
+       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/facilitator/init.d/facilitator-reg-daemon 
b/facilitator/init.d/facilitator-reg-daemon
deleted file mode 100755
index e299468..0000000
--- a/facilitator/init.d/facilitator-reg-daemon
+++ /dev/null
@@ -1,119 +0,0 @@
-#! /bin/sh
-### BEGIN INIT INFO
-# Provides:          facilitator-reg-daemon
-# Required-Start:    $remote_fs $syslog
-# Required-Stop:     $remote_fs $syslog
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Flash proxy local registration daemon.
-# Description:       Debian init script for the flash proxy local registration 
daemon.
-### END INIT INFO
-#
-# Author:      David Fifield <[email protected]>
-#
-
-# Based on /etc/init.d/skeleton from Debian 6.
-
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
-DESC="Flash proxy local registration daemon"
-NAME=facilitator-reg-daemon
-PIDFILE=/var/run/$NAME.pid
-LOGFILE=/var/log/$NAME.log
-CONFDIR=/etc/flashproxy
-PRIVDROP_USER=facilitator-nobody
-DAEMON=/usr/local/bin/$NAME
-DAEMON_ARGS="--key $CONFDIR/reg-daemon.key --log $LOGFILE --pidfile $PIDFILE 
--privdrop-user $PRIVDROP_USER"
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x "$DAEMON" ] || exit 0
-
-. /lib/init/vars.sh
-. /lib/lsb/init-functions
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-       # Return
-       #   0 if daemon has been started
-       #   1 if daemon was already running
-       #   2 if daemon could not be started
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
-               || return 1
-       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-               $DAEMON_ARGS \
-               || return 2
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-       # Return
-       #   0 if daemon has been stopped
-       #   1 if daemon was already stopped
-       #   2 if daemon could not be stopped
-       #   other if a failure occurred
-       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE
-       RETVAL="$?"
-       [ "$RETVAL" = 2 ] && return 2
-       # Wait for children to finish too if this is a daemon that forks
-       # and if the daemon is only ever run from this initscript.
-       # If the above conditions are not satisfied then add some other code
-       # that waits for the process to drop all resources that could be
-       # needed by services started subsequently.  A last resort is to
-       # sleep for some time.
-       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
-       [ "$?" = 2 ] && return 2
-       rm -f $PIDFILE
-       return "$RETVAL"
-}
-
-case "$1" in
-  start)
-       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
-       do_start
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  stop)
-       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-       do_stop
-       case "$?" in
-               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-       esac
-       ;;
-  status)
-       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-       ;;
-  restart|force-reload)
-       log_daemon_msg "Restarting $DESC" "$NAME"
-       do_stop
-       case "$?" in
-         0|1)
-               do_start
-               case "$?" in
-                       0) log_end_msg 0 ;;
-                       1) log_end_msg 1 ;; # Old process is still running
-                       *) log_end_msg 1 ;; # Failed to start
-               esac
-               ;;
-         *)
-               # Failed to stop
-               log_end_msg 1
-               ;;
-       esac
-       ;;
-  *)
-       echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-       exit 3
-       ;;
-esac
-
-:
diff --git a/facilitator/init.d/facilitator-reg-daemon.in 
b/facilitator/init.d/facilitator-reg-daemon.in
new file mode 100755
index 0000000..5126baa
--- /dev/null
+++ b/facilitator/init.d/facilitator-reg-daemon.in
@@ -0,0 +1,121 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          facilitator-reg-daemon
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Flash proxy local registration daemon.
+# Description:       Debian init script for the flash proxy local registration 
daemon.
+### END INIT INFO
+#
+# Author:      David Fifield <[email protected]>
+#
+
+# Based on /etc/init.d/skeleton from Debian 6.
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
+DESC="Flash proxy local registration daemon"
+NAME=facilitator-reg-daemon
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+PIDFILE=@localstatedir@/run/$NAME.pid
+LOGFILE=@localstatedir@/log/$NAME.log
+CONFDIR=@sysconfdir@/flashproxy
+PRIVDROP_USER=@fpfacilitatoruser@
+DAEMON=@bindir@/$NAME
+DAEMON_ARGS="--key $CONFDIR/reg-daemon.key --log $LOGFILE --pidfile $PIDFILE 
--privdrop-user $PRIVDROP_USER"
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       # Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+       # Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       # Wait for children to finish too if this is a daemon that forks
+       # and if the daemon is only ever run from this initscript.
+       # If the above conditions are not satisfied then add some other code
+       # that waits for the process to drop all resources that could be
+       # needed by services started subsequently.  A last resort is to
+       # sleep for some time.
+       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:
diff --git a/facilitator/init.d/facilitator.in 
b/facilitator/init.d/facilitator.in
new file mode 100755
index 0000000..53c27b4
--- /dev/null
+++ b/facilitator/init.d/facilitator.in
@@ -0,0 +1,125 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          facilitator
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Flash proxy facilitator
+# Description:       Debian init script for the flash proxy facilitator.
+### END INIT INFO
+#
+# Author:      David Fifield <[email protected]>
+#
+
+# Based on /etc/init.d/skeleton from Debian 6.
+
+# The relay must support the websocket pluggable transport.
+# This is the IPv4 address of tor1.bamsoftware.com.
+RELAY=173.255.221.44:9901
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
+DESC="Flash proxy facilitator"
+NAME=facilitator
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+PIDFILE=@localstatedir@/run/$NAME.pid
+LOGFILE=@localstatedir@/log/$NAME.log
+CONFDIR=@sysconfdir@/flashproxy
+PRIVDROP_USER=@fpfacilitatoruser@
+DAEMON=@bindir@/$NAME
+DAEMON_ARGS="-r $RELAY --log $LOGFILE --pidfile $PIDFILE --privdrop-user 
$PRIVDROP_USER"
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       # Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON 
--test > /dev/null \
+               || return 1
+       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+               $DAEMON_ARGS \
+               || return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+       # Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
+       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE
+       RETVAL="$?"
+       [ "$RETVAL" = 2 ] && return 2
+       # Wait for children to finish too if this is a daemon that forks
+       # and if the daemon is only ever run from this initscript.
+       # If the above conditions are not satisfied then add some other code
+       # that waits for the process to drop all resources that could be
+       # needed by services started subsequently.  A last resort is to
+       # sleep for some time.
+       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
+       [ "$?" = 2 ] && return 2
+       rm -f $PIDFILE
+       return "$RETVAL"
+}
+
+case "$1" in
+  start)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+       do_start
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  stop)
+       [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+       do_stop
+       case "$?" in
+               0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+               2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+       esac
+       ;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+       log_daemon_msg "Restarting $DESC" "$NAME"
+       do_stop
+       case "$?" in
+         0|1)
+               do_start
+               case "$?" in
+                       0) log_end_msg 0 ;;
+                       1) log_end_msg 1 ;; # Old process is still running
+                       *) log_end_msg 1 ;; # Failed to start
+               esac
+               ;;
+         *)
+               # Failed to stop
+               log_end_msg 1
+               ;;
+       esac
+       ;;
+  *)
+       echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2
+       exit 3
+       ;;
+esac
+
+:



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to