Browse Source

Remove keyserver key

Bob Mottram 8 years ago
parent
commit
4cdef1e0b4
1 changed files with 28 additions and 7 deletions
  1. 28
    7
      src/freedombone-app-keyserver

+ 28
- 7
src/freedombone-app-keyserver View File

@@ -437,6 +437,25 @@ function keyserver_edit {
437 437
     systemctl restart sks
438 438
 }
439 439
 
440
+function keyserver_remove_key {
441
+    data=$(tempfile 2>/dev/null)
442
+    trap "rm -f $data" 0 1 2 5 15
443
+    dialog --title $"Remove a key" \
444
+           --backtitle $"Freedombone Control Panel" \
445
+           --inputbox $"Enter the ID of the key which you wish to remove:" 12 60 2>$data
446
+    sel=$?
447
+    case $sel in
448
+        0)
449
+            remove_key_id=$(<$data)
450
+            if [ ${#remove_key_id} -gt 8 ]; then
451
+                sks drop $remove_key_id
452
+                dialog --title $"Remove a key" \
453
+                       --msgbox $"The key was removed" 6 40
454
+            fi
455
+            ;;
456
+    esac
457
+}
458
+
440 459
 function configure_interactive_keyserver {
441 460
     while true
442 461
     do
@@ -444,19 +463,21 @@ function configure_interactive_keyserver {
444 463
         trap "rm -f $data" 0 1 2 5 15
445 464
         dialog --backtitle $"Freedombone Control Panel" \
446 465
                --title $"SKS Keyserver" \
447
-               --radiolist $"Choose an operation:" 11 70 3 \
448
-               1 $"Sync with other keyserver" off \
449
-               2 $"Edit sync keyservers" off \
450
-               3 $"Exit" on 2> $data
466
+               --radiolist $"Choose an operation:" 12 70 4 \
467
+               1 $"Remove a key" off \
468
+               2 $"Sync with other keyserver" off \
469
+               3 $"Edit sync keyservers" off \
470
+               4 $"Exit" on 2> $data
451 471
         sel=$?
452 472
         case $sel in
453 473
             1) return;;
454 474
             255) return;;
455 475
         esac
456 476
         case $(cat $data) in
457
-            1) keyserver_sync;;
458
-            2) keyserver_edit;;
459
-            3) break;;
477
+            1) keyserver_remove_key;;
478
+            2) keyserver_sync;;
479
+            3) keyserver_edit;;
480
+            4) break;;
460 481
         esac
461 482
     done
462 483
 }