Ok digged into squirrelmail and made a hack.

First I rebuild the latest svn 2593 and still had the same problem.

Looking at the code from squirrelmail/function/imap_search.php and added the + 
line:

    /* Keep going till we find the SEARCH response */
    foreach ($readin as $readin_part) {
+       $readin_part = trim($readin_part);
        /* Check to see if a SEARCH response was received */
        if (substr($readin_part, 0, 9) == '* SEARCH ') {
            $messagelist = preg_split("/ /", substr($readin_part, 9));
        } else if (isset($errors)) {
            $errors = $errors.$readin_part;
        } else {
            $errors = $readin_part;
        }
    }

Seems that preg_split always gives there messagelist count 1 instead of zero 
due to that extra space in the
search responce.
By first trimming the beginning and end of the sting i got rid of the extra 
spaces and it seems working now.

Sjoerd

PS: Also tried there latest squirrelmail 1.5.x svn and got the same error.


> Sjoerd wrote:
>> Hi Paul,
>>
>> Thanks for your response.
>>
>> You are saying it's *not* a bug in dbmail and according to your tracker-link 
>> it's also not a bug in
>> squirrelmail.
>>
>> So where do I go from here. Both parties says it's not a bug but the error 
>> still persists.
>
> You misread the SM bugreport. They admit their search code is broken and
> supposed to be fixed in 1.5
>
> In this particular case dbmail is indeed returning
>
> * SEARCH \r\n
>
> rather than
>
> * SEARCH\r\n
>
> if nothing is found, and SM interprets such a space as a valid message id.
>
>
> I'll fix the dbmail code here.
>


_______________________________________________
DBmail mailing list
[email protected]
https://mailman.fastxs.nl/mailman/listinfo/dbmail

Reply via email to