diff --git a/src/freedombone-app-keyserver b/src/freedombone-app-keyserver index d4adaf4f..8f14dd01 100755 --- a/src/freedombone-app-keyserver +++ b/src/freedombone-app-keyserver @@ -56,6 +56,15 @@ function configure_firewall_for_keyserver { mark_completed $FUNCNAME } +function keyserver_reset_database { + if [ -d /var/lib/sks/DB ]; then + rm -rf /var/lib/sks/DB + fi + sks build + chown -Rc debian-sks: /var/lib/sks + systemctl restart sks +} + function logging_on_keyserver { echo -n '' } @@ -192,7 +201,7 @@ function keyserver_import_keys { cd /var/lib/sks echo $'Building the keyserver database from the downloaded dump' - sks build + keyserver_reset_database } function keyserver_sync { @@ -243,6 +252,12 @@ function keyserver_sync { --msgbox $"Keyserver added" 6 40 } +function keyserver_edit { + editor /etc/sks/membership + chown -Rc debian-sks: /etc/sks/membership + systemctl restart sks +} + function configure_interactive_keyserver { while true do @@ -250,10 +265,11 @@ function configure_interactive_keyserver { trap "rm -f $data" 0 1 2 5 15 dialog --backtitle $"Freedombone Control Panel" \ --title $"SKS Keyserver" \ - --radiolist $"Choose an operation:" 11 70 3 \ + --radiolist $"Choose an operation:" 12 70 4 \ 1 $"Sync with other keyserver" off \ - 2 $"Import public keys database" off \ - 3 $"Exit" on 2> $data + 2 $"Edit sync keyservers" off \ + 3 $"Import public keys database" off \ + 4 $"Exit" on 2> $data sel=$? case $sel in 1) return;; @@ -261,21 +277,13 @@ function configure_interactive_keyserver { esac case $(cat $data) in 1) keyserver_sync;; - 2) keyserver_import_keys;; - 3) break;; + 2) keyserver_edit;; + 3) keyserver_import_keys;; + 4) break;; esac done } -function keyserver_reset_database { - if [ -d /var/lib/sks/DB ]; then - rm -rf /var/lib/sks/DB - fi - sks build - chown -Rc debian-sks: /var/lib/sks - systemctl restart sks -} - function install_keyserver { apt-get -qy install build-essential gcc ocaml libdb-dev wget sks keyserver_reset_database