Page MenuHomePhabricator

Reject ambiguous URIs with unescaped "#" or "?" in username/password parts
ClosedPublic

Authored by epriestley on Apr 10 2017, 4:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 1:27 AM
Unknown Object (File)
Fri, Apr 19, 6:23 PM
Unknown Object (File)
Wed, Apr 17, 5:22 PM
Unknown Object (File)
Tue, Apr 9, 7:24 PM
Unknown Object (File)
Tue, Apr 2, 2:48 PM
Unknown Object (File)
Sun, Mar 31, 12:04 PM
Unknown Object (File)
Mar 12 2024, 3:37 PM
Unknown Object (File)
Mar 4 2024, 6:52 PM
Subscribers
None

Details

Summary

Fixes T12526. These URIs are ambiguous and nonstandard, and different versions of different clients parse them differently.

Instead of trying to get this right across PHP versions, just reject these outright. No normal user will ever expect these to work.

Test Plan

Ran unit tests in PHP 7.1, got clean results. See T12526 for more discussion.

Diff Detail

Repository
rPHU libphutil
Branch
uri1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 16370
Build 21772: Run Core Tests
Build 21771: arc lint + arc unit