From: Felix Dörre Date: Wed, 5 Nov 2014 21:33:08 +0000 (+0100) Subject: upd: Prevent unconfigured startup by checking service defaults X-Git-Url: http://www.controwiki.de/?a=commitdiff_plain;h=5977614ee0582c67737713b1466bc726ec700bc0;p=cassiopeia.git upd: Prevent unconfigured startup by checking service defaults --- diff --git a/Makefile b/Makefile index cfa9b76..ed3e568 100644 --- a/Makefile +++ b/Makefile @@ -84,6 +84,7 @@ endif .PHONY: install install: build ${INSTALL_PROGRAM} bin/cassiopeia ${DESTDIR}/usr/bin/cassiopeia + ${INSTALL_DIR} ${DESTDIR}/etc/cacert/cassiopeia .PHONY: libs libs: ${LIBS} diff --git a/debian/cacert-cassiopeia.default b/debian/cacert-cassiopeia.default new file mode 100644 index 0000000..436a32a --- /dev/null +++ b/debian/cacert-cassiopeia.default @@ -0,0 +1 @@ +START_DAEMON=0 diff --git a/debian/cacert-cassiopeia.init b/debian/cacert-cassiopeia.init index 5ce7b2a..bc5b464 100644 --- a/debian/cacert-cassiopeia.init +++ b/debian/cacert-cassiopeia.init @@ -18,7 +18,7 @@ # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="cacert's signer software" -NAME=cassiopeia +NAME=cacert-cassiopeia DAEMON=/usr/bin/cassiopeia DAEMON_ARGS= PIDFILE=/var/run/$NAME.pid @@ -30,6 +30,10 @@ DIR=/var/lib/cacert-gigi # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME +if [ "$START_DAEMON" = "0" ]; then + echo "Not starting $NAME (as configured in /etc/default/$NAME)"; + exit 0; +fi # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh @@ -44,9 +48,9 @@ DIR=/var/lib/cacert-gigi # do_start() { - if [ ! -f /var/lib/cacert-gigi/config.txt ]; then + if [ ! -f /etc/cacert/cassiopeia/cassiopeia.conf ]; then echo Missing cassiopeia-configfile - exit 0 + exit 2 fi # Return # 0 if daemon has been started diff --git a/debian/cacert-cassiopeia.install b/debian/cacert-cassiopeia.install index 85d1e46..63e3122 100644 --- a/debian/cacert-cassiopeia.install +++ b/debian/cacert-cassiopeia.install @@ -1 +1,2 @@ /usr/bin/cassiopeia +/etc/cacert/cassiopeia diff --git a/src/main.cpp b/src/main.cpp index aed34a2..cf4f383 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -45,7 +45,11 @@ int main( int argc, const char* argv[] ) { } std::ifstream config; - config.open( "config.txt" ); + if(DAEMON){ + config.open( "/etc/cacert/cassiopeia/cassiopeia.conf" ); + }else{ + config.open( "config.txt" ); + } if( !config.is_open() ) { std::cerr << "config missing" << std::endl;