package maildirsync
tags 356207 patch
thanks

The attached patch should fix the reported problem.

Thanks,
Gian Piero.
Description: Accept any supposedly allowed name for message files
 See http://cr.yp.to/proto/maildir.html for the original specification of
 maildir format.
 .
 A message file name is in the form `uniq:info'.
 `uniq' must be a unique name and "can be anything that doesn't contain a
 colon (or slash) and doesn't start with a dot".
 `:info' is added when moving a message from new/ to cur/ and starts with
 ":1," (experimental) or ":2," (standard semantics).
 .
 This patch is a bit relaxed in respect of the specification because:
 - allows `:info' to be present in messages in new/ (i.e., this is the case in
   mutt when you flag a new message without reading it);
 - allows any character (but the slash) to be present in `:info' after the
   required comma. See also "Maildir filename extensions" ( reference to
   <non-standard fields> ) at http://wiki.dovecot.org/MailboxFormat/Maildir
Forwarded: no
Bug-Debian: http://bugs.debian.org/356207
Author: Gian Piero Carrubba <gpi...@rm-rf.it>
Last-Update: 2010-01-24
--- a/maildirsync.pl
+++ b/maildirsync.pl
@@ -458,7 +458,7 @@
 }
 
 sub pack_filedata ($) { my ($path) = @_;
-    my ($message_id) = $path =~ 
m{.*/(\d+\..*?\.[[:alnum:]._-]+(?:,.*?)?)(?:\:.*)?$}
+    my ($message_id) = $path =~ 
m{.*/(?:cur|new)/([^\.\:/][^\:/]*+)(?:\:(?:1|2),[^/]*)?+$}
         or return (); # not valid
     return ($message_id, "$path");
 }

Reply via email to