mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
ext/ldap: [RFC] Deprecate build with Oracle Instance Client version. (#19809)
This commit is contained in:
11
UPGRADING
11
UPGRADING
@@ -438,6 +438,17 @@ PHP 8.5 UPGRADE NOTES
|
|||||||
by using the intl.use_exceptions INI setting.
|
by using the intl.use_exceptions INI setting.
|
||||||
RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_intlerror_level_ini_setting
|
RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_intlerror_level_ini_setting
|
||||||
|
|
||||||
|
- LDAP:
|
||||||
|
- Specific Oracle Instant Client calls and constants have been deprecated.
|
||||||
|
List of affected calls:
|
||||||
|
ldap_connect with wallet support()
|
||||||
|
ldap_connect_wallet()
|
||||||
|
List of affected constants:
|
||||||
|
GSLC_SSL_NO_UATH
|
||||||
|
GSLC_SSL_ONEWAY_UATH
|
||||||
|
GSLC_SSL_TWOWAY_UATH
|
||||||
|
https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_building_ext_ldap_against_oracle_ldap
|
||||||
|
|
||||||
- MySQLi:
|
- MySQLi:
|
||||||
. The mysqli_execute() alias function has been deprecated.
|
. The mysqli_execute() alias function has been deprecated.
|
||||||
Use mysqli_stmt_execute() instead.
|
Use mysqli_stmt_execute() instead.
|
||||||
|
|||||||
@@ -91,14 +91,17 @@ if test "$PHP_LDAP" != "no"; then
|
|||||||
elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.12.1 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME.12.1; then
|
elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.12.1 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME.12.1; then
|
||||||
PHP_ADD_LIBRARY_WITH_PATH([clntsh], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
|
PHP_ADD_LIBRARY_WITH_PATH([clntsh], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
|
||||||
AC_DEFINE([HAVE_ORALDAP], [1])
|
AC_DEFINE([HAVE_ORALDAP], [1])
|
||||||
|
AC_MSG_WARN([Build with Oracle Instant Client is deprecated as of PHP 8.5])
|
||||||
|
|
||||||
elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.11.1 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then
|
elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME.11.1 || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME.11.1; then
|
||||||
PHP_ADD_LIBRARY_WITH_PATH([clntsh], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
|
PHP_ADD_LIBRARY_WITH_PATH([clntsh], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
|
||||||
AC_DEFINE([HAVE_ORALDAP], [1])
|
AC_DEFINE([HAVE_ORALDAP], [1])
|
||||||
|
AC_MSG_WARN([Build with Oracle Instant Client is deprecated as of PHP 8.5])
|
||||||
|
|
||||||
elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME; then
|
elif test -f $LDAP_LIBDIR/libclntsh.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/libclntsh.$SHLIB_SUFFIX_NAME; then
|
||||||
PHP_ADD_LIBRARY_WITH_PATH([clntsh], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
|
PHP_ADD_LIBRARY_WITH_PATH([clntsh], [$LDAP_LIBDIR], [LDAP_SHARED_LIBADD])
|
||||||
AC_DEFINE([HAVE_ORALDAP], [1])
|
AC_DEFINE([HAVE_ORALDAP], [1])
|
||||||
|
AC_MSG_WARN([Build with Oracle Instant Client is deprecated as of PHP 8.5])
|
||||||
|
|
||||||
else
|
else
|
||||||
AC_MSG_ERROR([Cannot find ldap libraries in $LDAP_LIBDIR.])
|
AC_MSG_ERROR([Cannot find ldap libraries in $LDAP_LIBDIR.])
|
||||||
|
|||||||
@@ -973,8 +973,7 @@ PHP_FUNCTION(ldap_connect)
|
|||||||
LDAP *ldap = NULL;
|
LDAP *ldap = NULL;
|
||||||
|
|
||||||
if (ZEND_NUM_ARGS() > 2) {
|
if (ZEND_NUM_ARGS() > 2) {
|
||||||
zend_error(E_DEPRECATED, "Calling ldap_connect() with Oracle-specific arguments is deprecated, "
|
zend_error(E_DEPRECATED, "Calling ldap_connect() with Oracle-specific arguments is deprecated");
|
||||||
"use ldap_connect_wallet() instead");
|
|
||||||
} else if (ZEND_NUM_ARGS() == 2) {
|
} else if (ZEND_NUM_ARGS() == 2) {
|
||||||
zend_error(E_DEPRECATED, "Usage of ldap_connect with two arguments is deprecated");
|
zend_error(E_DEPRECATED, "Usage of ldap_connect with two arguments is deprecated");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,16 +208,19 @@ namespace {
|
|||||||
* @var int
|
* @var int
|
||||||
* @cvalue GSLC_SSL_NO_AUTH
|
* @cvalue GSLC_SSL_NO_AUTH
|
||||||
*/
|
*/
|
||||||
|
#[\Deprecated(since: "8.5", message: "as it is broken since PHP 8.0")]
|
||||||
const GSLC_SSL_NO_AUTH = UNKNOWN;
|
const GSLC_SSL_NO_AUTH = UNKNOWN;
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
* @cvalue GSLC_SSL_ONEWAY_AUTH
|
* @cvalue GSLC_SSL_ONEWAY_AUTH
|
||||||
*/
|
*/
|
||||||
|
#[\Deprecated(since: "8.5", message: "as it is broken since PHP 8.0")]
|
||||||
const GSLC_SSL_ONEWAY_AUTH = UNKNOWN;
|
const GSLC_SSL_ONEWAY_AUTH = UNKNOWN;
|
||||||
/**
|
/**
|
||||||
* @var int
|
* @var int
|
||||||
* @cvalue GSLC_SSL_TWOWAY_AUTH
|
* @cvalue GSLC_SSL_TWOWAY_AUTH
|
||||||
*/
|
*/
|
||||||
|
#[\Deprecated(since: "8.5", message: "as it is broken since PHP 8.0")]
|
||||||
const GSLC_SSL_TWOWAY_AUTH = UNKNOWN;
|
const GSLC_SSL_TWOWAY_AUTH = UNKNOWN;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -624,8 +627,10 @@ namespace {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ORALDAP
|
#ifdef HAVE_ORALDAP
|
||||||
|
#[\Deprecated(since: "8.5", message: "as it is broken since PHP 8.0")]
|
||||||
function ldap_connect(?string $uri = null, int $port = 389, string $wallet = UNKNOWN, #[\SensitiveParameter] string $password = UNKNOWN, int $auth_mode = GSLC_SSL_NO_AUTH): LDAP\Connection|false {}
|
function ldap_connect(?string $uri = null, int $port = 389, string $wallet = UNKNOWN, #[\SensitiveParameter] string $password = UNKNOWN, int $auth_mode = GSLC_SSL_NO_AUTH): LDAP\Connection|false {}
|
||||||
#ifdef LDAP_API_FEATURE_X_OPENLDAP
|
#ifdef LDAP_API_FEATURE_X_OPENLDAP
|
||||||
|
#[\Deprecated(since: "8.5", message: "as it is broken since PHP 8.0")]
|
||||||
function ldap_connect_wallet(?string $uri = null, string $wallet, #[\SensitiveParameter] string $password, int $auth_mode = GSLC_SSL_NO_AUTH): LDAP\Connection|false {}
|
function ldap_connect_wallet(?string $uri = null, string $wallet, #[\SensitiveParameter] string $password, int $auth_mode = GSLC_SSL_NO_AUTH): LDAP\Connection|false {}
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
|
|||||||
49
ext/ldap/ldap_arginfo.h
generated
49
ext/ldap/ldap_arginfo.h
generated
@@ -1,5 +1,5 @@
|
|||||||
/* This is a generated file, edit the .stub.php file instead.
|
/* This is a generated file, edit the .stub.php file instead.
|
||||||
* Stub hash: edd31d6c19c01bee6ddb04c747640c97f0bacba6 */
|
* Stub hash: 9e47a0d85336f0e149abbdf56468513c5d31780f */
|
||||||
|
|
||||||
#if defined(HAVE_ORALDAP)
|
#if defined(HAVE_ORALDAP)
|
||||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE)
|
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE)
|
||||||
@@ -434,10 +434,10 @@ ZEND_FUNCTION(ldap_parse_exop);
|
|||||||
|
|
||||||
static const zend_function_entry ext_functions[] = {
|
static const zend_function_entry ext_functions[] = {
|
||||||
#if defined(HAVE_ORALDAP)
|
#if defined(HAVE_ORALDAP)
|
||||||
ZEND_FE(ldap_connect, arginfo_ldap_connect)
|
ZEND_RAW_FENTRY("ldap_connect", zif_ldap_connect, arginfo_ldap_connect, ZEND_ACC_DEPRECATED, NULL, NULL)
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
|
#if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
|
||||||
ZEND_FE(ldap_connect_wallet, arginfo_ldap_connect_wallet)
|
ZEND_RAW_FENTRY("ldap_connect_wallet", zif_ldap_connect_wallet, arginfo_ldap_connect_wallet, ZEND_ACC_DEPRECATED, NULL, NULL)
|
||||||
#endif
|
#endif
|
||||||
#if !(defined(HAVE_ORALDAP))
|
#if !(defined(HAVE_ORALDAP))
|
||||||
ZEND_FE(ldap_connect, arginfo_ldap_connect)
|
ZEND_FE(ldap_connect, arginfo_ldap_connect)
|
||||||
@@ -593,9 +593,9 @@ static void register_ldap_symbols(int module_number)
|
|||||||
REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_USERNAME", LDAP_OPT_X_SASL_USERNAME, CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_USERNAME", LDAP_OPT_X_SASL_USERNAME, CONST_PERSISTENT);
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ORALDAP)
|
#if defined(HAVE_ORALDAP)
|
||||||
REGISTER_LONG_CONSTANT("GSLC_SSL_NO_AUTH", GSLC_SSL_NO_AUTH, CONST_PERSISTENT);
|
zend_constant *const_GSLC_SSL_NO_AUTH = REGISTER_LONG_CONSTANT("GSLC_SSL_NO_AUTH", GSLC_SSL_NO_AUTH, CONST_PERSISTENT | CONST_DEPRECATED);
|
||||||
REGISTER_LONG_CONSTANT("GSLC_SSL_ONEWAY_AUTH", GSLC_SSL_ONEWAY_AUTH, CONST_PERSISTENT);
|
zend_constant *const_GSLC_SSL_ONEWAY_AUTH = REGISTER_LONG_CONSTANT("GSLC_SSL_ONEWAY_AUTH", GSLC_SSL_ONEWAY_AUTH, CONST_PERSISTENT | CONST_DEPRECATED);
|
||||||
REGISTER_LONG_CONSTANT("GSLC_SSL_TWOWAY_AUTH", GSLC_SSL_TWOWAY_AUTH, CONST_PERSISTENT);
|
zend_constant *const_GSLC_SSL_TWOWAY_AUTH = REGISTER_LONG_CONSTANT("GSLC_SSL_TWOWAY_AUTH", GSLC_SSL_TWOWAY_AUTH, CONST_PERSISTENT | CONST_DEPRECATED);
|
||||||
#endif
|
#endif
|
||||||
#if (LDAP_API_VERSION > 2000)
|
#if (LDAP_API_VERSION > 2000)
|
||||||
REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_REQUIRE_CERT", LDAP_OPT_X_TLS_REQUIRE_CERT, CONST_PERSISTENT);
|
REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_REQUIRE_CERT", LDAP_OPT_X_TLS_REQUIRE_CERT, CONST_PERSISTENT);
|
||||||
@@ -709,10 +709,24 @@ static void register_ldap_symbols(int module_number)
|
|||||||
|
|
||||||
#if defined(HAVE_ORALDAP)
|
#if defined(HAVE_ORALDAP)
|
||||||
|
|
||||||
|
zend_attribute *attribute_Deprecated_func_ldap_connect_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect", sizeof("ldap_connect") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_func_ldap_connect_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_5));
|
||||||
|
attribute_Deprecated_func_ldap_connect_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
|
||||||
|
zend_string *attribute_Deprecated_func_ldap_connect_0_arg1_str = zend_string_init("as it is broken since PHP 8.0", strlen("as it is broken since PHP 8.0"), 1);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_func_ldap_connect_0->args[1].value, attribute_Deprecated_func_ldap_connect_0_arg1_str);
|
||||||
|
attribute_Deprecated_func_ldap_connect_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
|
||||||
|
|
||||||
zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect", sizeof("ldap_connect") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
|
zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect", sizeof("ldap_connect") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
|
#if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
|
||||||
|
|
||||||
|
zend_attribute *attribute_Deprecated_func_ldap_connect_wallet_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect_wallet", sizeof("ldap_connect_wallet") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_func_ldap_connect_wallet_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_5));
|
||||||
|
attribute_Deprecated_func_ldap_connect_wallet_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
|
||||||
|
zend_string *attribute_Deprecated_func_ldap_connect_wallet_0_arg1_str = zend_string_init("as it is broken since PHP 8.0", strlen("as it is broken since PHP 8.0"), 1);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_func_ldap_connect_wallet_0->args[1].value, attribute_Deprecated_func_ldap_connect_wallet_0_arg1_str);
|
||||||
|
attribute_Deprecated_func_ldap_connect_wallet_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
|
||||||
|
|
||||||
zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect_wallet", sizeof("ldap_connect_wallet") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
|
zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect_wallet", sizeof("ldap_connect_wallet") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -729,6 +743,29 @@ static void register_ldap_symbols(int module_number)
|
|||||||
|
|
||||||
zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_exop_passwd", sizeof("ldap_exop_passwd") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
|
zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_exop_passwd", sizeof("ldap_exop_passwd") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(HAVE_ORALDAP)
|
||||||
|
|
||||||
|
zend_attribute *attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0 = zend_add_global_constant_attribute(const_GSLC_SSL_NO_AUTH, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_5));
|
||||||
|
attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
|
||||||
|
zend_string *attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0_arg1_str = zend_string_init("as it is broken since PHP 8.0", strlen("as it is broken since PHP 8.0"), 1);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0->args[1].value, attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0_arg1_str);
|
||||||
|
attribute_Deprecated_const_GSLC_SSL_NO_AUTH_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
|
||||||
|
|
||||||
|
zend_attribute *attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0 = zend_add_global_constant_attribute(const_GSLC_SSL_ONEWAY_AUTH, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_5));
|
||||||
|
attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
|
||||||
|
zend_string *attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0_arg1_str = zend_string_init("as it is broken since PHP 8.0", strlen("as it is broken since PHP 8.0"), 1);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0->args[1].value, attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0_arg1_str);
|
||||||
|
attribute_Deprecated_const_GSLC_SSL_ONEWAY_AUTH_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
|
||||||
|
|
||||||
|
zend_attribute *attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0 = zend_add_global_constant_attribute(const_GSLC_SSL_TWOWAY_AUTH, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_5));
|
||||||
|
attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
|
||||||
|
zend_string *attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0_arg1_str = zend_string_init("as it is broken since PHP 8.0", strlen("as it is broken since PHP 8.0"), 1);
|
||||||
|
ZVAL_STR(&attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0->args[1].value, attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0_arg1_str);
|
||||||
|
attribute_Deprecated_const_GSLC_SSL_TWOWAY_AUTH_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static zend_class_entry *register_class_LDAP_Connection(void)
|
static zend_class_entry *register_class_LDAP_Connection(void)
|
||||||
|
|||||||
Reference in New Issue
Block a user