Re: libpq's multi-threaded SSL callback handling is busted

From: Jan Urbański <wulczer(at)wulczer(dot)org>
To: Peter Eisentraut <peter_e(at)gmx(dot)net>
Cc: Andres Freund <andres(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: libpq's multi-threaded SSL callback handling is busted
Date: 2015-04-08 09:26:19
Message-ID: 87oamzufv8.fsf@wulczer.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Peter Eisentraut writes:

> On 4/3/15 7:44 AM, Jan Urbański wrote:
>> To reiterate: I recognise that not handling the callbacks is not the right
>> answer. But not stomping on callbacks others might have set sounds like a
>> minimal and safe improvement.
>
> I think your patch is okay in that it is not a good idea to overwrite or
> unset someone else's callbacks. But we shouldn't mistake that for
> fixing the underlying problem. The only reason this patch appears to
> fix the presented test cases is because other OpenSSL users are also
> misbehaving and/or the OpenSSL interfaces are so stupid that they cannot
> be worked with reasonably.

Yeah, the underlying problem is OpenSSL's idea of handling threads by limiting
itself to providing a function pointer. That's what we have to work with,
sadly.

Faced by such madness, libpq should try to do the sanest possible thing, at
least then if it breaks it's not our fault.

Cheers,
Jan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2015-04-08 09:44:26 Re: Support UPDATE table SET(*)=...
Previous Message Pavel Stehule 2015-04-08 07:54:59 Re: [PATCH] Add transforms feature