Re: BUG #4869: No proper initialization of OpenSSL-Engine in libpq
От | Tom Lane |
---|---|
Тема | Re: BUG #4869: No proper initialization of OpenSSL-Engine in libpq |
Дата | |
Msg-id | 19731.1245688086@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: BUG #4869: No proper initialization of OpenSSL-Engine in libpq (Magnus Hagander <magnus@hagander.net>) |
Ответы |
Re: BUG #4869: No proper initialization of OpenSSL-Engine
in libpq
|
Список | pgsql-bugs |
Magnus Hagander <magnus@hagander.net> writes: > On 22 jun 2009, at 18.05, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> I'm also a bit concerned about wrapping a struct >> field inside such an #if, as that's likely to cause hard-to-debug >> problems if two compilations read libpq-int.h with different #define >> environments. > Since it's a pointer we could just declare it as void, no? Or even #if > between void and "real" pointer. Wouldn't that be safe? Yeah, on reflection I think it'd be safe to do #if (SSLEAY_VERSION_NUMBER >= 0x00907000L) && !defined(OPENSSL_NO_ENGINE) ENGINE *ptr; #else /* dummy field to keep struct the same if OpenSSL version changes */ void *ptr; #endif (probably that #if should get wrapped up in an additional #define instead of being duplicated in several places...) > (we already have a similar issue with the whole #ifdef use_ssl, don't > we? But having one isn't an excuse to create another of courseâ¦) That's controlled by an entry in pg_config.h, though, and won't change if someone happens to update their openssl install and then recompile only parts of libpq. regards, tom lane
В списке pgsql-bugs по дате отправления: