GNU bug report logs -
#40582
Valid URIs are rejected
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#40582: Valid URIs are rejected
which was filed against the guile package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 40582 <at> debbugs.gnu.org.
--
40582: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40582
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi,
Julien Lepiller <julien <at> lepiller.eu> skribis:
> Le 17 juin 2020 17:57:33 GMT-04:00, "Ludovic Courtès" <ludo <at> gnu.org> a écrit :
[...]
>>The regexp below is still an approximation, but I think a better one.
>>Can you confirm?
>>
>>Thanks,
>>Ludo’.
>
> Looks slightly better, thanks.
>
> That's still incorrect, as it will match things that are not ipv6 addresses. Does it have to be a regexp though? Why not simply check (false-if-exception (inet-pton AF_INET6 host)), as in the return value of valid-host?
Using a regexp makes the code closer to the RFC since the RFC explicitly
describes the grammar. It’s also the simple choice here.
> There's also a ipv6-host-pat that has an incorrect regexp, but I'm not sure what it is used for.
It’s use for ‘authority-regexp’, but that one is fine: it requires
square brackets around IPv6 addresses.
Pushed as 1ab2105339f60dba20c8c9680e49110501f3a6a0.
Thanks,
Ludo’.
[Message part 3 (message/rfc822, inline)]
Hi,
Using (web uri), I was trying to parse "uri://a/c". Reading RFC3986, it should be a valid URI (see rule for reg-name in 3.2.2). However, passing it to string->uri results in #f. I've tracked this down to valid-host? which returns #f for "a".
The reason is that the regexp checking if the host is an ipv6 matches "a", which shouldn't happen because a is not an ipv6 address. Indeed, when I try (string->uri "uri://g/b"), I get the expected result.
This bug report was last modified 4 years and 335 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.