]> WPIA git - cassiopeia.git/commitdiff
upd: Prevent unconfigured startup by checking service defaults
authorFelix Dörre <felix@dogcraft.de>
Wed, 5 Nov 2014 21:33:08 +0000 (22:33 +0100)
committerFelix Dörre <felix@dogcraft.de>
Sat, 8 Nov 2014 00:03:22 +0000 (01:03 +0100)
Makefile
debian/cacert-cassiopeia.default [new file with mode: 0644]
debian/cacert-cassiopeia.init
debian/cacert-cassiopeia.install
src/main.cpp

index cfa9b76ae771ecda771fefe4b895052f6cd22f49..ed3e56858ef6fe70bf9326596ae4720046a4967d 100644 (file)
--- 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 (file)
index 0000000..436a32a
--- /dev/null
@@ -0,0 +1 @@
+START_DAEMON=0
index 5ce7b2ac4733e5514270a9963a2a26282683e3d3..bc5b464d8cc2ee2670ac852eee736532a0a63e3a 100644 (file)
@@ -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
index 85d1e469a7173438950ce19e0bd952deea9f6bdc..63e3122d0ecfee81ed036ce863aa0ec04299bfb7 100644 (file)
@@ -1 +1,2 @@
 /usr/bin/cassiopeia
+/etc/cacert/cassiopeia
index aed34a2d7cec5537ba95fae4ba8236a1a0561304..cf4f383d843e396b1850e87e2a2aeccc05a9eea9 100644 (file)
@@ -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;