From fd0250869f7837e4a48d7e6f54cc0801ad3820e8 Mon Sep 17 00:00:00 2001 From: MonkeybreadSoftware Date: Sat, 13 Jul 2024 22:14:01 +0200 Subject: [PATCH] =?UTF-8?q?IDN:=20fix=20=C3=9F=20with=20AppleIDN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add flags UIDNA_NONTRANSITIONAL_TO_ASCII and UIDNA_NONTRANSITIONAL_TO_UNICODE to encode ß correctly. It fixes test 165. Reported-by: Viktor Szakats Bug: #14176 Closes #14179 --- lib/idn.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/idn.c b/lib/idn.c index e56970fbb6..8d6bfe7ce6 100644 --- a/lib/idn.c +++ b/lib/idn.c @@ -57,7 +57,8 @@ static CURLcode mac_idn_to_ascii(const char *in, char **out) { UErrorCode err = U_ZERO_ERROR; - UIDNA* idna = uidna_openUTS46(UIDNA_CHECK_BIDI, &err); + UIDNA* idna = uidna_openUTS46( + UIDNA_CHECK_BIDI|UIDNA_NONTRANSITIONAL_TO_ASCII, &err); if(U_FAILURE(err)) { return CURLE_OUT_OF_MEMORY; } @@ -83,7 +84,8 @@ static CURLcode mac_idn_to_ascii(const char *in, char **out) static CURLcode mac_ascii_to_idn(const char *in, char **out) { UErrorCode err = U_ZERO_ERROR; - UIDNA* idna = uidna_openUTS46(UIDNA_CHECK_BIDI, &err); + UIDNA* idna = uidna_openUTS46( + UIDNA_CHECK_BIDI|UIDNA_NONTRANSITIONAL_TO_UNICODE, &err); if(U_FAILURE(err)) { return CURLE_OUT_OF_MEMORY; }