On Thu, Apr 28, 2011 at 12:50:57PM -0400, Wietse Venema wrote:

> Victor Duchovni:
> > On Wed, Apr 27, 2011 at 08:55:53PM -0400, Wietse Venema wrote:
> > 
> > > Of course, I could simply mandate that people run only the latest
> > > systems and that they always set all the flags that disable SUN,
> > > SGI etc. default backwards compatibility (meaning it may not work
> > > with third-party libraries that are expecting the default system
> > > semantics).
> > 
> > Getting back on track though, we could enable getpwnam_r on platforms
> > (sufficiently new, ...) where we believe it to work correctly as documented.
> > 
> > That would include at least sufficiently recent BSD variants, plus,
> > if not too difficult to handle in makedefs + sysdefs.h, also reasonably
> > recent Linux glibc.
> 
> I think that it is safe to use getpwnam_r() on systems whose default
> compilation environment promises 100% POSIX-compatible getpwnam_r()
> implementations.
> 
> I also think that it is unsafe to look under the covers of compilation
> environments to find out if they implement standards compatibility
> by renaming functions (like some SUN features do) or if they
> implement standards compatibility by linking the program with a
> different library (like some SUN features do with -lxpg).
> 
> Unless there is a vendor statement that that overriding the default
> compilation environment with MUMBLE_POSIX_MUMBLE macros will never
> break programs that link in third-party code that is compiled within
> the default complation environment, I will not take responsibility
> for Postfix builds in non-default compilation environments.

I have no problem with this approach. Vendor distributions can patch
Postfix for non-default POSIX behaviour if they see fit. It would
be nice if it were not too painful to turn on the POSIX interface in
site-specific builds.

-- 
        Viktor.

Reply via email to