瀏覽代碼

Single quotes

Bob Mottram 11 年之前
父節點
當前提交
3e4cff24ad
共有 1 個檔案被更改,包括 402 行新增400 行删除
  1. 402
    400
      install-freedombone.sh

+ 402
- 400
install-freedombone.sh 查看文件

@@ -3,7 +3,9 @@
3 3
 
4 4
 DOMAIN_NAME=$1
5 5
 MY_USERNAME=$2
6
+
6 7
 SSH_PORT=2222
8
+KERNEL_VERSION="v3.15.10-bone7"
7 9
 
8 10
 # Directory where source code is downloaded and compiled
9 11
 INSTALL_DIR=/root/build
@@ -41,78 +43,78 @@ function remove_proprietary_repos {
41 43
 
42 44
 function update_the_kernel {
43 45
   cd /opt/scripts/tools
44
-  ./update_kernel.sh --kernel v3.15.10-bone7
46
+  ./update_kernel.sh --kernel $KERNEL_VERSION
45 47
 }
46 48
 
47 49
 function enable_zram {
48 50
   echo "options zram num_devices=1" >> /etc/modprobe.d/zram.conf
49
-  echo "#!/bin/bash" > /etc/init.d/zram
50
-  echo "### BEGIN INIT INFO" >> /etc/init.d/zram
51
-  echo "# Provides: zram" >> /etc/init.d/zram
52
-  echo "# Required-Start:" >> /etc/init.d/zram
53
-  echo "# Required-Stop:" >> /etc/init.d/zram
54
-  echo "# Default-Start: 2 3 4 5" >> /etc/init.d/zram
55
-  echo "# Default-Stop: 0 1 6" >> /etc/init.d/zram
56
-  echo "# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)" >> /etc/init.d/zram
57
-  echo "# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram" >> /etc/init.d/zram
58
-  echo "### END INIT INFO" >> /etc/init.d/zram
59
-  echo "start() {" >> /etc/init.d/zram
60
-  echo "    # get the number of CPUs" >> /etc/init.d/zram
61
-  echo "    num_cpus=$(grep -c processor /proc/cpuinfo)" >> /etc/init.d/zram
62
-  echo "    # if something goes wrong, assume we have 1" >> /etc/init.d/zram
63
-  echo "    [ \"$num_cpus\" != 0 ] || num_cpus=1" >> /etc/init.d/zram
64
-  echo "    # set decremented number of CPUs" >> /etc/init.d/zram
65
-  echo "    decr_num_cpus=$((num_cpus - 1))" >> /etc/init.d/zram
66
-  echo "    # get the amount of memory in the machine" >> /etc/init.d/zram
67
-  echo "    mem_total_kb=$(grep MemTotal /proc/meminfo | grep -E --only-matching '[[:digit:]]+')" >> /etc/init.d/zram
68
-  echo "    mem_total=$((mem_total_kb * 1024))" >> /etc/init.d/zram
69
-  echo "    # load dependency modules" >> /etc/init.d/zram
70
-  echo "    modprobe zram num_devices=$num_cpus" >> /etc/init.d/zram
71
-  echo "    # initialize the devices" >> /etc/init.d/zram
72
-  echo "    for i in $(seq 0 $decr_num_cpus); do" >> /etc/init.d/zram
73
-  echo "    echo $((mem_total / num_cpus)) > /sys/block/zram$i/disksize" >> /etc/init.d/zram
74
-  echo "    done" >> /etc/init.d/zram
75
-  echo "    # Creating swap filesystems" >> /etc/init.d/zram
76
-  echo "    for i in $(seq 0 $decr_num_cpus); do" >> /etc/init.d/zram
77
-  echo "    mkswap /dev/zram$i" >> /etc/init.d/zram
78
-  echo "    done" >> /etc/init.d/zram
79
-  echo "    # Switch the swaps on" >> /etc/init.d/zram
80
-  echo "    for i in $(seq 0 $decr_num_cpus); do" >> /etc/init.d/zram
81
-  echo "    swapon -p 100 /dev/zram$i" >> /etc/init.d/zram
82
-  echo "    done" >> /etc/init.d/zram
83
-  echo "}" >> /etc/init.d/zram
84
-  echo "stop() {" >> /etc/init.d/zram
85
-  echo "    # get the number of CPUs" >> /etc/init.d/zram
86
-  echo "    num_cpus=$(grep -c processor /proc/cpuinfo)" >> /etc/init.d/zram
87
-  echo "    # set decremented number of CPUs" >> /etc/init.d/zram
88
-  echo "    decr_num_cpus=$((num_cpus - 1))" >> /etc/init.d/zram
89
-  echo "    # Switching off swap" >> /etc/init.d/zram
90
-  echo "    for i in $(seq 0 $decr_num_cpus); do" >> /etc/init.d/zram
91
-  echo "    if [ \"$(grep /dev/zram$i /proc/swaps)\" != \"\" ]; then" >> /etc/init.d/zram
92
-  echo "    swapoff /dev/zram$i" >> /etc/init.d/zram
93
-  echo "    sleep 1" >> /etc/init.d/zram
94
-  echo "    fi" >> /etc/init.d/zram
95
-  echo "    done" >> /etc/init.d/zram
96
-  echo "    sleep 1" >> /etc/init.d/zram
97
-  echo "    rmmod zram" >> /etc/init.d/zram
98
-  echo "}" >> /etc/init.d/zram
99
-  echo "case \"$1\" in" >> /etc/init.d/zram
100
-  echo "    start)" >> /etc/init.d/zram
101
-  echo "        start" >> /etc/init.d/zram
102
-  echo "        ;;" >> /etc/init.d/zram
103
-  echo "    stop)" >> /etc/init.d/zram
104
-  echo "        stop" >> /etc/init.d/zram
105
-  echo "        ;;" >> /etc/init.d/zram
106
-  echo "    restart)" >> /etc/init.d/zram
107
-  echo "        stop" >> /etc/init.d/zram
108
-  echo "        sleep 3" >> /etc/init.d/zram
109
-  echo "        start" >> /etc/init.d/zram
110
-  echo "        ;;" >> /etc/init.d/zram
111
-  echo "    *)" >> /etc/init.d/zram
112
-  echo "        echo \"Usage: $0 {start|stop|restart}\"" >> /etc/init.d/zram
113
-  echo "        RETVAL=1" >> /etc/init.d/zram
114
-  echo "esac" >> /etc/init.d/zram
115
-  echo "exit $RETVAL" >> /etc/init.d/zram
51
+  echo '#!/bin/bash' > /etc/init.d/zram
52
+  echo '### BEGIN INIT INFO' >> /etc/init.d/zram
53
+  echo '# Provides: zram' >> /etc/init.d/zram
54
+  echo '# Required-Start:' >> /etc/init.d/zram
55
+  echo '# Required-Stop:' >> /etc/init.d/zram
56
+  echo '# Default-Start: 2 3 4 5' >> /etc/init.d/zram
57
+  echo '# Default-Stop: 0 1 6' >> /etc/init.d/zram
58
+  echo '# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)' >> /etc/init.d/zram
59
+  echo '# Description: Adapted from systemd scripts at https://github.com/mystilleef/FedoraZram' >> /etc/init.d/zram
60
+  echo '### END INIT INFO' >> /etc/init.d/zram
61
+  echo 'start() {' >> /etc/init.d/zram
62
+  echo '    # get the number of CPUs' >> /etc/init.d/zram
63
+  echo '    num_cpus=$(grep -c processor /proc/cpuinfo)' >> /etc/init.d/zram
64
+  echo '    # if something goes wrong, assume we have 1' >> /etc/init.d/zram
65
+  echo '    [ \"$num_cpus\" != 0 ] || num_cpus=1' >> /etc/init.d/zram
66
+  echo '    # set decremented number of CPUs' >> /etc/init.d/zram
67
+  echo '    decr_num_cpus=$((num_cpus - 1))' >> /etc/init.d/zram
68
+  echo '    # get the amount of memory in the machine' >> /etc/init.d/zram
69
+  echo '    mem_total_kb=$(grep MemTotal /proc/meminfo | grep -E --only-matching "[[:digit:]]+")' >> /etc/init.d/zram
70
+  echo '    mem_total=$((mem_total_kb * 1024))' >> /etc/init.d/zram
71
+  echo '    # load dependency modules' >> /etc/init.d/zram
72
+  echo '    modprobe zram num_devices=$num_cpus' >> /etc/init.d/zram
73
+  echo '    # initialize the devices' >> /etc/init.d/zram
74
+  echo '    for i in $(seq 0 $decr_num_cpus); do' >> /etc/init.d/zram
75
+  echo '    echo $((mem_total / num_cpus)) > /sys/block/zram$i/disksize' >> /etc/init.d/zram
76
+  echo '    done' >> /etc/init.d/zram
77
+  echo '    # Creating swap filesystems' >> /etc/init.d/zram
78
+  echo '    for i in $(seq 0 $decr_num_cpus); do' >> /etc/init.d/zram
79
+  echo '    mkswap /dev/zram$i' >> /etc/init.d/zram
80
+  echo '    done' >> /etc/init.d/zram
81
+  echo '    # Switch the swaps on' >> /etc/init.d/zram
82
+  echo '    for i in $(seq 0 $decr_num_cpus); do' >> /etc/init.d/zram
83
+  echo '    swapon -p 100 /dev/zram$i' >> /etc/init.d/zram
84
+  echo '    done' >> /etc/init.d/zram
85
+  echo '}' >> /etc/init.d/zram
86
+  echo 'stop() {' >> /etc/init.d/zram
87
+  echo '    # get the number of CPUs' >> /etc/init.d/zram
88
+  echo '    num_cpus=$(grep -c processor /proc/cpuinfo)' >> /etc/init.d/zram
89
+  echo '    # set decremented number of CPUs' >> /etc/init.d/zram
90
+  echo '    decr_num_cpus=$((num_cpus - 1))' >> /etc/init.d/zram
91
+  echo '    # Switching off swap' >> /etc/init.d/zram
92
+  echo '    for i in $(seq 0 $decr_num_cpus); do' >> /etc/init.d/zram
93
+  echo '    if [ \"$(grep /dev/zram$i /proc/swaps)\" != \"\" ]; then' >> /etc/init.d/zram
94
+  echo '    swapoff /dev/zram$i' >> /etc/init.d/zram
95
+  echo '    sleep 1' >> /etc/init.d/zram
96
+  echo '    fi' >> /etc/init.d/zram
97
+  echo '    done' >> /etc/init.d/zram
98
+  echo '    sleep 1' >> /etc/init.d/zram
99
+  echo '    rmmod zram' >> /etc/init.d/zram
100
+  echo '}' >> /etc/init.d/zram
101
+  echo 'case \"$1\" in' >> /etc/init.d/zram
102
+  echo '    start)' >> /etc/init.d/zram
103
+  echo '        start' >> /etc/init.d/zram
104
+  echo '        ;;' >> /etc/init.d/zram
105
+  echo '    stop)' >> /etc/init.d/zram
106
+  echo '        stop' >> /etc/init.d/zram
107
+  echo '        ;;' >> /etc/init.d/zram
108
+  echo '    restart)' >> /etc/init.d/zram
109
+  echo '        stop' >> /etc/init.d/zram
110
+  echo '        sleep 3' >> /etc/init.d/zram
111
+  echo '        start' >> /etc/init.d/zram
112
+  echo '        ;;' >> /etc/init.d/zram
113
+  echo '    *)' >> /etc/init.d/zram
114
+  echo '        echo \"Usage: $0 {start|stop|restart}\"' >> /etc/init.d/zram
115
+  echo '        RETVAL=1' >> /etc/init.d/zram
116
+  echo 'esac' >> /etc/init.d/zram
117
+  echo 'exit $RETVAL' >> /etc/init.d/zram
116 118
   chmod +x /etc/init.d/zram
117 119
   update-rc.d zram defaults
118 120
 }
@@ -131,11 +133,11 @@ function configure_ssh {
131 133
   sed -i 's/TCPKeepAlive yes/TCPKeepAlive no/g' /etc/ssh/sshd_config
132 134
   sed -i 's|HostKey /etc/ssh/ssh_host_dsa_key|#HostKey /etc/ssh/ssh_host_dsa_key|g' /etc/ssh/sshd_config
133 135
   sed -i 's|HostKey /etc/ssh/ssh_host_ecdsa_key|#HostKey /etc/ssh/ssh_host_ecdsa_key|g' /etc/ssh/sshd_config
134
-  echo "ClientAliveInterval 60" >> /etc/ssh/sshd_config
135
-  echo "ClientAliveCountMax 3" >> /etc/ssh/sshd_config
136
-  echo "Ciphers aes256-ctr,aes128-ctr" >> /etc/ssh/sshd_config
137
-  echo "MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
138
-  KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1" >> /etc/ssh/sshd_config
136
+  echo 'ClientAliveInterval 60' >> /etc/ssh/sshd_config
137
+  echo 'ClientAliveCountMax 3' >> /etc/ssh/sshd_config
138
+  echo 'Ciphers aes256-ctr,aes128-ctr' >> /etc/ssh/sshd_config
139
+  echo 'MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
140
+  KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1' >> /etc/ssh/sshd_config
139 141
   service ssh restart
140 142
   apt-get -y install fail2ban
141 143
 }
@@ -164,109 +166,109 @@ function time_synchronisation {
164 166
   make
165 167
   make install
166 168
 
167
-  echo "#!/bin/bash" > /usr/bin/updatedate
168
-  echo "TIMESOURCE=google.com" >> /usr/bin/updatedate
169
-  echo "TIMESOURCE2=www.ptb.de" >> /usr/bin/updatedate
170
-  echo "LOGFILE=/var/log/tlsdate.log" >> /usr/bin/updatedate
171
-  echo "TIMEOUT=5" >> /usr/bin/updatedate
169
+  echo '#!/bin/bash' > /usr/bin/updatedate
170
+  echo 'TIMESOURCE=google.com' >> /usr/bin/updatedate
171
+  echo 'TIMESOURCE2=www.ptb.de' >> /usr/bin/updatedate
172
+  echo 'LOGFILE=/var/log/tlsdate.log' >> /usr/bin/updatedate
173
+  echo 'TIMEOUT=5' >> /usr/bin/updatedate
172 174
   echo "EMAIL=$MY_USERNAME@$DOMAIN_NAME" >> /usr/bin/updatedate
173
-  echo "# File which contains the previous date as a number" >> /usr/bin/updatedate
174
-  echo "BEFORE_DATE_FILE=/var/log/tlsdateprevious.txt" >> /usr/bin/updatedate
175
-  echo "# File which contains the previous date as a string" >> /usr/bin/updatedate
176
-  echo "BEFORE_FULLDATE_FILE=/var/log/tlsdate.txt" >> /usr/bin/updatedate
177
-  echo "DATE_BEFORE=$(date)" >> /usr/bin/updatedate
178
-  echo "BEFORE=$(date -d "$Y-$M-$D" '+%s')" >> /usr/bin/updatedate
179
-  echo "BACKWARDS_BETWEEN=0" >> /usr/bin/updatedate
180
-  echo "# If the date was previously set" >> /usr/bin/updatedate
181
-  echo "if [[ -f \"$BEFORE_DATE_FILE\" ]]; then" >> /usr/bin/updatedate
182
-  echo "    BEFORE_FILE=$(cat $BEFORE_DATE_FILE)" >> /usr/bin/updatedate
183
-  echo "    BEFORE_FULLDATE=$(cat $BEFORE_FULLDATE_FILE)" >> /usr/bin/updatedate
184
-  echo "    # is the date going backwards?" >> /usr/bin/updatedate
185
-  echo "    if (( BEFORE_FILE > BEFORE )); then" >> /usr/bin/updatedate
186
-  echo "        echo -n \"Date went backwards between tlsdate updates. \" >> $LOGFILE" >> /usr/bin/updatedate
187
-  echo "        echo -n \"$BEFORE_FILE > $BEFORE, \" >> $LOGFILE" >> /usr/bin/updatedate
188
-  echo "        echo \"$BEFORE_FULLDATE > $DATE_BEFORE\" >> $LOGFILE" >> /usr/bin/updatedate
189
-  echo "        # Send a warning email" > /usr/bin/updatedate
190
-  echo "        echo $(tail $LOGFILE -n 2) | mail -s \"tlsdate anomaly\" $EMAIL" >> /usr/bin/updatedate
191
-  echo "        # Try another time source" >> /usr/bin/updatedate
192
-  echo "        TIMESOURCE=$TIMESOURCE2" >> /usr/bin/updatedate
193
-  echo "        # try running without any parameters" >> /usr/bin/updatedate
194
-  echo "        tlsdate >> $LOGFILE" >> /usr/bin/updatedate
195
-  echo "        BACKWARDS_BETWEEN=1" >> /usr/bin/updatedate
196
-  echo "    fi" >> /usr/bin/updatedate
197
-  echo "fi" >> /usr/bin/updatedate
198
-  echo "# Set the date" >> /usr/bin/updatedate
199
-  echo "/usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE -p 443 >> $LOGFILE" >> /usr/bin/updatedate
200
-  echo "DATE_AFTER=$(date)" >> /usr/bin/updatedate
201
-  echo "AFTER=$(date -d "$Y-$M-$D" '+%s')" >> /usr/bin/updatedate
202
-  echo "# After setting the date did it go backwards?" >> /usr/bin/updatedate
203
-  echo "if (( AFTER < BEFORE )); then" >> /usr/bin/updatedate
204
-  echo "    echo \"Incorrect date: $DATE_BEFORE -> $DATE_AFTER\" >> $LOGFILE" >> /usr/bin/updatedate
205
-  echo "    # Send a warning email" >> /usr/bin/updatedate
206
-  echo "    echo $(tail $LOGFILE -n 2) | mail -s \"tlsdate anomaly\" $EMAIL" >> /usr/bin/updatedate
207
-  echo "    # Try resetting the date from another time source" >> /usr/bin/updatedate
208
-  echo "    /usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE2 -p 443 >> $LOGFILE" >> /usr/bin/updatedate
209
-  echo "    DATE_AFTER=$(date)" >> /usr/bin/updatedate
210
-  echo "    AFTER=$(date -d "$Y-$M-$D" '+%s')" >> /usr/bin/updatedate
211
-  echo "else" >> /usr/bin/updatedate
212
-  echo "    echo -n $TIMESOURCE >> $LOGFILE" >> /usr/bin/updatedate
213
-  echo "    if [[ -f \"$BEFORE_DATE_FILE\" ]]; then" >> /usr/bin/updatedate
214
-  echo "        echo -n \" \" >> $LOGFILE" >> /usr/bin/updatedate
215
-  echo "        echo -n $BEFORE_FILE >> $LOGFILE" >> /usr/bin/updatedate
216
-  echo "    fi" >> /usr/bin/updatedate
217
-  echo "    echo -n \" \" >> $LOGFILE" >> /usr/bin/updatedate
218
-  echo "    echo -n $BEFORE >> $LOGFILE" >> /usr/bin/updatedate
219
-  echo "    echo -n \" \" >> $LOGFILE" >> /usr/bin/updatedate
220
-  echo "    echo -n $AFTER >> $LOGFILE" >> /usr/bin/updatedate
221
-  echo "    echo -n \" \" >> $LOGFILE" >> /usr/bin/updatedate
222
-  echo "    echo $DATE_AFTER >> $LOGFILE" >> /usr/bin/updatedate
223
-  echo "fi" >> /usr/bin/updatedate
224
-  echo "# Log the last date" >> /usr/bin/updatedate
225
-  echo "if [ BACKWARDS_BETWEEN == 0 ]; then" >> /usr/bin/updatedate
226
-  echo "    echo \"$AFTER\" > $BEFORE_DATE_FILE" >> /usr/bin/updatedate
227
-  echo "    echo \"$DATE_AFTER\" > $BEFORE_FULLDATE_FILE" >> /usr/bin/updatedate
228
-  echo "    exit 0" >> /usr/bin/updatedate
229
-  echo "else" >> /usr/bin/updatedate
230
-  echo "    exit 1" >> /usr/bin/updatedate
231
-  echo "fi" >> /usr/bin/updatedate
175
+  echo '# File which contains the previous date as a number' >> /usr/bin/updatedate
176
+  echo 'BEFORE_DATE_FILE=/var/log/tlsdateprevious.txt' >> /usr/bin/updatedate
177
+  echo '# File which contains the previous date as a string' >> /usr/bin/updatedate
178
+  echo 'BEFORE_FULLDATE_FILE=/var/log/tlsdate.txt' >> /usr/bin/updatedate
179
+  echo 'DATE_BEFORE=$(date)' >> /usr/bin/updatedate
180
+  echo 'BEFORE=$(date -d "$Y-$M-$D" "+%s")' >> /usr/bin/updatedate
181
+  echo 'BACKWARDS_BETWEEN=0' >> /usr/bin/updatedate
182
+  echo '# If the date was previously set' >> /usr/bin/updatedate
183
+  echo 'if [[ -f \"$BEFORE_DATE_FILE\" ]]; then' >> /usr/bin/updatedate
184
+  echo '    BEFORE_FILE=$(cat $BEFORE_DATE_FILE)' >> /usr/bin/updatedate
185
+  echo '    BEFORE_FULLDATE=$(cat $BEFORE_FULLDATE_FILE)' >> /usr/bin/updatedate
186
+  echo '    # is the date going backwards?' >> /usr/bin/updatedate
187
+  echo '    if (( BEFORE_FILE > BEFORE )); then' >> /usr/bin/updatedate
188
+  echo '        echo -n \"Date went backwards between tlsdate updates. \" >> $LOGFILE' >> /usr/bin/updatedate
189
+  echo '        echo -n \"$BEFORE_FILE > $BEFORE, \" >> $LOGFILE' >> /usr/bin/updatedate
190
+  echo '        echo \"$BEFORE_FULLDATE > $DATE_BEFORE\" >> $LOGFILE' >> /usr/bin/updatedate
191
+  echo '        # Send a warning email' > /usr/bin/updatedate
192
+  echo '        echo $(tail $LOGFILE -n 2) | mail -s \"tlsdate anomaly\" $EMAIL' >> /usr/bin/updatedate
193
+  echo '        # Try another time source' >> /usr/bin/updatedate
194
+  echo '        TIMESOURCE=$TIMESOURCE2' >> /usr/bin/updatedate
195
+  echo '        # try running without any parameters' >> /usr/bin/updatedate
196
+  echo '        tlsdate >> $LOGFILE' >> /usr/bin/updatedate
197
+  echo '        BACKWARDS_BETWEEN=1' >> /usr/bin/updatedate
198
+  echo '    fi' >> /usr/bin/updatedate
199
+  echo 'fi' >> /usr/bin/updatedate
200
+  echo '# Set the date' >> /usr/bin/updatedate
201
+  echo '/usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE -p 443 >> $LOGFILE' >> /usr/bin/updatedate
202
+  echo 'DATE_AFTER=$(date)' >> /usr/bin/updatedate
203
+  echo 'AFTER=$(date -d "$Y-$M-$D" '+%s')' >> /usr/bin/updatedate
204
+  echo '# After setting the date did it go backwards?' >> /usr/bin/updatedate
205
+  echo 'if (( AFTER < BEFORE )); then' >> /usr/bin/updatedate
206
+  echo '    echo \"Incorrect date: $DATE_BEFORE -> $DATE_AFTER\" >> $LOGFILE' >> /usr/bin/updatedate
207
+  echo '    # Send a warning email' >> /usr/bin/updatedate
208
+  echo '    echo $(tail $LOGFILE -n 2) | mail -s \"tlsdate anomaly\" $EMAIL' >> /usr/bin/updatedate
209
+  echo '    # Try resetting the date from another time source' >> /usr/bin/updatedate
210
+  echo '    /usr/bin/timeout $TIMEOUT tlsdate -l -t -H $TIMESOURCE2 -p 443 >> $LOGFILE' >> /usr/bin/updatedate
211
+  echo '    DATE_AFTER=$(date)' >> /usr/bin/updatedate
212
+  echo '    AFTER=$(date -d "$Y-$M-$D" "+%s")' >> /usr/bin/updatedate
213
+  echo 'else' >> /usr/bin/updatedate
214
+  echo '    echo -n $TIMESOURCE >> $LOGFILE' >> /usr/bin/updatedate
215
+  echo '    if [[ -f \"$BEFORE_DATE_FILE\" ]]; then' >> /usr/bin/updatedate
216
+  echo '        echo -n " " >> $LOGFILE' >> /usr/bin/updatedate
217
+  echo '        echo -n $BEFORE_FILE >> $LOGFILE' >> /usr/bin/updatedate
218
+  echo '    fi' >> /usr/bin/updatedate
219
+  echo '    echo -n \" \" >> $LOGFILE' >> /usr/bin/updatedate
220
+  echo '    echo -n $BEFORE >> $LOGFILE' >> /usr/bin/updatedate
221
+  echo '    echo -n \" \" >> $LOGFILE' >> /usr/bin/updatedate
222
+  echo '    echo -n $AFTER >> $LOGFILE' >> /usr/bin/updatedate
223
+  echo '    echo -n \" \" >> $LOGFILE' >> /usr/bin/updatedate
224
+  echo '    echo $DATE_AFTER >> $LOGFILE' >> /usr/bin/updatedate
225
+  echo 'fi' >> /usr/bin/updatedate
226
+  echo '# Log the last date' >> /usr/bin/updatedate
227
+  echo 'if [ BACKWARDS_BETWEEN == 0 ]; then' >> /usr/bin/updatedate
228
+  echo '    echo "$AFTER" > $BEFORE_DATE_FILE' >> /usr/bin/updatedate
229
+  echo '    echo "$DATE_AFTER" > $BEFORE_FULLDATE_FILE' >> /usr/bin/updatedate
230
+  echo '    exit 0' >> /usr/bin/updatedate
231
+  echo 'else' >> /usr/bin/updatedate
232
+  echo '    exit 1' >> /usr/bin/updatedate
233
+  echo 'fi' >> /usr/bin/updatedate
232 234
   chmod +x /usr/bin/updatedate
233
-  echo "*/15           * *   *   *   root /usr/bin/updatedate" >> /etc/crontab
235
+  echo '*/15           * *   *   *   root /usr/bin/updatedate' >> /etc/crontab
234 236
   service cron restart
235 237
 
236
-  echo "#!/bin/bash" > /etc/init.d/tlsdate
237
-  echo "# /etc/init.d/tlsdate" >> /etc/init.d/tlsdate
238
-  echo "### BEGIN INIT INFO" >> /etc/init.d/tlsdate
239
-  echo "# Provides:          tlsdate" >> /etc/init.d/tlsdate
240
-  echo "# Required-Start:    $remote_fs $syslog" >> /etc/init.d/tlsdate
241
-  echo "# Required-Stop:     $remote_fs $syslog" >> /etc/init.d/tlsdate
242
-  echo "# Default-Start:     2 3 4 5" >> /etc/init.d/tlsdate
243
-  echo "# Default-Stop:      0 1 6" >> /etc/init.d/tlsdate
244
-  echo "# Short-Description: Initially calls tlsdate with the timewarp option" >> /etc/init.d/tlsdate
245
-  echo "# Description:       Initially calls tlsdate with the timewarp option" >> /etc/init.d/tlsdate
246
-  echo "### END INIT INFO" >> /etc/init.d/tlsdate
247
-  echo "# Author: Bob Mottram <bob@robotics.uk.to>" >> /etc/init.d/tlsdate
248
-  echo "PATH='/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin'" >> /etc/init.d/tlsdate
249
-  echo "LOGFILE=\"/var/log/tlsdate.log\"" >> /etc/init.d/tlsdate
250
-  echo "TLSDATECOMMAND=\"tlsdate --timewarp -l -H www.ptb.de -p 443 >> $LOGFILE\"" >> /etc/init.d/tlsdate
251
-  echo "#Start-Stop here" >> /etc/init.d/tlsdate
252
-  echo "case "$1" in" >> /etc/init.d/tlsdate
253
-  echo "  start)" >> /etc/init.d/tlsdate
254
-  echo "    echo "tlsdate started"" >> /etc/init.d/tlsdate
255
-  echo "    $TLSDATECOMMAND" >> /etc/init.d/tlsdate
256
-  echo "    ;;" >> /etc/init.d/tlsdate
257
-  echo "  stop)" >> /etc/init.d/tlsdate
258
-  echo "    echo "tlsdate stopped"" >> /etc/init.d/tlsdate
259
-  echo "    ;;" >> /etc/init.d/tlsdate
260
-  echo "  restart)" >> /etc/init.d/tlsdate
261
-  echo "    echo "tlsdate restarted"" >> /etc/init.d/tlsdate
262
-  echo "    $TLSDATECOMMAND" >> /etc/init.d/tlsdate
263
-  echo "    ;;" >> /etc/init.d/tlsdate
264
-  echo "    *)" >> /etc/init.d/tlsdate
265
-  echo "  echo "Usage: $0 {start|stop|restart}"" >> /etc/init.d/tlsdate
266
-  echo "  exit 1" >> /etc/init.d/tlsdate
267
-  echo "  ;;" >> /etc/init.d/tlsdate
268
-  echo "esac" >> /etc/init.d/tlsdate
269
-  echo "exit 0" >> /etc/init.d/tlsdate
238
+  echo '#!/bin/bash' > /etc/init.d/tlsdate
239
+  echo '# /etc/init.d/tlsdate' >> /etc/init.d/tlsdate
240
+  echo '### BEGIN INIT INFO' >> /etc/init.d/tlsdate
241
+  echo '# Provides:          tlsdate' >> /etc/init.d/tlsdate
242
+  echo '# Required-Start:    $remote_fs $syslog' >> /etc/init.d/tlsdate
243
+  echo '# Required-Stop:     $remote_fs $syslog' >> /etc/init.d/tlsdate
244
+  echo '# Default-Start:     2 3 4 5' >> /etc/init.d/tlsdate
245
+  echo '# Default-Stop:      0 1 6' >> /etc/init.d/tlsdate
246
+  echo '# Short-Description: Initially calls tlsdate with the timewarp option' >> /etc/init.d/tlsdate
247
+  echo '# Description:       Initially calls tlsdate with the timewarp option' >> /etc/init.d/tlsdate
248
+  echo '### END INIT INFO' >> /etc/init.d/tlsdate
249
+  echo '# Author: Bob Mottram <bob@robotics.uk.to>' >> /etc/init.d/tlsdate
250
+  echo 'PATH="/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/usr/sbin:/bin"' >> /etc/init.d/tlsdate
251
+  echo 'LOGFILE="/var/log/tlsdate.log"' >> /etc/init.d/tlsdate
252
+  echo 'TLSDATECOMMAND="tlsdate --timewarp -l -H www.ptb.de -p 443 >> $LOGFILE"' >> /etc/init.d/tlsdate
253
+  echo '#Start-Stop here' >> /etc/init.d/tlsdate
254
+  echo 'case "$1" in' >> /etc/init.d/tlsdate
255
+  echo '  start)' >> /etc/init.d/tlsdate
256
+  echo '    echo "tlsdate started"' >> /etc/init.d/tlsdate
257
+  echo '    $TLSDATECOMMAND' >> /etc/init.d/tlsdate
258
+  echo '    ;;' >> /etc/init.d/tlsdate
259
+  echo '  stop)' >> /etc/init.d/tlsdate
260
+  echo '    echo "tlsdate stopped"' >> /etc/init.d/tlsdate
261
+  echo '    ;;' >> /etc/init.d/tlsdate
262
+  echo '  restart)' >> /etc/init.d/tlsdate
263
+  echo '    echo "tlsdate restarted"' >> /etc/init.d/tlsdate
264
+  echo '    $TLSDATECOMMAND' >> /etc/init.d/tlsdate
265
+  echo '    ;;' >> /etc/init.d/tlsdate
266
+  echo '    *)' >> /etc/init.d/tlsdate
267
+  echo '  echo "Usage: $0 {start|stop|restart}"' >> /etc/init.d/tlsdate
268
+  echo '  exit 1' >> /etc/init.d/tlsdate
269
+  echo '  ;;' >> /etc/init.d/tlsdate
270
+  echo 'esac' >> /etc/init.d/tlsdate
271
+  echo 'exit 0' >> /etc/init.d/tlsdate
270 272
   chmod +x /etc/init.d/tlsdate
271 273
   update-rc.d tlsdate defaults
272 274
 }
@@ -317,53 +319,53 @@ function configure_internet_protocol {
317 319
   sed -i "s/#net.ipv4.conf.all.rp_filter=1/net.ipv4.conf.all.rp_filter=1/g" /etc/sysctl.conf
318 320
   sed -i "s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=0/g" /etc/sysctl.conf
319 321
   sed -i "s/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=0/g" /etc/sysctl.conf
320
-  echo "# ignore pings" >> /etc/sysctl.conf
321
-  echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
322
-  echo "net.ipv6.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf
323
-  echo "# disable ipv6" >> /etc/sysctl.conf
324
-  echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
325
-  echo "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.conf
326
-  echo "net.ipv4.tcp_syn_retries = 1" >> /etc/sysctl.conf
327
-  echo "# keepalive" >> /etc/sysctl.conf
328
-  echo "net.ipv4.tcp_keepalive_probes = 9" >> /etc/sysctl.conf
329
-  echo "net.ipv4.tcp_keepalive_intvl = 75" >> /etc/sysctl.conf
330
-  echo "net.ipv4.tcp_keepalive_time = 7200" >> /etc/sysctl.conf
322
+  echo '# ignore pings' >> /etc/sysctl.conf
323
+  echo 'net.ipv4.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
324
+  echo 'net.ipv6.icmp_echo_ignore_all = 1' >> /etc/sysctl.conf
325
+  echo '# disable ipv6' >> /etc/sysctl.conf
326
+  echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf
327
+  echo 'net.ipv4.tcp_synack_retries = 2' >> /etc/sysctl.conf
328
+  echo 'net.ipv4.tcp_syn_retries = 1' >> /etc/sysctl.conf
329
+  echo '# keepalive' >> /etc/sysctl.conf
330
+  echo 'net.ipv4.tcp_keepalive_probes = 9' >> /etc/sysctl.conf
331
+  echo 'net.ipv4.tcp_keepalive_intvl = 75' >> /etc/sysctl.conf
332
+  echo 'net.ipv4.tcp_keepalive_time = 7200' >> /etc/sysctl.conf
331 333
 }
332 334
 
333 335
 function script_to_make_self_signed_certificates {
334
-  echo "#!/bin/bash" > /usr/bin/makecert
335
-  echo "HOSTNAME=$1" >> /usr/bin/makecert
336
-  echo "COUNTRY_CODE=\"US\"" >> /usr/bin/makecert
337
-  echo "AREA=\"Free Speech Zone\"" >> /usr/bin/makecert
338
-  echo "LOCATION=\"Freedomville\"" >> /usr/bin/makecert
339
-  echo "ORGANISATION=\"Freedombone\"" >> /usr/bin/makecert
340
-  echo "UNIT=\"Freedombone Unit\"" >> /usr/bin/makecert
341
-  echo "if ! which openssl > /dev/null ;then" >> /usr/bin/makecert
342
-  echo "    echo "$0: openssl is not installed, exiting" 1>&2" >> /usr/bin/makecert
343
-  echo "    exit 1" >> /usr/bin/makecert
344
-  echo "fi" >> /usr/bin/makecert
345
-  echo "openssl req -x509 -nodes -days 3650 -sha256 -subj \"/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME\" -newkey rsa:4096 -keyout /etc/ssl/private/$HOSTNAME.key -out /etc/ssl/certs/$HOSTNAME.crt" >> /usr/bin/makecert
346
-  echo "openssl dhparam -check -text -5 1024 -out /etc/ssl/certs/$HOSTNAME.dhparam" >> /usr/bin/makecert
347
-  echo "chmod 400 /etc/ssl/private/$HOSTNAME.key" >> /usr/bin/makecert
348
-  echo "chmod 640 /etc/ssl/certs/$HOSTNAME.crt" >> /usr/bin/makecert
349
-  echo "chmod 640 /etc/ssl/certs/$HOSTNAME.dhparam" >> /usr/bin/makecert
350
-  echo "/etc/init.d/nginx reload" >> /usr/bin/makecert
351
-  echo "# add the public certificate to a separate directory" >> /usr/bin/makecert
352
-  echo "# so that we can redistribute it easily" >> /usr/bin/makecert
353
-  echo "if [ ! -d /etc/ssl/mycerts ]; then" >> /usr/bin/makecert
354
-  echo "  mkdir /etc/ssl/mycerts" >> /usr/bin/makecert
355
-  echo "fi" >> /usr/bin/makecert
356
-  echo "cp /etc/ssl/certs/$HOSTNAME.crt /etc/ssl/mycerts" >> /usr/bin/makecert
357
-  echo "# Create a bundle of your certificates" >> /usr/bin/makecert
358
-  echo "cat /etc/ssl/mycerts/*.crt > /etc/ssl/freedombone-bundle.crt" >> /usr/bin/makecert
359
-  echo "tar -czvf /etc/ssl/freedombone-certs.tar.gz /etc/ssl/mycerts/*.crt" >> /usr/bin/makecert
336
+  echo '#!/bin/bash' > /usr/bin/makecert
337
+  echo 'HOSTNAME=$1' >> /usr/bin/makecert
338
+  echo 'COUNTRY_CODE="US"' >> /usr/bin/makecert
339
+  echo 'AREA="Free Speech Zone"' >> /usr/bin/makecert
340
+  echo 'LOCATION="Freedomville"' >> /usr/bin/makecert
341
+  echo 'ORGANISATION="Freedombone"' >> /usr/bin/makecert
342
+  echo 'UNIT="Freedombone Unit"' >> /usr/bin/makecert
343
+  echo 'if ! which openssl > /dev/null ;then' >> /usr/bin/makecert
344
+  echo '    echo "$0: openssl is not installed, exiting" 1>&2' >> /usr/bin/makecert
345
+  echo '    exit 1' >> /usr/bin/makecert
346
+  echo 'fi' >> /usr/bin/makecert
347
+  echo 'openssl req -x509 -nodes -days 3650 -sha256 -subj \"/O=$ORGANISATION/OU=$UNIT/C=$COUNTRY_CODE/ST=$AREA/L=$LOCATION/CN=$HOSTNAME\" -newkey rsa:4096 -keyout /etc/ssl/private/$HOSTNAME.key -out /etc/ssl/certs/$HOSTNAME.crt' >> /usr/bin/makecert
348
+  echo 'openssl dhparam -check -text -5 1024 -out /etc/ssl/certs/$HOSTNAME.dhparam' >> /usr/bin/makecert
349
+  echo 'chmod 400 /etc/ssl/private/$HOSTNAME.key' >> /usr/bin/makecert
350
+  echo 'chmod 640 /etc/ssl/certs/$HOSTNAME.crt' >> /usr/bin/makecert
351
+  echo 'chmod 640 /etc/ssl/certs/$HOSTNAME.dhparam' >> /usr/bin/makecert
352
+  echo '/etc/init.d/nginx reload' >> /usr/bin/makecert
353
+  echo '# add the public certificate to a separate directory' >> /usr/bin/makecert
354
+  echo '# so that we can redistribute it easily' >> /usr/bin/makecert
355
+  echo 'if [ ! -d /etc/ssl/mycerts ]; then' >> /usr/bin/makecert
356
+  echo '  mkdir /etc/ssl/mycerts' >> /usr/bin/makecert
357
+  echo 'fi' >> /usr/bin/makecert
358
+  echo 'cp /etc/ssl/certs/$HOSTNAME.crt /etc/ssl/mycerts' >> /usr/bin/makecert
359
+  echo '# Create a bundle of your certificates' >> /usr/bin/makecert
360
+  echo 'cat /etc/ssl/mycerts/*.crt > /etc/ssl/freedombone-bundle.crt' >> /usr/bin/makecert
361
+  echo 'tar -czvf /etc/ssl/freedombone-certs.tar.gz /etc/ssl/mycerts/*.crt' >> /usr/bin/makecert
360 362
   chmod +x /usr/bin/makecert
361 363
 }
362 364
 
363 365
 function configure_email {
364 366
   apt-get -y remove postfix
365 367
   apt-get -y install exim4 sasl2-bin swaks libnet-ssleay-perl procmail
366
-  echo "dc_eximconfig_configtype='internet'" > /etc/exim4/update-exim4.conf.conf
368
+  echo 'dc_eximconfig_configtype="internet"' > /etc/exim4/update-exim4.conf.conf
367 369
   echo "dc_other_hostnames='$DOMAIN_NAME'" >> /etc/exim4/update-exim4.conf.conf
368 370
   echo "dc_local_interfaces=''" >> /etc/exim4/update-exim4.conf.conf
369 371
   echo "dc_readhost=''" >> /etc/exim4/update-exim4.conf.conf
@@ -389,7 +391,7 @@ function configure_email {
389 391
   chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
390 392
 
391 393
   sed -i '/login_saslauthd_server/,/.endif/ s/# *//' /etc/exim4/exim4.conf.template
392
-  sed -i '/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME = $DOMAIN_NAME\nMAIN_TLS_ENABLE = true' /etc/exim4/exim4.conf.template
394
+  sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME = $DOMAIN_NAME\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
393 395
   sed -i "s|SMTPLISTENEROPTIONS=''|SMTPLISTENEROPTIONS='-oX 465:25:587 -oP /var/run/exim4/exim.pid'|g" /etc/default/exim4
394 396
   sed -i '/03_exim4-config_tlsoptions/a\tls_on_connect_ports=465' /etc/exim4/exim4.conf.template
395 397
 
@@ -443,72 +445,72 @@ function spam_filtering {
443 445
   sed -i 's/local_parts = postmaster/local_parts = postmaster:abuse/g' /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
444 446
   sed -i '/domains = +local_domains : +relay_to_domains/a\    set acl_m0 = rfcnames' /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
445 447
   sed -i 's/accept/accept condition = ${if eq{$acl_m0}{rfcnames} {1}{0}}/g' /etc/exim4/conf.d/acl/40_exim4-config_check_data
446
-  echo "warn  message = X-Spam-Score: $spam_score ($spam_bar)" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
447
-  echo "      spam = nobody:true" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
448
-  echo "warn  message = X-Spam-Flag: YES" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
449
-  echo "      spam = nobody" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
450
-  echo "warn  message = X-Spam-Report: $spam_report" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
451
-  echo "      spam = nobody" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
452
-  echo "# reject spam at high scores (> 12)" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
453
-  echo "deny  message = This message scored $spam_score spam points." >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
454
-  echo "      spam = nobody:true" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
455
-  echo "      condition = ${if >{$spam_score_int}{120}{1}{0}}" >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
448
+  echo 'warn  message = X-Spam-Score: $spam_score ($spam_bar)' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
449
+  echo '      spam = nobody:true' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
450
+  echo 'warn  message = X-Spam-Flag: YES' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
451
+  echo '      spam = nobody' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
452
+  echo 'warn  message = X-Spam-Report: $spam_report' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
453
+  echo '      spam = nobody' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
454
+  echo '# reject spam at high scores (> 12)' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
455
+  echo 'deny  message = This message scored $spam_score spam points.' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
456
+  echo '      spam = nobody:true' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
457
+  echo '      condition = ${if >{$spam_score_int}{120}{1}{0}}' >> /etc/exim4/conf.d/acl/40_exim4-config_check_data
456 458
   # procmail configuration
457
-  echo "MAILDIR=$HOME/Maildir" > /home/$MY_USERNAME/.procmailrc
458
-  echo "DEFAULT=$MAILDIR/" >> /home/$MY_USERNAME/.procmailrc
459
-  echo "LOGFILE=$HOME/log/procmail.log" >> /home/$MY_USERNAME/.procmailrc
460
-  echo "LOGABSTRACT=all" >> /home/$MY_USERNAME/.procmailrc
461
-  echo "# get spamassassin to check emails" >> /home/$MY_USERNAME/.procmailrc
462
-  echo ":0fw: .spamassassin.lock" >> /home/$MY_USERNAME/.procmailrc
463
-  echo "  * < 256000" >> /home/$MY_USERNAME/.procmailrc
464
-  echo "| spamc" >> /home/$MY_USERNAME/.procmailrc
465
-  echo "# strong spam are discarded" >> /home/$MY_USERNAME/.procmailrc
466
-  echo ":0" >> /home/$MY_USERNAME/.procmailrc
467
-  echo "  * ^X-Spam-Level: \*\*\*\*\*\*" >> /home/$MY_USERNAME/.procmailrc
468
-  echo "/dev/null" >> /home/$MY_USERNAME/.procmailrc
469
-  echo "# weak spam are kept just in case - clear this out every now and then" >> /home/$MY_USERNAME/.procmailrc
470
-  echo ":0" >> /home/$MY_USERNAME/.procmailrc
471
-  echo "  * ^X-Spam-Level: \*\*\*\*\*" >> /home/$MY_USERNAME/.procmailrc
472
-  echo ".0-spam/" >> /home/$MY_USERNAME/.procmailrc
473
-  echo "# otherwise, marginal spam goes here for revision" >> /home/$MY_USERNAME/.procmailrc
474
-  echo ":0" >> /home/$MY_USERNAME/.procmailrc
475
-  echo "  * ^X-Spam-Level: \*\*" >> /home/$MY_USERNAME/.procmailrc
476
-  echo ".spam/" >> /home/$MY_USERNAME/.procmailrc
459
+  echo 'MAILDIR=$HOME/Maildir' > /home/$MY_USERNAME/.procmailrc
460
+  echo 'DEFAULT=$MAILDIR/' >> /home/$MY_USERNAME/.procmailrc
461
+  echo 'LOGFILE=$HOME/log/procmail.log' >> /home/$MY_USERNAME/.procmailrc
462
+  echo 'LOGABSTRACT=all' >> /home/$MY_USERNAME/.procmailrc
463
+  echo '# get spamassassin to check emails' >> /home/$MY_USERNAME/.procmailrc
464
+  echo ':0fw: .spamassassin.lock' >> /home/$MY_USERNAME/.procmailrc
465
+  echo '  * < 256000' >> /home/$MY_USERNAME/.procmailrc
466
+  echo '| spamc' >> /home/$MY_USERNAME/.procmailrc
467
+  echo '# strong spam are discarded' >> /home/$MY_USERNAME/.procmailrc
468
+  echo ':0' >> /home/$MY_USERNAME/.procmailrc
469
+  echo '  * ^X-Spam-Level: \*\*\*\*\*\*' >> /home/$MY_USERNAME/.procmailrc
470
+  echo '/dev/null' >> /home/$MY_USERNAME/.procmailrc
471
+  echo '# weak spam are kept just in case - clear this out every now and then' >> /home/$MY_USERNAME/.procmailrc
472
+  echo ':0' >> /home/$MY_USERNAME/.procmailrc
473
+  echo '  * ^X-Spam-Level: \*\*\*\*\*' >> /home/$MY_USERNAME/.procmailrc
474
+  echo '.0-spam/' >> /home/$MY_USERNAME/.procmailrc
475
+  echo '# otherwise, marginal spam goes here for revision' >> /home/$MY_USERNAME/.procmailrc
476
+  echo ':0' >> /home/$MY_USERNAME/.procmailrc
477
+  echo '  * ^X-Spam-Level: \*\*' >> /home/$MY_USERNAME/.procmailrc
478
+  echo '.spam/' >> /home/$MY_USERNAME/.procmailrc
477 479
   chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
478 480
   # filtering scripts
479
-  echo "#!/bin/bash" > /usr/bin/filterspam
480
-  echo "USERNAME=$1" >> /usr/bin/filterspam
481
-  echo "MAILDIR=/home/$USERNAME/Maildir/.learn-spam" >> /usr/bin/filterspam
482
-  echo "if [ ! -d \"$MAILDIR\" ]; then" >> /usr/bin/filterspam
483
-  echo "    exit" >> /usr/bin/filterspam
484
-  echo "fi" >> /usr/bin/filterspam
485
-  echo "for f in `ls $MAILDIR/cur`" >> /usr/bin/filterspam
486
-  echo "do" >> /usr/bin/filterspam
487
-  echo "    spamc -L spam < \"$MAILDIR/cur/$f\" > /dev/null" >> /usr/bin/filterspam
488
-  echo "    rm \"$MAILDIR/cur/$f\"" >> /usr/bin/filterspam
489
-  echo "done" >> /usr/bin/filterspam
490
-  echo "for f in `ls $MAILDIR/new`" >> /usr/bin/filterspam
491
-  echo "do" >> /usr/bin/filterspam
492
-  echo "    spamc -L spam < \"$MAILDIR/new/$f\" > /dev/null" >> /usr/bin/filterspam
493
-  echo "    rm \"$MAILDIR/new/$f\"" >> /usr/bin/filterspam
494
-  echo "done" >> /usr/bin/filterspam
495
-
496
-  echo "#!/bin/bash" > /usr/bin/filterham
497
-  echo "USERNAME=$1" >> /usr/bin/filterham
498
-  echo "MAILDIR=/home/$USERNAME/Maildir/.learn-ham" >> /usr/bin/filterham
499
-  echo "if [ ! -d \"$MAILDIR\" ]; then" >> /usr/bin/filterham
500
-  echo "    exit" >> /usr/bin/filterham
501
-  echo "fi" >> /usr/bin/filterham
502
-  echo "for f in `ls $MAILDIR/cur`" >> /usr/bin/filterham
503
-  echo "do" >> /usr/bin/filterham
504
-  echo "    spamc -L ham < \"$MAILDIR/cur/$f\" > /dev/null" >> /usr/bin/filterham
505
-  echo "    rm \"$MAILDIR/cur/$f\"" >> /usr/bin/filterham
506
-  echo "done" >> /usr/bin/filterham
507
-  echo "for f in `ls $MAILDIR/new`" >> /usr/bin/filterham
508
-  echo "do" >> /usr/bin/filterham
509
-  echo "    spamc -L ham < \"$MAILDIR/new/$f\" > /dev/null" >> /usr/bin/filterham
510
-  echo "    rm \"$MAILDIR/new/$f\"" >> /usr/bin/filterham
511
-  echo "done" >> /usr/bin/filterham
481
+  echo '#!/bin/bash' > /usr/bin/filterspam
482
+  echo 'USERNAME=$1' >> /usr/bin/filterspam
483
+  echo 'MAILDIR=/home/$USERNAME/Maildir/.learn-spam' >> /usr/bin/filterspam
484
+  echo 'if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterspam
485
+  echo '    exit' >> /usr/bin/filterspam
486
+  echo 'fi' >> /usr/bin/filterspam
487
+  echo 'for f in `ls $MAILDIR/cur`' >> /usr/bin/filterspam
488
+  echo 'do' >> /usr/bin/filterspam
489
+  echo '    spamc -L spam < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterspam
490
+  echo '    rm \"$MAILDIR/cur/$f\"' >> /usr/bin/filterspam
491
+  echo 'done' >> /usr/bin/filterspam
492
+  echo 'for f in `ls $MAILDIR/new`' >> /usr/bin/filterspam
493
+  echo 'do' >> /usr/bin/filterspam
494
+  echo '    spamc -L spam < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterspam
495
+  echo '    rm "$MAILDIR/new/$f"' >> /usr/bin/filterspam
496
+  echo 'done' >> /usr/bin/filterspam
497
+
498
+  echo '#!/bin/bash' > /usr/bin/filterham
499
+  echo 'USERNAME=$1' >> /usr/bin/filterham
500
+  echo 'MAILDIR=/home/$USERNAME/Maildir/.learn-ham' >> /usr/bin/filterham
501
+  echo 'if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterham
502
+  echo '    exit' >> /usr/bin/filterham
503
+  echo 'fi' >> /usr/bin/filterham
504
+  echo 'for f in `ls $MAILDIR/cur`' >> /usr/bin/filterham
505
+  echo 'do' >> /usr/bin/filterham
506
+  echo '    spamc -L ham < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterham
507
+  echo '    rm "$MAILDIR/cur/$f"' >> /usr/bin/filterham
508
+  echo 'done' >> /usr/bin/filterham
509
+  echo 'for f in `ls $MAILDIR/new`' >> /usr/bin/filterham
510
+  echo 'do' >> /usr/bin/filterham
511
+  echo '    spamc -L ham < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterham
512
+  echo '    rm "$MAILDIR/new/$f"' >> /usr/bin/filterham
513
+  echo 'done' >> /usr/bin/filterham
512 514
 
513 515
   echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterspam $MY_USERNAME" >> /etc/crontab
514 516
   echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterham $MY_USERNAME" >> /etc/crontab
@@ -555,86 +557,86 @@ function email_client {
555 557
   chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.mutt
556 558
 
557 559
 
558
-  echo "set mbox_type=Maildir" >> /etc/Muttrc
559
-  echo "set folder=\"~/Maildir\"" >> /etc/Muttrc
560
-  echo "set mask=\"!^\\.[^.]\"" >> /etc/Muttrc
561
-  echo "set mbox=\"~/Maildir\"" >> /etc/Muttrc
562
-  echo "set record=\"+Sent\"" >> /etc/Muttrc
563
-  echo "set postponed=\"+Drafts\"" >> /etc/Muttrc
564
-  echo "set trash=\"+Trash\"" >> /etc/Muttrc
565
-  echo "set spoolfile=\"~/Maildir\"" >> /etc/Muttrc
566
-  echo "auto_view text/x-vcard text/html text/enriched" >> /etc/Muttrc
567
-  echo "set editor=\"emacs\"" >> /etc/Muttrc
568
-  echo "set header_cache=\"+.cache\"" >> /etc/Muttrc
569
-  echo "" >> /etc/Muttrc
570
-  echo "macro index S \"<tag-prefix><save-message>=.learn-spam<enter>\" \"move to learn-spam\"" >> /etc/Muttrc
571
-  echo "macro pager S \"<save-message>=.learn-spam<enter>\" \"move to learn-spam\"" >> /etc/Muttrc
572
-  echo "macro index H \"<tag-prefix><copy-message>=.learn-ham<enter>\" \"copy to learn-ham\"" >> /etc/Muttrc
573
-  echo "macro pager H \"<copy-message>=.learn-ham<enter>\" \"copy to learn-ham\"" >> /etc/Muttrc
574
-  echo "" >> /etc/Muttrc
575
-  echo "# set up the sidebar" >> /etc/Muttrc
576
-  echo "set sidebar_width=12" >> /etc/Muttrc
577
-  echo "set sidebar_visible=yes" >> /etc/Muttrc
560
+  echo 'set mbox_type=Maildir' >> /etc/Muttrc
561
+  echo 'set folder="~/Maildir"' >> /etc/Muttrc
562
+  echo 'set mask="!^\\.[^.]"' >> /etc/Muttrc
563
+  echo 'set mbox="~/Maildir"' >> /etc/Muttrc
564
+  echo 'set record="+Sent"' >> /etc/Muttrc
565
+  echo 'set postponed="+Drafts"' >> /etc/Muttrc
566
+  echo 'set trash="+Trash"' >> /etc/Muttrc
567
+  echo 'set spoolfile="~/Maildir"' >> /etc/Muttrc
568
+  echo 'auto_view text/x-vcard text/html text/enriched' >> /etc/Muttrc
569
+  echo 'set editor="emacs"' >> /etc/Muttrc
570
+  echo 'set header_cache="+.cache"' >> /etc/Muttrc
571
+  echo '' >> /etc/Muttrc
572
+  echo 'macro index S \"<tag-prefix><save-message>=.learn-spam<enter>\" \"move to learn-spam\"' >> /etc/Muttrc
573
+  echo 'macro pager S \"<save-message>=.learn-spam<enter>\" \"move to learn-spam\"' >> /etc/Muttrc
574
+  echo 'macro index H \"<tag-prefix><copy-message>=.learn-ham<enter>\" \"copy to learn-ham\"' >> /etc/Muttrc
575
+  echo 'macro pager H \"<copy-message>=.learn-ham<enter>\" \"copy to learn-ham\"' >> /etc/Muttrc
576
+  echo '' >> /etc/Muttrc
577
+  echo '# set up the sidebar' >> /etc/Muttrc
578
+  echo 'set sidebar_width=12' >> /etc/Muttrc
579
+  echo 'set sidebar_visible=yes' >> /etc/Muttrc
578 580
   echo "set sidebar_delim='|'" >> /etc/Muttrc
579
-  echo "set sidebar_sort=yes" >> /etc/Muttrc
580
-  echo "" >> /etc/Muttrc
581
-  echo "set rfc2047_parameters" >> /etc/Muttrc
582
-  echo "" >> /etc/Muttrc
583
-  echo "# Show inbox and sent items" >> /etc/Muttrc
584
-  echo "mailboxes = =Sent" >> /etc/Muttrc
585
-  echo "" >> /etc/Muttrc
586
-  echo "# Alter these colours as needed for maximum bling" >> /etc/Muttrc
587
-  echo "color sidebar_new yellow default" >> /etc/Muttrc
588
-  echo "color normal white default" >> /etc/Muttrc
589
-  echo "color hdrdefault brightcyan default" >> /etc/Muttrc
590
-  echo "color signature green default" >> /etc/Muttrc
591
-  echo "color attachment brightyellow default" >> /etc/Muttrc
592
-  echo "color quoted green default" >> /etc/Muttrc
593
-  echo "color quoted1 white default" >> /etc/Muttrc
594
-  echo "color tilde blue default" >> /etc/Muttrc
595
-  echo "" >> /etc/Muttrc
596
-  echo "# ctrl-n, ctrl-p to select next, prev folder" >> /etc/Muttrc
597
-  echo "# ctrl-o to open selected folder" >> /etc/Muttrc
598
-  echo "bind index \Cp sidebar-prev" >> /etc/Muttrc
599
-  echo "bind index \Cn sidebar-next" >> /etc/Muttrc
600
-  echo "bind index \Co sidebar-open" >> /etc/Muttrc
601
-  echo "bind pager \Cp sidebar-prev" >> /etc/Muttrc
602
-  echo "bind pager \Cn sidebar-next" >> /etc/Muttrc
603
-  echo "bind pager \Co sidebar-open" >> /etc/Muttrc
604
-  echo "" >> /etc/Muttrc
605
-  echo "# ctrl-b toggles sidebar visibility" >> /etc/Muttrc
581
+  echo 'set sidebar_sort=yes' >> /etc/Muttrc
582
+  echo '' >> /etc/Muttrc
583
+  echo 'set rfc2047_parameters' >> /etc/Muttrc
584
+  echo '' >> /etc/Muttrc
585
+  echo '# Show inbox and sent items' >> /etc/Muttrc
586
+  echo 'mailboxes = =Sent' >> /etc/Muttrc
587
+  echo '' >> /etc/Muttrc
588
+  echo '# Alter these colours as needed for maximum bling' >> /etc/Muttrc
589
+  echo 'color sidebar_new yellow default' >> /etc/Muttrc
590
+  echo 'color normal white default' >> /etc/Muttrc
591
+  echo 'color hdrdefault brightcyan default' >> /etc/Muttrc
592
+  echo 'color signature green default' >> /etc/Muttrc
593
+  echo 'color attachment brightyellow default' >> /etc/Muttrc
594
+  echo 'color quoted green default' >> /etc/Muttrc
595
+  echo 'color quoted1 white default' >> /etc/Muttrc
596
+  echo 'color tilde blue default' >> /etc/Muttrc
597
+  echo '' >> /etc/Muttrc
598
+  echo '# ctrl-n, ctrl-p to select next, prev folder' >> /etc/Muttrc
599
+  echo '# ctrl-o to open selected folder' >> /etc/Muttrc
600
+  echo 'bind index \Cp sidebar-prev' >> /etc/Muttrc
601
+  echo 'bind index \Cn sidebar-next' >> /etc/Muttrc
602
+  echo 'bind index \Co sidebar-open' >> /etc/Muttrc
603
+  echo 'bind pager \Cp sidebar-prev' >> /etc/Muttrc
604
+  echo 'bind pager \Cn sidebar-next' >> /etc/Muttrc
605
+  echo 'bind pager \Co sidebar-open' >> /etc/Muttrc
606
+  echo '' >> /etc/Muttrc
607
+  echo '# ctrl-b toggles sidebar visibility' >> /etc/Muttrc
606 608
   echo "macro index,pager \Cb '<enter-command>toggle sidebar_visible<enter><redraw-screen>' \"toggle sidebar\"" >> /etc/Muttrc
607
-  echo "" >> /etc/Muttrc
608
-  echo "# esc-m Mark new messages as read" >> /etc/Muttrc
609
+  echo '' >> /etc/Muttrc
610
+  echo '# esc-m Mark new messages as read' >> /etc/Muttrc
609 611
   echo "macro index <esc>m \"T~N<enter>;WNT~O<enter>;WO\CT~T<enter>\" \"mark all messages read\"" >> /etc/Muttrc
610
-  echo "" >> /etc/Muttrc
611
-  echo "# Collapsing threads" >> /etc/Muttrc
612
+  echo '' >> /etc/Muttrc
613
+  echo '# Collapsing threads' >> /etc/Muttrc
612 614
   echo "macro index [ \"<collapse-thread>\" \"collapse/uncollapse thread\"" >> /etc/Muttrc
613 615
   echo "macro index ] \"<collapse-all>\"    \"collapse/uncollapse all threads\"" >> /etc/Muttrc
614
-  echo "" >> /etc/Muttrc
615
-  echo "# threads containing new messages" >> /etc/Muttrc
616
+  echo '' >> /etc/Muttrc
617
+  echo '# threads containing new messages' >> /etc/Muttrc
616 618
   echo "uncolor index \"~(~N)\"" >> /etc/Muttrc
617 619
   echo "color index brightblue default \"~(~N)\"" >> /etc/Muttrc
618
-  echo "" >> /etc/Muttrc
619
-  echo "# new messages themselves" >> /etc/Muttrc
620
+  echo '' >> /etc/Muttrc
621
+  echo '# new messages themselves' >> /etc/Muttrc
620 622
   echo "uncolor index \"~N\"" >> /etc/Muttrc
621 623
   echo "color index brightyellow default \"~N\"" >> /etc/Muttrc
622
-  echo "" >> /etc/Muttrc
623
-  echo "# GPG/PGP integration" >> /etc/Muttrc
624
-  echo "# this set the number of seconds to keep in memory the passphrase used to encrypt/sign" >> /etc/Muttrc
625
-  echo "set pgp_timeout=60" >> /etc/Muttrc
626
-  echo "" >> /etc/Muttrc
627
-  echo "# automatically sign and encrypt with PGP/MIME" >> /etc/Muttrc
628
-  echo "set pgp_autosign         # autosign all outgoing mails" >> /etc/Muttrc
629
-  echo "set pgp_replyencrypt     # autocrypt replies to crypted" >> /etc/Muttrc
630
-  echo "set pgp_replysign        # autosign replies to signed" >> /etc/Muttrc
631
-  echo "set pgp_auto_decode=yes  # decode attachments" >> /etc/Muttrc
632
-  echo "unset smime_is_default" >> /etc/Muttrc
633
-  echo "" >> /etc/Muttrc
634
-  echo "set alias_file=~/.mutt-alias" >> /etc/Muttrc
635
-  echo "source ~/.mutt-alias" >> /etc/Muttrc
624
+  echo '' >> /etc/Muttrc
625
+  echo '# GPG/PGP integration' >> /etc/Muttrc
626
+  echo '# this set the number of seconds to keep in memory the passphrase used to encrypt/sign' >> /etc/Muttrc
627
+  echo 'set pgp_timeout=60' >> /etc/Muttrc
628
+  echo '' >> /etc/Muttrc
629
+  echo '# automatically sign and encrypt with PGP/MIME' >> /etc/Muttrc
630
+  echo 'set pgp_autosign         # autosign all outgoing mails' >> /etc/Muttrc
631
+  echo 'set pgp_replyencrypt     # autocrypt replies to crypted' >> /etc/Muttrc
632
+  echo 'set pgp_replysign        # autosign replies to signed' >> /etc/Muttrc
633
+  echo 'set pgp_auto_decode=yes  # decode attachments' >> /etc/Muttrc
634
+  echo 'unset smime_is_default' >> /etc/Muttrc
635
+  echo '' >> /etc/Muttrc
636
+  echo 'set alias_file=~/.mutt-alias' >> /etc/Muttrc
637
+  echo 'source ~/.mutt-alias' >> /etc/Muttrc
636 638
   echo "set query_command= \"abook --mutt-query '%s'\"" >> /etc/Muttrc
637
-  echo "macro index,pager A \"<pipe-message>abook --add-email-quiet<return>\" \"add the sender address to abook\"" >> /etc/Muttrc
639
+  echo 'macro index,pager A "<pipe-message>abook --add-email-quiet<return>" "add the sender address to abook"' >> /etc/Muttrc
638 640
 
639 641
   cp -f /etc/Muttrc /home/$MY_USERNAME/.muttrc
640 642
   touch /home/$MY_USERNAME/.mutt-alias
@@ -643,66 +645,66 @@ function email_client {
643 645
 }
644 646
 
645 647
 function folders_for_mailing_lists {
646
-  echo "#!/bin/bash" > /usr/bin/mailinglistrule
647
-  echo "MYUSERNAME=$1" >> /usr/bin/mailinglistrule
648
-  echo "MAILINGLIST=$2" >> /usr/bin/mailinglistrule
649
-  echo "SUBJECTTAG=$3" >> /usr/bin/mailinglistrule
650
-  echo "MUTTRC=/home/$MYUSERNAME/.muttrc" >> /usr/bin/mailinglistrule
651
-  echo "PM=/home/$MYUSERNAME/.procmailrc" >> /usr/bin/mailinglistrule
652
-  echo "LISTDIR=/home/$MYUSERNAME/Maildir/$MAILINGLIST" >> /usr/bin/mailinglistrule
653
-  echo "if [ ! -d \"$LISTDIR\" ]; then" >> /usr/bin/mailinglistrule
654
-  echo "  mkdir -m 700 $LISTDIR" >> /usr/bin/mailinglistrule
655
-  echo "  mkdir -m 700 $LISTDIR/tmp" >> /usr/bin/mailinglistrule
656
-  echo "  mkdir -m 700 $LISTDIR/new" >> /usr/bin/mailinglistrule
657
-  echo "  mkdir -m 700 $LISTDIR/cur" >> /usr/bin/mailinglistrule
658
-  echo "fi" >> /usr/bin/mailinglistrule
659
-  echo "chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR" >> /usr/bin/mailinglistrule
660
-  echo "echo \"\" >> $PM" >> /usr/bin/mailinglistrule
661
-  echo "echo \":0\" >> $PM" >> /usr/bin/mailinglistrule
662
-  echo "echo \"  * ^Subject:.*()\[$SUBJECTTAG\]\" >> $PM" >> /usr/bin/mailinglistrule
663
-  echo "echo \"$LISTDIR/new\" >> $PM" >> /usr/bin/mailinglistrule
664
-  echo "chown $MYUSERNAME:$MYUSERNAME $PM" >> /usr/bin/mailinglistrule
665
-  echo "if [ ! -f \"$MUTTRC\" ]; then" >> /usr/bin/mailinglistrule
666
-  echo "  cp /etc/Muttrc $MUTTRC" >> /usr/bin/mailinglistrule
667
-  echo "  chown $MYUSERNAME:$MYUSERNAME $MUTTRC" >> /usr/bin/mailinglistrule
668
-  echo "fi" >> /usr/bin/mailinglistrule
669
-  echo "PROCMAILLOG=/home/$MYUSERNAME/log" >> /usr/bin/mailinglistrule
670
-  echo "if [ ! -d $PROCMAILLOG ]; then" >> /usr/bin/mailinglistrule
671
-  echo "  mkdir $PROCMAILLOG" >> /usr/bin/mailinglistrule
672
-  echo "  chown -R $MYUSERNAME:$MYUSERNAME $PROCMAILLOG" >> /usr/bin/mailinglistrule
673
-  echo "fi" >> /usr/bin/mailinglistrule
648
+  echo '#!/bin/bash' > /usr/bin/mailinglistrule
649
+  echo 'MYUSERNAME=$1' >> /usr/bin/mailinglistrule
650
+  echo 'MAILINGLIST=$2' >> /usr/bin/mailinglistrule
651
+  echo 'SUBJECTTAG=$3' >> /usr/bin/mailinglistrule
652
+  echo 'MUTTRC=/home/$MYUSERNAME/.muttrc' >> /usr/bin/mailinglistrule
653
+  echo 'PM=/home/$MYUSERNAME/.procmailrc' >> /usr/bin/mailinglistrule
654
+  echo 'LISTDIR=/home/$MYUSERNAME/Maildir/$MAILINGLIST' >> /usr/bin/mailinglistrule
655
+  echo 'if [ ! -d "$LISTDIR" ]; then' >> /usr/bin/mailinglistrule
656
+  echo '  mkdir -m 700 $LISTDIR' >> /usr/bin/mailinglistrule
657
+  echo '  mkdir -m 700 $LISTDIR/tmp' >> /usr/bin/mailinglistrule
658
+  echo '  mkdir -m 700 $LISTDIR/new' >> /usr/bin/mailinglistrule
659
+  echo '  mkdir -m 700 $LISTDIR/cur' >> /usr/bin/mailinglistrule
660
+  echo 'fi' >> /usr/bin/mailinglistrule
661
+  echo 'chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR' >> /usr/bin/mailinglistrule
662
+  echo 'echo "" >> $PM' >> /usr/bin/mailinglistrule
663
+  echo 'echo ":0" >> $PM' >> /usr/bin/mailinglistrule
664
+  echo 'echo "  * ^Subject:.*()\[$SUBJECTTAG\]" >> $PM' >> /usr/bin/mailinglistrule
665
+  echo 'echo "$LISTDIR/new" >> $PM' >> /usr/bin/mailinglistrule
666
+  echo 'chown $MYUSERNAME:$MYUSERNAME $PM' >> /usr/bin/mailinglistrule
667
+  echo 'if [ ! -f "$MUTTRC" ]; then' >> /usr/bin/mailinglistrule
668
+  echo '  cp /etc/Muttrc $MUTTRC' >> /usr/bin/mailinglistrule
669
+  echo '  chown $MYUSERNAME:$MYUSERNAME $MUTTRC' >> /usr/bin/mailinglistrule
670
+  echo 'fi' >> /usr/bin/mailinglistrule
671
+  echo 'PROCMAILLOG=/home/$MYUSERNAME/log' >> /usr/bin/mailinglistrule
672
+  echo 'if [ ! -d $PROCMAILLOG ]; then' >> /usr/bin/mailinglistrule
673
+  echo '  mkdir $PROCMAILLOG' >> /usr/bin/mailinglistrule
674
+  echo '  chown -R $MYUSERNAME:$MYUSERNAME $PROCMAILLOG' >> /usr/bin/mailinglistrule
675
+  echo 'fi' >> /usr/bin/mailinglistrule
674 676
   chmod +x /usr/bin/mailinglistrule
675 677
 }
676 678
 
677 679
 function folders_for_email_addresses {
678
-  echo "#!/bin/bash" > /usr/bin/emailrule
679
-  echo "MYUSERNAME=$1" >> /usr/bin/emailrule
680
-  echo "EMAILADDRESS=$2" >> /usr/bin/emailrule
681
-  echo "MAILINGLIST=$3" >> /usr/bin/emailrule
682
-  echo "MUTTRC=/home/$MYUSERNAME/.muttrc" >> /usr/bin/emailrule
683
-  echo "PM=/home/$MYUSERNAME/.procmailrc" >> /usr/bin/emailrule
684
-  echo "LISTDIR=/home/$MYUSERNAME/Maildir/$MAILINGLIST" >> /usr/bin/emailrule
685
-  echo "if [ ! -d \"$LISTDIR\" ]; then" >> /usr/bin/emailrule
686
-  echo "  mkdir -m 700 $LISTDIR" >> /usr/bin/emailrule
687
-  echo "  mkdir -m 700 $LISTDIR/tmp" >> /usr/bin/emailrule
688
-  echo "  mkdir -m 700 $LISTDIR/new" >> /usr/bin/emailrule
689
-  echo "  mkdir -m 700 $LISTDIR/cur" >> /usr/bin/emailrule
690
-  echo "fi" >> /usr/bin/emailrule
691
-  echo "chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR" >> /usr/bin/emailrule
692
-  echo "echo \"\" >> $PM" >> /usr/bin/emailrule
693
-  echo "echo \":0\" >> $PM" >> /usr/bin/emailrule
694
-  echo "echo \"  * ^From: $EMAILADDRESS\" >> $PM" >> /usr/bin/emailrule
695
-  echo "echo \"$LISTDIR/new\" >> $PM" >> /usr/bin/emailrule
696
-  echo "chown $MYUSERNAME:$MYUSERNAME $PM" >> /usr/bin/emailrule
697
-  echo "if [ ! -f \"$MUTTRC\" ]; then" >> /usr/bin/emailrule
698
-  echo "  cp /etc/Muttrc $MUTTRC" >> /usr/bin/emailrule
699
-  echo "  chown $MYUSERNAME:$MYUSERNAME $MUTTRC" >> /usr/bin/emailrule
700
-  echo "fi" >> /usr/bin/emailrule
701
-  echo "PROCMAILLOG=/home/$MYUSERNAME/log" >> /usr/bin/emailrule
702
-  echo "if [ ! -d $PROCMAILLOG ]; then" >> /usr/bin/emailrule
703
-  echo "  mkdir $PROCMAILLOG" >> /usr/bin/emailrule
704
-  echo "  chown -R $MYUSERNAME:$MYUSERNAME $PROCMAILLOG" >> /usr/bin/emailrule
705
-  echo "fi" >> /usr/bin/emailrule
680
+  echo '#!/bin/bash' > /usr/bin/emailrule
681
+  echo 'MYUSERNAME=$1' >> /usr/bin/emailrule
682
+  echo 'EMAILADDRESS=$2' >> /usr/bin/emailrule
683
+  echo 'MAILINGLIST=$3' >> /usr/bin/emailrule
684
+  echo 'MUTTRC=/home/$MYUSERNAME/.muttrc' >> /usr/bin/emailrule
685
+  echo 'PM=/home/$MYUSERNAME/.procmailrc' >> /usr/bin/emailrule
686
+  echo 'LISTDIR=/home/$MYUSERNAME/Maildir/$MAILINGLIST' >> /usr/bin/emailrule
687
+  echo 'if [ ! -d "$LISTDIR" ]; then' >> /usr/bin/emailrule
688
+  echo '  mkdir -m 700 $LISTDIR' >> /usr/bin/emailrule
689
+  echo '  mkdir -m 700 $LISTDIR/tmp' >> /usr/bin/emailrule
690
+  echo '  mkdir -m 700 $LISTDIR/new' >> /usr/bin/emailrule
691
+  echo '  mkdir -m 700 $LISTDIR/cur' >> /usr/bin/emailrule
692
+  echo 'fi' >> /usr/bin/emailrule
693
+  echo 'chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR' >> /usr/bin/emailrule
694
+  echo 'echo "" >> $PM' >> /usr/bin/emailrule
695
+  echo 'echo ":0" >> $PM' >> /usr/bin/emailrule
696
+  echo 'echo "  * ^From: $EMAILADDRESS" >> $PM' >> /usr/bin/emailrule
697
+  echo 'echo "$LISTDIR/new" >> $PM' >> /usr/bin/emailrule
698
+  echo 'chown $MYUSERNAME:$MYUSERNAME $PM' >> /usr/bin/emailrule
699
+  echo 'if [ ! -f "$MUTTRC" ]; then' >> /usr/bin/emailrule
700
+  echo '  cp /etc/Muttrc $MUTTRC' >> /usr/bin/emailrule
701
+  echo '  chown $MYUSERNAME:$MYUSERNAME $MUTTRC' >> /usr/bin/emailrule
702
+  echo 'fi' >> /usr/bin/emailrule
703
+  echo 'PROCMAILLOG=/home/$MYUSERNAME/log' >> /usr/bin/emailrule
704
+  echo 'if [ ! -d $PROCMAILLOG ]; then' >> /usr/bin/emailrule
705
+  echo '  mkdir $PROCMAILLOG' >> /usr/bin/emailrule
706
+  echo '  chown -R $MYUSERNAME:$MYUSERNAME $PROCMAILLOG' >> /usr/bin/emailrule
707
+  echo 'fi' >> /usr/bin/emailrule
706 708
   chmod +x /usr/bin/emailrule
707 709
 }
708 710