1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-28 16:30:59 +01:00
phorge-phorge/src/infrastructure
epriestley 555c0421bb Allow slugs to contain most utf8 characters
Summary:
Ref T2632. Fixes T1466.

Currently, we normalize slugs (and thus Phriction URIs and canonical project names) to a small number of latin characters. Instead, blacklist a few characters and permit everything else (including utf8 characters).

When generating Phriction URIs, encode any utf8 characters. This means we render URIs encoded, but browsers handle this fine and display them readably in the URI and address bar, etc.

The blacklisted characters are mostly for practical reasons: \x00-\x19 are control characters, `#%?` are meaningful in URIs, `+` is sometimes configured to be interprted as space by apache, etc., `<>\\` are just silly, `&= ` are largely cosmetic.

This allows some silly stuff, like generating URIs with zero-width spaces and RTL markers in them. Possibly we should go blacklist those characters at some point.

Depends on: D5191

Test Plan: {F34402}

Reviewers: AnhNhan, chad, vrana

Reviewed By: chad

CC: aran

Maniphest Tasks: T1466, T2632

Differential Revision: https://secure.phabricator.com/D5192
2013-03-03 10:56:33 -08:00
..
__tests__ Formalize configuration sources and source stacks 2012-12-25 06:44:29 -08:00
celerity Update mobile menu icons 2013-03-03 08:17:57 -08:00
daemon Allow files to TTL and and be garbage collected 2013-02-20 13:38:36 -08:00
diff Restore merge of phutil_tag. 2013-02-13 14:51:18 -08:00
edges Require a viewer to load handles 2013-02-28 17:15:09 -08:00
env Use --user and --password from bin/storage in PHP migrations 2013-02-25 22:20:23 -08:00
events Tokens v1 2013-02-15 07:47:14 -08:00
internationalization Display application status in tip for needs attention number 2013-02-21 14:57:24 -08:00
javelin Merge branch 'master' into phutil_tag 2013-02-04 06:19:52 -08:00
lint Make PhabricatorLintEngine extensible 2013-02-19 11:37:25 -08:00
markup Require a viewer to load handles 2013-02-28 17:15:09 -08:00
query Delete license headers from files 2012-11-05 11:16:51 -08:00
ssh Implement SSHD glue and Conduit SSH endpoint 2012-12-19 11:08:07 -08:00
storage Prepare Diffusion for hovercards 2013-02-27 08:04:54 -08:00
testing Don't pop invalid test environment 2013-01-17 12:01:46 -08:00
util Allow slugs to contain most utf8 characters 2013-03-03 10:56:33 -08:00
PhabricatorAccessLog.php Delete license headers from files 2012-11-05 11:16:51 -08:00
PhabricatorEditor.php Delete license headers from files 2012-11-05 11:16:51 -08:00