Przeglądaj źródła

Include optional mailsync address when adding other keyserver

Bob Mottram 8 lat temu
rodzic
commit
d81cea2fe9
1 zmienionych plików z 23 dodań i 3 usunięć
  1. 23
    3
      src/freedombone-app-keyserver

+ 23
- 3
src/freedombone-app-keyserver Wyświetl plik

160
     cp -r $temp_restore_dir/etc/sks/* /etc/sks/
160
     cp -r $temp_restore_dir/etc/sks/* /etc/sks/
161
     rm -rf $temp_restore_dir
161
     rm -rf $temp_restore_dir
162
     chown -Rc debian-sks: /etc/sks/sksconf
162
     chown -Rc debian-sks: /etc/sks/sksconf
163
+    chown -Rc debian-sks: /etc/sks/mailsync
163
 
164
 
164
     temp_restore_dir=/root/tempkeyserver
165
     temp_restore_dir=/root/tempkeyserver
165
     function_check restore_directory_from_usb
166
     function_check restore_directory_from_usb
223
     cp -r $temp_restore_dir/etc/sks/* /etc/sks/
224
     cp -r $temp_restore_dir/etc/sks/* /etc/sks/
224
     rm -rf $temp_restore_dir
225
     rm -rf $temp_restore_dir
225
     chown -Rc debian-sks: /etc/sks/sksconf
226
     chown -Rc debian-sks: /etc/sks/sksconf
227
+    chown -Rc debian-sks: /etc/sks/mailsync
226
 
228
 
227
     temp_restore_dir=/root/tempkeyserver
229
     temp_restore_dir=/root/tempkeyserver
228
     function_check restore_directory_from_friend
230
     function_check restore_directory_from_friend
297
     APP_INSTALLED=1
299
     APP_INSTALLED=1
298
 }
300
 }
299
 
301
 
302
+function keyserver_create_mailsync {
303
+    echo $"# List of email addresses which submitted keys will be forwarded to" > /etc/sks/mailsync
304
+    echo '' >> /etc/sks/mailsync
305
+    chown -Rc debian-sks: /etc/sks/mailsync
306
+}
307
+
300
 function keyserver_create_membership {
308
 function keyserver_create_membership {
301
     if [ -f /etc/sks/membership ]; then
309
     if [ -f /etc/sks/membership ]; then
302
         return
310
         return
343
     trap "rm -f $data" 0 1 2 5 15
351
     trap "rm -f $data" 0 1 2 5 15
344
     dialog --backtitle $"Freedombone Control Panel" \
352
     dialog --backtitle $"Freedombone Control Panel" \
345
            --title $"Sync with other keyserver" \
353
            --title $"Sync with other keyserver" \
346
-           --form $"\nEnter details for the other server. Please be aware that it's not a good idea to sync with major keyservers which have exceptionally large databases. This is intended to sync with other $PROJECT_NAME systems each having a small database for a particular community." 15 60 2 \
347
-           $"Domain:" 1 1 "" 1 18 32 32 \
348
-           $"Port:" 2 1 "11370" 2 18 8 8 \
354
+           --form $"\nEnter details for the other server. Please be aware that it's not a good idea to sync with major keyservers which have exceptionally large databases. This is intended to sync with other $PROJECT_NAME systems each having a small database for a particular community." 16 60 3 \
355
+           $"Domain:" 1 1 "" 1 25 32 64 \
356
+           $"Port:" 2 1 "11370" 2 25 6 6 \
357
+           $"Sync Email (optional):" 3 1 "pgp-public-keys@" 3 25 32 64 \
349
            2> $data
358
            2> $data
350
     sel=$?
359
     sel=$?
351
     case $sel in
360
     case $sel in
354
     esac
363
     esac
355
     other_keyserver_domain=$(cat $data | sed -n 1p)
364
     other_keyserver_domain=$(cat $data | sed -n 1p)
356
     other_keyserver_port=$(cat $data | sed -n 2p)
365
     other_keyserver_port=$(cat $data | sed -n 2p)
366
+    other_keyserver_email=$(cat $data | sed -n 3p)
357
     if [[ "$other_keyserver_domain" != *'.'* ]]; then
367
     if [[ "$other_keyserver_domain" != *'.'* ]]; then
358
         return
368
         return
359
     fi
369
     fi
372
     if [ ${#other_keyserver_port} -lt 4 ]; then
382
     if [ ${#other_keyserver_port} -lt 4 ]; then
373
         return
383
         return
374
     fi
384
     fi
385
+    if [[ "$other_keyserver_email" != "pgp-public-keys@" ]]; then
386
+        if [[ "$other_keyserver_email" == *"@"* ]]; then
387
+            keyserver_create_mailsync
388
+            if ! grep -q "$other_keyserver_email" /etc/sks/mailsync; then
389
+                echo "$other_keyserver_email" >> /etc/sks/mailsync
390
+                chown -Rc debian-sks: /etc/sks/mailsync
391
+            fi
392
+        fi
393
+    fi
375
     keyserver_create_membership
394
     keyserver_create_membership
376
     if grep -q "$other_keyserver_domain $other_keyserver_port" /etc/sks/membership; then
395
     if grep -q "$other_keyserver_domain $other_keyserver_port" /etc/sks/membership; then
377
         return
396
         return
686
     if ! grep -q "pgp-public-keys" /etc/aliases; then
705
     if ! grep -q "pgp-public-keys" /etc/aliases; then
687
         echo 'pgp-public-keys:      "|/usr/lib/sks/sks_add_mail /etc/sks"' >> /etc/aliases
706
         echo 'pgp-public-keys:      "|/usr/lib/sks/sks_add_mail /etc/sks"' >> /etc/aliases
688
     fi
707
     fi
708
+    chown -Rc debian-sks: /etc/sks/mailsync
689
 
709
 
690
     systemctl enable sks
710
     systemctl enable sks
691
     systemctl restart sks
711
     systemctl restart sks