Browse Source

Consolidate getting the gpg public key

Bob Mottram 7 years ago
parent
commit
223d9931eb

+ 1
- 1
src/freedombone-adduser View File

@@ -146,7 +146,7 @@ echo 'Expire-Date: 0' >> /home/$ADD_USERNAME/gpg-genkey.conf
146 146
 chown $ADD_USERNAME:$ADD_USERNAME /home/$ADD_USERNAME/gpg-genkey.conf
147 147
 su -c "gpg --batch --gen-key /home/$ADD_USERNAME/gpg-genkey.conf" - $ADD_USERNAME
148 148
 shred -zu /home/$ADD_USERNAME/gpg-genkey.conf
149
-MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $ADD_USERNAME@$HOSTNAME | grep 'pub '" - $ADD_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
149
+MY_GPG_PUBLIC_KEY_ID=$(gpg_pubkey_from_email "$ADD_USERNAME" "$ADD_USERNAME@$HOSTNAME")
150 150
 MY_GPG_PUBLIC_KEY=/home/$ADD_USERNAME/public_key.gpg
151 151
 su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $ADD_USERNAME
152 152
 

+ 2
- 2
src/freedombone-app-xmpp View File

@@ -208,7 +208,7 @@ function add_user_xmpp {
208 208
     if [ ! -d /home/$new_username/.config/profanity ]; then
209 209
         mkdir -p /home/$new_username/.config/profanity
210 210
     fi
211
-    GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $new_username@$HOSTNAME | grep 'pub '" - $new_username | head -n 1 | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
211
+    MY_GPG_PUBLIC_KEY_ID=$(gpg_pubkey_from_email "$new_username" "$new_username@$HOSTNAME")
212 212
     echo "[${new_username}@${HOSTNAME}]" > $XMPP_CLIENT_ACCOUNTS
213 213
     echo 'enabled=true' >> $XMPP_CLIENT_ACCOUNTS
214 214
     echo "jid=${new_username}@${HOSTNAME}" >> $XMPP_CLIENT_ACCOUNTS
@@ -1109,7 +1109,7 @@ function install_xmpp_client {
1109 1109
     fi
1110 1110
 
1111 1111
     XMPP_ONION_HOSTNAME=$(cat /var/lib/tor/hidden_service_xmpp/hostname)
1112
-    MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DEFAULT_DOMAIN_NAME | grep 'pub '" - $MY_USERNAME | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
1112
+    MY_GPG_PUBLIC_KEY_ID=$(gpg_pubkey_from_email "$MY_USERNAME" "$MY_USERNAME@$DEFAULT_DOMAIN_NAME")
1113 1113
 
1114 1114
     if [[ $ONION_ONLY == 'no' ]]; then
1115 1115
         echo "[${MY_USERNAME}@${DEFAULT_DOMAIN_NAME}]" > $XMPP_CLIENT_ACCOUNTS

+ 0
- 12
src/freedombone-base-email View File

@@ -1524,18 +1524,6 @@ function gpg_key_exists {
1524 1524
     echo "yes"
1525 1525
 }
1526 1526
 
1527
-function gpg_pubkey_from_email {
1528
-    key_owner_username=$1
1529
-    key_email_address=$2
1530
-    key_id=
1531
-    if [[ $key_owner_username != "root" ]]; then
1532
-        key_id=$(su -c "gpg --list-keys $key_email_address | grep 'pub '" - $key_owner_username | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
1533
-    else
1534
-        key_id=$(gpg --list-keys $key_email_address | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
1535
-    fi
1536
-    echo $key_id
1537
-}
1538
-
1539 1527
 function configure_gpg {
1540 1528
     if [ ! -d /etc/exim4 ]; then
1541 1529
         return

+ 0
- 12
src/freedombone-restore-local View File

@@ -473,18 +473,6 @@ function restore_user_config {
473 473
     fi
474 474
 }
475 475
 
476
-function gpg_pubkey_from_email {
477
-    key_owner_username=$1
478
-    key_email_address=$2
479
-    key_id=
480
-    if [[ $key_owner_username != "root" ]]; then
481
-        key_id=$(su -c "gpg --list-keys $key_email_address | grep 'pub '" - $key_owner_username | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
482
-    else
483
-        key_id=$(gpg --list-keys $key_email_address | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
484
-    fi
485
-    echo $key_id
486
-}
487
-
488 476
 function restore_user_monkeysphere {
489 477
     if [[ $RESTORE_APP != 'all' ]]; then
490 478
         if [[ $RESTORE_APP != 'usermonkeysphere' ]]; then

+ 0
- 12
src/freedombone-restore-remote View File

@@ -435,18 +435,6 @@ function restore_user_config {
435 435
     done
436 436
 }
437 437
 
438
-function gpg_pubkey_from_email {
439
-    key_owner_username=$1
440
-    key_email_address=$2
441
-    key_id=
442
-    if [[ $key_owner_username != "root" ]]; then
443
-        key_id=$(su -c "gpg --list-keys $key_email_address | grep 'pub '" - $key_owner_username | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
444
-    else
445
-        key_id=$(gpg --list-keys $key_email_address | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
446
-    fi
447
-    echo $key_id
448
-}
449
-
450 438
 function restore_user_monkeysphere {
451 439
     if [[ $RESTORE_APP != 'all' ]]; then
452 440
         if [[ $RESTORE_APP != 'usermonkeysphere' ]]; then

+ 0
- 12
src/freedombone-sec View File

@@ -636,18 +636,6 @@ function update_ciphersuite {
636 636
     exit 0
637 637
 }
638 638
 
639
-function gpg_pubkey_from_email {
640
-    key_owner_username=$1
641
-    key_email_address=$2
642
-    key_id=
643
-    if [[ $key_owner_username != "root" ]]; then
644
-        key_id=$(su -c "gpg --list-keys $key_email_address | grep 'pub '" - $key_owner_username | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
645
-    else
646
-        key_id=$(gpg --list-keys $key_email_address | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
647
-    fi
648
-    echo $key_id
649
-}
650
-
651 639
 function enable_monkeysphere {
652 640
     monkey=
653 641
     dialog --title $"GPG based authentication" \

+ 12
- 0
src/freedombone-utils-gpg View File

@@ -28,6 +28,18 @@
28 28
 # You should have received a copy of the GNU Affero General Public License
29 29
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
30 30
 
31
+function gpg_pubkey_from_email {
32
+    key_owner_username=$1
33
+    key_email_address=$2
34
+    key_id=
35
+    if [[ $key_owner_username != "root" ]]; then
36
+        key_id=$(su -c "gpg --list-keys $key_email_address | grep 'pub '" - $key_owner_username | head -n 1 | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
37
+    else
38
+        key_id=$(gpg --list-keys $key_email_address | grep 'pub ' | head -n 1 | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}')
39
+    fi
40
+    echo $key_id
41
+}
42
+
31 43
 function enable_email_encryption_at_rest {
32 44
     for d in /home/*/ ; do
33 45
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')