Skip to content

Commit 48040cf

Browse files
viestnikic
authored andcommitted
Remove deprecated getaddrinfo flags
The AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES have been deprecated by glibcs, and PHP 7.4 follows this deprecation. This removes the offending flags for PHP 8.0.
1 parent 91f4e2e commit 48040cf

File tree

3 files changed

+5
-30
lines changed

3 files changed

+5
-30
lines changed

UPGRADING

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ PHP 8.0 UPGRADE NOTES
178178
ReflectionFunction::invoke($arg = null, ...$args)
179179
ReflectionMethod::invoke($object, $arg = null, ...$args)
180180

181+
- Socket:
182+
. The deprecated AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
183+
flags for socket_addrinfo_lookup() have been removed.
184+
181185
- SPL:
182186
. SplFileObject::fgetss() has been removed.
183187
. SplHeap::compare($a, $b) now specifies a method signature. Inheriting

ext/sockets/sockets.c

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -850,8 +850,6 @@ static PHP_MINIT_FUNCTION(sockets)
850850
#if HAVE_AI_IDN
851851
REGISTER_LONG_CONSTANT("AI_IDN", AI_IDN, CONST_CS | CONST_PERSISTENT);
852852
REGISTER_LONG_CONSTANT("AI_CANONIDN", AI_CANONIDN, CONST_CS | CONST_PERSISTENT);
853-
REGISTER_LONG_CONSTANT("AI_IDN_ALLOW_UNASSIGNED", AI_IDN_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT);
854-
REGISTER_LONG_CONSTANT("AI_IDN_USE_STD3_ASCII_RULES", AI_IDN_USE_STD3_ASCII_RULES, CONST_CS | CONST_PERSISTENT);
855853
#endif
856854
#ifdef AI_NUMERICSERV
857855
REGISTER_LONG_CONSTANT("AI_NUMERICSERV", AI_NUMERICSERV, CONST_CS | CONST_PERSISTENT);
@@ -2573,14 +2571,7 @@ PHP_FUNCTION(socket_addrinfo_lookup)
25732571
ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(zhints), key, hint) {
25742572
if (key) {
25752573
if (zend_string_equals_literal(key, "ai_flags")) {
2576-
zend_long flags = zval_get_long(hint);
2577-
#if HAVE_AI_IDN
2578-
if (flags & (AI_IDN_ALLOW_UNASSIGNED | AI_IDN_USE_STD3_ASCII_RULES)) {
2579-
php_error_docref(NULL, E_DEPRECATED,
2580-
"AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated");
2581-
}
2582-
#endif
2583-
hints.ai_flags = flags;
2574+
hints.ai_flags = zval_get_long(hint);
25842575
} else if (zend_string_equals_literal(key, "ai_socktype")) {
25852576
hints.ai_socktype = zval_get_long(hint);
25862577
} else if (zend_string_equals_literal(key, "ai_protocol")) {

ext/sockets/tests/ai_idn_deprecation.phpt

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)