[Dovecot] imap: Error: net_connect_unix(/.../auth-master) failed: Invalid argument

Timo Sirainen tss at iki.fi
Tue Jan 8 11:43:25 EET 2013


On 8.1.2013, at 11.15, Joan Picanyol i Puig <lists-dovecot at biaix.org> wrote:

>> 	if (i_strocpy(sa.un.sun_path, path, sizeof(sa.un.sun_path)) < 0) {
>> 		/* too long path */
>> 		errno = EINVAL;
>> 
>> Your path is longer than possible. This patch should make it clearer in
>> future: http://hg.dovecot.org/dovecot-2.1/rev/e4cc3f2b66e3
> 
> Thanks, changing base_dir did the trick. I wonder why though, since
> both PATH_MAX and FILENAME_MAX are defined as 1024 on my system…

UNIX socket paths seem to have a rather small limit in all operating systems. Linux and Solaris has 108 bytes, OSX has 104 bytes. Probably increasing it would break some programs.

Although I wonder if it would be possible to simply allocate more memory than the struct contains and just write the string there. OSX also has some length parameter:

        unsigned char   sun_len;        /* sockaddr len including null */

Anyway, probably not worth the trouble.




More information about the dovecot mailing list