瀏覽代碼

Public and private email folders

Bob Mottram 9 年之前
父節點
當前提交
f3fdfab0a1
共有 4 個檔案被更改,包括 43 行新增8 行删除
  1. 二進制
      man/freedombone-addemail.1.gz
  2. 二進制
      man/freedombone-addlist.1.gz
  3. 21
    4
      src/freedombone-addemail
  4. 22
    4
      src/freedombone-addlist

二進制
man/freedombone-addemail.1.gz 查看文件


二進制
man/freedombone-addlist.1.gz 查看文件


+ 21
- 4
src/freedombone-addemail 查看文件

37
 MYUSERNAME=$USER
37
 MYUSERNAME=$USER
38
 EMAILADDRESS=
38
 EMAILADDRESS=
39
 GROUP_NAME=
39
 GROUP_NAME=
40
+PUBLIC='no'
40
 
41
 
41
 function show_help {
42
 function show_help {
42
     echo ''
43
     echo ''
43
-    echo $"${PROJECT_NAME}-addemail -u [username] -e [email address] -g [group name]"
44
+    echo $"${PROJECT_NAME}-addemail -u [username] -e [email address] -g [group name] --public [yes|no]"
44
     echo ''
45
     echo ''
45
     exit 0
46
     exit 0
46
 }
47
 }
65
     shift
66
     shift
66
     GROUP_NAME="$1"
67
     GROUP_NAME="$1"
67
     ;;
68
     ;;
69
+    -p|--public)
70
+    shift
71
+    PUBLIC="$1"
72
+    ;;
68
     *)
73
     *)
69
     # unknown option
74
     # unknown option
70
     ;;
75
     ;;
88
 fi
93
 fi
89
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
94
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
90
 if ! grep -q "Email rule for $EMAILADDRESS -> $GROUP_NAME" $PM; then
95
 if ! grep -q "Email rule for $EMAILADDRESS -> $GROUP_NAME" $PM; then
91
-    if ! grep -q "\# encrypt" $PM; then
96
+    if [[ $PUBLIC != "yes" ]]; then
97
+        # private emails go after the encryption stage
98
+        echo '' >> $PM
92
         echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
99
         echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
93
         echo ":0" >> $PM
100
         echo ":0" >> $PM
94
         echo "  * ^From:.*$EMAILADDRESS" >> $PM
101
         echo "  * ^From:.*$EMAILADDRESS" >> $PM
95
         echo "$LISTDIR/new" >> $PM
102
         echo "$LISTDIR/new" >> $PM
96
         echo "# End of rule" >> $PM
103
         echo "# End of rule" >> $PM
97
     else
104
     else
98
-        filter=$(echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME\n:0\n  * ^From:.*$EMAILADDRESS\n$LISTDIR/new\n# End of rule\n")
99
-        sed -i "/# encrypt/i ${filter}" $PM
105
+        # public emails are copied before hte encryption stage
106
+        if ! grep -q '# encrypt' $PM; then
107
+            echo '' >> $PM
108
+            echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
109
+            echo ":0" >> $PM
110
+            echo "  * ^From:.*$EMAILADDRESS" >> $PM
111
+            echo "$LISTDIR/new" >> $PM
112
+            echo "# End of rule" >> $PM
113
+        else
114
+            filter=$(echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME\n:0\n  * ^From:.*$EMAILADDRESS\n$LISTDIR/new\n# End of rule\n")
115
+            sed -i "/# encrypt/i ${filter}" $PM
116
+        fi
100
     fi
117
     fi
101
     chown $MYUSERNAME:$MYUSERNAME $PM
118
     chown $MYUSERNAME:$MYUSERNAME $PM
102
 fi
119
 fi

+ 22
- 4
src/freedombone-addlist 查看文件

38
 MAILINGLIST=
38
 MAILINGLIST=
39
 SUBJECTTAG=
39
 SUBJECTTAG=
40
 LIST_ADDRESS=
40
 LIST_ADDRESS=
41
+PUBLIC='yes'
41
 
42
 
42
 function show_help {
43
 function show_help {
43
     echo ''
44
     echo ''
44
-    echo $"${PROJECT_NAME}-addlist -u [username] -l [mailing list name] -s [subject tag] -e [list email address]"
45
+    echo $"${PROJECT_NAME}-addlist -u [username] -l [mailing list name] -s [subject tag] -e [list email address] --public [yes|no]"
45
     echo ''
46
     echo ''
46
     exit 0
47
     exit 0
47
 }
48
 }
70
     shift
71
     shift
71
     LIST_ADDRESS="$1"
72
     LIST_ADDRESS="$1"
72
     ;;
73
     ;;
74
+    -p|--public)
75
+    shift
76
+    PUBLIC="$1"
77
+    ;;
73
     *)
78
     *)
74
     # unknown option
79
     # unknown option
75
     ;;
80
     ;;
100
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
105
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
101
 
106
 
102
 if ! grep -q "Subject:.*()\[$SUBJECTTAG\]" $PM; then
107
 if ! grep -q "Subject:.*()\[$SUBJECTTAG\]" $PM; then
103
-    if ! grep -q "\# encrypt" $PM; then
108
+    if [[ $PUBLIC != "yes" ]]; then
109
+        # private emails go after the encryption stage
104
         filter="
110
         filter="
105
 # Email rule for $MAILINGLIST subject [$SUBJECTTAG]
111
 # Email rule for $MAILINGLIST subject [$SUBJECTTAG]
106
 :0
112
 :0
110
 "
116
 "
111
         echo "$filter" >> $PM
117
         echo "$filter" >> $PM
112
     else
118
     else
113
-        filter=$(echo "# Email rule for $MAILINGLIST subject [$SUBJECTTAG]\n:0\n  * ^Subject:.*()\\\[$SUBJECTTAG\\\]\n$LISTDIR/new\n# End of rule\n")
114
-        sed -i "/# encrypt/i ${filter}" $PM
119
+        # public emails are copied before hte encryption stage
120
+        if ! grep -q '# encrypt' $PM; then
121
+            filter="
122
+# Email rule for $MAILINGLIST subject [$SUBJECTTAG]
123
+:0
124
+  * ^Subject:.*()\[$SUBJECTTAG\]
125
+$LISTDIR/new
126
+# End of rule
127
+"
128
+            echo "$filter" >> $PM
129
+        else
130
+            filter=$(echo "# Email rule for $MAILINGLIST subject [$SUBJECTTAG]\n:0\n  * ^Subject:.*()\\\[$SUBJECTTAG\\\]\n$LISTDIR/new\n# End of rule\n")
131
+            sed -i "/# encrypt/i ${filter}" $PM
132
+        fi
115
     fi
133
     fi
116
     chown $MYUSERNAME:$MYUSERNAME $PM
134
     chown $MYUSERNAME:$MYUSERNAME $PM
117
 fi
135
 fi