Bug 1910971 - Missing IDNA 2008 support in lynx
Summary: Missing IDNA 2008 support in lynx
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: lynx
Version: 34
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kamil Dudka
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2040124
TreeView+ depends on / blocked
 
Reported: 2020-12-26 15:35 UTC by Robert Scheck
Modified: 2022-03-21 15:38 UTC (History)
3 users (show)

Fixed In Version: lynx-2.9.0-dev.10.1.fc36
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-01-10 08:22:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Robert Scheck 2020-12-26 15:35:52 UTC
Description of problem:
Unfortunately there doesn't seem to be IDNA 2008 support in lynx (and even the available IDNA 2003 support doesn't currently seem to be enabled during packaging).

Version-Release number of selected component (if applicable):
lynx-2.8.9-9.fc33

How reproducible:
Everytime, see above and below.

Steps to Reproduce:
1. lynx https://www.straße.de/
2. lynx https://www.xn--strae-oqa.de/
3. Both websites should provide the same result.

Actual results:
Missing IDNA 2008 support in lynx

Expected results:
Full IDNA 2008 support in lynx

Comment 1 Robert Scheck 2020-12-26 15:54:26 UTC
Patch proposal at https://src.fedoraproject.org/rpms/lynx/pull-request/2

Comment 2 Kamil Dudka 2020-12-30 10:17:52 UTC
The question is whether IDNA support is really needed in lynx.  I would prefer to keep the list of run-time dependencies minimal for lynx.  If one needs a browser with a lot of features (and dependencies), we already provide elinks.

Comment 3 Robert Scheck 2020-12-30 12:21:27 UTC
Can you actually have a system without libidn2? Based on a quick check here: gnutls depends on libidn2 (gnutls is required by NetworkManager, systemd, glib2), systemd, libcurl and iputils depend directly on libidn2. On the other side, some of us use lynx not only for "rescue interactions" (where I would understand minimal run-time dependencies), but as a regular daily tool where IDNA 2008 support makes indeed sense (e.g. inside console mail client). It's also not that I would inherit a whole bloated Java, NPM, Ruby or Go stack here ;-) So yes, I get and support your point regarding minimal run-time dependencies, but I'm in doubt that you really can avoid libidn2 on modern systems...

Comment 4 Kamil Dudka 2020-12-30 14:47:21 UTC
> Can you actually have a system without libidn2?

Yes.  Please try the following steps -- it gives you a system where lynx works without libdn2 being installed:

$ mock -r fedora-rawhide-x86_64 --init
$ mock -r fedora-rawhide-x86_64 --remove libidn2
$ mock -r fedora-rawhide-x86_64 --install lynx
$ mock -r fedora-rawhide-x86_64 --enable-network --shell lynx

Btw. libcurl can be easily replaced by libcurl-minimal, which does not depend on libidn2:

$ mock -r fedora-rawhide-x86_64 --init
$ mock -r fedora-rawhide-x86_64 --install libcurl-minimal

Comment 5 Ben Cotton 2021-02-09 16:18:25 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle.
Changing version to 34.

Comment 6 Thomas E. Dickey 2022-01-07 20:18:10 UTC
I took all of this into account last year, and provided for either version.
(as usual, feedback would be appreciated).

Comment 7 Kamil Dudka 2022-01-10 08:22:02 UTC
Perfect.  Thank you for taking care of it!  I have added the BuildRequires for libidn2-devel:

https://src.fedoraproject.org/rpms/lynx/c/084ffc811e13f6d70bc558d3210a536865e4c2c9?branch=rawhide

Comment 8 Robert Scheck 2022-01-10 23:02:41 UTC
Thank you! :)


Note You need to log in before you can comment on or make changes to this bug.