Bob Mottram 8 anni fa
parent
commit
423bea11ad
1 ha cambiato i file con 85 aggiunte e 127 eliminazioni
  1. 85
    127
      src/freedombone-base-email

+ 85
- 127
src/freedombone-base-email Vedi File

@@ -73,6 +73,82 @@ GPGIT_COMMIT='583dc76119f19420f8a33f606744faa7c8922738'
73 73
 # refresh gpg keys every few hours
74 74
 REFRESH_GPG_KEYS_HOURS=2
75 75
 
76
+function email_create_template {
77
+    if [ ! -d /etc/skel/log ]; then
78
+        mkdir -m 700 /etc/skel/log
79
+    fi
80
+    if [ ! -d /etc/skel/Maildir ]; then
81
+        mkdir -m 700 /etc/skel/.mutt
82
+        mkdir -m 700 /etc/skel/Maildir
83
+        mkdir -m 700 /etc/skel/Maildir/new
84
+        mkdir -m 700 /etc/skel/Maildir/cur
85
+        mkdir -m 700 /etc/skel/Maildir/Sent
86
+        mkdir -m 700 /etc/skel/Maildir/Sent/tmp
87
+        mkdir -m 700 /etc/skel/Maildir/Sent/cur
88
+        mkdir -m 700 /etc/skel/Maildir/Sent/new
89
+        mkdir -m 700 /etc/skel/Maildir/.learn-spam
90
+        mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
91
+        mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
92
+        mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
93
+        mkdir -m 700 /etc/skel/Maildir/.learn-ham
94
+        mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
95
+        mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
96
+        mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
97
+        ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
98
+        ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
99
+    fi
100
+
101
+    if [ ! -d /home/$MY_USERNAME/Maildir ]; then
102
+        mkdir -m 700 /home/$MY_USERNAME/.mutt
103
+        mkdir -m 700 /home/$MY_USERNAME/Maildir
104
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
105
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
106
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/new
107
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
108
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
109
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
110
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
111
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
112
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
113
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
114
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
115
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
116
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
117
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
118
+        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
119
+        ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
120
+        ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
121
+        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
122
+    fi
123
+}
124
+
125
+function email_install_tls {
126
+    # make a tls certificate for email
127
+    if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
128
+        ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
129
+        check_certificates exim
130
+    fi
131
+    cp /etc/ssl/private/exim.key /etc/exim4
132
+    cp /etc/ssl/certs/exim.crt /etc/exim4
133
+    cp /etc/ssl/certs/exim.dhparam /etc/exim4
134
+    chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
135
+    chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
136
+
137
+    sed -i '/login_saslauthd_server/,/.endif/ s/# *//' /etc/exim4/exim4.conf.template
138
+    if ! grep -q "MAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template; then
139
+        sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME =\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
140
+    else
141
+        sed -i "s|MAIN_HARDCODE_PRIMARY_HOSTNAME =.*|MAIN_HARDCODE_PRIMARY_HOSTNAME =|g" /etc/exim4/exim4.conf.template
142
+    fi
143
+    sed -i "s|SMTPLISTENEROPTIONS=''|SMTPLISTENEROPTIONS='-oX 465:25:587 -oP /var/run/exim4/exim.pid'|g" /etc/default/exim4
144
+    if ! grep -q "tls_on_connect_ports=465" /etc/exim4/exim4.conf.template; then
145
+        sed -i '/SSL configuration for exim/i\tls_on_connect_ports=465' /etc/exim4/exim4.conf.template
146
+    fi
147
+    if ! grep -q "# don't send system passwords" /etc/exim4/exim4.conf.template; then
148
+        sed -i "s|don't send system passwords.*|# don't send system passwords unencrypted|g" /etc/exim4/exim4.conf.template
149
+    fi
150
+}
151
+
76 152
 function configure_email_onion {
77 153
     if [[ $(is_completed $FUNCNAME) == "1" ]]; then
78 154
         return
@@ -863,80 +939,13 @@ function install_email_with_tor {
863 939
     sed -i "s/START=no/START=yes/g" /etc/default/saslauthd
864 940
     systemctl start saslauthd
865 941
 
866
-    # make a tls certificate for email
867
-    if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
868
-        ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
869
-        check_certificates exim
870
-    fi
871
-    cp /etc/ssl/private/exim.key /etc/exim4
872
-    cp /etc/ssl/certs/exim.crt /etc/exim4
873
-    cp /etc/ssl/certs/exim.dhparam /etc/exim4
874
-    chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
875
-    chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
876
-
877
-    sed -i '/login_saslauthd_server/,/.endif/ s/# *//' /etc/exim4/exim4.conf.template
878
-    if ! grep -q "MAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template; then
879
-        sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME =\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
880
-    else
881
-        sed -i "s|MAIN_HARDCODE_PRIMARY_HOSTNAME =.*|MAIN_HARDCODE_PRIMARY_HOSTNAME =|g" /etc/exim4/exim4.conf.template
882
-    fi
883
-    sed -i "s|SMTPLISTENEROPTIONS=''|SMTPLISTENEROPTIONS='-oX 465:25:587 -oP /var/run/exim4/exim.pid'|g" /etc/default/exim4
884
-    if ! grep -q "tls_on_connect_ports=465" /etc/exim4/exim4.conf.template; then
885
-        sed -i '/SSL configuration for exim/i\tls_on_connect_ports=465' /etc/exim4/exim4.conf.template
886
-    fi
887
-    if ! grep -q "# don't send system passwords" /etc/exim4/exim4.conf.template; then
888
-        sed -i "s|don't send system passwords.*|# don't send system passwords unencrypted|g" /etc/exim4/exim4.conf.template
889
-    fi
942
+    email_install_tls
890 943
 
891 944
     adduser $MY_USERNAME sasl
892 945
     addgroup Debian-exim sasl
893 946
     systemctl restart exim4
894
-    if [ ! -d /etc/skel/log ]; then
895
-        mkdir -m 700 /etc/skel/log
896
-    fi
897
-    if [ ! -d /etc/skel/Maildir ]; then
898
-        mkdir -m 700 /etc/skel/.mutt
899
-        mkdir -m 700 /etc/skel/Maildir
900
-        mkdir -m 700 /etc/skel/Maildir/new
901
-        mkdir -m 700 /etc/skel/Maildir/cur
902
-        mkdir -m 700 /etc/skel/Maildir/Sent
903
-        mkdir -m 700 /etc/skel/Maildir/Sent/tmp
904
-        mkdir -m 700 /etc/skel/Maildir/Sent/cur
905
-        mkdir -m 700 /etc/skel/Maildir/Sent/new
906
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam
907
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
908
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
909
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
910
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham
911
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
912
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
913
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
914
-        ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
915
-        ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
916
-    fi
917 947
 
918
-    if [ ! -d /home/$MY_USERNAME/Maildir ]; then
919
-        mkdir -m 700 /home/$MY_USERNAME/.mutt
920
-        mkdir -m 700 /home/$MY_USERNAME/Maildir
921
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
922
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
923
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/new
924
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
925
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
926
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
927
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
928
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
929
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
930
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
931
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
932
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
933
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
934
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
935
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
936
-        ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
937
-        ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
938
-        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
939
-    fi
948
+    email_create_template
940 949
 
941 950
     if [ -f /usr/sbin/exim ]; then
942 951
         chmod u+s /usr/sbin/exim
@@ -995,66 +1004,13 @@ function install_email_basic {
995 1004
     sed -i "s/START=no/START=yes/g" /etc/default/saslauthd
996 1005
     systemctl start saslauthd
997 1006
 
998
-    # make a tls certificate for email
999
-    if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
1000
-        ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
1001
-        check_certificates exim
1002
-    fi
1003
-    cp /etc/ssl/private/exim.key /etc/exim4
1004
-    cp /etc/ssl/certs/exim.crt /etc/exim4
1005
-    cp /etc/ssl/certs/exim.dhparam /etc/exim4
1006
-    chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
1007
-    chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
1007
+    email_install_tls
1008 1008
 
1009
-    if [ ! -d /etc/skel/log ]; then
1010
-        mkdir -m 700 /etc/skel/log
1011
-    fi
1012
-    if [ ! -d /etc/skel/Maildir ]; then
1013
-        mkdir -m 700 /etc/skel/.mutt
1014
-        mkdir -m 700 /etc/skel/Maildir
1015
-        mkdir -m 700 /etc/skel/Maildir/new
1016
-        mkdir -m 700 /etc/skel/Maildir/cur
1017
-        mkdir -m 700 /etc/skel/Maildir/Sent
1018
-        mkdir -m 700 /etc/skel/Maildir/Sent/tmp
1019
-        mkdir -m 700 /etc/skel/Maildir/Sent/cur
1020
-        mkdir -m 700 /etc/skel/Maildir/Sent/new
1021
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam
1022
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
1023
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
1024
-        mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
1025
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham
1026
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
1027
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
1028
-        mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
1029
-        ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
1030
-        ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
1031
-    fi
1032
-
1033
-    if [ ! -d /home/$MY_USERNAME/Maildir ]; then
1034
-        mkdir -m 700 /home/$MY_USERNAME/.mutt
1035
-        mkdir -m 700 /home/$MY_USERNAME/Maildir
1036
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
1037
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
1038
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/new
1039
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
1040
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
1041
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
1042
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
1043
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
1044
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
1045
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
1046
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
1047
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
1048
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
1049
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
1050
-        mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
1051
-        ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
1052
-        ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
1053
-        chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
1054
-    fi
1009
+    adduser $MY_USERNAME sasl
1010
+    addgroup Debian-exim sasl
1011
+    systemctl restart exim4
1055 1012
 
1056
-    function_check configure_firewall_for_email
1057
-    configure_firewall_for_email
1013
+    email_create_template
1058 1014
 
1059 1015
     if [ -f /usr/sbin/exim ]; then
1060 1016
         chmod u+s /usr/sbin/exim
@@ -1063,6 +1019,8 @@ function install_email_basic {
1063 1019
         chmod u+s /usr/sbin/exim4
1064 1020
     fi
1065 1021
 
1022
+    function_check configure_firewall_for_email
1023
+    configure_firewall_for_email
1066 1024
     dpkg-reconfigure --frontend noninteractive exim4-config
1067 1025
     systemctl restart exim4
1068 1026
 }