Package: teapop-mysql
Version: 0.3.7

I have found that when a message that contains additional characters (in this case 5* 0x00 bytes) after last part of the message is put in the maildir it practicaly 'locks' message receive by both Thunderbird and Outlook Express. Problem is in fact in the Teapop as other POPers somehow survive happily such messages. That kind of messages can be put into maildirs by various mail servers (for example Postfix) so that is non-theoretical problem. Such messages were sent by one of users using outlook express 6.0 with sp2 etc. so that threat may happen to be quite popular...

May be it is the same / similar bug that been filled before for mailbox storage. That is also different situation with the propability of the error estimation. The every message of this kind have 5 null's at the end so it is quite propable that teapop will 'lock' user access... and in fact it happens quite frequently... I get at least 2-3 calls a day to correct problem...
Also propability is quite high because one of the used frequently mail client (outlook express 6.0 SP2) sends such mail quite frequently...



I also informed designer of the program so I hope they will also take care about it. They do have new version (0.3.8) but with the same error. May be at the same time it would be nice to 'sync' the version?


yours
WD

P.S. On teapop list I got such suggestion:


hi,

some time ago i made this patch to correct this,
but is for the 0.3.8.

regards,

georg



--- teapop-0.3.8/teapop.orig/pop_dnld.c Mon Aug  4 17:33:49 2003
+++ teapop-0.3.8/teapop/pop_dnld.c      Thu May 27 21:09:24 2004
@@ -110,7 +110,7 @@
                    len = len-1;
                }
                /* If there's a NULL in the message, replace it with a ? */
-               if (buf[len-1] != '\n' && len != (sizeof(buf)-1)) {
+               while ((len == 0 || buf[len-1] != '\n') && len < (sizeof(buf) - 
1)) {
                        buf[len] = '?';
                        len = strlen(buf);
                }
@@ -153,7 +153,7 @@
                    len = len-1;
                }
                /* If there's a NULL in the message, replace it with a ? */
-               if (buf[len-1] != '\n' && len != (sizeof(buf)-1)) {
+               while ((len == 0 || buf[len-1] != '\n') && len < (sizeof(buf) - 
1)) {
                        buf[len] = '?';
                        len = strlen(buf);
                }


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Reply via email to