[ruby-core:77669] [Ruby trunk Bug#12852] URI.parse can't handle non-ascii URIs

From: matthew@...
Date: 2016-10-18 23:27:11 UTC
List: ruby-core #77669
SXNzdWUgIzEyODUyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWF0dGhldyBLZXJ3aW4uCgoKT2xpdmll
ciBMYWNhbiB3cm90ZToKPiAKPiBJdCdzIGNvbW1vbiBmb3IgT0F1dGggYXV0aGVudGljYXRpb24g
Zmxvd3MgdG8gc3RvcmUgYSBkZXN0aW5hdGlvbiBVUkkgdG8gcmV0dXJuIHRvIHdoZW4gdGhlIGhh
bmRzaGFrZSBwcm9jZXNzIGlzIGNvbXBsZXRlZC4gVGhpcyBVUkkgY2FuIGJlIHN0b3JlZCB3aXRo
b3V0IGZpcnN0IGJlaW5nIHByb2Nlc3NlZCBieSBhIHdlYiBzZXZlciB0aGF0IHdpbGwgZW5jb2Rl
IGl0IGluIHRoZSB3YXkgUmFpbHMgZG9lcyBmb3Igc3VibWl0dGVkIGZvcm1zIHNpbmNlIGl0J3Mg
bm90IG1lYW50IHRvIGJlIHByb2Nlc3NlZCDigJQgdGhhdCBpcyB1bnRpbCBpdCBjb21lcyBiYWNr
IHRvIHRoZSBvcmlnaW4gc2VydmVyLgo+IAoKWW91IGtlZXAgdXNpbmcgdGhlIHdvcmQgIlVSSSIg
dG8gcmVmZXIgdG8gdGhlc2UgZGF0YSBvYmplY3RzLCBhbmQgYnkgc3BlY2lmaWNhdGlvbiBhIFVS
SSBkYXRhIG9iamVjdCBjYW5ub3QgY29udGFpbiBub24tQVNDSUkgY2hhcmFjdGVycyAoYW5kIGV2
ZW4gc29tZSBBU0NJSSBjaGFyYWN0ZXJzIGFyZSBmb3JiaWRkZW4uKSBJZiB3ZSBhZ3JlZSB0aGF0
IGAiaGFoYVxubG9sImAgaXMgYSBTdHJpbmcgdGhhdCBjYW5ub3QgYmUgcGFyc2VkIGFzIGEgVVJJ
LCB3ZSBzaG91bGQgYWdyZWUgdGhlIHNhbWUgZm9yIGAiaHR0cDovL2V4YW1wbGUub3JnL1x1ezI3
MTN9Ii5mb3JjZV9lbmNvZGluZygnVVRGLTgnKWAKCj4gCj4gSSBvcGVuZWQgdGhpcyBkdWUgdG8g
YW4gaXNzdWUgSSBlbmNvdW50ZXJlZCBpbiBhbiBPQXV0aCBwcm92aWRlciBoYW5kc2hha2UgcHJv
Y2VkdXJlLiBZb3UgY291bGQgYXJndWUgdGhhdCBJIHNob3VsZCBiZSBleHBlY3RlZCB0byBgVVJJ
LmVuY29kZWAgYW55IFVSSSBzZXQgYXMgYSBkZXN0aW5hdGlvbiBxdWVyeSBwYXJhbWV0ZXIgdG8g
cHJldmVudCB0aGlzIGlzc3VlIGZyb20gb2NjdXJyaW5nLCBzdXJlbHkuCj4gCgpUaGF0J3Mgd2hh
dCBJJ20gc2F5aW5nLCBidXQgZnJvbSB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLiBJZiB5b3UncmUg
c3RvcmluZyBhIFN0cmluZywgYW5kIHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgZW5jb2RlcyBhIHZh
bGlkIFVSSSwgeW91IHNob3VsZCBgVVJJLmVuY29kZWAgdGhlIHBhcnRzIGJlZm9yZSBzdG9yaW5n
IHRoZW0gaW4gdGhlIFN0cmluZy4KCkJ5IGFuYWxvZ3ksIGlmIHdlIHJlcGxhY2UgIlVSSSIgd2l0
aCAiSlNPTiIgaW4gdGhpcyBkaXNjdXNzaW9uIHRoZSBzYW1lIGhvbGRzIHRydWU6IGAie1wiZm9v
XCI6XCJcblwifSJgIGhvbGRzIGEgU3RyaW5nIHRoYXQgbG9va3MgYSBsb3QgbGlrZSBKU09OLCBi
dXQgaXNuJ3QgdmFsaWQgWyBbUkZDIDcxNTldKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9y
ZmM3MTU5I3NlY3Rpb24tNyldLCBhbmQgYEpTT04ucGFyc2VgIGNvcnJlY3RseSByYWlzZXMgYW4g
ZXhjZXB0aW9uIG9uIGl0LgoKSWYgYSBuZXR3b3JrIHBlZXIgaXMgc2VuZGluZyB5b3UgYSBtZXNz
YWdlIHRoYXQgaW5jbHVkZXMgYnl0ZXMgdGhhdCBsb29rIGxpa2UgYSBVUkkgYnV0IHdpdGggVVRG
LTgtZW5jb2RlZCBVbmljb2RlIGNoYXJhY3RlcnMgYW5kICpub3QqIEFTQ0lJLWNvbXBhdGlibGUg
cGVyY2VudC1lbmNvZGVkIG9jdGV0cyAoaS5lLiBpdCdzIHNlbmRpbmcgYW4gSVJJKSwgdGhlbiBv
bmUgb2YgdHdvIHRoaW5ncyBpcyBoYXBwZW5pbmc6CgoxLiB0aGUgcHJvdG9jb2wgeW91J3JlIHVz
aW5nIGlzIGJ1aWx0IG9uIElSSXMsIG5vdCBVUklzLCBhbmQgeW91IGFyZSByZXNwb25zaWJsZSBm
b3IgYW55IHRyYW5zZm9ybWF0aW9ucyB0by9mcm9tIFVSSXMgKGluY2x1ZGluZyBgVVJJLmVuY29k
ZWApOyBvcgoKMi4gdGhlIHBlZXIgaXMgaW4gdmlvbGF0aW9uIG9mIGEgc3BlYywgYW5kIHlvdSBz
aG91bGQgdGhyb3cgYW4gZXJyb3IgYmFjayBhdCBpdC4gKEluIHRoaXMgY2FzZSB0aGUgc3BlY3Mg
YXJlIHVzdWFsbHkgcXVpZXQgY2xlYXIgb24gZXhhY3RseSB3aGF0IGVycm9yIHRvIHRocm93LCB0
b28uKQoKPiAKPiBEbyB5b3Ugbm90IGFncmVlIHRoYXQgVVJJLnBhcnNlIHNob3VsZCBhY2NlcHQg
dW5pY29kZSBlbnRpdGllcyBpbiBVUklzPyBJdCB3YXNuJ3QgY2xlYXIgZnJvbSB5b3VyIHJlc3Bv
bnNlLiAKPiAKCkkgdGhpbmsgYFVSSS5wYXJzZWAgY29ycmVjdGx5IHJhaXNlcyBhbiBleGNlcHRp
b24gd2hlbiBpdCBlbmNvdW50ZXJzIGNoYXJhY3RlcnMgdGhhdCBhcmUgZm9yYmlkZGVuIGJ5IFJG
QzM5ODYuCgo+IAo+IEknbSBub3QgYXdhcmUgb2YgYW55IElSSS1jb21wYXRpYmxlIEFQSSBpbiBN
UkkgdGhhdCBjb3VsZCBhbGxvdyBtZSB0byBkaXJlY3RseSBwYXJzZSBVUklzIGNvbnRhaW5pbmcg
bm9uLUFTQ0lJIGNoYXJhY3RlcnMgd2l0aCBSdWJ5LCB3aGV0aGVyIHRoZXkgbWF0Y2ggdGhlIHN0
cmljdCBkZWZpbml0aW9uIG9mIGEgVVJJIG9yIG5vdC4KCllvdXIgdGhpbmtpbmcgaGVyZSBzZWVt
cyBjb25mdXNlZC4gSWYgYSBTdHJpbmcgY29udGFpbnMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMgdGhl
biBpdCdzIG5vdCBhIFVSSS4gSWYgaXQgaXMgYSBVUkkgdGhlbiBpdCBzdHJpY3RseSBtYXRjaGVz
IHRoZSBkZWZpbml0aW9uIG9mIGEgVVJJLiBJZiBhIFN0cmluZyBjb250YWlucyBhIHZhbGlkIElS
SSwgdGhlbiB5ZWFoLCB5b3UncmUgbm90IGdvaW5nIHRvIGdldCBtdWNoIGhlbHAgZnJvbSBSdWJ5
OyBidXQgSVJJcyBhcmUgbm90IGNvbW1vbmx5IHVzZWQgaW4gdGhlIHJlYWwgd29ybGQgYW55d2F5
LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcgIzEyODUyOiBV
UkkucGFyc2UgY2FuJ3QgaGFuZGxlIG5vbi1hc2NpaSBVUklzCmh0dHBzOi8vYnVncy5ydWJ5LWxh
bmcub3JnL2lzc3Vlcy8xMjg1MiNjaGFuZ2UtNjA5NDEKCiogQXV0aG9yOiBPbGl2aWVyIExhY2Fu
CiogU3RhdHVzOiBPcGVuCiogUHJpb3JpdHk6IE5vcm1hbAoqIEFzc2lnbmVlOiBha2lyYSB5YW1h
ZGEKKiBydWJ5IC12OiAKKiBCYWNrcG9ydDogMi4xOiBVTktOT1dOLCAyLjI6IFVOS05PV04sIDIu
MzogVU5LTk9XTgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkdpdmVu
IGEgcmV0dXJuIFVSTCBwYXRoIGxpa2U6IGAvc2VhcmNoP3V0Zjg9XHV7MjcxM30mcT1mb29gLCBg
VVJJLnBhcnNlYCByYWlzZXMgdGhlIGZvbGxvd2luZyBleGNlcHRpb246IAoKYGBgcnVieQpVUkku
cGFyc2UgIi9zZWFyY2g/dXRmOD1cdXsyNzEzfSZxPWZvbyIKVVJJOjpJbnZhbGlkVVJJRXJyb3I6
IFVSSSBtdXN0IGJlIGFzY2lpIG9ubHkgIi9zZWFyY2g/dXRmOD1cdXsyNzEzfSZxPWZvbyIKYGBg
CgpUaGlzIGBcdXsyNzEzfWAgY2hhcmFjdGVyIGlzIGNvbW1vbmx5IHVzZWQgYnkgd2ViIGZyYW1l
d29ya3MgbGlrZSBSYWlscyB0byBlbmZvcmNlIFVURi04IGluIGZvcm1zOiBodHRwczovL2dpdGh1
Yi5jb20vcmFpbHMvcmFpbHMvYmxvYi85MjcwM2E5ZWE1ZDhiOTZmMzBlMGI3MDZiODAxYzkxODVl
ZjE0ZjBlL2FjdGlvbnZpZXcvbGliL2FjdGlvbl92aWV3L2hlbHBlcnMvZm9ybV90YWdfaGVscGVy
LnJiI0w4MjMtTDgzMAoKYGBgcnVieQoiXHV7MjcxM30iCj0+ICLinJMiCmBgYAoKSXMgaXQgdW5y
ZWFzb25hYmxlIHRvIGV4cGVjdCBub24tYXNjaWkgcG9ydGlvbiBvZiBVUklzIHRvIGJlIGhhbmRs
ZWQgYnkgVVJJLnBhcnNlPyBUaGUgd2F5IHRvIGNpcmN1bXZlbnQgdGhpcyBpc3N1ZSBpcyB0byBj
YWxsIFVSSS5lbmNvZGUgb24gdGhlIFVSSSBzdHJpbmcgcHJpb3IgdG8gcGFzc2luZyBpdCB0byBV
UkkucGFyc2U6CgpgYGBydWJ5ClVSSS5wYXJzZSBVUkkuZW5jb2RlKCIvc2VhcmNoP3V0Zjg9XHV7
MjcxM30mcT1mb28iKQo9PiAjPFVSSTo6R2VuZXJpYyAvc2VhcmNoP3V0Zjg9JUUyJTlDJTkzJnE9
Zm9vPgpgYGAKCkJ5IGNvbXBhcmlzb24sIGEgbGlicmFyeSBsaWtlIEFkZHJlc3NhYmxlIHBhcnNl
cyB0aGlzIFVSSSB3aXRob3V0IGlzc3VlLgoKYGBgCnJlcXVpcmUgImFkZHJlc3NhYmxlL3VyaSIK
PT4gIzxBZGRyZXNzYWJsZTo6VVJJOjB4M2ZlZmZhODQxNThjIFVSSTovc2VhcmNoP3V0Zjg94pyT
JnE9Zm9vPgpgYGAKClRoaXMgaXMgaG93IEFkZHJlc3NhYmxlIGltcGxlbWVudHMgcGFyc2luZzoK
aHR0cHM6Ly9naXRodWIuY29tL3Nwb3JrbW9uZ2VyL2FkZHJlc3NhYmxlL2Jsb2IvYTE1YjcwNDVh
MDk5MTFiY2M0N2IxMDYyMDA1NTQ4MDljODc5YTVmNi9saWIvYWRkcmVzc2FibGUvdXJpLnJiI0w3
NS1MMTQ1CgpQUzogVHJpZWQgdW5kZXIgTVJJIDIuMy4xIGFuZCAyLjQuMC1wcmV2aWV3MQoKCgot
LSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5
LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8v
bGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next