For the release v0.22.0 we had to work around an issue with libidn after upgrading to the latest PSL data.
The PSL now contains the Balinese domain ᬩᬮᬶ.id, which contains characters that are assigned since IDNA2008 (Unicode 5.1+. But libidn is IDNA2003 only (Unicode 3.2).
$ idn ᬩᬮᬶ.id
idn: idna_to_ascii_4z: String preparation failed
The work-around is tedious and needs to be amended for every new domain that contains characters not assigned in IDNA2003.
The sane(?) options to go forward are
- drop support for libidn entirely
- call
idna_to_ascii_8z() with flag IDNA_ALLOW_UNASSIGNED
The first option is maintainer-friendly, but user's may want to have the libidn option for whatever reason.
The second option may have side-effects, unpredictable for me atm.
For the release v0.22.0 we had to work around an issue with libidn after upgrading to the latest PSL data.
The PSL now contains the Balinese domain
ᬩᬮᬶ.id, which contains characters that are assigned since IDNA2008 (Unicode 5.1+. But libidn is IDNA2003 only (Unicode 3.2).The work-around is tedious and needs to be amended for every new domain that contains characters not assigned in IDNA2003.
The sane(?) options to go forward are
idna_to_ascii_8z()with flagIDNA_ALLOW_UNASSIGNEDThe first option is maintainer-friendly, but user's may want to have the libidn option for whatever reason.
The second option may have side-effects, unpredictable for me atm.