View Issue Details

IDProjectCategoryView StatusLast Update
0005927GNUnetGNSpublic2019-12-15 15:18
Reporterdvn Assigned Toschanzen  
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product VersionGit master 
Target Version0.12.0Fixed in Version0.12.0 
Summary0005927: GNS/nss plugin fails on invalid IDN names
DescriptionWhen using a video downloading utility I became aware of some "interesting" domain names...

eg. 'r6---sn-5go7ynez.googlevideo.com'

Haven't looked into it much, but apparently google isn't the only one using domains like this breaking the "double-hyphen" standard.

With the nss plugin enabled:

`r6---sn-5go7yn7s.googlevideo.com' is not a valid domain name"

TagsNo tags attached.

Relationships

related to 0005922 closedschanzen Switch label processing to UTF-8 

Activities

schanzen

2019-10-10 15:37

administrator   ~0014992

Looking at the code it is not GNS that nags here, but libidn. This simply is not a valid domain name for IDNA-aware applications (or resolvers in this case).
See https://tools.ietf.org/html/rfc5890#section-2.3.1 second paragraph.

schanzen

2019-10-10 16:19

administrator   ~0014993

Also this seems to be a specific issue with IDN2. It works for IDN1.

schanzen

2019-10-10 18:29

administrator   ~0014994

For LSD001, this check will likely be removed alltogether.

schanzen

2019-11-30 15:31

administrator   ~0015098

Correction: The nss / gnunet-gns plugin will have to handle IDNA domain names even in LSD001. Not sure how to make libidn2 happy.

schanzen

2019-12-01 12:29

administrator   ~0015106

With the changes for LSD001, gnunet-gns will try to verify that the name given through NSS is in an acceptable IDNA format.
There, we will return with error "4" if the IDNA->UTF-8 conversion fails which will trigger NSS to continue with the next nss plugin.

Fixed in 435596a7c..bab0de2b0.

schanzen

2019-12-01 13:02

administrator   ~0015111

Reopen until we remove ifdefs

Christian Grothoff

2019-12-07 14:49

manager   ~0015135

Flipped on in 3a13f497b..b365e4d52

schanzen

2019-12-15 15:18

administrator   ~0015172

0.12.0 released

Issue History

Date Modified Username Field Change
2019-10-10 07:03 dvn New Issue
2019-10-10 07:03 dvn Status new => assigned
2019-10-10 07:03 dvn Assigned To => Christian Grothoff
2019-10-10 15:37 schanzen Note Added: 0014992
2019-10-10 16:19 schanzen Note Added: 0014993
2019-10-10 18:29 schanzen Note Added: 0014994
2019-10-10 18:29 schanzen Relationship added related to 0005920
2019-10-10 18:30 schanzen Relationship added related to 0005922
2019-10-10 18:30 schanzen Relationship deleted related to 0005920
2019-10-10 18:30 schanzen Target Version => 0.12.0
2019-10-10 18:30 schanzen Assigned To Christian Grothoff => schanzen
2019-11-16 18:32 Christian Grothoff Product Version => Git master
2019-11-30 15:31 schanzen Note Added: 0015098
2019-12-01 12:29 schanzen Status assigned => resolved
2019-12-01 12:29 schanzen Resolution open => fixed
2019-12-01 12:29 schanzen Fixed in Version => 0.12.0
2019-12-01 12:29 schanzen Note Added: 0015106
2019-12-01 13:02 schanzen Status resolved => assigned
2019-12-01 13:02 schanzen Note Added: 0015111
2019-12-07 14:49 Christian Grothoff Status assigned => resolved
2019-12-07 14:49 Christian Grothoff Note Added: 0015135
2019-12-15 15:18 schanzen Note Added: 0015172
2019-12-15 15:18 schanzen Status resolved => closed