From 025d4e90034bdda07354eaabec4bfb371ea3f56c Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Mon, 2 Jul 2018 12:45:17 +0100
Subject: [PATCH] Add some extra keyservers

---
 src/freedombone-base-email | 31 +++++++++++++++++++++++++++++++
 src/freedombone-upgrade    |  1 +
 2 files changed, 32 insertions(+)

diff --git a/src/freedombone-base-email b/src/freedombone-base-email
index d155252cc..a9d33ab2d 100755
--- a/src/freedombone-base-email
+++ b/src/freedombone-base-email
@@ -1550,6 +1550,12 @@ function configure_gpg {
     fi
 
     sed -i "s|keyserver hkp://keys.gnupg.net|keyserver $GPG_KEYSERVER|g" "$gpg_dir/gpg.conf"
+    if ! grep -q 'keyserver.ubuntu.com' "$gpg_dir/gpg.conf"; then
+        echo 'keyserver hkp://keyserver.ubuntu.com' >> "$gpg_dir/gpg.conf"
+    fi
+    if ! grep -q 'keys.riseup.net' "$gpg_dir/gpg.conf"; then
+        echo 'keyserver hkp://keys.riseup.net' >> "$gpg_dir/gpg.conf"
+    fi
 
     gpg_agent_setup root
     gpg_agent_setup "$MY_USERNAME"
@@ -1677,6 +1683,31 @@ function prevent_mail_process_overrun {
     cron_add_mins 5 '/usr/bin/exim_check'
 }
 
+function populate_keyservers {
+    for d in /home/*/ ; do
+        refresh_keys=
+        USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
+        if [[ $(is_valid_user "$USERNAME") == "1" ]]; then
+            if [ -f "/home/$USERNAME/.gnupg/gpg.conf" ]; then
+                # keyserver.ubuntu.com
+                if ! grep -q "keyserver hkp://keyserver.ubuntu.com" "/home/$USERNAME/.gnupg/gpg.conf"; then
+                    echo "keyserver hkp://keyserver.ubuntu.com" >> "/home/$USERNAME/.gnupg/gpg.conf"
+                    refresh_keys=1
+                fi
+
+                # keys.riseup.net
+                if ! grep -q "keyserver hkp://keys.riseup.net" "/home/$USERNAME/.gnupg/gpg.conf"; then
+                    echo "keyserver hkp://keys.riseup.net" >> "/home/$USERNAME/.gnupg/gpg.conf"
+                    refresh_keys=1
+                fi
+            fi
+            if [ $refresh_keys ]; then
+                su -c 'gpg --refresh-keys' "$USERNAME"
+            fi
+        fi
+    done
+}
+
 function install_email {
     if [[ $SYSTEM_TYPE == "mesh"* ]]; then
         return
diff --git a/src/freedombone-upgrade b/src/freedombone-upgrade
index 4534f96b5..f8f61eb15 100755
--- a/src/freedombone-upgrade
+++ b/src/freedombone-upgrade
@@ -120,6 +120,7 @@ if [ -d "$PROJECT_DIR" ]; then
         email_update_onion_domain
         prevent_mail_process_overrun
         android_update_apps yes
+        populate_keyservers
         #defrag_filesystem
 
         # reinstall tor from backports
-- 
GitLab