瀏覽代碼

Reconfigure for bdsmail

Bob Mottram 7 年之前
父節點
當前提交
53f0a66f6e
共有 1 個文件被更改,包括 38 次插入16 次删除
  1. 38
    16
      src/freedombone-app-bdsmail

+ 38
- 16
src/freedombone-app-bdsmail 查看文件

@@ -112,9 +112,44 @@ function change_password_bdsmail {
112 112
     new_user_password="$2"
113 113
 }
114 114
 
115
+function bdsmail_update_domain {
116
+    sed -i "s|set from=.*|set from=username@$(bdsmail_domain)|g" /etc/skel/.mutt/bdsmail
117
+    for d in /home/*/ ; do
118
+        USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
119
+        if [[ $(is_valid_user "$USERNAME") == "1" ]]; then
120
+            cp /etc/skel/.mutt/bdsmail /home/${USERNAME}/.mutt/bdsmail
121
+            sed -i "s|set from=.*|set from=${USERNAME}@$(bdsmail_domain)|g" /home/${USERNAME}/.mutt/bdsmail
122
+            chown ${USERNAME}:${USERNAME} /home/${USERNAME}/.mutt/bdsmail
123
+        fi
124
+    done
125
+}
126
+
127
+function bdsmail_wait_for_key_generation {
128
+    # wait for domain to be generated by the daemon
129
+    # This can take a while, probably because i2p is connecting
130
+    bds_domain=
131
+    sleep_ctr=0
132
+    while [ ! $bds_domain ]; do
133
+        echo $"Waiting for i2p domain to be generated ${sleep_ctr}/100"
134
+        systemctl restart bdsmail
135
+        sleep 30
136
+        bds_domain=$(bdsmail_domain)
137
+        sleep_ctr=$((sleep_ctr + 1))
138
+        if [ $sleep_ctr -gt 100 ]; then
139
+            break
140
+        fi
141
+    done
142
+}
143
+
115 144
 function reconfigure_bdsmail {
116
-    # This is used if you need to switch identity. Dump old keys and generate new ones
117
-    echo -n ''
145
+    systemctl stop bdsmail
146
+    rm $BDSMAIL_DIR/*.dat
147
+    rm $BDSMAIL_DIR/*.pem
148
+    bdsmail_wait_for_key_generation
149
+    if [ ! -f $BDSMAIL_DIR/bdsmail-privkey.dat ]; then
150
+        return
151
+    fi
152
+    bdsmail_update_domain
118 153
 }
119 154
 
120 155
 function upgrade_bdsmail {
@@ -362,20 +397,7 @@ function install_bdsmail {
362 397
     echo $'This may take a while.'
363 398
     echo ''
364 399
 
365
-    # wait for domain to be generated by the daemon
366
-    # This can take a while, probably because i2p is connecting
367
-    bds_domain=
368
-    sleep_ctr=0
369
-    while [ ! $bds_domain ]; do
370
-        echo $"Waiting for i2p domain to be generated ${sleep_ctr}/100"
371
-        systemctl restart bdsmail
372
-        sleep 30
373
-        bds_domain=$(bdsmail_domain)
374
-        sleep_ctr=$((sleep_ctr + 1))
375
-        if [ $sleep_ctr -gt 100 ]; then
376
-            break
377
-        fi
378
-    done
400
+    bdsmail_wait_for_key_generation
379 401
 
380 402
     if [ ! $bds_domain ]; then
381 403
         systemctl stop bdsmail