summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rw-r--r--ext/intl/idn/idn.c20
2 files changed, 5 insertions, 19 deletions
diff --git a/NEWS b/NEWS
index 6248adfc15..07bd89152a 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.3.10
+- Intl:
+ . Ensure IDNA2003 rules are used with idn_to_ascii() and idn_to_utf8()
+ when requested. (Sara)
+
29 Aug 2019, PHP 7.3.9
- Core:
diff --git a/ext/intl/idn/idn.c b/ext/intl/idn/idn.c
index bd87afcd71..fc83f7921f 100644
--- a/ext/intl/idn/idn.c
+++ b/ext/intl/idn/idn.c
@@ -224,34 +224,16 @@ static void php_intl_idn_to(INTERNAL_FUNCTION_PARAMETERS,
}
RETURN_FALSE;
} else {
+ UParseError parse_error;
UChar converted[MAXPATHLEN];
int32_t converted_ret_len;
status = U_ZERO_ERROR;
-
-#if U_ICU_VERSION_MAJOR_NUM >= 55
- UIDNAInfo info = UIDNA_INFO_INITIALIZER;
- UIDNA *idna = uidna_openUTS46((int32_t)option, &status);
-
- if (U_FAILURE(status)) {
- intl_error_set( NULL, status, "idn_to_ascii: failed to create an UIDNA instance", 0 );
- RETURN_FALSE;
- }
-
- if (mode == INTL_IDN_TO_ASCII) {
- converted_ret_len = uidna_nameToASCII(idna, ustring, ustring_len, converted, MAXPATHLEN, &info, &status);
- } else {
- converted_ret_len = uidna_nameToUnicode(idna, ustring, ustring_len, converted, MAXPATHLEN, &info, &status);
- }
- uidna_close(idna);
-#else
- UParseError parse_error;
if (mode == INTL_IDN_TO_ASCII) {
converted_ret_len = uidna_IDNToASCII(ustring, ustring_len, converted, MAXPATHLEN, (int32_t)option, &parse_error, &status);
} else {
converted_ret_len = uidna_IDNToUnicode(ustring, ustring_len, converted, MAXPATHLEN, (int32_t)option, &parse_error, &status);
}
-#endif
efree(ustring);
if (U_FAILURE(status)) {