Detect presence of SSL_get_current_compression

Apparently we still build against OpenSSL so old that it doesn't
have this function, so add an autoconf check for it to make the
buildfarm happy. If the function doesn't exist, always return
that compression is disabled, since presumably the actual
compression functionality is always missing.

For now, hardcode the function as present on MSVC, since we should
hopefully be well beyond those old versions on that platform.
pull/14/head
Magnus Hagander 11 years ago
parent f9ddcf7543
commit c9e1ad7faf
  1. 11
      configure
  2. 1
      configure.in
  3. 3
      src/include/pg_config.h.in
  4. 3
      src/include/pg_config.h.win32
  5. 4
      src/include/port.h

11
configure vendored

@ -8509,6 +8509,17 @@ else
as_fn_error $? "library 'ssl' is required for OpenSSL" "$LINENO" 5
fi
for ac_func in SSL_get_current_compression
do :
ac_fn_c_check_func "$LINENO" "SSL_get_current_compression" "ac_cv_func_SSL_get_current_compression"
if test "x$ac_cv_func_SSL_get_current_compression" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SSL_GET_CURRENT_COMPRESSION 1
_ACEOF
fi
done
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing CRYPTO_new_ex_data" >&5
$as_echo_n "checking for library containing CRYPTO_new_ex_data... " >&6; }

@ -950,6 +950,7 @@ if test "$with_openssl" = yes ; then
if test "$PORTNAME" != "win32"; then
AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
AC_CHECK_LIB(ssl, SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
AC_CHECK_FUNCS([SSL_get_current_compression])
else
AC_SEARCH_LIBS(CRYPTO_new_ex_data, eay32 crypto, [], [AC_MSG_ERROR([library 'eay32' or 'crypto' is required for OpenSSL])])
AC_SEARCH_LIBS(SSL_library_init, ssleay32 ssl, [], [AC_MSG_ERROR([library 'ssleay32' or 'ssl' is required for OpenSSL])])

@ -430,6 +430,9 @@
/* Define to 1 if you have the `srandom' function. */
#undef HAVE_SRANDOM
/* Define to 1 if you have the `SSL_get_current_compression' function. */
#undef HAVE_SSL_GET_CURRENT_COMPRESSION
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

@ -337,6 +337,9 @@
/* Define to 1 if you have the `srandom' function. */
/* #undef HAVE_SRANDOM */
/* Define to 1 if you have the `SSL_get_current_compression' function. */
#define HAVE_SSL_GET_CURRENT_COMPRESSION 1
/* Define to 1 if you have the <stdint.h> header file. */
/* #undef HAVE_STDINT_H */

@ -420,6 +420,10 @@ extern void unsetenv(const char *name);
extern void srandom(unsigned int seed);
#endif
#ifndef HAVE_SSL_GET_CURRENT_COMPRESSION
#define SSL_get_current_compression(x) 0
#endif
/* thread.h */
extern char *pqStrerror(int errnum, char *strerrbuf, size_t buflen);

Loading…
Cancel
Save