On 13.4.2011, at 4.33, Peter Bray wrote:
Post 12689:7f5735ab7c35 / 12690:02829f7f79c7 dovecot uses the reentrant version of get(password/group)* related functions. There are two variants of these functions on Solaris. To get the variant used by dovecot code based you need to define _POSIX_PTHREAD_SEMANTICS (see attached manual page).
Oh. I remember looking at the Solaris man page, but I guess I missed the other variant so I didn't bother testing it.
Initially I defined this just for the compilation of lib/src/ipwd.c, and got the code to compile / check / run successfully in my environment.
Yes, I think that's the safest way to fix it. Done: http://hg.dovecot.org/dovecot-2.0/rev/b60d73301c08
After this worked I decided to try compiling the whole code base with
CPPFLAGS="-D_POSIX_PTHREAD_SEMANTICS" ./configure ....
This is a good workaround for v2.0.12, but I don't want to make it permanent. Whenever I add this kind of a define globally it always seems to break something somewhere..