]> granicus.if.org Git - php/commitdiff
Remove deprecated getaddrinfo flags
authorviest <dev@service.viest.me>
Sat, 3 Aug 2019 15:05:56 +0000 (23:05 +0800)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 26 Aug 2019 09:45:31 +0000 (11:45 +0200)
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.

UPGRADING
ext/sockets/sockets.c
ext/sockets/tests/ai_idn_deprecation.phpt [deleted file]

index 6f6d8a57a5c8c93ca99c38542f239f02a6192e52..a398a61cc6fd8c33a9facfb4a529e42411422dfa 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -178,6 +178,10 @@ PHP 8.0 UPGRADE NOTES
         ReflectionFunction::invoke($arg = null, ...$args)
         ReflectionMethod::invoke($object, $arg = null, ...$args)
 
+- Socket:
+  . The deprecated AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
+    flags for socket_addrinfo_lookup() have been removed.
+
 - SPL:
   . SplFileObject::fgetss() has been removed.
   . SplHeap::compare($a, $b) now specifies a method signature. Inheriting
index 21538e92e10f9104fd89e178907ad8ed2d6ced62..e62bb88ef76a02ca4782bf87441e0c861ddd0bea 100644 (file)
@@ -850,8 +850,6 @@ static PHP_MINIT_FUNCTION(sockets)
 #if HAVE_AI_IDN
        REGISTER_LONG_CONSTANT("AI_IDN",                        AI_IDN,                         CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("AI_CANONIDN",           AI_CANONIDN,            CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("AI_IDN_ALLOW_UNASSIGNED",               AI_IDN_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("AI_IDN_USE_STD3_ASCII_RULES",   AI_IDN_USE_STD3_ASCII_RULES, CONST_CS | CONST_PERSISTENT);
 #endif
 #ifdef AI_NUMERICSERV
        REGISTER_LONG_CONSTANT("AI_NUMERICSERV",        AI_NUMERICSERV,         CONST_CS | CONST_PERSISTENT);
@@ -2573,14 +2571,7 @@ PHP_FUNCTION(socket_addrinfo_lookup)
                ZEND_HASH_FOREACH_STR_KEY_VAL(Z_ARRVAL_P(zhints), key, hint) {
                        if (key) {
                                if (zend_string_equals_literal(key, "ai_flags")) {
-                                       zend_long flags = zval_get_long(hint);
-#if HAVE_AI_IDN
-                                       if (flags & (AI_IDN_ALLOW_UNASSIGNED | AI_IDN_USE_STD3_ASCII_RULES)) {
-                                               php_error_docref(NULL, E_DEPRECATED,
-                                                       "AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated");
-                                       }
-#endif
-                                       hints.ai_flags = flags;
+                                       hints.ai_flags = zval_get_long(hint);
                                } else if (zend_string_equals_literal(key, "ai_socktype")) {
                                        hints.ai_socktype = zval_get_long(hint);
                                } else if (zend_string_equals_literal(key, "ai_protocol")) {
diff --git a/ext/sockets/tests/ai_idn_deprecation.phpt b/ext/sockets/tests/ai_idn_deprecation.phpt
deleted file mode 100644 (file)
index 02a6965..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated
---SKIPIF--
-<?php
-if (!extension_loaded('sockets')) die('skip The sockets extension is not loaded');
-if (!defined('AI_IDN_ALLOW_UNASSIGNED')) die('skip AI_IDN_ALLOW_UNASSIGNED not defined');
-?>
---FILE--
-<?php
-$addrinfo = socket_addrinfo_lookup('127.0.0.1', 2000, array(
-    'ai_family' => AF_INET,
-    'ai_socktype' => SOCK_DGRAM,
-    'ai_flags' => AI_IDN_ALLOW_UNASSIGNED,
-));
-var_dump(socket_addrinfo_connect($addrinfo[0]));
-echo "Done";
---EXPECTF--
-Deprecated: socket_addrinfo_lookup(): AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES are deprecated in %s on line %d
-resource(%d) of type (Socket)
-Done