Re: be-secure-gssapi.c and auth.c with setenv() not compatible on Windows

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-05-28T15:37:22Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:
> We can do two things here:
> 1) Switch be-secure-gssapi.c and auth.c to use putenv().
> 2) Backport into 12 and 13 the fallback implementation of setenv
> introduced in 7ca37fb, and keep be-secure-gssapi.c as they are now.

There's a lot of value in keeping the branches looking alike.
On the other hand, 7ca37fb hasn't survived contact with the
public yet, so I'm a bit nervous about it.

It's not clear to me how much of 7ca37fb you're envisioning
back-patching in (2).  I think it'd be best to back-patch
only the addition of pgwin32_setenv, and then let the gssapi
code use it.  In that way, if there's anything wrong with
pgwin32_setenv, we're only breaking code that never worked
on Windows before anyway.

			regards, tom lane



Commits

  1. Add fallback implementation for setenv()

  2. Use setenv() in preference to putenv().