Quellcode durchsuchen

Move database import to interactive

Bob Mottram vor 7 Jahren
Ursprung
Commit
18ad18de7d
1 geänderte Dateien mit 42 neuen und 15 gelöschten Zeilen
  1. 42
    15
      src/freedombone-app-keyserver

+ 42
- 15
src/freedombone-app-keyserver Datei anzeigen

@@ -143,9 +143,6 @@ function remove_keyserver {
143 143
     function_check remove_ddns_domain
144 144
     remove_ddns_domain $KEYSERVER_DOMAIN_NAME
145 145
 
146
-    groupdel -f keyserver
147
-    userdel -r keyserver
148
-
149 146
     remove_config_param KEYSERVER_DOMAIN_NAME
150 147
     remove_config_param KEYSERVER_CODE
151 148
     function_check remove_onion_service
@@ -159,6 +156,12 @@ function remove_keyserver {
159 156
     if [ -f /usr/bin/keyserver-stop ]; then
160 157
         rm /usr/bin/keyserver-stop
161 158
     fi
159
+    cd $INSTALL_DIR/keyserver
160
+    make uninstall
161
+    if [ -d /var/lib/sks ]; then
162
+        rm -rf /var/lib/sks
163
+    fi
164
+    rm -rf $INSTALL_DIR/keyserver
162 165
     groupdel -f keyserver
163 166
     userdel -r keyserver
164 167
 }
@@ -178,6 +181,42 @@ function install_interactive_keyserver {
178 181
     APP_INSTALLED=1
179 182
 }
180 183
 
184
+function keyserver_import_keys {
185
+    if [ ! -d /var/lib/sks/dump ]; then
186
+        mkdir -p /var/lib/sks/dump
187
+    fi
188
+    cd /var/lib/sks/dump
189
+    echo $'Getting keyserver dump. This may take a few hours, so be patient.'
190
+    wget -crp -e robots=off --level=1 --cut-dirs=3 -nH \
191
+         -A pgp,txt $KEYSERVER_DUMP_URL
192
+
193
+    cd /var/lib/sks
194
+    echo $'Building the keyserver database from the downloaded dump'
195
+    echo '2' | /usr/local/bin/sks_build.sh
196
+}
197
+
198
+function configure_interactive_keyserver {
199
+    while true
200
+    do
201
+        data=$(tempfile 2>/dev/null)
202
+        trap "rm -f $data" 0 1 2 5 15
203
+        dialog --backtitle $"Freedombone Control Panel" \
204
+               --title $"SKS Keyserver" \
205
+               --radiolist $"Choose an operation:" 10 70 2 \
206
+               1 $"Import keys database" off \
207
+               2 $"Exit" on 2> $data
208
+        sel=$?
209
+        case $sel in
210
+            1) return;;
211
+            255) return;;
212
+        esac
213
+        case $(cat $data) in
214
+            1) keyserver_import_keys;;
215
+            2) break;;
216
+        esac
217
+    done
218
+}
219
+
181 220
 function install_keyserver {
182 221
     apt-get -qy install build-essential gcc ocaml libdb-dev wget
183 222
 
@@ -279,18 +318,6 @@ function install_keyserver {
279 318
     echo '' >> $sksconf_file
280 319
     echo 'max_matches:                    500' >> $sksconf_file
281 320
 
282
-    if [ ! -d /var/lib/sks/dump ]; then
283
-        mkdir -p /var/lib/sks/dump
284
-    fi
285
-    cd /var/lib/sks/dump
286
-    echo $'Getting keyserver dump. This may take a few hours, so be patient.'
287
-    wget -crp -e robots=off --level=1 --cut-dirs=3 -nH \
288
-         -A pgp,txt $KEYSERVER_DUMP_URL
289
-
290
-    cd /var/lib/sks
291
-    echo $'Building the keyserver database from the downloaded dump'
292
-    echo '2' | /usr/local/bin/sks_build.sh
293
-
294 321
     KEYSERVER_ONION_HOSTNAME=$(add_onion_service keyserver 80 ${KEYSERVER_ONION_PORT})
295 322
 
296 323
     echo '#!/bin/sh' > /usr/bin/keyserver-start