Parcourir la source

Remove temporary files after use

Bob Mottram il y a 7 ans
Parent
révision
a56fade1d5
2 fichiers modifiés avec 187 ajouts et 60 suppressions
  1. 115
    36
      src/freedombone-controlpanel
  2. 72
    24
      src/freedombone-controlpanel-user

+ 115
- 36
src/freedombone-controlpanel Voir le fichier

@@ -13,7 +13,7 @@
13 13
 # License
14 14
 # =======
15 15
 #
16
-# Copyright (C) 2015-2017 Bob Mottram <bob@freedombone.net>
16
+# Copyright (C) 2015-2018 Bob Mottram <bob@freedombone.net>
17 17
 #
18 18
 # This program is free software: you can redistribute it and/or modify
19 19
 # it under the terms of the GNU Affero General Public License as published by
@@ -166,6 +166,7 @@ function any_key_verify {
166 166
             fi
167 167
             ;;
168 168
     esac
169
+    rm $data
169 170
 }
170 171
 
171 172
 function get_app_icann_address {
@@ -304,7 +305,7 @@ function view_or_change_passwords {
304 305
             fi
305 306
             ;;
306 307
     esac
307
-
308
+    rm $data
308 309
 }
309 310
 
310 311
 function check_for_updates {
@@ -330,19 +331,23 @@ function add_user {
330 331
            2> $data
331 332
     sel=$?
332 333
     case $sel in
333
-        1) return;;
334
-        255) return;;
334
+        1) rm $data
335
+           return;;
336
+        255) rm $data
337
+             return;;
335 338
     esac
336 339
     new_user_username=$(cat $data | sed -n 1p)
337 340
     new_user_ssh_public_key=$(cat $data | sed -n 2p)
338 341
     if [ ${#new_user_username} -lt 2 ]; then
339 342
         dialog --title $"New username" \
340 343
                --msgbox $"No username was given" 6 40
344
+        rm $data
341 345
         return
342 346
     fi
343 347
     if [[ "$new_user_username" == *" "* ]]; then
344 348
         dialog --title $"Invalid username" \
345 349
                --msgbox $"The username should not contain any spaces" 6 40
350
+        rm $data
346 351
         return
347 352
     fi
348 353
     if [ ${#new_user_ssh_public_key} -lt 20 ]; then
@@ -359,6 +364,7 @@ function add_user {
359 364
                    --msgbox $"This does not look like an ssh public key" 6 40
360 365
         fi
361 366
     fi
367
+    rm $data
362 368
 }
363 369
 
364 370
 function pad_string {
@@ -742,6 +748,7 @@ function change_ssh_public_key {
742 748
             fi
743 749
             ;;
744 750
     esac
751
+    rm $data
745 752
 }
746 753
 
747 754
 function remove_user_from_mailing_list {
@@ -848,8 +855,10 @@ function add_to_mailing_list {
848 855
            2> $data
849 856
     sel=$?
850 857
     case $sel in
851
-        1) return;;
852
-        255) return;;
858
+        1)  rm $data
859
+            return;;
860
+        255) rm $data
861
+             return;;
853 862
     esac
854 863
     LIST_NAME=$(cat $data | sed -n 1p)
855 864
     LIST_SUBJECT=$(cat $data | sed -n 2p)
@@ -867,12 +876,14 @@ function add_to_mailing_list {
867 876
     if [ ${#LIST_NAME} -lt 2 ]; then
868 877
         dialog --title $"Add mailing list" \
869 878
                --msgbox $"No mailing list name was given" 6 40
879
+        rm $data
870 880
         return
871 881
     fi
872 882
     if [ ${#LIST_SUBJECT} -lt 2 ]; then
873 883
         if [ ${#LIST_EMAIL} -lt 2 ]; then
874 884
             dialog --title $"Add mailing list" \
875 885
                    --msgbox $"No mailing list subject or address was given" 6 40
886
+            rm $data
876 887
             return
877 888
         fi
878 889
     fi
@@ -883,6 +894,7 @@ function add_to_mailing_list {
883 894
         if [[ "$LIST_EMAIL" != *"@"* || "$LIST_EMAIL" != *"."* ]]; then
884 895
             dialog --title $"Add mailing list" \
885 896
                    --msgbox $"Unrecognised email address" 6 40
897
+            rm $data
886 898
             return
887 899
         else
888 900
             ${PROJECT_NAME}-addlist -u $SELECTED_USERNAME -l "$LIST_NAME" \
@@ -892,6 +904,7 @@ function add_to_mailing_list {
892 904
 
893 905
     dialog --title $"Add mailing list" \
894 906
            --msgbox $"$LIST_NAME list was added" 6 40
907
+    rm $data
895 908
 }
896 909
 
897 910
 function email_rule {
@@ -910,8 +923,10 @@ function email_rule {
910 923
            2> $data
911 924
     sel=$?
912 925
     case $sel in
913
-        1) return;;
914
-        255) return;;
926
+        1) rm $data
927
+           return;;
928
+        255) rm $data
929
+             return;;
915 930
     esac
916 931
     RULE_EMAIL=$(cat $data | sed -n 1p)
917 932
     RULE_FOLDER=$(cat $data | sed -n 2p)
@@ -928,16 +943,19 @@ function email_rule {
928 943
     if [ ${#RULE_EMAIL} -lt 2 ]; then
929 944
         dialog --title $"Add email rule" \
930 945
                --msgbox $"No email address was given" 6 40
946
+        rm $data
931 947
         return
932 948
     fi
933 949
     if [ ${#RULE_FOLDER} -lt 2 ]; then
934 950
         dialog --title $"Add email rule" \
935 951
                --msgbox $"No folder name was given" 6 40
952
+        rm $data
936 953
         return
937 954
     fi
938 955
     if [[ "$RULE_EMAIL" != *"@"* || "$RULE_EMAIL" != *"."* ]]; then
939 956
         dialog --title $"Add email rule" \
940 957
                --msgbox $"Unrecognised email address" 6 40
958
+        rm $data
941 959
         return
942 960
     fi
943 961
 
@@ -945,6 +963,7 @@ function email_rule {
945 963
                    -g "$RULE_FOLDER" --public $RULE_PUBLIC
946 964
     dialog --title $"Add email rule" \
947 965
            --msgbox $"Email rule for $RULE_EMAIL was added" 6 40
966
+    rm $data
948 967
 }
949 968
 
950 969
 function block_unblock_email {
@@ -963,19 +982,23 @@ function block_unblock_email {
963 982
            2> $data
964 983
     sel=$?
965 984
     case $sel in
966
-        1) return;;
967
-        255) return;;
985
+        1) rm $data
986
+           return;;
987
+        255) rm $data
988
+             return;;
968 989
     esac
969 990
     BLOCK_EMAIL=$(cat $data | sed -n 1p)
970 991
     BLOCK=$(cat $data | sed -n 2p)
971 992
     if [ ${#BLOCK_EMAIL} -lt 2 ]; then
972 993
         dialog --title $"Block/Unblock an email" \
973 994
                --msgbox $"No email address was given" 6 40
995
+        rm $data
974 996
         return
975 997
     fi
976 998
     if [[ "$BLOCK_EMAIL" != *"@"* || "$BLOCK_EMAIL" != *"."* ]]; then
977 999
         dialog --title $"Block/Unblock an email" \
978 1000
                --msgbox $"Unrecognised email address" 6 40
1001
+        rm $data
979 1002
         return
980 1003
     fi
981 1004
     if [[ $BLOCK == "y"* || $BLOCK == "Y"* ]]; then
@@ -987,6 +1010,7 @@ function block_unblock_email {
987 1010
         dialog --title $"Unblock an email" \
988 1011
                --msgbox "Email from $BLOCK_EMAIL to $SELECTED_USERNAME unblocked" 6 75
989 1012
     fi
1013
+    rm $data
990 1014
 }
991 1015
 
992 1016
 function block_unblock_subject {
@@ -1005,14 +1029,17 @@ function block_unblock_subject {
1005 1029
            2> $data
1006 1030
     sel=$?
1007 1031
     case $sel in
1008
-        1) return;;
1009
-        255) return;;
1032
+        1) rm $data
1033
+           return;;
1034
+        255) rm $data
1035
+             return;;
1010 1036
     esac
1011 1037
     BLOCK_SUBJECT=$(cat $data | sed -n 1p)
1012 1038
     BLOCK=$(cat $data | sed -n 2p)
1013 1039
     if [ ${#BLOCK_SUBJECT} -lt 2 ]; then
1014 1040
         dialog --title $"Block/Unblock an email" \
1015 1041
                --msgbox $"No subject was given" 6 40
1042
+        rm $data
1016 1043
         return
1017 1044
     fi
1018 1045
     if [[ $BLOCK == "y"* || $BLOCK == "Y"* ]]; then
@@ -1024,6 +1051,7 @@ function block_unblock_subject {
1024 1051
         dialog --title $"Unblock an email" \
1025 1052
                --msgbox "Email with subject $BLOCK_SUBJECT to $SELECTED_USERNAME unblocked" 6 40
1026 1053
     fi
1054
+    rm $data
1027 1055
 }
1028 1056
 
1029 1057
 function create_keydrive_master {
@@ -1226,18 +1254,21 @@ function restore_data_remote {
1226 1254
             friend_server_domain_name=$(<$data)
1227 1255
 
1228 1256
             if [ ${#friend_server_domain_name} -lt 2 ]; then
1257
+                rm $data
1229 1258
                 return
1230 1259
             fi
1231 1260
 
1232 1261
             if [[ $friend_server_domain_name != *"."* ]]; then
1233 1262
                 dialog --title $"Remote server domain name" \
1234 1263
                        --msgbox $"Invalid domain name" 6 40
1264
+                rm $data
1235 1265
                 return
1236 1266
             fi
1237 1267
 
1238 1268
             restore_data_from_storage $friend_server_domain_name
1239 1269
             ;;
1240 1270
     esac
1271
+    rm $data
1241 1272
 }
1242 1273
 
1243 1274
 function ping_enable_disable {
@@ -1387,8 +1418,10 @@ function format_drive {
1387 1418
            --yesno $"\nPlease confirm that you wish to format drive\n\n    ${USB_DRIVE}\n\nAll current data on the drive will be lost, and you will be prompted to give a password used to encrypt the drive.\n\nDANGER: If you screw up here and format the wrong drive it's your own fault!" 16 60
1388 1419
     sel=$?
1389 1420
     case $sel in
1390
-        1) return;;
1391
-        255) return;;
1421
+        1) rm $data
1422
+           return;;
1423
+        255) rm $data
1424
+             return;;
1392 1425
     esac
1393 1426
 
1394 1427
     clear
@@ -1397,6 +1430,7 @@ function format_drive {
1397 1430
     echo ''
1398 1431
     ${PROJECT_NAME}-format $USB_DRIVE
1399 1432
     any_key
1433
+    rm $data
1400 1434
 }
1401 1435
 
1402 1436
 function remove_backups {
@@ -1409,13 +1443,16 @@ function remove_backups {
1409 1443
            --yesno $"\nPlease confirm that you wish to remove backups from this drive\n\n    ${drive}\n\nYou will not be able to recover them afterwards." 12 60
1410 1444
     sel=$?
1411 1445
     case $sel in
1412
-        1) return;;
1413
-        255) return;;
1446
+        1) rm $data
1447
+           return;;
1448
+        255) rm $data
1449
+             return;;
1414 1450
     esac
1415 1451
 
1416 1452
     clear
1417 1453
     ${PROJECT_NAME}-backup-local $USB_DRIVE remove
1418 1454
     any_key
1455
+    rm $data
1419 1456
 }
1420 1457
 
1421 1458
 function shut_down_system {
@@ -1465,6 +1502,7 @@ function change_system_name {
1465 1502
            fi
1466 1503
            ;;
1467 1504
     esac
1505
+    rm $data
1468 1506
 }
1469 1507
 
1470 1508
 function set_dynamic_IP {
@@ -1515,11 +1553,14 @@ Enter a static local IP address for this system.\n\nIt will typically be ${IPv4_
1515 1553
         0) NEW_STATIC_IP=$(<$data)
1516 1554
            if [[ "$NEW_STATIC_IP" != *"."* ]]; then
1517 1555
                set_dynamic_IP
1556
+               rm $data
1518 1557
                return
1519 1558
            fi
1520 1559
            ;;
1521
-        1) return;;
1560
+        1) rm $data
1561
+           return;;
1522 1562
     esac
1563
+    rm $data
1523 1564
 
1524 1565
     # get the gateway
1525 1566
     data=$(tempfile 2>/dev/null)
@@ -1531,10 +1572,12 @@ Enter a static local IP address for this system.\n\nIt will typically be ${IPv4_
1531 1572
     case $sel in
1532 1573
         0) NEW_STATIC_GATEWAY=$(<$data)
1533 1574
            if [[ "$NEW_STATIC_GATEWAY" != *"."* ]]; then
1575
+               rm $data
1534 1576
                return
1535 1577
            fi
1536 1578
            ;;
1537
-        1) return;;
1579
+        1) rm $data
1580
+           return;;
1538 1581
     esac
1539 1582
 
1540 1583
     if [[ "$NEW_STATIC_GATEWAY" == *"."* && "$NEW_STATIC_IP" == *"."* ]]; then
@@ -1604,6 +1647,7 @@ Enter a static local IP address for this system.\n\nIt will typically be ${IPv4_
1604 1647
             esac
1605 1648
         fi
1606 1649
     fi
1650
+    rm $data
1607 1651
 }
1608 1652
 
1609 1653
 function wifi_settings {
@@ -1662,8 +1706,10 @@ function hotspot_settings {
1662 1706
            2> $data
1663 1707
     sel=$?
1664 1708
     case $sel in
1665
-        1) return;;
1666
-        255) return;;
1709
+        1) rm $data
1710
+           return;;
1711
+        255) rm $data
1712
+             return;;
1667 1713
     esac
1668 1714
     TEMP_WIFI_HOTSPOT=$(cat $data | sed -n 1p)
1669 1715
     TEMP_WIFI_SSID=$(cat $data | sed -n 2p)
@@ -1671,9 +1717,11 @@ function hotspot_settings {
1671 1717
     TEMP_WIFI_PASSPHRASE=$(cat $data | sed -n 4p)
1672 1718
 
1673 1719
     if [ ${#TEMP_WIFI_SSID} -lt 2 ]; then
1720
+        rm $data
1674 1721
         return
1675 1722
     fi
1676 1723
     if [ ${#TEMP_WIFI_TYPE} -lt 2 ]; then
1724
+        rm $data
1677 1725
         return
1678 1726
     fi
1679 1727
 
@@ -1691,11 +1739,13 @@ function hotspot_settings {
1691 1739
         if [ ! $TEMP_WIFI_PASSPHRASE ]; then
1692 1740
             dialog --title $"Wifi Settings" \
1693 1741
                    --msgbox $"No wifi hotspot passphrase was given" 6 40
1742
+            rm $data
1694 1743
             return
1695 1744
         fi
1696 1745
         if [ ${#TEMP_WIFI_PASSPHRASE} -lt 2 ]; then
1697 1746
             dialog --title $"Wifi Settings" \
1698 1747
                    --msgbox $"Wifi hotspot passphrase was too short" 6 40
1748
+            rm $data
1699 1749
             return
1700 1750
         fi
1701 1751
 
@@ -1726,6 +1776,7 @@ function hotspot_settings {
1726 1776
 
1727 1777
     dialog --title $"Wifi Settings" \
1728 1778
            --msgbox $"Hotspot settings were changed" 6 40
1779
+    rm $data
1729 1780
 }
1730 1781
 
1731 1782
 function reinstall_mariadb {
@@ -1792,6 +1843,7 @@ function email_extra_domains {
1792 1843
             fi
1793 1844
             ;;
1794 1845
     esac
1846
+    rm $data
1795 1847
 }
1796 1848
 
1797 1849
 function email_smtp_proxy {
@@ -1823,6 +1875,7 @@ function email_smtp_proxy {
1823 1875
     SMTP_PROXY_PORT=$(cat $data | sed -n 4p)
1824 1876
     SMTP_PROXY_USERNAME=$(cat $data | sed -n 5p)
1825 1877
     SMTP_PROXY_PASSWORD=$(cat $data | sed -n 6p)
1878
+    rm $data
1826 1879
 
1827 1880
     # change muttrc
1828 1881
     if [ $SMTP_PROXY_ENABLE != $'no' ]; then
@@ -1868,8 +1921,10 @@ function menu_backup_restore {
1868 1921
                11 $"Back to main menu" on 2> $data
1869 1922
         sel=$?
1870 1923
         case $sel in
1871
-            1) break;;
1872
-            255) break;;
1924
+            1) rm $data
1925
+               break;;
1926
+            255) rm $data
1927
+                 break;;
1873 1928
         esac
1874 1929
         case $(cat $data) in
1875 1930
             1) backup_data;;
@@ -1884,6 +1939,7 @@ function menu_backup_restore {
1884 1939
             10) remove_backups;;
1885 1940
             11) break;;
1886 1941
         esac
1942
+        rm $data
1887 1943
     done
1888 1944
 }
1889 1945
 
@@ -1905,8 +1961,10 @@ function menu_email {
1905 1961
                8 $"Back to main menu" on 2> $data
1906 1962
         sel=$?
1907 1963
         case $sel in
1908
-            1) break;;
1909
-            255) break;;
1964
+            1) rm $data
1965
+               break;;
1966
+            255) rm $data
1967
+                 break;;
1910 1968
         esac
1911 1969
         case $(cat $data) in
1912 1970
             1) add_to_mailing_list;;
@@ -1918,6 +1976,7 @@ function menu_email {
1918 1976
             7) email_extra_domains;;
1919 1977
             8) break;;
1920 1978
         esac
1979
+        rm $data
1921 1980
     done
1922 1981
 }
1923 1982
 
@@ -1945,6 +2004,7 @@ function domain_blocking_add {
1945 2004
             fi
1946 2005
             ;;
1947 2006
     esac
2007
+    rm $data
1948 2008
 }
1949 2009
 
1950 2010
 function ip_blocking_add {
@@ -1968,6 +2028,7 @@ function ip_blocking_add {
1968 2028
             fi
1969 2029
             ;;
1970 2030
     esac
2031
+    rm $data
1971 2032
 }
1972 2033
 
1973 2034
 function domain_blocking_remove {
@@ -1994,6 +2055,7 @@ function domain_blocking_remove {
1994 2055
             fi
1995 2056
             ;;
1996 2057
     esac
2058
+    rm $data
1997 2059
 }
1998 2060
 
1999 2061
 function ip_blocking_remove {
@@ -2017,6 +2079,7 @@ function ip_blocking_remove {
2017 2079
             fi
2018 2080
             ;;
2019 2081
     esac
2082
+    rm $data
2020 2083
 }
2021 2084
 
2022 2085
 function domain_blocking_show {
@@ -2049,8 +2112,10 @@ function domain_blocking {
2049 2112
                6 $"Back to main menu" on 2> $data
2050 2113
         sel=$?
2051 2114
         case $sel in
2052
-            1) break;;
2053
-            255) break;;
2115
+            1) rm $data
2116
+               break;;
2117
+            255) rm $data
2118
+                 break;;
2054 2119
         esac
2055 2120
         case $(cat $data) in
2056 2121
             1) domain_blocking_add;;
@@ -2058,8 +2123,10 @@ function domain_blocking {
2058 2123
             3) ip_blocking_add;;
2059 2124
             4) ip_blocking_remove;;
2060 2125
             5) domain_blocking_show;;
2061
-            6) break;;
2126
+            6) rm $data
2127
+               break;;
2062 2128
         esac
2129
+        rm $data
2063 2130
     done
2064 2131
 }
2065 2132
 
@@ -2079,8 +2146,10 @@ function menu_users {
2079 2146
                6 $"Back to main menu" on 2> $data
2080 2147
         sel=$?
2081 2148
         case $sel in
2082
-            1) break;;
2083
-            255) break;;
2149
+            1) rm $data
2150
+               break;;
2151
+            255) rm $data
2152
+                 break;;
2084 2153
         esac
2085 2154
         case $(cat $data) in
2086 2155
             1) add_user;;
@@ -2088,8 +2157,10 @@ function menu_users {
2088 2157
             3) change_password;;
2089 2158
             4) change_ssh_public_key;;
2090 2159
             5) reset_password_tries;;
2091
-            6) break;;
2160
+            6) rm $data
2161
+               break;;
2092 2162
         esac
2163
+        rm $data
2093 2164
     done
2094 2165
 }
2095 2166
 
@@ -2172,16 +2243,20 @@ function menu_wifi {
2172 2243
                5 $"Exit" on 2> $data
2173 2244
         sel=$?
2174 2245
         case $sel in
2175
-            1) break;;
2176
-            255) break;;
2246
+            1) rm $data
2247
+               break;;
2248
+            255) rm $data
2249
+                 break;;
2177 2250
         esac
2178 2251
         case $(cat $data) in
2179 2252
             1) wifi_enable;;
2180 2253
             2) wifi_settings;;
2181 2254
             3) wifi_edit_networks;;
2182 2255
             4) hotspot_settings;;
2183
-            5) break;;
2256
+            5) rm $data
2257
+               break;;
2184 2258
         esac
2259
+        rm $data
2185 2260
     done
2186 2261
 }
2187 2262
 
@@ -2256,8 +2331,10 @@ function menu_top_level {
2256 2331
                22 $"Exit" on 2> $data
2257 2332
         sel=$?
2258 2333
         case $sel in
2259
-            1) exit 1;;
2260
-            255) exit 1;;
2334
+            1) rm $data
2335
+               exit 1;;
2336
+            255) rm $data
2337
+                 exit 1;;
2261 2338
         esac
2262 2339
         please_wait
2263 2340
         case $(cat $data) in
@@ -2287,8 +2364,10 @@ function menu_top_level {
2287 2364
             19) check_for_updates;;
2288 2365
             20) shut_down_system;;
2289 2366
             21) restart_system;;
2290
-            22) break;;
2367
+            22) rm $data
2368
+                break;;
2291 2369
         esac
2370
+        rm $data
2292 2371
     done
2293 2372
 }
2294 2373
 

+ 72
- 24
src/freedombone-controlpanel-user Voir le fichier

@@ -13,7 +13,7 @@
13 13
 # License
14 14
 # =======
15 15
 #
16
-# Copyright (C) 2016 Bob Mottram <bob@freedombone.net>
16
+# Copyright (C) 2018 Bob Mottram <bob@freedombone.net>
17 17
 #
18 18
 # This program is free software: you can redistribute it and/or modify
19 19
 # it under the terms of the GNU Affero General Public License as published by
@@ -169,8 +169,10 @@ function add_to_mailing_list {
169 169
            2> $data
170 170
     sel=$?
171 171
     case $sel in
172
-        1) return;;
173
-        255) return;;
172
+        1) rm $data
173
+           return;;
174
+        255) rm $data
175
+             return;;
174 176
     esac
175 177
     LIST_NAME=$(cat $data | sed -n 1p)
176 178
     LIST_SUBJECT=$(cat $data | sed -n 2p)
@@ -188,12 +190,14 @@ function add_to_mailing_list {
188 190
     if [ ${#LIST_NAME} -lt 2 ]; then
189 191
         dialog --title $"Add mailing list" \
190 192
                --msgbox $"No mailing list name was given" 6 40
193
+        rm $data
191 194
         return
192 195
     fi
193 196
     if [ ${#LIST_SUBJECT} -lt 2 ]; then
194 197
         if [ ${#LIST_EMAIL} -lt 2 ]; then
195 198
             dialog --title $"Add mailing list" \
196 199
                    --msgbox $"No mailing list subject or address was given" 6 40
200
+            rm $data
197 201
             return
198 202
         fi
199 203
     fi
@@ -204,6 +208,7 @@ function add_to_mailing_list {
204 208
         if [[ "$LIST_EMAIL" != *"@"* || "$LIST_EMAIL" != *"."* ]]; then
205 209
             dialog --title $"Add mailing list" \
206 210
                    --msgbox $"Unrecognised email address" 6 40
211
+            rm $data
207 212
             return
208 213
         else
209 214
             ${PROJECT_NAME}-addlist -u $USER -l "$LIST_NAME" \
@@ -213,6 +218,7 @@ function add_to_mailing_list {
213 218
 
214 219
     dialog --title $"Add mailing list" \
215 220
            --msgbox $"$LIST_NAME list was added" 6 40
221
+    rm $data
216 222
 }
217 223
 
218 224
 function email_rule_address {
@@ -227,8 +233,10 @@ function email_rule_address {
227 233
            2> $data
228 234
     sel=$?
229 235
     case $sel in
230
-        1) return;;
231
-        255) return;;
236
+        1) rm $data
237
+           return;;
238
+        255) rm $data
239
+             return;;
232 240
     esac
233 241
     RULE_EMAIL=$(cat $data | sed -n 1p)
234 242
     RULE_FOLDER=$(cat $data | sed -n 2p)
@@ -245,16 +253,19 @@ function email_rule_address {
245 253
     if [ ${#RULE_EMAIL} -lt 2 ]; then
246 254
         dialog --title $"Create an email rule" \
247 255
                --msgbox $"No email address was given" 6 40
256
+        rm $data
248 257
         return
249 258
     fi
250 259
     if [ ${#RULE_FOLDER} -lt 2 ]; then
251 260
         dialog --title $"Create an email rule" \
252 261
                --msgbox $"No folder name was given" 6 40
262
+        rm $data
253 263
         return
254 264
     fi
255 265
     if [[ "$RULE_EMAIL" != *"@"* || "$RULE_EMAIL" != *"."* ]]; then
256 266
         dialog --title $"Create an email rule" \
257 267
                --msgbox $"Unrecognised email address" 6 40
268
+        rm $data
258 269
         return
259 270
     fi
260 271
 
@@ -262,6 +273,7 @@ function email_rule_address {
262 273
                    -g "$RULE_FOLDER" --public $RULE_PUBLIC
263 274
     dialog --title $"Create an email rule" \
264 275
            --msgbox $"Email rule for $RULE_EMAIL was added" 6 40
276
+    rm $data
265 277
 }
266 278
 
267 279
 function gpg_set_trust {
@@ -281,8 +293,10 @@ function gpg_set_trust {
281 293
                5 $"I trust ultimately" off 2> $data
282 294
         sel=$?
283 295
         case $sel in
284
-            1) return;;
285
-            255) return;;
296
+            1) rm $data
297
+               return;;
298
+            255) rm $data
299
+                 return;;
286 300
         esac
287 301
         TRUST_LEVEL=$(cat $data)
288 302
         if [ ${TRUST_LEVEL} -ge 1 ] ; then
@@ -296,6 +310,7 @@ function gpg_set_trust {
296 310
                 fi
297 311
             fi
298 312
         fi
313
+        rm $data
299 314
     fi
300 315
 }
301 316
 
@@ -311,8 +326,10 @@ function email_rule_subject {
311 326
            2> $data
312 327
     sel=$?
313 328
     case $sel in
314
-        1) return;;
315
-        255) return;;
329
+        1) rm $data
330
+           return;;
331
+        255) rm $data
332
+             return;;
316 333
     esac
317 334
     RULE_SUBJECT=$(cat $data | sed -n 1p)
318 335
     RULE_FOLDER=$(cat $data | sed -n 2p)
@@ -329,11 +346,13 @@ function email_rule_subject {
329 346
     if [ ${#RULE_SUBJECT} -lt 2 ]; then
330 347
         dialog --title $"Create an email rule" \
331 348
                --msgbox $"No subject text was given" 6 40
349
+        rm $data
332 350
         return
333 351
     fi
334 352
     if [ ${#RULE_FOLDER} -lt 2 ]; then
335 353
         dialog --title $"Create an email rule" \
336 354
                --msgbox $"No folder name was given" 6 40
355
+        rm $data
337 356
         return
338 357
     fi
339 358
 
@@ -341,6 +360,7 @@ function email_rule_subject {
341 360
                    -g "$RULE_FOLDER" --public $RULE_PUBLIC
342 361
     dialog --title $"Create an email rule" \
343 362
            --msgbox $"Email rule for subject '$RULE_SUBJECT' was added" 6 40
363
+    rm $data
344 364
 }
345 365
 
346 366
 function block_unblock_email {
@@ -355,8 +375,10 @@ function block_unblock_email {
355 375
            2> $data
356 376
     sel=$?
357 377
     case $sel in
358
-        1) return;;
359
-        255) return;;
378
+        1) rm $data
379
+           return;;
380
+        255) rm $data
381
+             return;;
360 382
     esac
361 383
     BLOCK_EMAIL=$(cat $data | sed -n 1p)
362 384
     BLOCK=$(cat $data | sed -n 2p)
@@ -368,6 +390,7 @@ function block_unblock_email {
368 390
     if [[ "$BLOCK_EMAIL" != *"@"* || "$BLOCK_EMAIL" != *"."* ]]; then
369 391
         dialog --title "$blockstr" \
370 392
                --msgbox $"Unrecognised email address" 6 40
393
+        rm $data
371 394
         return
372 395
     fi
373 396
     if [[ $BLOCK == "y"* || $BLOCK == "Y"* ]]; then
@@ -379,6 +402,7 @@ function block_unblock_email {
379 402
         dialog --title $"Unblock an email" \
380 403
                --msgbox "Email from $BLOCK_EMAIL is now unblocked" 6 75
381 404
     fi
405
+    rm $data
382 406
 }
383 407
 
384 408
 function block_unblock_subject {
@@ -393,14 +417,17 @@ function block_unblock_subject {
393 417
            2> $data
394 418
     sel=$?
395 419
     case $sel in
396
-        1) return;;
397
-        255) return;;
420
+        1) rm $data
421
+           return;;
422
+        255) rm $data
423
+             return;;
398 424
     esac
399 425
     BLOCK_SUBJECT=$(cat $data | sed -n 1p)
400 426
     BLOCK=$(cat $data | sed -n 2p)
401 427
     if [ ${#BLOCK_SUBJECT} -lt 2 ]; then
402 428
         dialog --title "$blockstr" \
403 429
                --msgbox $"No subject was given" 6 40
430
+        rm $data
404 431
         return
405 432
     fi
406 433
     if [[ $BLOCK == "y"* || $BLOCK == "Y"* ]]; then
@@ -412,6 +439,7 @@ function block_unblock_subject {
412 439
         dialog --title $"Unblock an email" \
413 440
                --msgbox $"Email with subject $BLOCK_SUBJECT is now unblocked" 6 40
414 441
     fi
442
+    rm $data
415 443
 }
416 444
 
417 445
 function show_gpg_key {
@@ -530,6 +558,7 @@ function remove_gpg_key {
530 558
             fi
531 559
             ;;
532 560
     esac
561
+    rm $data
533 562
 }
534 563
 
535 564
 function add_ssh_key {
@@ -568,6 +597,7 @@ function add_ssh_key {
568 597
             fi
569 598
             ;;
570 599
     esac
600
+    rm $data
571 601
 }
572 602
 
573 603
 function remove_ssh_key {
@@ -590,6 +620,7 @@ function remove_ssh_key {
590 620
             fi
591 621
             ;;
592 622
     esac
623
+    rm $data
593 624
 }
594 625
 
595 626
 function smtp_proxy {
@@ -631,8 +662,10 @@ function smtp_proxy {
631 662
            2> $data
632 663
     sel=$?
633 664
     case $sel in
634
-        1) return;;
635
-        255) return;;
665
+        1) rm $data
666
+           return;;
667
+        255) rm $data
668
+             return;;
636 669
     esac
637 670
     SMTP_PROXY_ENABLE=$(cat $data | sed -n 1p)
638 671
     SMTP_PROXY_PROTOCOL=$(cat $data | sed -n 2p)
@@ -654,6 +687,7 @@ function smtp_proxy {
654 687
             sed -i 's|set smtp_url|#set smtp_url|g' $MUTTRC_FILE
655 688
         fi
656 689
     fi
690
+    rm $data
657 691
 }
658 692
 
659 693
 function sign_gpg_key {
@@ -682,6 +716,7 @@ function sign_gpg_key {
682 716
             fi
683 717
             ;;
684 718
     esac
719
+    rm $data
685 720
 }
686 721
 
687 722
 
@@ -702,6 +737,7 @@ function gpg_key_trust {
702 737
             fi
703 738
             ;;
704 739
     esac
740
+    rm $data
705 741
 }
706 742
 
707 743
 function menu_encryption_keys {
@@ -725,8 +761,10 @@ function menu_encryption_keys {
725 761
                11 $"Back to main menu" on 2> $data
726 762
         sel=$?
727 763
         case $sel in
728
-            1) break;;
729
-            255) break;;
764
+            1) rm $data
765
+               break;;
766
+            255) rm $data
767
+                 break;;
730 768
         esac
731 769
         case $(cat $data) in
732 770
             1) show_gpg_key;;
@@ -739,8 +777,10 @@ function menu_encryption_keys {
739 777
             8) add_ssh_key;;
740 778
             9) remove_ssh_key;;
741 779
             10) gpg_key_trust;;
742
-            11) break;;
780
+            11) rm $data
781
+                break;;
743 782
         esac
783
+        rm $data
744 784
     done
745 785
 }
746 786
 
@@ -761,8 +801,10 @@ function menu_email {
761 801
                7 $"Back to main menu" on 2> $data
762 802
         sel=$?
763 803
         case $sel in
764
-            1) break;;
765
-            255) break;;
804
+            1) rm $data
805
+               break;;
806
+            255) rm $data
807
+                 break;;
766 808
         esac
767 809
         case $(cat $data) in
768 810
             1) add_to_mailing_list;;
@@ -771,8 +813,10 @@ function menu_email {
771 813
             4) email_rule_subject;;
772 814
             5) block_unblock_email;;
773 815
             6) block_unblock_subject;;
774
-            7) break;;
816
+            7) rm $data
817
+               break;;
775 818
         esac
819
+        rm $data
776 820
     done
777 821
 }
778 822
 
@@ -857,8 +901,10 @@ function menu_top_level {
857 901
                9 $"Log out" on 2> $data
858 902
         sel=$?
859 903
         case $sel in
860
-            1) exit 1;;
861
-            255) exit 1;;
904
+            1) rm $data
905
+               exit 1;;
906
+            255) rm $data
907
+                 exit 1;;
862 908
         esac
863 909
         case $(cat $data) in
864 910
             1) mutt;;
@@ -868,9 +914,11 @@ function menu_top_level {
868 914
             5) menu_encryption_keys;;
869 915
             6) smtp_proxy;;
870 916
             7) menu_admin;;
871
-            8) break;;
917
+            8) rm $data
918
+               break;;
872 919
             9) kill -HUP `pgrep -s 0 -o`;;
873 920
         esac
921
+        rm $data
874 922
     done
875 923
 }
876 924