From f663b89f16bc3dea488d6d2285c6806ec791ee31 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@robotics.uk.to>
Date: Sat, 12 Nov 2016 13:59:33 +0000
Subject: [PATCH] Check for valid user

---
 src/freedombone-app-hubzilla   | 16 +++++++++++++++
 src/freedombone-utils-selector | 36 +++++++++++++++++++---------------
 2 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/src/freedombone-app-hubzilla b/src/freedombone-app-hubzilla
index a5a426b65..9f69a36b7 100755
--- a/src/freedombone-app-hubzilla
+++ b/src/freedombone-app-hubzilla
@@ -53,6 +53,22 @@ hubzilla_variables=(ONION_ONLY
                     HUBZILLA_ADDONS_REPO
                     HUBZILLA_ADDONS_COMMIT)
 
+function remove_user_hubzilla {
+    remove_username="$1"
+}
+
+function add_user_hubzilla {
+    if [[ $(app_is_installed hubzilla) == "0" ]]; then
+        echo '0'
+        return
+    fi
+
+    new_username="$1"
+    new_user_password="$2"
+
+    echo '0'
+}
+
 function hubzilla_renew_cert {
     dialog --title $"Renew SSL certificate" \
            --backtitle $"Freedombone Control Panel" \
diff --git a/src/freedombone-utils-selector b/src/freedombone-utils-selector
index c1e5616cf..ee10acc98 100755
--- a/src/freedombone-utils-selector
+++ b/src/freedombone-utils-selector
@@ -467,18 +467,20 @@ function add_users_after_install {
 
     for d in /home/*/ ; do
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
-        if [[ "$USERNAME" != "$ADMIN_USERNAME" ]]; then
-            if [[ $(user_added_to_app "${USERNAME}" "${app_name}") == "0" ]]; then
-                valstr=$"Login for user ${USERNAME}="
-                if grep -q "${valstr}" /home/${ADMIN_USERNAME}/README; then
-                    app_password=$(cat /home/${ADMIN_USERNAME}/README | grep "${valstr}" | head -n 1 | awk -F '=' '{print $2}')
-                else
-                    app_password="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
-                    echo "${valstr}${app_password}" >> /home/${ADMIN_USERNAME}/README
+        if [[ $(is_valid_user "$USERNAME") == "1" ]]; then
+            if [[ "$USERNAME" != "$ADMIN_USERNAME" ]]; then
+                if [[ $(user_added_to_app "${USERNAME}" "${app_name}") == "0" ]]; then
+                    valstr=$"Login for user ${USERNAME}="
+                    if grep -q "${valstr}" /home/${ADMIN_USERNAME}/README; then
+                        app_password=$(cat /home/${ADMIN_USERNAME}/README | grep "${valstr}" | head -n 1 | awk -F '=' '{print $2}')
+                    else
+                        app_password="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
+                        echo "${valstr}${app_password}" >> /home/${ADMIN_USERNAME}/README
+                    fi
+                    add_user_${app_name} "${USERNAME}" "${app_password}"
+                    echo "${app_name}_${USERNAME}" >> $APP_USERS_FILE
+                    chown ${ADMIN_USERNAME}:${ADMIN_USERNAME} /home/${ADMIN_USERNAME}/README
                 fi
-                add_user_${app_name} "${USERNAME}" "${app_password}"
-                echo "${app_name}_${USERNAME}" >> $APP_USERS_FILE
-                chown ${ADMIN_USERNAME}:${ADMIN_USERNAME} /home/${ADMIN_USERNAME}/README
             fi
         fi
     done
@@ -491,12 +493,14 @@ function remove_users_for_app {
 
     for d in /home/*/ ; do
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
-        if [[ "$USERNAME" != "$MY_USERNAME" ]]; then
-            if [[ $(user_added_to_app "${USERNAME}" "${app_name}") == "1" ]]; then
-                if [[ $(function_exists remove_user_${app_name}) == "1" ]]; then
-                    remove_user_${app_name} "${USERNAME}"
+        if [[ $(is_valid_user "$USERNAME") == "1" ]]; then
+            if [[ "$USERNAME" != "$MY_USERNAME" ]]; then
+                if [[ $(user_added_to_app "${USERNAME}" "${app_name}") == "1" ]]; then
+                    if [[ $(function_exists remove_user_${app_name}) == "1" ]]; then
+                        remove_user_${app_name} "${USERNAME}"
+                    fi
+                    sed -i "/${app_name}_${USERNAME}/d" $APP_USERS_FILE
                 fi
-                sed -i "/${app_name}_${USERNAME}/d" $APP_USERS_FILE
             fi
         fi
     done
-- 
GitLab