Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> I've done a little bit of cleanup, but that code is still a mess...
>> someone should rewrite these routines.
> Yes, I looked at it and struggled to get both IPv4 and IPv6 cleanly
> working. Any ideas on how to improve it?
The major problem is the huge amount of #ifdefs, most of which seem to
come from the fact that we deal with a list of possible addresses in
one case and not the other. It would help a lot if we fixed things so
that we dealt with a list in either case --- only a one-element list,
if we don't have getaddrinfo, but getaddrinfo2 could hide that and
provide a uniform API regardless.
The SSL patch is contributing a lot of ugliness too. It would be more
functional as well as cleaner if someone rewrote that code to work in
non-blocking style (which AFAICT should be feasible with the openssl
API, it just wasn't done).
regards, tom lane