[ruby-core:120118] [Ruby master Bug#20690] URI.encode_www_form_component method escapes tilde when it's not supposed to
From:
"mentalizer (Jakob Skjerning) via ruby-core" <ruby-core@...>
Date:
2024-12-06 10:20:01 UTC
List:
ruby-core #120118
SXNzdWUgIzIwNjkwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWVudGFsaXplciAoSmFrb2IgU2tqZXJu aW5nKS4NCg0KDQpXaGlsZSBgVVJJLmVuY29kZV93d3dfZm9ybV9jb21wb25lbnRgIG1pZ2h0IG5v dCBkZWFsIHdpdGggd2hhdCBSRkMzOTg2IGRlZmluZXMgYXMgIlBlcmNlbnQtRW5jb2RpbmciLCBg VVJJLmVuY29kZV91cmlfY29tcG9uZW50YCBkb2VzIChJIHRoaW5rPykgYW5kIHRoYXQgZXhoaWJp dHMgdGhlIHNhbWUgYmVoYXZpb3I6DQoNCmBgYA0KMy4zLjQgOjAwNiA+IFVSSS5lbmNvZGVfdXJp X2NvbXBvbmVudCgicnVieX50ZXN0IikNCiA9PiAicnVieSU3RXRlc3QiDQpgYGANCg0KUGVyaGFw cyB0aGlzIGlzc3VlIHNob3VsZCBiZSByZW9wZW5lZCBhbmQgY2hhbmdlZCB0byB0YXJnZXQgYFVS SS5lbmNvZGVfdXJpX2NvbXBvbmVudGAgaW5zdGVhZCwgb3IgSSBjYW4gb3BlbiBhbm90aGVyIGlz c3VlIHdpdGggYSBzaW1pbGFyIGRlc2NyaXB0aW9uLCBpZiBuZWVkIGJlPw0KDQoNCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQnVnICMyMDY5MDogVVJJLmVuY29k ZV93d3dfZm9ybV9jb21wb25lbnQgbWV0aG9kIGVzY2FwZXMgdGlsZGUgd2hlbiBpdCdzIG5vdCBz dXBwb3NlZCB0bw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNjkwI2NoYW5n ZS0xMTA4NzANCg0KKiBBdXRob3I6IHk0bTRwIChNYXNhaGlybyBZYW1hc2hpdGEpDQoqIFN0YXR1 czogUmVqZWN0ZWQNCiogcnVieSAtdjogcnVieSAzLjIuMiAoMjAyMy0wMy0zMCByZXZpc2lvbiBl NTEwMTRmOWMwKSBbYXJtNjQtZGFyd2luMjFdDQoqIEJhY2twb3J0OiAzLjE6IFVOS05PV04sIDMu MjogVU5LTk9XTiwgMy4zOiBVTktOT1dODQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQojIyBQcm9ibGVtDQpBcyB0aGUgdGl0bGUgc2F5cywgIGBVcmkuZW5jb2RlX3d3 d19mb3JtX2NvbXBvbmVudGAgaXMgZXNjYXBpbmcgdGlsZGUgKGB+YCkgd2hlcmUgaXQgc2hvdWxk IG5vdCBhY2NvcmRpbmcgdG8gdGhlIFJGQzM5ODYuDQpSZWY6IGh0dHBzOi8vZGF0YXRyYWNrZXIu aWV0Zi5vcmcvZG9jL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTIuMw0KDQpUaGVyZSB3YXMgYSBwcmV2 aW91cyBpc3N1ZSB3aXRoIHRoZSBzYW1lIHByb2JsZW0sIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnL2lzc3Vlcy82Njk2IHdoaWNoIGhhcyBiZWVuIHJlc29sdmVkIGFuZCBtZXJnZWQuDQoNCi0t LQ0KDQpTaW5jZSBgVVJJLmVzY2FwZWAgaXMgbm93IG9ic29sZXRlIGFuZCBnb25lLCB0aGUgcHJl ZmVycmVkIHdheSB0byBlc2NhcGUgVVJJIGNoYXJhY3RlcnMgYXJlIHRvIGNob29zZSBmcm9tIHRo ZSBmb2xsb3dpbmcgbWV0aG9kcy4NCi0gYFVSSS5lbmNvZGVfd3d3X2Zvcm1fY29tcG9uZW50YCAo b3IsIGBVUkkuZW5jb2RlX3d3d19mb3JtYCB3aGljaCB1c2VzIHRoaXMpDQotIGBDR0kuZXNjYXBl YA0KLSBgRVJCOjpVdGlsLiN1cmxfZW5jb2RlYA0KLSBgV0VCcmljazo6SFRUUFV0aWxzLiNlc2Nh cGVfZm9ybWANCi0gYFdFQnJpY2s6OkhUVFBVdGlscy4jZXNjYXBlYA0KDQpUaGlzIGlzc3VlIGRv ZXMgbm90IG9jY3VyIHdoZW4gdXNpbmcgYW55IG9mIHRoZSBtZXRob2RzIGV4Y2VwdCBgVVJJLmVu Y29kZV93d3dfZm9ybV9jb21wb25lbnRgLg0KVGhlc2UgcHJlZmVycmVkIG9wdGlvbnMgYXJlIG5v dCBjb21wYXRpYmxlIHdpdGggZWFjaCBvdGhlciwgbWFraW5nIGl0IGEgcG9vciBleHBlcmllbmNl IGZvciBSdWJ5IHVzZXJzLg0KDQojIyMgTWluaW11bSByZXBsaWNhdGlvbg0KYGBgIHJ1YnkNCiMg VVJJDQppcmIobWFpbik6MDAyOjA+IHJlcXVpcmUgJ3VyaScNCj0+IHRydWUNCmlyYihtYWluKTow MDQ6MD4gVVJJLmVuY29kZV93d3dfZm9ybV9jb21wb25lbnQoInJ1Ynl+dGVzdCIpDQo9PiAicnVi eSU3RXRlc3QiDQoNCiMgQ0dJDQppcmIobWFpbik6MDAxOjA+IHJlcXVpcmUgJ2NnaScNCj0+IHRy dWUNCmlyYihtYWluKTowMDM6MD4gQ0dJLmVzY2FwZSgicnVieX50ZXN0IikNCj0+ICJydWJ5fnRl c3QiDQoNCiMgRVJCDQppcmIobWFpbik6MDA5OjA+IHJlcXVpcmUgJ2VyYicNCj0+IHRydWUNCmly YihtYWluKTowMTI6MD4gRVJCOjpVdGlsLnVybF9lbmNvZGUoInJ1Ynl+dGVzdCIpDQo9PiAicnVi eX50ZXN0Ig0KDQojIFdlYnJpY2sNCiMgbmVlZHMgd2VicmljayBnZW0gaW5zdGFsbGVkDQpbM10g cHJ5KG1haW4pPiByZXF1aXJlICd3ZWJyaWNrJw0KPT4gdHJ1ZQ0KWzRdIHByeShtYWluKT4gV0VC cmljazo6SFRUUFV0aWxzLmVzY2FwZV9mb3JtKCJydWJ5fnRlc3QiKQ0KPT4gInJ1Ynl+dGVzdCIN Cls1XSBwcnkobWFpbik+IFdFQnJpY2s6OkhUVFBVdGlscy5lc2NhcGUoInJ1Ynl+dGVzdCIpDQo9 PiAicnVieX50ZXN0Ig0KYGBgDQoNCiMjIFJlYWwgd29ybGQgdXNlLWNhc2UgcHJvYmxlbQ0KSSBo YXZlIGEgdXNlLWNhc2UgcHJvYmxlbSB3aXRoIHVzaW5nIFVSSSB3aGVuIGltcGxlbWVudGluZyBh IE9JREMgd2l0aCBQS0NFIGNsaWVudCAvIHNlcnZlciBzZXR1cC4NCldoZW4gdHJ5aW5nIHRvIGdl bmVyYXRlIGEgR0VUIFVSSSBmb3IgT3BlbiBJRCBDb25uZWN0IHdpdGggUEtDRSwgeW91IG5lZWQg dG8gcHJvdmlkZSBhIGBjb2RlX3ZlcmlmaWVyYCB2YWx1ZSB0byB0aGUgQXV0aG9yaXphdGlvbiBz ZXJ2ZXIsIHdoaWNoIGFjdHVhbGx5IHJlcXVpcmVzIHlvdSB0byB1c2UgdGhlIHRpbGRlIHdpdGhv dXQgZXNjYXBpbmcuDQoNClJlZjogaHR0cHM6Ly93d3cub2F1dGguY29tL29hdXRoMi1zZXJ2ZXJz L3BrY2UvYXV0aG9yaXphdGlvbi1yZXF1ZXN0Lw0KPiBXaGVuIHRoZSBuYXRpdmUgYXBwIGJlZ2lu cyB0aGUgYXV0aG9yaXphdGlvbiByZXF1ZXN0LCBpbnN0ZWFkIG9mIGltbWVkaWF0ZWx5IGxhdW5j aGluZyBhIGJyb3dzZXIsIHRoZSBjbGllbnQgZmlyc3QgY3JlYXRlcyB3aGF0IGlzIGtub3duIGFz IGEg4oCcY29kZSB2ZXJpZmllcuKAnC4gVGhpcyBpcyBhIGNyeXB0b2dyYXBoaWNhbGx5IHJhbmRv bSBzdHJpbmcgdXNpbmcgdGhlIGNoYXJhY3RlcnMgQS1aLCBhLXosIDAtOSwgYW5kIHRoZSBwdW5j dHVhdGlvbiBjaGFyYWN0ZXJzIC0uX34gKGh5cGhlbiwgcGVyaW9kLCB1bmRlcnNjb3JlLCBhbmQg dGlsZGUpLCBiZXR3ZWVuIDQzIGFuZCAxMjggY2hhcmFjdGVycyBsb25nLg0KDQpUaGUgaW5jb25z aXN0ZW50IGVuY29kaW5nIGlzIHByb2JsZW1hdGljIGZvciB0aGUgU2VydmVyIGFuZCBDbGllbnQg Ym90aCwgc2luY2UgYm90aCBlbmRzIG5lZWRzIHRvIGhhdmUgYW4gYWdyZWVtZW50IG9uIHVzaW5n IHRpbGRlIGFzIGFuIGVzY2FwZWQgY2hhcmFjdGVyIG9yIGFuIHVuZXNjYXBlZCBjaGFyYWN0ZXIu IA0KTG9naWNhbGx5IHNwZWFraW5nLCBgfmAgc2hvdWxkIGJlIHNlbnQgQVMtSVMgYW5kIG5vdCB0 byBiZSBlc2NhcGVkLCBzaW5jZSB0aGUgYGNvZGVfY2hhbGxlbmdlYCB2YWx1ZSBhbmQgYGNvZGVf dmVyaWZpZXJgIHZhbHVlcyBhcmUgc3RyaWN0bHkgY2hlY2tlZCB1c2luZyBhIEhhc2ggZ2VuZXJh dGlvbiBmdW5jdGlvbiBgRGlnZXN0OjpTSEEyNTYuZGlnZXN0YCwgd2hpY2ggZ2VuZXJhdGVzIGEg ZGlmZmVyZW50IEhhc2ggdmFsdWUgZGVwZW5kaW5nIG9uIGB+YChub24gZXNjYXBlZCkgb3IgYCU3 RWAoZXNjYXBlZCkuDQpUaGVzZSBwYXJhbWV0ZXJzIGZyb20gdXNlciBpbnB1dHMgYXJlIHVzdWFs bHkgbm90IG1lYW50IHRvIGJlIHRhbXBlcmVkIHdpdGggZm9yIHNlY3VyaXR5IHNha2UsIHNvIGl0 J3MgYmVzdCB0byBoYXZlIHRpbGRlIGB+YCB0byBiZSB1bmVzY2FwZWQgZnJvbSB0aGUgYmVnaW5u aW5nLg0KDQojIyBSZWxhdGVkIGlzc3Vlcw0KLSBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9p c3N1ZXMvNjY5Ng0KICAtIFRoaXMgc2VlbXMgdG8gaGF2ZSBiZWVuIHJlc29sdmVkIGFuZCBtZXJn ZWQuDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxp c3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4g ZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZv IC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwu cnVieS1sYW5nLm9yZy8=