From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Hartwig Newsgroups: gmane.lisp.guile.bugs Subject: bug#10410: guile: uri module confused by domain names starting with numbers, ipv6 addresses Date: Fri, 30 Dec 2011 18:14:56 +0800 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=e89a8f234aad339a7204b54c81b8 X-Trace: dough.gmane.org 1325240123 3713 80.91.229.12 (30 Dec 2011 10:15:23 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 30 Dec 2011 10:15:23 +0000 (UTC) Cc: guile-devel@gnu.org To: 10410@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Fri Dec 30 11:15:18 2011 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RgZUb-0008LY-11 for guile-bugs@m.gmane.org; Fri, 30 Dec 2011 11:15:17 +0100 Original-Received: from localhost ([::1]:40452 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgZUa-0008Rd-EY for guile-bugs@m.gmane.org; Fri, 30 Dec 2011 05:15:16 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:44148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgZUW-0008N3-2J for bug-guile@gnu.org; Fri, 30 Dec 2011 05:15:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RgZUU-0004fq-QO for bug-guile@gnu.org; Fri, 30 Dec 2011 05:15:12 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:58326) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RgZUR-0004ek-SC; Fri, 30 Dec 2011 05:15:07 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1RgZXG-0007IP-Cj; Fri, 30 Dec 2011 05:18:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Hartwig Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: guile-devel@gnu.org, bug-guile@gnu.org Resent-Date: Fri, 30 Dec 2011 10:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 10410 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch X-Debbugs-Original-To: submit@debbugs.gnu.org X-Debbugs-Original-Xcc: guile-devel@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.132524027428029 (code B ref -1); Fri, 30 Dec 2011 10:18:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 30 Dec 2011 10:17:54 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RgZX8-0007I1-GC for submit@debbugs.gnu.org; Fri, 30 Dec 2011 05:17:54 -0500 Original-Received: from mail-iy0-f172.google.com ([209.85.210.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RgZX6-0007Hu-76 for submit@debbugs.gnu.org; Fri, 30 Dec 2011 05:17:52 -0500 Original-Received: by iabz21 with SMTP id z21so2986603iab.3 for ; Fri, 30 Dec 2011 02:14:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=4ZvUfBUMDBrcSKz3XUmDrtQSiwcbjNUd7186Lth7Bl0=; b=HRW1G2LBRnvZhvfmVVBBwWxJnofyomkcxFxTMBHfLUl1mgmkRasgk4Qag0erk7Vdao wFs01iEJm6CH6hGa1s+qGz3CSNro/zNK8S+tDwV99Q10EfUQv5tzP8ibcp/3/EtJTpEp PHmUWMwRGQNt78Chm4pLK5JMJkkRquc3cep7k= Original-Received: by 10.50.156.138 with SMTP id we10mr25245428igb.10.1325240096627; Fri, 30 Dec 2011 02:14:56 -0800 (PST) Original-Received: by 10.231.48.68 with HTTP; Fri, 30 Dec 2011 02:14:56 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Fri, 30 Dec 2011 05:18:02 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:6019 Archived-At: --e89a8f234aad339a7204b54c81b8 Content-Type: text/plain; charset=UTF-8 Package: guile Version: 2.0.3 Tags: patch X-Debbugs-CC: guile-devel@gnu.org Hello I have noticed that the (web uri) module does not handle domain names that start with numbers: scheme@(guile-user)> (string->uri "http://123.com") $1 = #f scheme@(guile-user)> (build-uri 'http #:host "123.com") web/uri.scm:85:6: In procedure build-uri: web/uri.scm:85:6: Throw to key `uri-error' with args `("Expected valid host: ~s" ("123.com"))'. Also, `string->uri' does not handle ipv6 addresses: scheme@(guile-user)> (string->uri "http://[2001:db8::1]") $2 = #f Attached patch implements support for domain names that start with numbers by correcting the regular expressions used by `valid-host?' as well as some related tests. `string->uri' requires similar changes to support the ipv6 address literals. I'm yet to found a very elegant way to do this though it is easy enough to simply butcher `authority-pat'. --e89a8f234aad339a7204b54c81b8 Content-Type: text/x-patch; charset=US-ASCII; name="0001-support-URIs-with-domain-names-starting-with-numbers.patch" Content-Disposition: attachment; filename="0001-support-URIs-with-domain-names-starting-with-numbers.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwt1ikfq0 RnJvbSA5ZmNlZDM5NWI0YWZiNGUwMjI0MTRhNGI0NTFhNTBiMzFjZWFjZWRkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgSGFydHdpZyA8bWFuZHlrZUBnbWFpbC5jb20+CkRh dGU6IEZyaSwgMzAgRGVjIDIwMTEgMTc6NDk6MzcgKzA4MDAKU3ViamVjdDogW1BBVENIXSBzdXBw b3J0IFVSSXMgd2l0aCBkb21haW4gbmFtZXMgc3RhcnRpbmcgd2l0aCBudW1iZXJzCgoqIG1vZHVs ZS93ZWIvdXJpLnNjbSAodmFsaWQtaG9zdD8pOiBGaXggcmVnZXhwIHRvIHN1cHBvcnQKZG9tYWlu IG5hbWVzIHN0YXJ0aW5nIHdpdGggbnVtYmVycy4KKiB0ZXN0LXN1aXRlL3Rlc3RzL3dlYi11cmku c2NtOiBBZGQgdGVzdHMgZm9yIGFib3ZlIGFuZApJUCBsaXRlcmFscy4KLS0tCiBtb2R1bGUvd2Vi L3VyaS5zY20gICAgICAgICAgICB8ICAgIDQgKy0KIHRlc3Qtc3VpdGUvdGVzdHMvd2ViLXVyaS50 ZXN0IHwgICA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMiBm aWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL21vZHVsZS93ZWIvdXJpLnNjbSBiL21vZHVsZS93ZWIvdXJpLnNjbQppbmRleCA2N2VjYmFl Li5mZjEzODQ3IDEwMDY0NAotLS0gYS9tb2R1bGUvd2ViL3VyaS5zY20KKysrIGIvbW9kdWxlL3dl Yi91cmkuc2NtCkBAIC04OSw5ICs4OSw5IEBAIGNvbnNpc3RlbmN5IGNoZWNrcyB0byBtYWtlIHN1 cmUgdGhhdCB0aGUgY29uc3RydWN0ZWQgVVJJIGlzIHZhbGlkLiIKIDs7IDM0OTApLCBhbmQgbm9u LUFTQ0lJIGhvc3QgbmFtZXMuCiA7OwogKGRlZmluZSBpcHY0LXJlZ2V4cAotICAobWFrZS1yZWdl eHAgIl4oWzAtOS5dKykiKSkKKyAgKG1ha2UtcmVnZXhwICJeKFswLTkuXSspJCIpKQogKGRlZmlu ZSBpcHY2LXJlZ2V4cAotICAobWFrZS1yZWdleHAgIl5cXFsoWzAtOWEtZkEtRjpdKylcXF0rIikp CisgIChtYWtlLXJlZ2V4cCAiXlxcWyhbMC05YS1mQS1GOl0rKVxcXSQiKSkKIChkZWZpbmUgZG9t YWluLWxhYmVsLXJlZ2V4cAogICAobWFrZS1yZWdleHAgIl5bYS16QS1aMC05XShbYS16QS1aMC05 LV0qW2EtekEtWjAtOV0pPyQiKSkKIChkZWZpbmUgdG9wLWxhYmVsLXJlZ2V4cApkaWZmIC0tZ2l0 IGEvdGVzdC1zdWl0ZS90ZXN0cy93ZWItdXJpLnRlc3QgYi90ZXN0LXN1aXRlL3Rlc3RzL3dlYi11 cmkudGVzdAppbmRleCA5MTE4ZWVhLi40Zjg1OWUwIDEwMDY0NAotLS0gYS90ZXN0LXN1aXRlL3Rl c3RzL3dlYi11cmkudGVzdAorKysgYi90ZXN0LXN1aXRlL3Rlc3RzL3dlYi11cmkudGVzdApAQCAt OTAsNiArOTAsMTggQEAKICAgICAodXJpPT8gKGJ1aWxkLXVyaSAnaHR0cCAjOmhvc3QgImJhZC5o b3N0LjEiICM6dmFsaWRhdGU/ICNmKQogICAgICAgICAgICAjOnNjaGVtZSAnaHR0cCAjOmhvc3Qg ImJhZC5ob3N0LjEiICM6cGF0aCAiIikpCiAKKyAgKHBhc3MtaWYgImh0dHA6Ly8xLmdvb2QuaG9z dCIKKyAgICAodXJpPT8gKGJ1aWxkLXVyaSAnaHR0cCAjOmhvc3QgIjEuZ29vZC5ob3N0IikKKyAg ICAgICAgICAgIzpzY2hlbWUgJ2h0dHAgIzpob3N0ICIxLmdvb2QuaG9zdCIgIzpwYXRoICIiKSkK KworICAocGFzcy1pZiAiaHR0cDovLzE5Mi4wLjIuMSIKKyAgICAodXJpPT8gKGJ1aWxkLXVyaSAn aHR0cCAjOmhvc3QgIjE5Mi4wLjIuMSIpCisgICAgICAgICAgICM6c2NoZW1lICdodHRwICM6aG9z dCAiMTkyLjAuMi4xIiAjOnBhdGggIiIpKQorCisgIChwYXNzLWlmICJodHRwOi8vWzIwMDE6ZGI4 OjoxXSIKKyAgICAodXJpPT8gKGJ1aWxkLXVyaSAnaHR0cCAjOmhvc3QgIlsyMDAxOmRiODo6MV0i KQorICAgICAgICAgICAjOnNjaGVtZSAnaHR0cCAjOmhvc3QgIlsyMDAxOmRiODo6MV0iICM6cGF0 aCAiIikpCisKICAgKHBhc3MtaWYtdXJpLWV4Y2VwdGlvbiAiaHR0cDovL2Zvbzpub3QtYS1wb3J0 IgogICAgICAgICAgICAgICAgICAgICAgICAgICJFeHBlY3RlZC4qcG9ydCIKICAgICAgICAgICAg ICAgICAgICAgICAgICAoYnVpbGQtdXJpICdodHRwICM6aG9zdCAiZm9vIiAjOnBvcnQgIm5vdC1h LXBvcnQiKSkKQEAgLTEzNSw2ICsxNDcsMjUgQEAKICAgKHBhc3MtaWYgImh0dHA6Ly9iYWQuaG9z dC4xIgogICAgIChub3QgKHN0cmluZy0+dXJpICJodHRwOi8vYmFkLmhvc3QuMSIpKSkKIAorICAo cGFzcy1pZiAiaHR0cDovLzEuZ29vZC5ob3N0IgorICAgICh1cmk9PyAoc3RyaW5nLT51cmkgImh0 dHA6Ly8xLmdvb2QuaG9zdCIpCisgICAgICAgICAgICM6c2NoZW1lICdodHRwICM6aG9zdCAiMS5n b29kLmhvc3QiICM6cGF0aCAiIikpCisKKyAgKHBhc3MtaWYgImh0dHA6Ly8xOTIuMC4yLjEiCisg ICAgKHVyaT0/IChzdHJpbmctPnVyaSAiaHR0cDovLzE5Mi4wLjIuMSIpCisgICAgICAgICAgICM6 c2NoZW1lICdodHRwICM6aG9zdCAiMTkyLjAuMi4xIiAjOnBhdGggIiIpKQorCisgIChwYXNzLWlm ICJodHRwOi8vWzIwMDE6ZGI4OjoxXSIKKyAgICAodXJpPT8gKHN0cmluZy0+dXJpICJodHRwOi8v WzIwMDE6ZGI4OjoxXSIpCisgICAgICAgICAgICM6c2NoZW1lICdodHRwICM6aG9zdCAiWzIwMDE6 ZGI4OjoxXSIgIzpwYXRoICIiKSkKKworICAocGFzcy1pZiAiaHR0cDovL1syMDAxOmRiODo6MV06 ODAiCisgICAgKHVyaT0/IChzdHJpbmctPnVyaSAiaHR0cDovL1syMDAxOmRiODo6MV0iKQorICAg ICAgICAgICAjOnNjaGVtZSAnaHR0cAorICAgICAgICAgICAjOmhvc3QgIlsyMDAxOmRiODo6MV0i CisgICAgICAgICAgICM6cG9ydCA4MAorICAgICAgICAgICAjOnBhdGggIiIpKQorCiAgIChwYXNz LWlmICJodHRwOi8vZm9vOiIKICAgICAodXJpPT8gKHN0cmluZy0+dXJpICJodHRwOi8vZm9vOiIp CiAgICAgICAgICAgICM6c2NoZW1lICdodHRwICM6aG9zdCAiZm9vIiAjOnBhdGggIiIpKQpAQCAt MTg0LDYgKzIxNSwxOCBAQAogICAgIChlcXVhbD8gImZ0cDovL2Zvb0BiYXI6MjIvYmF6IgogICAg ICAgICAgICAgKHVyaS0+c3RyaW5nIChzdHJpbmctPnVyaSAiZnRwOi8vZm9vQGJhcjoyMi9iYXoi KSkpKQogICAKKyAgKHBhc3MtaWYgImh0dHA6Ly8xOTIuMC4yLjEiCisgICAgKGVxdWFsPyAiaHR0 cDovLzE5Mi4wLjIuMSIKKyAgICAgICAgICAgICh1cmktPnN0cmluZyAoc3RyaW5nLT51cmkgImh0 dHA6Ly8xOTIuMC4yLjEiKSkpKQorCisgIChwYXNzLWlmICJodHRwOi8vWzIwMDE6ZGI4OjoxXSIK KyAgICAoZXF1YWw/ICJodHRwOi8vWzIwMDE6ZGI4OjoxXSIKKyAgICAgICAgICAgICh1cmktPnN0 cmluZyAoc3RyaW5nLT51cmkgImh0dHA6Ly9bMjAwMTpkYjg6OjFdIikpKSkKKworICAocGFzcy1p ZiAiaHR0cDovL1syMDAxOmRiODo6MV06ODAiCisgICAgKGVxdWFsPyAiaHR0cDovL1syMDAxOmRi ODo6MV06ODAiCisgICAgICAgICAgICh1cmktPnN0cmluZyAoc3RyaW5nLT51cmkgImh0dHA6Ly9b MjAwMTpkYjg6OjFdOjgwIikpKSkKKwogICAocGFzcy1pZiAiaHR0cDovL2ZvbzoiCiAgICAgKGVx dWFsPyAiaHR0cDovL2ZvbyIKICAgICAgICAgICAgICh1cmktPnN0cmluZyAoc3RyaW5nLT51cmkg Imh0dHA6Ly9mb286IikpKSkKQEAgLTE5Myw3ICsyMzYsMTEgQEAKICAgICAgICAgICAgICh1cmkt PnN0cmluZyAoc3RyaW5nLT51cmkgImh0dHA6Ly9mb286LyIpKSkpKQogCiAod2l0aC10ZXN0LXBy ZWZpeCAiZGVjb2RlIgotICAocGFzcy1pZiAoZXF1YWw/ICJmb28gYmFyIiAodXJpLWRlY29kZSAi Zm9vJTIwYmFyIikpKSkKKyAgKHBhc3MtaWYgImZvbyUyMGJhciIKKyAgICAoZXF1YWw/ICJmb28g YmFyIiAodXJpLWRlY29kZSAiZm9vJTIwYmFyIikpKQorCisgIChwYXNzLWlmICJmb28rYmFyIgor ICAgIChlcXVhbD8gImZvbyBiYXIiICh1cmktZGVjb2RlICJmb28rYmFyIikpKSkKIAogKHdpdGgt dGVzdC1wcmVmaXggImVuY29kZSIKICAgKHBhc3MtaWYgKGVxdWFsPyAiZm9vJTIwYmFyIiAodXJp LWVuY29kZSAiZm9vIGJhciIpKSkpCi0tIAoxLjcuNS40Cgo= --e89a8f234aad339a7204b54c81b8--