Bug 1910971

Summary: Missing IDNA 2008 support in lynx
Product: [Fedora] Fedora Reporter: Robert Scheck <redhat-bugzilla>
Component: lynxAssignee: Kamil Dudka <kdudka>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 34CC: dickey, kdudka, svashisht
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: lynx-2.9.0-dev.10.1.fc36 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-01-10 08:22:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2040124    

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! :)