Bob Mottram 9 vuotta sitten
vanhempi
commit
e870238c33
1 muutettua tiedostoa jossa 186 lisäystä ja 186 poistoa
  1. 186
    186
      src/freedombone

+ 186
- 186
src/freedombone Näytä tiedosto

@@ -4556,11 +4556,11 @@ function create_procmail {
4556 4556
         echo 'LOGFILE=$HOME/log/procmail.log' >> /home/$MY_USERNAME/.procmailrc
4557 4557
         echo 'LOGABSTRACT=all' >> /home/$MY_USERNAME/.procmailrc
4558 4558
         echo '' >> /home/$MY_USERNAME/.procmailrc
4559
-		echo $"# Tripwire reports which have no violations don't need to be logged" >> /home/$MY_USERNAME/.procmailrc
4560
-		echo ':0 BD:' >> /home/$MY_USERNAME/.procmailrc
4561
-		TRIPWIRE_VIOLATIONS_STR=$'Total violations found:  0'
4562
-		echo "  * .*$TRIPWIRE_VIOLATIONS_STR" >> /home/$MY_USERNAME/.procmailrc
4563
-		echo '/dev/null' >> /home/$MY_USERNAME/.procmailrc
4559
+        echo $"# Tripwire reports which have no violations don't need to be logged" >> /home/$MY_USERNAME/.procmailrc
4560
+        echo ':0 BD:' >> /home/$MY_USERNAME/.procmailrc
4561
+        TRIPWIRE_VIOLATIONS_STR=$'Total violations found:  0'
4562
+        echo "  * .*$TRIPWIRE_VIOLATIONS_STR" >> /home/$MY_USERNAME/.procmailrc
4563
+        echo '/dev/null' >> /home/$MY_USERNAME/.procmailrc
4564 4564
         echo '' >> /home/$MY_USERNAME/.procmailrc
4565 4565
         chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
4566 4566
     fi
@@ -4613,141 +4613,141 @@ function spam_filtering {
4613 4613
     echo 'warn  message = X-Spam-Report: $spam_report' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4614 4614
     echo '      spam = nobody' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4615 4615
     echo '# reject spam at high scores (> 12)' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4616
-	echo 'deny  message = This message scored $spam_score spam points.' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4617
-	echo '      spam = nobody:true' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4618
-	echo '      condition = ${if >{$spam_score_int}{120}{1}{0}}' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4619
-	# procmail configuration
4620
-	echo '# get spamassassin to check emails' >> /home/$MY_USERNAME/.procmailrc
4621
-	echo ':0fw: .spamassassin.lock' >> /home/$MY_USERNAME/.procmailrc
4622
-	echo '  * < 256000' >> /home/$MY_USERNAME/.procmailrc
4623
-	echo '| spamc' >> /home/$MY_USERNAME/.procmailrc
4624
-	echo '# strong spam are discarded' >> /home/$MY_USERNAME/.procmailrc
4625
-	echo ':0' >> /home/$MY_USERNAME/.procmailrc
4626
-	echo '  * ^X-Spam-Level: \*\*\*\*\*\*' >> /home/$MY_USERNAME/.procmailrc
4627
-	echo '/dev/null' >> /home/$MY_USERNAME/.procmailrc
4628
-	echo '# weak spam are kept just in case - clear this out every now and then' >> /home/$MY_USERNAME/.procmailrc
4629
-	echo ':0' >> /home/$MY_USERNAME/.procmailrc
4630
-	echo '  * ^X-Spam-Level: \*\*\*\*\*' >> /home/$MY_USERNAME/.procmailrc
4631
-	echo 'maybe-spam/' >> /home/$MY_USERNAME/.procmailrc
4632
-	echo '# otherwise, marginal spam goes here for revision' >> /home/$MY_USERNAME/.procmailrc
4633
-	echo ':0' >> /home/$MY_USERNAME/.procmailrc
4634
-	echo '  * ^X-Spam-Level: \*\*' >> /home/$MY_USERNAME/.procmailrc
4635
-	echo 'spam/' >> /home/$MY_USERNAME/.procmailrc
4636
-	chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
4637
-	echo '# get spamassassin to check emails' >> /etc/skel/.procmailrc
4638
-	echo ':0fw: .spamassassin.lock' >> /etc/skel/.procmailrc
4639
-	echo '  * < 256000' >> /etc/skel/.procmailrc
4640
-	echo '| spamc' >> /etc/skel/.procmailrc
4641
-	echo '# strong spam are discarded' >> /etc/skel/.procmailrc
4642
-	echo ':0' >> /etc/skel/.procmailrc
4643
-	echo '  * ^X-Spam-Level: \*\*\*\*\*\*' >> /etc/skel/.procmailrc
4644
-	echo '/dev/null' >> /etc/skel/.procmailrc
4645
-	echo '# weak spam are kept just in case - clear this out every now and then' >> /etc/skel/.procmailrc
4646
-	echo ':0' >> /etc/skel/.procmailrc
4647
-	echo '  * ^X-Spam-Level: \*\*\*\*\*' >> /etc/skel/.procmailrc
4648
-	echo 'maybe-spam/' >> /etc/skel/.procmailrc
4649
-	echo '# otherwise, marginal spam goes here for revision' >> /etc/skel/.procmailrc
4650
-	echo ':0' >> /etc/skel/.procmailrc
4651
-	echo '  * ^X-Spam-Level: \*\*' >> /etc/skel/.procmailrc
4652
-	echo 'spam/' >> /etc/skel/.procmailrc
4653
-	# filtering scripts
4654
-	echo '#!/bin/bash' > /usr/bin/filterspam
4655
-	echo 'for d in /home/*/ ; do' >> /usr/bin/filterspam
4656
-	echo '    USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/filterspam
4657
-	echo '    if [[ $USERNAME != "git" && $USERNAME != "mirrors" ]]; then' >> /usr/bin/filterspam
4658
-	echo '        MAILDIR=/home/$USERNAME/Maildir/.learn-spam' >> /usr/bin/filterspam
4659
-	echo '        if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterspam
4660
-	echo '           exit' >> /usr/bin/filterspam
4661
-	echo '        fi' >> /usr/bin/filterspam
4662
-	echo '        for f in `ls $MAILDIR/cur`' >> /usr/bin/filterspam
4663
-	echo '        do' >> /usr/bin/filterspam
4664
-	echo '            spamc -L spam < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterspam
4665
-	echo '            rm "$MAILDIR/cur/$f"' >> /usr/bin/filterspam
4666
-	echo '        done' >> /usr/bin/filterspam
4667
-	echo '        for f in `ls $MAILDIR/new`' >> /usr/bin/filterspam
4668
-	echo '        do' >> /usr/bin/filterspam
4669
-	echo '            spamc -L spam < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterspam
4670
-	echo '            rm "$MAILDIR/new/$f"' >> /usr/bin/filterspam
4671
-	echo '        done' >> /usr/bin/filterspam
4672
-	echo '    fi' >> /usr/bin/filterspam
4673
-	echo 'done' >> /usr/bin/filterspam
4674
-	echo 'exit 0' >> /usr/bin/filterspam
4675
-
4676
-	echo '#!/bin/bash' > /usr/bin/filterham
4677
-	echo 'for d in /home/*/ ; do' >> /usr/bin/filterham
4678
-	echo '    USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/filterham
4679
-	echo '    if [[ $USERNAME != "git" && $USERNAME != "mirrors" ]]; then' >> /usr/bin/filterham
4680
-	echo '        MAILDIR=/home/$USERNAME/Maildir/.learn-ham' >> /usr/bin/filterham
4681
-	echo '        if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterham
4682
-	echo '            exit' >> /usr/bin/filterham
4683
-	echo '        fi' >> /usr/bin/filterham
4684
-	echo '        for f in `ls $MAILDIR/cur`' >> /usr/bin/filterham
4685
-	echo '        do' >> /usr/bin/filterham
4686
-	echo '            spamc -L ham < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterham
4687
-	echo '            rm "$MAILDIR/cur/$f"' >> /usr/bin/filterham
4688
-	echo '        done' >> /usr/bin/filterham
4689
-	echo '        for f in `ls $MAILDIR/new`' >> /usr/bin/filterham
4690
-	echo '        do' >> /usr/bin/filterham
4691
-	echo '            spamc -L ham < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterham
4692
-	echo '            rm "$MAILDIR/new/$f"' >> /usr/bin/filterham
4693
-	echo '        done' >> /usr/bin/filterham
4694
-	echo '    fi' >> /usr/bin/filterham
4695
-	echo 'done' >> /usr/bin/filterham
4696
-	echo 'exit 0' >> /usr/bin/filterham
4697
-
4698
-	if ! grep -q "filterspam" /etc/crontab; then
4699
-		echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterspam" >> /etc/crontab
4700
-	fi
4701
-	if ! grep -q "filterham" /etc/crontab; then
4702
-		echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterham" >> /etc/crontab
4703
-	fi
4704
-	chmod 655 /usr/bin/filterspam /usr/bin/filterham
4705
-	sed -i 's/# use_bayes 1/use_bayes 1/g' /etc/mail/spamassassin/local.cf
4706
-	sed -i 's/# bayes_auto_learn 1/bayes_auto_learn 1/g' /etc/mail/spamassassin/local.cf
4707
-
4708
-	# user preferences
4709
-	if [ ! -d /home/$MY_USERNAME/.spamassassin ]; then
4710
-		mkdir /home/$MY_USERNAME/.spamassassin
4711
-		echo $'# How many points before a mail is considered spam.' > /home/$MY_USERNAME/.spamassassin/user_prefs
4712
-		echo '# required_score        5' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4713
-		echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4714
-		echo $'# Whitelist and blacklist addresses are now file-glob-style patterns, so' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4715
-		echo $'# "friend@somewhere.com", "*@isp.com", or "*.domain.net" will all work.' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4716
-		echo '# whitelist_from    someone@somewhere.com' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4717
-		echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4718
-		echo $'# Add your own customised scores for some tests below.  The default scores are' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4719
-		echo $'# read from the installed spamassassin rules files, but you can override them' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4720
-		echo $'# here.  To see the list of tests and their default scores, go to' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4721
-		echo '# http://spamassassin.apache.org/tests.html .' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4722
-		echo '#' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4723
-		echo '# score SYMBOLIC_TEST_NAME n.nn' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4724
-		echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4725
-		echo $'# Speakers of Asian languages, like Chinese, Japanese and Korean, will almost' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4726
-		echo $'# definitely want to uncomment the following lines.  They will switch off some' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4727
-		echo $'# rules that detect 8-bit characters, which commonly trigger on mails using CJK' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4728
-		echo $'# character sets, or that assume a western-style charset is in use. ' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4729
-		echo '# ' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4730
-		echo '# score HTML_COMMENT_8BITS  0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4731
-		echo '# score UPPERCASE_25_50     0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4732
-		echo '# score UPPERCASE_50_75     0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4733
-		echo '# score UPPERCASE_75_100    0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4734
-		echo '# score OBSCURED_EMAIL      0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4735
-		echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4736
-		echo $'# Speakers of any language that uses non-English, accented characters may wish' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4737
-		echo $'# to uncomment the following lines.   They turn off rules that fire on' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4738
-		echo $'# misformatted messages generated by common mail apps in contravention of the' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4739
-		echo $'# email RFCs.' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4740
-		echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4741
-		echo '# score SUBJ_ILLEGAL_CHARS      0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4742
-	fi
4743
-	# this must be accessible by root
4744
-	chown -R $MY_USERNAME:root /home/$MY_USERNAME/.spamassassin
4745
-
4746
-	systemctl restart spamassassin
4747
-	systemctl restart exim4
4748
-	systemctl restart cron
4749
-
4750
-	echo 'spam_filtering' >> $COMPLETION_FILE
4616
+    echo 'deny  message = This message scored $spam_score spam points.' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4617
+    echo '      spam = nobody:true' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4618
+    echo '      condition = ${if >{$spam_score_int}{120}{1}{0}}' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
4619
+    # procmail configuration
4620
+    echo '# get spamassassin to check emails' >> /home/$MY_USERNAME/.procmailrc
4621
+    echo ':0fw: .spamassassin.lock' >> /home/$MY_USERNAME/.procmailrc
4622
+    echo '  * < 256000' >> /home/$MY_USERNAME/.procmailrc
4623
+    echo '| spamc' >> /home/$MY_USERNAME/.procmailrc
4624
+    echo '# strong spam are discarded' >> /home/$MY_USERNAME/.procmailrc
4625
+    echo ':0' >> /home/$MY_USERNAME/.procmailrc
4626
+    echo '  * ^X-Spam-Level: \*\*\*\*\*\*' >> /home/$MY_USERNAME/.procmailrc
4627
+    echo '/dev/null' >> /home/$MY_USERNAME/.procmailrc
4628
+    echo '# weak spam are kept just in case - clear this out every now and then' >> /home/$MY_USERNAME/.procmailrc
4629
+    echo ':0' >> /home/$MY_USERNAME/.procmailrc
4630
+    echo '  * ^X-Spam-Level: \*\*\*\*\*' >> /home/$MY_USERNAME/.procmailrc
4631
+    echo 'maybe-spam/' >> /home/$MY_USERNAME/.procmailrc
4632
+    echo '# otherwise, marginal spam goes here for revision' >> /home/$MY_USERNAME/.procmailrc
4633
+    echo ':0' >> /home/$MY_USERNAME/.procmailrc
4634
+    echo '  * ^X-Spam-Level: \*\*' >> /home/$MY_USERNAME/.procmailrc
4635
+    echo 'spam/' >> /home/$MY_USERNAME/.procmailrc
4636
+    chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
4637
+    echo '# get spamassassin to check emails' >> /etc/skel/.procmailrc
4638
+    echo ':0fw: .spamassassin.lock' >> /etc/skel/.procmailrc
4639
+    echo '  * < 256000' >> /etc/skel/.procmailrc
4640
+    echo '| spamc' >> /etc/skel/.procmailrc
4641
+    echo '# strong spam are discarded' >> /etc/skel/.procmailrc
4642
+    echo ':0' >> /etc/skel/.procmailrc
4643
+    echo '  * ^X-Spam-Level: \*\*\*\*\*\*' >> /etc/skel/.procmailrc
4644
+    echo '/dev/null' >> /etc/skel/.procmailrc
4645
+    echo '# weak spam are kept just in case - clear this out every now and then' >> /etc/skel/.procmailrc
4646
+    echo ':0' >> /etc/skel/.procmailrc
4647
+    echo '  * ^X-Spam-Level: \*\*\*\*\*' >> /etc/skel/.procmailrc
4648
+    echo 'maybe-spam/' >> /etc/skel/.procmailrc
4649
+    echo '# otherwise, marginal spam goes here for revision' >> /etc/skel/.procmailrc
4650
+    echo ':0' >> /etc/skel/.procmailrc
4651
+    echo '  * ^X-Spam-Level: \*\*' >> /etc/skel/.procmailrc
4652
+    echo 'spam/' >> /etc/skel/.procmailrc
4653
+    # filtering scripts
4654
+    echo '#!/bin/bash' > /usr/bin/filterspam
4655
+    echo 'for d in /home/*/ ; do' >> /usr/bin/filterspam
4656
+    echo '    USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/filterspam
4657
+    echo '    if [[ $USERNAME != "git" && $USERNAME != "mirrors" ]]; then' >> /usr/bin/filterspam
4658
+    echo '        MAILDIR=/home/$USERNAME/Maildir/.learn-spam' >> /usr/bin/filterspam
4659
+    echo '        if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterspam
4660
+    echo '           exit' >> /usr/bin/filterspam
4661
+    echo '        fi' >> /usr/bin/filterspam
4662
+    echo '        for f in `ls $MAILDIR/cur`' >> /usr/bin/filterspam
4663
+    echo '        do' >> /usr/bin/filterspam
4664
+    echo '            spamc -L spam < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterspam
4665
+    echo '            rm "$MAILDIR/cur/$f"' >> /usr/bin/filterspam
4666
+    echo '        done' >> /usr/bin/filterspam
4667
+    echo '        for f in `ls $MAILDIR/new`' >> /usr/bin/filterspam
4668
+    echo '        do' >> /usr/bin/filterspam
4669
+    echo '            spamc -L spam < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterspam
4670
+    echo '            rm "$MAILDIR/new/$f"' >> /usr/bin/filterspam
4671
+    echo '        done' >> /usr/bin/filterspam
4672
+    echo '    fi' >> /usr/bin/filterspam
4673
+    echo 'done' >> /usr/bin/filterspam
4674
+    echo 'exit 0' >> /usr/bin/filterspam
4675
+
4676
+    echo '#!/bin/bash' > /usr/bin/filterham
4677
+    echo 'for d in /home/*/ ; do' >> /usr/bin/filterham
4678
+    echo '    USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/filterham
4679
+    echo '    if [[ $USERNAME != "git" && $USERNAME != "mirrors" ]]; then' >> /usr/bin/filterham
4680
+    echo '        MAILDIR=/home/$USERNAME/Maildir/.learn-ham' >> /usr/bin/filterham
4681
+    echo '        if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterham
4682
+    echo '            exit' >> /usr/bin/filterham
4683
+    echo '        fi' >> /usr/bin/filterham
4684
+    echo '        for f in `ls $MAILDIR/cur`' >> /usr/bin/filterham
4685
+    echo '        do' >> /usr/bin/filterham
4686
+    echo '            spamc -L ham < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterham
4687
+    echo '            rm "$MAILDIR/cur/$f"' >> /usr/bin/filterham
4688
+    echo '        done' >> /usr/bin/filterham
4689
+    echo '        for f in `ls $MAILDIR/new`' >> /usr/bin/filterham
4690
+    echo '        do' >> /usr/bin/filterham
4691
+    echo '            spamc -L ham < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterham
4692
+    echo '            rm "$MAILDIR/new/$f"' >> /usr/bin/filterham
4693
+    echo '        done' >> /usr/bin/filterham
4694
+    echo '    fi' >> /usr/bin/filterham
4695
+    echo 'done' >> /usr/bin/filterham
4696
+    echo 'exit 0' >> /usr/bin/filterham
4697
+
4698
+    if ! grep -q "filterspam" /etc/crontab; then
4699
+        echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterspam" >> /etc/crontab
4700
+    fi
4701
+    if ! grep -q "filterham" /etc/crontab; then
4702
+        echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterham" >> /etc/crontab
4703
+    fi
4704
+    chmod 655 /usr/bin/filterspam /usr/bin/filterham
4705
+    sed -i 's/# use_bayes 1/use_bayes 1/g' /etc/mail/spamassassin/local.cf
4706
+    sed -i 's/# bayes_auto_learn 1/bayes_auto_learn 1/g' /etc/mail/spamassassin/local.cf
4707
+
4708
+    # user preferences
4709
+    if [ ! -d /home/$MY_USERNAME/.spamassassin ]; then
4710
+        mkdir /home/$MY_USERNAME/.spamassassin
4711
+        echo $'# How many points before a mail is considered spam.' > /home/$MY_USERNAME/.spamassassin/user_prefs
4712
+        echo '# required_score        5' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4713
+        echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4714
+        echo $'# Whitelist and blacklist addresses are now file-glob-style patterns, so' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4715
+        echo $'# "friend@somewhere.com", "*@isp.com", or "*.domain.net" will all work.' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4716
+        echo '# whitelist_from    someone@somewhere.com' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4717
+        echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4718
+        echo $'# Add your own customised scores for some tests below.  The default scores are' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4719
+        echo $'# read from the installed spamassassin rules files, but you can override them' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4720
+        echo $'# here.  To see the list of tests and their default scores, go to' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4721
+        echo '# http://spamassassin.apache.org/tests.html .' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4722
+        echo '#' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4723
+        echo '# score SYMBOLIC_TEST_NAME n.nn' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4724
+        echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4725
+        echo $'# Speakers of Asian languages, like Chinese, Japanese and Korean, will almost' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4726
+        echo $'# definitely want to uncomment the following lines.  They will switch off some' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4727
+        echo $'# rules that detect 8-bit characters, which commonly trigger on mails using CJK' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4728
+        echo $'# character sets, or that assume a western-style charset is in use. ' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4729
+        echo '# ' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4730
+        echo '# score HTML_COMMENT_8BITS  0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4731
+        echo '# score UPPERCASE_25_50     0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4732
+        echo '# score UPPERCASE_50_75     0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4733
+        echo '# score UPPERCASE_75_100    0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4734
+        echo '# score OBSCURED_EMAIL      0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4735
+        echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4736
+        echo $'# Speakers of any language that uses non-English, accented characters may wish' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4737
+        echo $'# to uncomment the following lines.   They turn off rules that fire on' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4738
+        echo $'# misformatted messages generated by common mail apps in contravention of the' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4739
+        echo $'# email RFCs.' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4740
+        echo '' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4741
+        echo '# score SUBJ_ILLEGAL_CHARS      0' >> /home/$MY_USERNAME/.spamassassin/user_prefs
4742
+    fi
4743
+    # this must be accessible by root
4744
+    chown -R $MY_USERNAME:root /home/$MY_USERNAME/.spamassassin
4745
+
4746
+    systemctl restart spamassassin
4747
+    systemctl restart exim4
4748
+    systemctl restart cron
4749
+
4750
+    echo 'spam_filtering' >> $COMPLETION_FILE
4751 4751
 }
4752 4752
 
4753 4753
 function configure_imap {
@@ -4788,52 +4788,52 @@ function configure_imap {
4788 4788
     sed -i 's|#ssl_dh_parameters_length.*|ssl_dh_parameters_length = 2048|g' /etc/dovecot/conf.d/10-ssl.conf
4789 4789
     sed -i 's/#ssl_prefer_server_ciphers.*/ssl_prefer_server_ciphers = yes/g' /etc/dovecot/conf.d/10-ssl.conf
4790 4790
     sed -i "s|#ssl_protocols =.*|ssl_protocols = '$SSL_PROTOCOLS'|g" /etc/dovecot/conf.d/10-ssl.conf
4791
-	sed -i "s|ssl_protocols =.*|ssl_protocols = '$SSL_PROTOCOLS'|g" /etc/dovecot/conf.d/10-ssl.conf
4792
-	echo "ssl_cipher_list = '$SSL_CIPHERS'" >> /etc/dovecot/conf.d/10-ssl.conf
4793
-
4794
-	if [ ! -f /etc/dovecot/conf.d/10-master.conf ]; then
4795
-		echo $'Unable to find /etc/dovecot/conf.d/10-master.conf'
4796
-		exit 49259
4797
-	fi
4798
-	sed -i 's/#process_limit =.*/process_limit = 100/g' /etc/dovecot/conf.d/10-master.conf
4799
-	sed -i 's/#default_client_limit.*/default_client_limit = 100/g' /etc/dovecot/conf.d/10-master.conf
4800
-	sed -i 's|#default_process_limit =.*|default_process_limit = 100|g' /etc/dovecot/conf.d/10-master.conf
4801
-
4802
-	if [ ! -f /etc/dovecot/conf.d/10-logging.conf ]; then
4803
-		echo $'Unable to find /etc/dovecot/conf.d/10-logging.conf'
4804
-		exit 48936
4805
-	fi
4806
-	sed -i 's/#auth_verbose.*/auth_verbose = yes/g' /etc/dovecot/conf.d/10-logging.conf
4807
-
4808
-	if [ ! -f /etc/dovecot/dovecot.conf ]; then
4809
-		echo $'Unable to find /etc/dovecot/dovecot.conf'
4810
-		exit 43890
4811
-	fi
4812
-	sed -i 's/#listen =.*/listen = */g' /etc/dovecot/dovecot.conf
4813
-
4814
-	if [ ! -f /etc/dovecot/conf.d/10-auth.conf ]; then
4815
-		echo $'Unable to find /etc/dovecot/conf.d/10-auth.conf'
4816
-		exit 843256
4817
-	fi
4818
-	sed -i 's/#disable_plaintext_auth =.*/disable_plaintext_auth = no/g' /etc/dovecot/conf.d/10-auth.conf
4819
-	sed -i 's/auth_mechanisms =.*/auth_mechanisms = plain login/g' /etc/dovecot/conf.d/10-auth.conf
4820
-
4821
-	if [ ! -f /etc/dovecot/conf.d/10-mail.conf ]; then
4822
-		echo $'Unable to find /etc/dovecot/conf.d/10-mail.conf'
4823
-		exit 42036
4824
-	fi
4825
-	sed -i 's|mail_location =.*|mail_location = maildir:~/Maildir:LAYOUT=fs|g' /etc/dovecot/conf.d/10-mail.conf
4826
-
4827
-	# This long notify interval makes the system more suited for use with
4828
-	# battery powered mobile devices
4829
-	sed -i 's|#imap_idle_notify_interval =.*|imap_idle_notify_interval = 29|g' /etc/dovecot/conf.d/20-imap.conf
4830
-
4831
-	if [ -f /var/lib/dovecot/ssl-parameters.dat ]; then
4832
-		rm /var/lib/dovecot/ssl-parameters.dat
4833
-	fi
4834
-
4835
-	systemctl restart dovecot
4836
-	echo 'configure_imap' >> $COMPLETION_FILE
4791
+    sed -i "s|ssl_protocols =.*|ssl_protocols = '$SSL_PROTOCOLS'|g" /etc/dovecot/conf.d/10-ssl.conf
4792
+    echo "ssl_cipher_list = '$SSL_CIPHERS'" >> /etc/dovecot/conf.d/10-ssl.conf
4793
+
4794
+    if [ ! -f /etc/dovecot/conf.d/10-master.conf ]; then
4795
+        echo $'Unable to find /etc/dovecot/conf.d/10-master.conf'
4796
+        exit 49259
4797
+    fi
4798
+    sed -i 's/#process_limit =.*/process_limit = 100/g' /etc/dovecot/conf.d/10-master.conf
4799
+    sed -i 's/#default_client_limit.*/default_client_limit = 100/g' /etc/dovecot/conf.d/10-master.conf
4800
+    sed -i 's|#default_process_limit =.*|default_process_limit = 100|g' /etc/dovecot/conf.d/10-master.conf
4801
+
4802
+    if [ ! -f /etc/dovecot/conf.d/10-logging.conf ]; then
4803
+        echo $'Unable to find /etc/dovecot/conf.d/10-logging.conf'
4804
+        exit 48936
4805
+    fi
4806
+    sed -i 's/#auth_verbose.*/auth_verbose = yes/g' /etc/dovecot/conf.d/10-logging.conf
4807
+
4808
+    if [ ! -f /etc/dovecot/dovecot.conf ]; then
4809
+        echo $'Unable to find /etc/dovecot/dovecot.conf'
4810
+        exit 43890
4811
+    fi
4812
+    sed -i 's/#listen =.*/listen = */g' /etc/dovecot/dovecot.conf
4813
+
4814
+    if [ ! -f /etc/dovecot/conf.d/10-auth.conf ]; then
4815
+        echo $'Unable to find /etc/dovecot/conf.d/10-auth.conf'
4816
+        exit 843256
4817
+    fi
4818
+    sed -i 's/#disable_plaintext_auth =.*/disable_plaintext_auth = no/g' /etc/dovecot/conf.d/10-auth.conf
4819
+    sed -i 's/auth_mechanisms =.*/auth_mechanisms = plain login/g' /etc/dovecot/conf.d/10-auth.conf
4820
+
4821
+    if [ ! -f /etc/dovecot/conf.d/10-mail.conf ]; then
4822
+        echo $'Unable to find /etc/dovecot/conf.d/10-mail.conf'
4823
+        exit 42036
4824
+    fi
4825
+    sed -i 's|mail_location =.*|mail_location = maildir:~/Maildir:LAYOUT=fs|g' /etc/dovecot/conf.d/10-mail.conf
4826
+
4827
+    # This long notify interval makes the system more suited for use with
4828
+    # battery powered mobile devices
4829
+    sed -i 's|#imap_idle_notify_interval =.*|imap_idle_notify_interval = 29|g' /etc/dovecot/conf.d/20-imap.conf
4830
+
4831
+    if [ -f /var/lib/dovecot/ssl-parameters.dat ]; then
4832
+        rm /var/lib/dovecot/ssl-parameters.dat
4833
+    fi
4834
+
4835
+    systemctl restart dovecot
4836
+    echo 'configure_imap' >> $COMPLETION_FILE
4837 4837
 }
4838 4838
 
4839 4839
 function configure_imap_client_certs {