From aa2715cced14e3a5b711ba4fe101e0e972edba10 Mon Sep 17 00:00:00 2001
From: kytv <kytv@mail.i2p>
Date: Wed, 15 May 2013 13:38:34 +0000
Subject: [PATCH] i2prouter: abort immediately if I2P_CONFIG_DIR cannot be
 created

---
 installer/resources/i2prouter | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/installer/resources/i2prouter b/installer/resources/i2prouter
index 0563c4eba4..99349a258f 100644
--- a/installer/resources/i2prouter
+++ b/installer/resources/i2prouter
@@ -877,13 +877,21 @@ waitforwrapperstop() {
     done
 }
 
+create_config_dir() {
+    if ! mkdir -p "$I2P_CONFIG_DIR"; then
+        echo "Error creating $I2P_CONFIG_DIR! Edit $0 and set I2P_CONFIG_DIR" >&2
+        echo "to the correct location." >&2
+        exit 1
+    fi
+}
+
 launchdinternal() {
     getpid
     trap launchdtrap TERM
     if [ "X$pid" = "X" ]
     then
         prepAdditionalParams "$@"
-        mkdir -p "$PIDDIR" "$LOGDIR"
+        create_config_dir
 
         # The string passed to eval must handles spaces in paths correctly.
         COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
@@ -907,7 +915,7 @@ console() {
         trap '' 3 2
 
         prepAdditionalParams "$@"
-        mkdir -p "$PIDDIR" "$LOGDIR"
+        create_config_dir
 
         # The string passed to eval must handles spaces in paths correctly.
         COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
@@ -1033,7 +1041,7 @@ start() {
     if [ "X$pid" = "X" ]
     then
         prepAdditionalParams "$@"
-        mkdir -p "$PIDDIR" "$LOGDIR"
+        create_config_dir
 
         # The string passed to eval must handles spaces in paths correctly.
         COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP wrapper.script.version=3.5.17 $ADDITIONAL_PARA"
-- 
GitLab