commit e2cdca99c1f131d167a17a2a38715d7cc9a06063
parent b5ad207a6a8154d480c106b806b0c30b45bfad83
Author: parazyd <parazyd@dyne.org>
Date: Wed, 28 Feb 2018 20:31:37 +0100
Use sieve.c in rpsieve.
Diffstat:
M | bin/rpsieve | | | 44 | ++++++++++++++++---------------------------- |
1 file changed, 16 insertions(+), 28 deletions(-)
diff --git a/bin/rpsieve b/bin/rpsieve
@@ -24,16 +24,14 @@ for i in $@; do
esac
done
-[ -n "$edit" ] && {
- vim "$profile/filters.txt" || edie "$(basename $0) canceled"
-}
-
-[ -f "$profile/filters.txt" ] || edie "no filters.txt file"
+ft="$profile/filters.txt"
+fs="$profile/filters.sieve"
-ebegin "regenerating filters.sieve"
+[ -n "$edit" ] && { vim "$ft" || edie "$(basename $0) canceled" }
+[ -f "$ft" ] || edie "no filters.txt file"
-ebegin "adding skel"
-cat <<EOF > "$profile/filters.sieve"
+einfo "adding skel"
+cat <<EOF > "$fs"
# mailbox supports fileinto :create
require ["fileinto","mailbox","variables"];
@@ -46,33 +44,22 @@ if header :contains "Sender" "mailman-bounce" {
# own filters
EOF
-ebegin "adding To:"
-grep '^to' "$profile/filters.txt" | while read line; do
- cat <<EOF >> "$profile/filters.sieve"
-if header :contains ["To","Cc"] "$(echo $line | awk '{print $2}')" { fileinto :create "$(echo $line | awk '{print $4}')"; stop; }
-EOF
-done
-
-ebegin "adding From:"
-grep '^from' "$profile/filters.txt" | while read line; do
- cat <<EOF >> "$profile/filters.sieve"
-if header :contains "From" "$(echo $line | awk '{print $2}')" { fileinto :create "$(echo $line | awk '{print $4}')"; stop; }
-EOF
-done
+rohrpost rpsieve < "$ft" >> "$fs"
-ebegin "adding rpabook whitelist"
-cat <<EOF >> "$profile/filters.sieve"
+einfo "adding rpabook whitelist"
+cat <<EOF >> "$profile/fs"
# INBOX
if header :contains "From" [
EOF
grep '^email' "$profile/whitelist.abook" | \
- sed -e 's/^email=/"/' -e 's/$/",/' | head -c -2 >> "$profile/filters.sieve"
+ sed -e 's/^email=/"/' -e 's/$/",/' | \
+ head -c -2 >> "$fs"
-ebegin "finalizing"
-cat <<EOF >> "$profile/filters.sieve"
+einfo "finalizing"
+cat <<EOF >> "$profile/fs"
]
{ fileinto :create "INBOX"; stop; }
@@ -84,6 +71,7 @@ fileinto :create "unsorted";
EOF
if [ -n "$upload" ]; then
- ebegin "uploading filters.sieve"
- scp "$profile/filters.sieve" tupac3.dyne.org:/var/vmail/sieve-scripts/"$(readlink $profile)"
+ einfo "uploading filters.sieve"
+ scp "$fs" \
+ tupac3.dyne.org:/var/vmail/sieve-scripts/"$(readlink $profile)"
fi