Package: syncmaildir
Severity: important
Version: 1.2.5-1
Tags: patch

smd-push --dry-run --verbose exploded and ask me to send the
following message:

#v+
This email reports an internal error, something that should never happen.
To help the developers to find and solve the issue, please send this email.
If you are able to reproduce the bug, please attach a detailed description
of what you do to help the developers to experience the same malfunctioning.

smd-version: 1.2.5
error-message: Error parsing ""
backtrace:
stack traceback:
        /usr/share/lua/5.1/syncmaildir.lua:683: in function 
'log_internal_error_tags'
        /usr/share/lua/5.1/syncmaildir.lua:124: in function 
'log_internal_error_and_fail'
        /usr/share/lua/5.1/syncmaildir.lua:535: in function 'parse'
        /usr/bin/smd-client:443: in function 'execute'
        /usr/bin/smd-client:643: in function </usr/bin/smd-client:541>
        [C]: in function 'xpcall'
        /usr/share/lua/5.1/syncmaildir.lua:689: in function 'parachute'
        /usr/bin/smd-client:719: in main chunk
        [C]: ?
#v-

I tracked down the reason to maildir names that contain "&"
characters, and that I had in my EXCLUDE_LOCAL (no matter if
literally or included by a * glob).

The attached patch brings me over this failure; no idea if it has any
side effects, I haven't dared to run smd* without --dry-run :)


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Wolf Biermann: Comandante Che Guevara
--- unpacked/usr/share/syncmaildir/smd-common	2012-06-11 15:09:55.000000000 +0200
+++ /usr/share/syncmaildir/smd-common	2012-08-19 01:52:50.041505225 +0200
@@ -417,10 +417,10 @@
 			EXCLUDE_REMOTE="$EXCLUDE"
 	fi
 	for e in $EXCLUDE_LOCAL; do
-			LOCALEXCLUDE="$LOCALEXCLUDE --exclude $e"
+			LOCALEXCLUDE="$LOCALEXCLUDE --exclude '$e'"
 	done
 	for e in $EXCLUDE_REMOTE; do
-			REMOTEEXCLUDE="$REMOTEEXCLUDE --exclude $e"
+			REMOTEEXCLUDE="$REMOTEEXCLUDE --exclude '$e'"
 	done
 
 	# check for local synchronization

Attachment: signature.asc
Description: Digital signature

Reply via email to