[Dovecot] dot-containing foldernames \HasNoChildren bug ?

Samuel Kvasnica bugreports at list.ims.co.at
Mon Aug 9 19:26:40 EEST 2010


 On 08/09/2010 06:01 PM, Timo Sirainen wrote:
> On Sat, 2010-08-07 at 19:29 +0200, Samuel Kvasnica wrote:
>
>> -               } else if (*str == ns->list->hierarchy_sep ||                                                                                                         
>> -                          *str == mlist->escape_char || *str == '/')                                                                                                 
>> +               } else {
>> +               if (*str == ns->list->hierarchy_sep || ( mlist && // SK mlist was zero check added !
>> +                          *str == mlist->escape_char) || *str == '/'){
>>                         str_printfa(esc, "%c%02x", mlist->escape_char, *str);                                                                                         
>> -               else                                                                                                                                                  
>> +                       }                                                                                                                                             
>> +               else{
>>                         str_append_c(esc, *str);
>> +                       }
>> +               }
> Was there a reason for this change?
yes, I've got segfaults, mlist was zero ! But thats just an "intuitive"
patch without understanding what going on... i'm just terribly under
pressure to get the setup working

> Anyway, this should also fix it:
> http://hg.dovecot.org/dovecot-2.0/rev/18d95a2d0aba
>
> There's also a bug with listing shared mailboxes that contain '.'
> characters. Lets see if I can fix that too..
>
actually, the LSUB command is totaly broken with listescape for
subfolders when using wildcards, and I cannot find the reason why. Not
only in shared area, also in INBOX root. Really got lost in the pointer
jungle, not sure how to debug further.

no listescape example:

. lsub "" "Public/public/%"
* LSUB () "/" "Public/public/ccc"
. OK Lsub completed.


listescape active:

. lsub "" "Public/public/%"
. OK Lsub completed.



Hope to get this working soon so that I can shut down our buggy scalix
server asap.



More information about the dovecot mailing list