Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for IDNs in HOSTS files. #673

Merged
merged 1 commit into from
Jan 27, 2020
Merged

Add support for IDNs in HOSTS files. #673

merged 1 commit into from
Jan 27, 2020

Conversation

DL6ER
Copy link
Member

@DL6ER DL6ER commented Jan 8, 2020

By submitting this pull request, I confirm the following (please check boxes, eg [X]) Failure to fill the template will close your PR:

Please submit all pull requests against the development branch. Failure to do so will delay or deny your request

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.

How familiar are you with the codebase?:

10


Use libidn. This will improve support for internationalized domain names (IDNs) by adding an automated conversion from locale's encoding to a legit ASCII domain name string. We do not use libidn2 as there are some bug reports and we found issues trying to compile statically against libidn2. Additionally, there seems to be no clear advantage compared to using libidn.

For this to work, we need to add libidn11-dev to our CI containers. Until then, this PR stays marked as [WIP]. Note that we have not added this before v5.0 as we were still loading the domains from HOSTS files. The automated conversion would have slowed down the initial startup of FTL by about one order of magnitude which would have been unacceptable on low-end hardware (one minute or more). It was always possible to enable IDN when compiling FTL from source as we described what needs to be done in the Makefile.

…mes (IDNs).

Signed-off-by: DL6ER <dl6er@dl6er.de>
@dschaper
Copy link
Member

This is waiting still on pi-hole/docker-base-images#13 ?

@DL6ER
Copy link
Member Author

DL6ER commented Jan 18, 2020

Yes. The CI jobs need to be restarted when the containers can build IDN stuff.

@dschaper
Copy link
Member

Okay, I promise this will be done this weekend.

@dschaper
Copy link
Member

Okay, I promise this will be done this weekend.

Well, had a few distractions this weekend so give me another day please.

@dschaper
Copy link
Member

Containers should all be updated. Failed build on arm looks like it's the right result.

@dschaper dschaper removed the WIP label Jan 26, 2020
@dschaper
Copy link
Member

Winner winner Chicken Dinner.

@DL6ER DL6ER merged commit fb542a7 into development Jan 27, 2020
@DL6ER DL6ER deleted the new/IDN branch January 27, 2020 21:21
@DL6ER
Copy link
Member Author

DL6ER commented Jan 27, 2020

Note that this was intentionally sent to development as this does not need to be shipped with v5.0. More experiments are needed and international domain names should not be all that common in HOSTS files.

@DL6ER DL6ER mentioned this pull request Jul 5, 2020
@pralor-bot
Copy link

This pull request has been mentioned on Pi-hole Userspace. There might be relevant details there:

https://discourse.pi-hole.net/t/pi-hole-5-1-released/35577/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants