On Wed, Jun 18, 2003 at 06:06:40PM -0400, Dan Churchill wrote:
> * On 2003-06-18 2226 (Wed), Brian Candler wrote:
>  
> > openssl s_client -connect name.of.host:443
> 
> I should have thought to look there, thanks.
>  
> > So, I'd like to see exactly what the HTTP response is.
> 
> There was a redirection, and the reference included:
>       ...dchurchi.authodaemon...folder=INBOX&form=folders...
> 
> > > > The only thing I can think of which might be wrong is the
> > > > permissions on the individual files in the maildir.
> 
> drwx--x--x      ... ${HOME}
> drwx------  174 ... ${HOME}/Maildir
> drwx------    2 ... ${HOME}/Maildir/calendar
> -rw-r--r--    1 ... ${HOME}/Maildir/courierimapsubscribed
> -rw-r--r--    1 ... ${HOME}/Maildir/courierimapuiddb
> drwx------    2 ... ${HOME}/Maildir/cur
> drwx------    2 ... ${HOME}/Maildir/new
> -rw-------    1 ... ${HOME}/Maildir/sqwebmail-curcnt
> -rw-------    1 ... ${HOME}/Maildir/sqwebmail-ip
> -rw-------    1 ... ${HOME}/Maildir/sqwebmail-timestamp
> drwx------    2 ... ${HOME}/Maildir/tmp
> drwx------      ... ${HOME}/Maildir/.Spam.confirmed
> 
> > Looking at the code this can be caused by several things -
> > e.g. folder name starting with a dot or containing a slash, or
> > starting with two dots.
> 
> Um... All of my folders (except INBOX of course), begin with a '.'.
> E.g. ${HOME}/Maildir/.Spam.confirmed
> 
> How now brown cow?

The code is there for you to browse. sqwebmail/maildir.c line 130 fails if
maildir_folderdir returned nil, and you can find that function in
maildir/maildirpath.c

Ignoring malloc errors, the code will fail if the foldername (note: not the
filename) starts with a dot or contains a slash or two dots. The leading dot
is added after this check.

If you can't work out where the failure is occuring, then insert liberal
amounts of printf: e.g.

        if (*foldername == '.' || strchr(foldername, '/'))
        {
                printf("Error at point X: foldername='%s'\n",
                        foldername ? foldername : "<null>");
                errno=EINVAL;
                return (0);
        }

and see which one gets triggered.

Another thing to try is creating a ".Spam" maildir. I'm not sure what
sqwebmail does if it finds .folder.subfolder where .folder does not exist.

Good luck,

Brian.

Reply via email to