diff options
Diffstat (limited to 'handlers/maildir.in')
-rw-r--r-- | handlers/maildir.in | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/handlers/maildir.in b/handlers/maildir.in index 148c30d..44959aa 100644 --- a/handlers/maildir.in +++ b/handlers/maildir.in @@ -127,6 +127,25 @@ function do_user() { # (actually, it just moved them to the directory "deleted") function do_remove() { +<<<<<<< HEAD + local tmp1=`maketemp maildir-tmp-file` + local tmp2=`maketemp maildir-tmp-file` + + ssh -p $destport -i $destid_file $destuser@$desthost mkdir -p "$destdir/deleted" + cd "$srcdir" + for userdir in `ls -d1 */`; do + ls -1 "$srcdir/$userdir" | sort > $tmp1 + ssh -p $destport $destuser@$desthost ls -1 "$destdir/$userdir" | sort > $tmp2 + for deluser in `join -v 2 $tmp1 $tmp2`; do + [ "$deluser" != "" ] || continue + info "removing $destuser@$desthost:$destdir/$userdir$deluser/" + ssh -p $destport $destuser@$desthost mv "$destdir/$userdir$deluser/" "$destdir/deleted" + ssh -p $destport -i $destid_file $destuser@$desthost "date +%c%n%s > '$destdir/$userdir$deluser/deleted_on'" + done + done + rm $tmp1 + rm $tmp2 +======= local tmp1=`maketemp maildir-tmp-file` local tmp2=`maketemp maildir-tmp-file` @@ -144,6 +163,7 @@ function do_remove() { done rm $tmp1 rm $tmp2 +>>>>>>> master } function do_rotate() { |