itadded debian-style initscript - coffin - secure lan file storage on a device Err parazyd.org 70 hgit clone git://parazyd.org/coffin.git URL:git://parazyd.org/coffin.git parazyd.org 70 1Log /git/coffin/log.gph parazyd.org 70 1Files /git/coffin/files.gph parazyd.org 70 1Refs /git/coffin/refs.gph parazyd.org 70 1Submodules /git/coffin/file/.gitmodules.gph parazyd.org 70 1README /git/coffin/file/README.md.gph parazyd.org 70 1LICENSE /git/coffin/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit ebb5d5c4ec031e2a774a97301db08f918e6146cd /git/coffin/commit/ebb5d5c4ec031e2a774a97301db08f918e6146cd.gph parazyd.org 70 1parent a86d46ab39d085fa2c5be3d737143a415a231476 /git/coffin/commit/a86d46ab39d085fa2c5be3d737143a415a231476.gph parazyd.org 70 hAuthor: parazyd URL:mailto:parazyd@dyne.org parazyd.org 70 iDate: Tue, 29 Mar 2016 22:40:28 +0200 Err parazyd.org 70 i Err parazyd.org 70 iadded debian-style initscript Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M conf/config.sh | 23 +++++++++++++++++++++-- Err parazyd.org 70 i A conf/initscript-deb | 95 ++++++++++++++++++++++++++++++ Err parazyd.org 70 i Err parazyd.org 70 i2 files changed, 116 insertions(+), 2 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/conf/config.sh b/conf/config.sh /git/coffin/file/conf/config.sh.gph parazyd.org 70 it@@ -50,8 +50,21 @@ edit-sudo() { Err parazyd.org 70 i fi Err parazyd.org 70 i } Err parazyd.org 70 i Err parazyd.org 70 i+update-init() { Err parazyd.org 70 i+ # TODO: rearrange this into another function and add other distros Err parazyd.org 70 i+ update-rc.d Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i+ckdistro() { Err parazyd.org 70 i+ which apt-get >/dev/null && distro=deb Err parazyd.org 70 i+ which emerge >/dev/null && distro=gentoo Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i # because all cool software has snowmen in them Err parazyd.org 70 i [[ $1 == "snowman" ]] && { Err parazyd.org 70 i+ # NOTE: remember to set this; see update-init() Err parazyd.org 70 i+ # ckdistro Err parazyd.org 70 i+ distro=deb Err parazyd.org 70 i pushd `pwd`/conf Err parazyd.org 70 i Err parazyd.org 70 i groupadd coffin && print "created coffin group" Err parazyd.org 70 it@@ -94,10 +107,12 @@ edit-sudo() { Err parazyd.org 70 i edit-sudo add Err parazyd.org 70 i Err parazyd.org 70 i install -Dm770 -g coffin -d /home/graveyard Err parazyd.org 70 i+ install -Dm755 initscript-$distro /etc/init.d/coffin Err parazyd.org 70 i Err parazyd.org 70 i- # TODO: add initscript Err parazyd.org 70 i+ update-init Err parazyd.org 70 i Err parazyd.org 70 i print "Successfully installed and configured coffin!" Err parazyd.org 70 i+ print "You can start it with '/etc/init.d/coffin start'" Err parazyd.org 70 i Err parazyd.org 70 i print "######################################" Err parazyd.org 70 i fprint=`openssl x509 -noout -in coffin.pem -fingerprint \ Err parazyd.org 70 it@@ -105,6 +120,7 @@ edit-sudo() { Err parazyd.org 70 i print "The fingerptint of your SSL certificate is: $fprint" Err parazyd.org 70 i print "Compare it and/or set is as trusted when you connect to coffin." Err parazyd.org 70 i print "######################################" Err parazyd.org 70 i+ print "" Err parazyd.org 70 i Err parazyd.org 70 i popd Err parazyd.org 70 i return 0 Err parazyd.org 70 it@@ -115,7 +131,7 @@ edit-sudo() { Err parazyd.org 70 i print "Uninstalling coffin. Why? Why? Why?" Err parazyd.org 70 i print "*cries*\n" Err parazyd.org 70 i Err parazyd.org 70 i- # /etc/init.d/coffin stop Err parazyd.org 70 i+ /etc/init.d/coffin stop Err parazyd.org 70 i Err parazyd.org 70 i # uncomment if you wish to revert apache Err parazyd.org 70 i #revert=true Err parazyd.org 70 it@@ -146,4 +162,7 @@ edit-sudo() { Err parazyd.org 70 i rm -v src/tomb-kdb-pbkdf2-gensalt Err parazyd.org 70 i rm -v src/tomb-kdb-pbkdf2-getiter Err parazyd.org 70 i rm -v src/tomb Err parazyd.org 70 i+ rm -v /etc/init.d/coffin Err parazyd.org 70 i+ Err parazyd.org 70 i+ update-init Err parazyd.org 70 i } Err parazyd.org 70 1diff --git a/conf/initscript-deb b/conf/initscript-deb /git/coffin/file/conf/initscript-deb.gph parazyd.org 70 it@@ -0,0 +1,95 @@ Err parazyd.org 70 i+#!/bin/bash Err parazyd.org 70 i+ Err parazyd.org 70 i+### BEGIN INIT INFO Err parazyd.org 70 i+# Provides: coffin Err parazyd.org 70 i+# Required-Start: $local_fs $network $ Err parazyd.org 70 i+# Required-Stop: $remote_fs $syslog Err parazyd.org 70 i+# Default-Start: 2 3 4 5 Err parazyd.org 70 i+# Default-Stop: 0 1 6 Err parazyd.org 70 i+# Short-Description: Example initscript Err parazyd.org 70 i+# Description: This file should be used to construct scripts to be Err parazyd.org 70 i+# placed in /etc/init.d. This example start a Err parazyd.org 70 i+# single forking daemon capable of writing a pid Err parazyd.org 70 i+# file. To get other behavoirs, implemend Err parazyd.org 70 i+# do_start(), do_stop() or other functions to Err parazyd.org 70 i+# override the defaults in /lib/init/init-d-script. Err parazyd.org 70 i+### END INIT INFO Err parazyd.org 70 i+ Err parazyd.org 70 i+# Author: parazyd Err parazyd.org 70 i+ Err parazyd.org 70 i+DAEMON=/usr/src/coffin/run/coffin Err parazyd.org 70 i+NAME=coffin Err parazyd.org 70 i+DESC="coffin daemon" Err parazyd.org 70 i+COFFINPIDDIR=/usr/src/coffin/run Err parazyd.org 70 i+COFFINPID=$COFFINPIDDIR/coffin.pid Err parazyd.org 70 i+WAITFORDAEMON=20 Err parazyd.org 70 i+ Err parazyd.org 70 i+text -x $DAEMON || exit 0 Err parazyd.org 70 i+ Err parazyd.org 70 i+wait-for-dead-daemon() { Err parazyd.org 70 i+ pid=$1 Err parazyd.org 70 i+ sleep 1 Err parazyd.org 70 i+ if test -n "$pid"; then Err parazyd.org 70 i+ if kill -0 $pid 2>/dev/null ; then Err parazyd.org 70 i+ cnt=0 Err parazyd.org 70 i+ while kill -0 $pid 2>/dev/null ; do Err parazyd.org 70 i+ cnt=`expt $cnt + 1` Err parazyd.org 70 i+ if [ $cnt -gt $WAITFORDAEMON ]; then Err parazyd.org 70 i+ log_action_end_msg 1 "still running" Err parazyd.org 70 i+ exit 1 Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ sleep 1 Err parazyd.org 70 i+ [ "`expt $cnt % 3`" != 2 ] || log_action_cont_msg "" Err parazyd.org 70 i+ done Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ log_action_end_msg 0 Err parazyd.org 70 i+} Err parazyd.org 70 i+ Err parazyd.org 70 i+case "$1" in Err parazyd.org 70 i+ start) Err parazyd.org 70 i+ log_action_begin_msg "Starting $DESC" Err parazyd.org 70 i+ Err parazyd.org 70 i+ if start-stop-daemon --stop --signal 0 --quiet --pidfile $COFFINPID --exec $DAEMON; then Err parazyd.org 70 i+ log_action_end_msg 0 "already running" Err parazyd.org 70 i+ else Err parazyd.org 70 i+ if start-stop-daemon --start --quiet \ Err parazyd.org 70 i+ --pidfile $COFFINPID \ Err parazyd.org 70 i+ --exec $DAEMON -- Err parazyd.org 70 i+ then Err parazyd.org 70 i+ log_action_end_msg 0 Err parazyd.org 70 i+ else Err parazyd.org 70 i+ log_action_end_msg 1 Err parazyd.org 70 i+ exit 1 Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ ;; Err parazyd.org 70 i+ stop) Err parazyd.org 70 i+ log_daemon_msg "Stopping $DESC" Err parazyd.org 70 i+ pid=`cat $COFFINPID 2>/dev/null` || true Err parazyd.org 70 i+ Err parazyd.org 70 i+ if test ! -f $COFFINPID -o -z "$pid"; ten Err parazyd.org 70 i+ log_action_end_msg 0 "not running - there is no $COFFINPID" Err parazyd.org 70 i+ exit 0 Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ Err parazyd.org 70 i+ if start-stop-daemon --stop --signal INT --quiet --pidfile $TORPID --exec $DAEMON; then Err parazyd.org 70 i+ wait-for-dead-daemon $pid Err parazyd.org 70 i+ elif kill -0 $pid 2>/dev/null; then Err parazyd.org 70 i+ log_action_end_msg 1 "is $pid not $NAME? is $DAEMON a different binary now?" Err parazyd.org 70 i+ exit 1 Err parazyd.org 70 i+ else Err parazyd.org 70 i+ log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" Err parazyd.org 70 i+ exit 1 Err parazyd.org 70 i+ fi Err parazyd.org 70 i+ ;; Err parazyd.org 70 i+ restart) Err parazyd.org 70 i+ $0 stop Err parazyd.org 70 i+ sleep 1 Err parazyd.org 70 i+ $0 start Err parazyd.org 70 i+ ;; Err parazyd.org 70 i+esac Err parazyd.org 70 i+ Err parazyd.org 70 i+exit 0 Err parazyd.org 70 i+ Err parazyd.org 70 i+# vim: syntax=sh ts=4 sw=4 sts=4 sr noet Err parazyd.org 70 .