Parcourir la source

Move database import to interactive

Bob Mottram il y a 7 ans
Parent
révision
18ad18de7d
1 fichiers modifiés avec 42 ajouts et 15 suppressions
  1. 42
    15
      src/freedombone-app-keyserver

+ 42
- 15
src/freedombone-app-keyserver Voir le fichier

143
     function_check remove_ddns_domain
143
     function_check remove_ddns_domain
144
     remove_ddns_domain $KEYSERVER_DOMAIN_NAME
144
     remove_ddns_domain $KEYSERVER_DOMAIN_NAME
145
 
145
 
146
-    groupdel -f keyserver
147
-    userdel -r keyserver
148
-
149
     remove_config_param KEYSERVER_DOMAIN_NAME
146
     remove_config_param KEYSERVER_DOMAIN_NAME
150
     remove_config_param KEYSERVER_CODE
147
     remove_config_param KEYSERVER_CODE
151
     function_check remove_onion_service
148
     function_check remove_onion_service
159
     if [ -f /usr/bin/keyserver-stop ]; then
156
     if [ -f /usr/bin/keyserver-stop ]; then
160
         rm /usr/bin/keyserver-stop
157
         rm /usr/bin/keyserver-stop
161
     fi
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
     groupdel -f keyserver
165
     groupdel -f keyserver
163
     userdel -r keyserver
166
     userdel -r keyserver
164
 }
167
 }
178
     APP_INSTALLED=1
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
 function install_keyserver {
220
 function install_keyserver {
182
     apt-get -qy install build-essential gcc ocaml libdb-dev wget
221
     apt-get -qy install build-essential gcc ocaml libdb-dev wget
183
 
222
 
279
     echo '' >> $sksconf_file
318
     echo '' >> $sksconf_file
280
     echo 'max_matches:                    500' >> $sksconf_file
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
     KEYSERVER_ONION_HOSTNAME=$(add_onion_service keyserver 80 ${KEYSERVER_ONION_PORT})
321
     KEYSERVER_ONION_HOSTNAME=$(add_onion_service keyserver 80 ${KEYSERVER_ONION_PORT})
295
 
322
 
296
     echo '#!/bin/sh' > /usr/bin/keyserver-start
323
     echo '#!/bin/sh' > /usr/bin/keyserver-start