소스 검색

Public and private email folders

Bob Mottram 9 년 전
부모
커밋
f3fdfab0a1
4개의 변경된 파일43개의 추가작업 그리고 8개의 파일을 삭제
  1. BIN
      man/freedombone-addemail.1.gz
  2. BIN
      man/freedombone-addlist.1.gz
  3. 21
    4
      src/freedombone-addemail
  4. 22
    4
      src/freedombone-addlist

BIN
man/freedombone-addemail.1.gz 파일 보기


BIN
man/freedombone-addlist.1.gz 파일 보기


+ 21
- 4
src/freedombone-addemail 파일 보기

@@ -37,10 +37,11 @@ export TEXTDOMAINDIR="/usr/share/locale"
37 37
 MYUSERNAME=$USER
38 38
 EMAILADDRESS=
39 39
 GROUP_NAME=
40
+PUBLIC='no'
40 41
 
41 42
 function show_help {
42 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 45
     echo ''
45 46
     exit 0
46 47
 }
@@ -65,6 +66,10 @@ case $key in
65 66
     shift
66 67
     GROUP_NAME="$1"
67 68
     ;;
69
+    -p|--public)
70
+    shift
71
+    PUBLIC="$1"
72
+    ;;
68 73
     *)
69 74
     # unknown option
70 75
     ;;
@@ -88,15 +93,27 @@ if [ ! -d "$LISTDIR" ]; then
88 93
 fi
89 94
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
90 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 99
         echo "# Email rule for $EMAILADDRESS -> $GROUP_NAME" >> $PM
93 100
         echo ":0" >> $PM
94 101
         echo "  * ^From:.*$EMAILADDRESS" >> $PM
95 102
         echo "$LISTDIR/new" >> $PM
96 103
         echo "# End of rule" >> $PM
97 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 117
     fi
101 118
     chown $MYUSERNAME:$MYUSERNAME $PM
102 119
 fi

+ 22
- 4
src/freedombone-addlist 파일 보기

@@ -38,10 +38,11 @@ MYUSERNAME=$USER
38 38
 MAILINGLIST=
39 39
 SUBJECTTAG=
40 40
 LIST_ADDRESS=
41
+PUBLIC='yes'
41 42
 
42 43
 function show_help {
43 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 46
     echo ''
46 47
     exit 0
47 48
 }
@@ -70,6 +71,10 @@ case $key in
70 71
     shift
71 72
     LIST_ADDRESS="$1"
72 73
     ;;
74
+    -p|--public)
75
+    shift
76
+    PUBLIC="$1"
77
+    ;;
73 78
     *)
74 79
     # unknown option
75 80
     ;;
@@ -100,7 +105,8 @@ fi
100 105
 chown -R $MYUSERNAME:$MYUSERNAME $LISTDIR
101 106
 
102 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 110
         filter="
105 111
 # Email rule for $MAILINGLIST subject [$SUBJECTTAG]
106 112
 :0
@@ -110,8 +116,20 @@ $LISTDIR/new
110 116
 "
111 117
         echo "$filter" >> $PM
112 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 133
     fi
116 134
     chown $MYUSERNAME:$MYUSERNAME $PM
117 135
 fi