Sfoglia il codice sorgente

Removing a user from apps

Bob Mottram 8 anni fa
parent
commit
f4f50eaf02

+ 10
- 1
src/freedombone-app-blog Vedi File

@@ -38,9 +38,18 @@ FULLBLOG_COMMIT='bf5fe9486160be4da86d8987d3e5c977e1dc6d32'
38 38
 MY_BLOG_TITLE="My Blog"
39 39
 MY_BLOG_SUBTITLE="Another ${PROJECT_NAME} Blog"
40 40
 
41
+function remove_user_blog {
42
+    remove_username="$1"
43
+
44
+    FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "blog domain" | head -n 1 | awk -F ':' '{print $2}')
45
+    if [ -f /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini ]; then
46
+        rm /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/config/users/${remove_username}.ini
47
+    fi
48
+}
49
+
41 50
 function add_user_blog {
42 51
     if [[ $(app_is_installed blog) == "0" ]]; then
43
-        echo '1'
52
+        echo '0'
44 53
         return
45 54
     fi
46 55
 

+ 10
- 5
src/freedombone-app-gnusocial Vedi File

@@ -56,12 +56,17 @@ GNUSOCIAL_NSFW_COMMIT='a096bbe0cfae9a9b177682920ffb58d32a48e136'
56 56
 # script which causes old posts to expire
57 57
 gnusocial_expire_script=/usr/bin/gnusocial-expire
58 58
 
59
-function add_user_gnusocial {
60
-    if [[ $(app_is_installed gnusocial) == "0" ]]; then
61
-        echo '1'
62
-        return
59
+function remove_user_gnusocial {
60
+    remove_username="$1"
61
+
62
+    MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "gnusocial domain" | head -n 1 | awk -F ':' '{print $2}')
63
+    if [ -d /var/www/$MICROBLOG_DOMAIN_NAME ]; then
64
+        cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
65
+        php scripts/deleteprofile.php -n $remove_username -y
63 66
     fi
67
+}
64 68
 
69
+function add_user_gnusocial {
65 70
     new_username="$1"
66 71
     new_user_password="$2"
67 72
 
@@ -72,7 +77,7 @@ function add_user_gnusocial {
72 77
         ${PROJECT_NAME}-addemail -u $new_username -e "noreply@$MICROBLOG_DOMAIN_NAME" -g gnusocial --public no
73 78
         echo '0'
74 79
     else
75
-        echo '2'
80
+        echo '1'
76 81
     fi
77 82
 }
78 83
 

+ 10
- 4
src/freedombone-app-irc Vedi File

@@ -36,12 +36,18 @@ IRC_ONION_PORT=6697
36 36
 # An optional password to log into IRC. This applies to all users
37 37
 IRC_PASSWORD=
38 38
 
39
-function add_user_irc {
40
-    if [[ $(app_is_installed irc) == "0" ]]; then
41
-        echo '1'
42
-        return
39
+function remove_user_irc {
40
+    remove_username="$1"
41
+
42
+    if [ -d /home/$remove_username/.irssi ]; then
43
+        rm -rf /home/$remove_username/.irssi
43 44
     fi
45
+    if [ -d /home/$remove_username/irclogs ]; then
46
+        rm -rf /home/$remove_username/irclogs
47
+    fi
48
+}
44 49
 
50
+function add_user_irc {
45 51
     new_username="$1"
46 52
     new_user_password="$2"
47 53
 

+ 10
- 5
src/freedombone-app-sip Vedi File

@@ -37,19 +37,24 @@ TURN_PORT=3478
37 37
 TURN_TLS_PORT=5349
38 38
 TURN_NONCE=
39 39
 
40
-function add_user_sip {
41
-    if [[ $(app_is_installed sip) == "0" ]]; then
42
-        echo '1'
43
-        return
40
+function remove_user_sip {
41
+    remove_username="$1"
42
+    ${PROJECT_NAME}-rmsipuser ${remove_username}
43
+
44
+    # remove user from SIP TURN/STUN
45
+    if [ -f /etc/turnserver/turnusers.txt ]; then
46
+        sed -i "/${remove_username}:/d" /etc/turnserver/turnusers.txt
44 47
     fi
48
+}
45 49
 
50
+function add_user_sip {
46 51
     new_username="$1"
47 52
     new_user_password="$2"
48 53
 
49 54
     SIP_EXTENSION=$(${PROJECT_NAME}-sipfreeext)
50 55
     ${PROJECT_NAME}-addsipuser -u $new_username -e $SIP_EXTENSION -p "$new_user_password"
51 56
     if [ ! "$?" = "0" ]; then
52
-        echo '2'
57
+        echo '1'
53 58
         return
54 59
     fi
55 60
 

+ 12
- 0
src/freedombone-app-tox Vedi File

@@ -49,6 +49,18 @@ TOXIC_FILE=/usr/local/bin/toxic
49 49
 QTOX_REPO="https://github.com/bashrc/qTox"
50 50
 QTOX_COMMIT='27a628a3789fca4f31516c3982e580052dd3c773'
51 51
 
52
+function remove_user_tox {
53
+    remove_username="$1"
54
+
55
+    if [ -d /home/$remove_username/.config/tox ]; then
56
+        if [ -d /home/$remove_username/.config/tox/chatlogs ]; then
57
+            shred -zu /home/$remove_username/.config/tox/chatlogs/*
58
+            rm -rf /home/$remove_username/.config/tox/chatlogs
59
+        fi
60
+        shred -zu /home/$remove_username/.config/tox/*
61
+    fi
62
+}
63
+
52 64
 function run_client_tox {
53 65
     # create a tox user
54 66
     USER_TOX_FILE=/home/${USER}/.config/tox/data.tox

+ 6
- 6
src/freedombone-app-xmpp Vedi File

@@ -37,18 +37,18 @@ XMPP_PASSWORD=
37 37
 XMPP_CIPHERS='"EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA"'
38 38
 XMPP_ECC_CURVE='"secp384r1"'
39 39
 
40
-function add_user_xmpp {
41
-    if [[ $(app_is_installed xmpp) == "0" ]]; then
42
-        echo '1'
43
-        return
44
-    fi
40
+function remove_user_xmpp {
41
+    remove_username="$1"
42
+    ${PROJECT_NAME}-rmxmpp -e "${remove_username}@$HOSTNAME"
43
+}
45 44
 
45
+function add_user_xmpp {
46 46
     new_username="$1"
47 47
     new_user_password="$2"
48 48
 
49 49
     ${PROJECT_NAME}-addxmpp -e "$new_username@$HOSTNAME" -p "$new_user_password"
50 50
     if [ ! "$?" = "0" ]; then
51
-        echo '2'
51
+        echo '1'
52 52
         return
53 53
     fi
54 54
 

+ 21
- 36
src/freedombone-rmuser Vedi File

@@ -37,6 +37,18 @@ export TEXTDOMAINDIR="/usr/share/locale"
37 37
 MY_USERNAME=$1
38 38
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
39 39
 
40
+UTILS_FILES=/usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-*
41
+for f in $UTILS_FILES
42
+do
43
+  source $f
44
+done
45
+
46
+APP_FILES=/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*
47
+for f in $APP_FILES
48
+do
49
+  source $f
50
+done
51
+
40 52
 if [ ! $MY_USERNAME ]; then
41 53
     echo $'Please specify a username to remove'
42 54
     exit 1
@@ -80,41 +92,12 @@ if [[ $yn != 'y' && $yn != 'Y' && $yn != 'yes' && $yn != 'Yes' && $yn != 'YES' ]
80 92
     exit 8
81 93
 fi
82 94
 
83
-if grep -q "install_xmpp" $COMPLETION_FILE; then
84
-    ${PROJECT_NAME}-rmxmpp -e "$MY_USERNAME@$HOSTNAME"
85
-fi
86
-
87
-if grep -q "Blog domain" $COMPLETION_FILE; then
88
-    FULLBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "Blog domain" | awk -F ':' '{print $2}')
89
-    if [ -f /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini ]; then
90
-        rm /var/www/$FULLBLOG_DOMAIN_NAME/htdocs/config/users/$MY_USERNAME.ini
91
-    fi
92
-fi
93
-
94
-if grep -q "install_sip" $COMPLETION_FILE; then
95
-    ${PROJECT_NAME}-rmsipuser $MY_USERNAME
96
-fi
97
-
98
-if grep -q "gnusocial domain" $COMPLETION_FILE; then
99
-    MICROBLOG_DOMAIN_NAME=$(cat $COMPLETION_FILE | grep "gnusocial domain" | awk -F ':' '{print $2}')
100
-    if [ -d /var/www/$MICROBLOG_DOMAIN_NAME ]; then
101
-        cd /var/www/$MICROBLOG_DOMAIN_NAME/htdocs
102
-        php scripts/deleteprofile.php -n $MY_USERNAME -y
103
-        echo $'Removed gnusocial user'
104
-    fi
105
-fi
106
-
107 95
 if [ -f /etc/nginx/.htpasswd ]; then
108 96
     if grep "${MY_USERNAME}:" /etc/nginx/.htpasswd; then
109 97
         htpasswd -D /etc/nginx/.htpasswd $MY_USERNAME
110 98
     fi
111 99
 fi
112 100
 
113
-# remove user from SIP TURN/STUN
114
-if [ -d /etc/turnserver ]; then
115
-    sed -i "/${MY_USERNAME}:/d" /etc/turnserver/turnusers.txt
116
-fi
117
-
118 101
 # remove gpg keys
119 102
 if [ -d /home/$MY_USERNAME/.gnupg ]; then
120 103
     shred -zu /home/$MY_USERNAME/.gnupg/*
@@ -125,14 +108,16 @@ if [ -d /home/$MY_USERNAME/.ssh ]; then
125 108
     shred -zu /home/$MY_USERNAME/.ssh/*
126 109
 fi
127 110
 
128
-# remove tox indentity
129
-if [ -d /home/$MY_USERNAME/.config/tox ]; then
130
-    if [ -d /home/$MY_USERNAME/.config/tox/chatlogs ]; then
131
-        shred -zu /home/$MY_USERNAME/.config/tox/chatlogs/*
132
-        rm -rf /home/$MY_USERNAME/.config/tox/chatlogs
111
+echo $'Detecting installed apps...'
112
+detect_apps
113
+get_apps_installed_names
114
+for app_name in "${APPS_INSTALLED_NAMES[@]}"
115
+do
116
+    if [[ $(function_exists remove_user_${app_name}) == "1" ]]; then
117
+        echo $"Removing user from ${app_name}"
118
+        remove_user_${app_name} "$MY_USERNAME"
133 119
     fi
134
-    shred -zu /home/$MY_USERNAME/.config/tox/*
135
-fi
120
+done
136 121
 
137 122
 userdel -r $MY_USERNAME
138 123