[ruby-core:118923] [Ruby master Bug#20690] URI.encode_www_form_component method escapes tilde when it's not supposed to
From:
"y4m4p (Masahiro Yamashita) via ruby-core" <ruby-core@...>
Date:
2024-08-22 09:33:21 UTC
List:
ruby-core #118923
SXNzdWUgIzIwNjkwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHk0bTRwIChNYXNhaGlybyBZYW1hc2hp dGEpLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpCdWcgIzIw NjkwOiBVUkkuZW5jb2RlX3d3d19mb3JtX2NvbXBvbmVudCBtZXRob2QgZXNjYXBlcyB0aWxkZSB3 aGVuIGl0J3Mgbm90IHN1cHBvc2VkIHRvDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMjA2OTANCg0KKiBBdXRob3I6IHk0bTRwIChNYXNhaGlybyBZYW1hc2hpdGEpDQoqIFN0YXR1 czogT3Blbg0KKiBydWJ5IC12OiBydWJ5IDMuMi4yICgyMDIzLTAzLTMwIHJldmlzaW9uIGU1MTAx NGY5YzApIFthcm02NC1kYXJ3aW4yMV0NCiogQmFja3BvcnQ6IDMuMTogVU5LTk9XTiwgMy4yOiBV TktOT1dOLCAzLjM6IFVOS05PV04NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCiMjIFByb2JsZW0NCkFzIHRoZSB0aXRsZSBzYXlzLCAgYFVyaS5lbmNvZGVfd3d3X2Zv cm1fY29tcG9uZW50YCBpcyBlc2NhcGluZyB0aWxkZSAoYH5gKSB3aGVyZSBpdCBzaG91bGQgbm90 IGFjY29yZGluZyB0byB0aGUgUkZDMzk4Ni4NClJlZjogaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRm Lm9yZy9kb2MvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4zDQoNClRoZXJlIHdhcyBhIHByZXZpb3Vz IGlzc3VlIHdpdGggdGhlIHNhbWUgcHJvYmxlbSwgaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzY2OTYgd2hpY2ggaGFzIGJlZW4gcmVzb2x2ZWQgYW5kIG1lcmdlZC4NCg0KLS0tDQoN ClNpbmNlIGBVUkkuZXNjYXBlYCBpcyBub3cgb2Jzb2xldGUgYW5kIGdvbmUsIHRoZSBwcmVmZXJy ZWQgd2F5IHRvIGVzY2FwZSBVUkkgY2hhcmFjdGVycyBhcmUgdG8gY2hvb3NlIGZyb20gdGhlIGZv bGxvd2luZyBtZXRob2RzLg0KLSBgVVJJLmVuY29kZV93d3dfZm9ybV9jb21wb25lbnRgIChvciwg YFVSSS5lbmNvZGVfd3d3X2Zvcm1gIHdoaWNoIHVzZXMgdGhpcykNCi0gYENHSS5lc2NhcGVgDQot IGBFUkI6OlV0aWwuI3VybF9lbmNvZGVgDQotIGBXRUJyaWNrOjpIVFRQVXRpbHMuI2VzY2FwZV9m b3JtYA0KLSBgV0VCcmljazo6SFRUUFV0aWxzLiNlc2NhcGVgDQoNClRoaXMgaXNzdWUgZG9lcyBu b3Qgb2NjdXIgd2hlbiB1c2luZyBhbnkgb2YgdGhlIG1ldGhvZHMgZXhjZXB0IGBVUkkuZW5jb2Rl X3d3d19mb3JtX2NvbXBvbmVudGAuDQpUaGVzZSBwcmVmZXJyZWQgb3B0aW9ucyBhcmUgbm90IGNv bXBhdGlibGUgd2l0aCBlYWNoIG90aGVyLCBtYWtpbmcgaXQgYSBwb29yIGV4cGVyaWVuY2UgZm9y IFJ1YnkgdXNlcnMuDQoNCiMjIyBNaW5pbXVtIHJlcGxpY2F0aW9uDQpgYGAgcnVieQ0KIyBVUkkN CmlyYihtYWluKTowMDI6MD4gcmVxdWlyZSAndXJpJw0KPT4gdHJ1ZQ0KaXJiKG1haW4pOjAwNDow PiBVUkkuZW5jb2RlX3d3d19mb3JtX2NvbXBvbmVudCgicnVieX50ZXN0IikNCj0+ICJydWJ5JTdF dGVzdCINCg0KIyBDR0kNCmlyYihtYWluKTowMDE6MD4gcmVxdWlyZSAnY2dpJw0KPT4gdHJ1ZQ0K aXJiKG1haW4pOjAwMzowPiBDR0kuZXNjYXBlKCJydWJ5fnRlc3QiKQ0KPT4gInJ1Ynl+dGVzdCIN Cg0KIyBFUkINCmlyYihtYWluKTowMDk6MD4gcmVxdWlyZSAnZXJiJw0KPT4gdHJ1ZQ0KaXJiKG1h aW4pOjAxMjowPiBFUkI6OlV0aWwudXJsX2VuY29kZSgicnVieX50ZXN0IikNCj0+ICJydWJ5fnRl c3QiDQoNCiMgV2Vicmljaw0KIyBuZWVkcyB3ZWJyaWNrIGdlbSBpbnN0YWxsZWQNClszXSBwcnko bWFpbik+IHJlcXVpcmUgJ3dlYnJpY2snDQo9PiB0cnVlDQpbNF0gcHJ5KG1haW4pPiBXRUJyaWNr OjpIVFRQVXRpbHMuZXNjYXBlX2Zvcm0oInJ1Ynl+dGVzdCIpDQo9PiAicnVieX50ZXN0Ig0KWzVd IHByeShtYWluKT4gV0VCcmljazo6SFRUUFV0aWxzLmVzY2FwZSgicnVieX50ZXN0IikNCj0+ICJy dWJ5fnRlc3QiDQpgYGANCg0KIyMgUmVhbCB3b3JsZCB1c2UtY2FzZSBwcm9ibGVtDQpJIGhhdmUg YSB1c2UtY2FzZSBwcm9ibGVtIHdpdGggdXNpbmcgVVJJIHdoZW4gaW1wbGVtZW50aW5nIGEgT0lE QyB3aXRoIFBLQ0UgY2xpZW50IC8gc2VydmVyIHNldHVwLg0KV2hlbiB0cnlpbmcgdG8gZ2VuZXJh dGUgYSBHRVQgVVJJIGZvciBPcGVuIElEIENvbm5lY3Qgd2l0aCBQS0NFLCB5b3UgbmVlZCB0byBw cm92aWRlIGEgYGNvZGVfdmVyaWZpZXJgIHZhbHVlIHRvIHRoZSBBdXRob3JpemF0aW9uIHNlcnZl ciwgd2hpY2ggYWN0dWFsbHkgcmVxdWlyZXMgeW91IHRvIHVzZSB0aGUgdGlsZGUgd2l0aG91dCBl c2NhcGluZy4NCg0KUmVmOiBodHRwczovL3d3dy5vYXV0aC5jb20vb2F1dGgyLXNlcnZlcnMvcGtj ZS9hdXRob3JpemF0aW9uLXJlcXVlc3QvDQo+IFdoZW4gdGhlIG5hdGl2ZSBhcHAgYmVnaW5zIHRo ZSBhdXRob3JpemF0aW9uIHJlcXVlc3QsIGluc3RlYWQgb2YgaW1tZWRpYXRlbHkgbGF1bmNoaW5n IGEgYnJvd3NlciwgdGhlIGNsaWVudCBmaXJzdCBjcmVhdGVzIHdoYXQgaXMga25vd24gYXMgYSDi gJxjb2RlIHZlcmlmaWVy4oCcLiBUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgcmFuZG9tIHN0 cmluZyB1c2luZyB0aGUgY2hhcmFjdGVycyBBLVosIGEteiwgMC05LCBhbmQgdGhlIHB1bmN0dWF0 aW9uIGNoYXJhY3RlcnMgLS5ffiAoaHlwaGVuLCBwZXJpb2QsIHVuZGVyc2NvcmUsIGFuZCB0aWxk ZSksIGJldHdlZW4gNDMgYW5kIDEyOCBjaGFyYWN0ZXJzIGxvbmcuDQoNClRoZSBpbmNvbnNpc3Rl bnQgZW5jb2RpbmcgaXMgcHJvYmxlbWF0aWMgZm9yIHRoZSBTZXJ2ZXIgYW5kIENsaWVudCBib3Ro LCBzaW5jZSBib3RoIGVuZHMgbmVlZHMgdG8gaGF2ZSBhbiBhZ3JlZW1lbnQgb24gdXNpbmcgdGls ZGUgYXMgYW4gZXNjYXBlZCBjaGFyYWN0ZXIgb3IgYW4gdW5lc2NhcGVkIGNoYXJhY3Rlci4gDQpM b2dpY2FsbHkgc3BlYWtpbmcsIGB+YCBzaG91bGQgYmUgc2VudCBBUy1JUyBhbmQgbm90IHRvIGJl IGVzY2FwZWQsIHNpbmNlIHRoZSBgY29kZV9jaGFsbGVuZ2VgIHZhbHVlIGFuZCBgY29kZV92ZXJp ZmllcmAgdmFsdWVzIGFyZSBzdHJpY3RseSBjaGVja2VkIHVzaW5nIGEgSGFzaCBnZW5lcmF0aW9u IGZ1bmN0aW9uIGBEaWdlc3Q6OlNIQTI1Ni5kaWdlc3RgLCB3aGljaCBnZW5lcmF0ZXMgYSBkaWZm ZXJlbnQgSGFzaCB2YWx1ZSBkZXBlbmRpbmcgb24gYH5gKG5vbiBlc2NhcGVkKSBvciBgJTdFYChl c2NhcGVkKS4NClRoZXNlIHBhcmFtZXRlcnMgZnJvbSB1c2VyIGlucHV0cyBhcmUgdXN1YWxseSBu b3QgbWVhbnQgdG8gYmUgdGFtcGVyZWQgd2l0aCBmb3Igc2VjdXJpdHkgc2FrZSwgc28gaXQncyBi ZXN0IHRvIGhhdmUgdGlsZGUgYH5gIHRvIGJlIHVuZXNjYXBlZCBmcm9tIHRoZSBiZWdpbm5pbmcu DQoNCiMjIFJlbGF0ZWQgaXNzdWVzDQotIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl cy82Njk2DQogIC0gVGhpcyBzZWVtcyB0byBoYXZlIGJlZW4gcmVzb2x2ZWQgYW5kIG1lcmdlZC4N Cg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAt LSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFp bCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0g aHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5 LWxhbmcub3JnLw==