Fix bug #79112: IMAP can't find OpenSSL during configure

Remove the check of PHP_OPENSSL inside SETUP_OPENSSL. It's the
responsibility of the caller to determine whether they want to
enable openssl or not. This makes SSL detection in IMAP work,
which uses a different option.

Additionally also clarify that --with-openssl-dir cannot actually
be used to specify an OpenSSL directory -- these options just
serve as a way to enable OpenSSL in extensions without also
enabling the OpenSSL extension. They need to be renamed to
something clearer in master.

Closes GH-5091.
This commit is contained in:
Nikita Popov 2020-01-17 11:22:32 +01:00
parent b6506ab32a
commit 74380465ec
5 changed files with 12 additions and 20 deletions

4
NEWS
View File

@ -9,6 +9,10 @@ PHP NEWS
- FFI:
. Fixed bug #79096 (FFI Struct Segfault). (cmb)
- IMAP:
. Fixed bug #79112 (IMAP extension can't find OpenSSL libraries at configure
time). (Nikita)
- MySQLnd:
. Fixed bug #79084 (mysqlnd may fetch wrong column indexes with MYSQLI_BOTH).
(cmb)

View File

@ -1917,13 +1917,7 @@ dnl
AC_DEFUN([PHP_SETUP_OPENSSL],[
found_openssl=no
dnl Empty variable means 'no'.
test -z "$PHP_OPENSSL" && PHP_OPENSSL=no
test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no
if test "$PHP_OPENSSL" != "no"; then
PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.1], [found_openssl=yes])
fi
PKG_CHECK_MODULES([OPENSSL], [openssl >= 1.0.1], [found_openssl=yes])
if test "$found_openssl" = "yes"; then
PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1)

View File

@ -3,10 +3,11 @@ PHP_ARG_ENABLE([ftp],
[AS_HELP_STRING([--enable-ftp],
[Enable FTP support])])
dnl TODO: Rename this option for master.
PHP_ARG_WITH([openssl-dir],
[OpenSSL dir for FTP],
[AS_HELP_STRING([[--with-openssl-dir[=DIR]]],
[FTP: openssl install prefix])],
[whether to explicitly enable FTP SSL support],
[AS_HELP_STRING([[--with-openssl-dir]],
[FTP: Whether to enable FTP SSL support without ext/openssl])],
[no],
[no])

View File

@ -73,7 +73,7 @@ AC_DEFUN([PHP_IMAP_SSL_CHK], [
], [
AC_MSG_ERROR([OpenSSL libraries not found.
Check the path given to --with-openssl-dir and output in config.log)
Check whether openssl is on your PKG_CONFIG_PATH and the output in config.log)
])
])
elif test -f "$IMAP_INC_DIR/linkage.c"; then
@ -100,8 +100,8 @@ PHP_ARG_WITH([kerberos],
PHP_ARG_WITH([imap-ssl],
[for IMAP SSL support],
[AS_HELP_STRING([[--with-imap-ssl[=DIR]]],
[IMAP: Include SSL support. DIR is the OpenSSL install prefix])],
[AS_HELP_STRING([[--with-imap-ssl]],
[IMAP: Include SSL support])],
[no],
[no])

View File

@ -3,13 +3,6 @@ PHP_ARG_WITH([snmp],
[AS_HELP_STRING([[--with-snmp[=DIR]]],
[Include SNMP support])])
PHP_ARG_WITH([openssl-dir],
[OpenSSL dir for SNMP],
[AS_HELP_STRING([[--with-openssl-dir[=DIR]]],
[SNMP: openssl install prefix])],
[no],
[no])
if test "$PHP_SNMP" != "no"; then
if test "$PHP_SNMP" = "yes"; then