This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component
Fabien Potencier 2b60131275 merged branch Seldaek/router_esc (PR #1471)
Commits
-------

418d6a0 [Routing] Fix syntax error when dumping routes with single quotes in the requirements or pattern
2b5e22d [Routing] Fix ApacheDumper when a space appears in a default value
6c7f484 [Routing] Fix dumper so it doesn't print trailing whitespace
761724a [Routing] Adjust urlescaping rules, fixes #752

Discussion
----------

[Router] Bunch o' Fixes

The first commit changes the escaping rule to fix issues I had previously, and #752 as well, here's from the full commit message:

    Only + and % are now encoded in generated routes, since they are the only characters that, if not encoded, could cause problems/conflicts when decoded. Namely + turns into a space, and % followed by numbers could do funky things.

    The matcher decodes everything which works since nothing will have %NN without being escaped, and + are escaped as well.

Second commit is just a test fix for the first

Third and fourth are simply dumper escaping issues, nothing to argue about.

Note that all changes have had test cases added, and I spent a few hours torturing/testing all this stuff with both Apache and PHP dumpers, in many browsers, and with URLs as wonky as `/%01%02%03%04%05%06%07%08%0E%0F%10%11%12%13%14%15%16%17%18%19%1A%1B%1C%1D%1E%1F%20!%22$%25&%27%28%29*+,-./0123456789:;%3C=%3E@ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B|%7D~/baz` which essentially represent the 1-255 char range minus ? and #.

The only issues I really encountered after all the patches were applied is that Apache refuses to match `%22` (= `"`) and `*` in a url. I guess it's just because they're not allowed chars in windows paths, but | and < > works fine though. Anyway this works with the PHP dumper, and it didn't work either without my patches so it's not like I broke it, I'm just saying for the record.
2011-07-01 10:09:44 +02:00
..
BrowserKit [BrowserKit] convert a click to a submit when the link is actually a form 2011-06-17 15:23:12 +02:00
ClassLoader [ClassLoader] made another performance improvement 2011-06-17 14:15:14 +02:00
Config [Config] removed extra whitespace. 2011-07-01 09:35:17 +02:00
Console removed whitespace 2011-06-23 22:03:13 +02:00
CssSelector [CssSelector] fixed exception namespace 2011-06-29 19:11:00 +02:00
DependencyInjection [DependencyInjection] removed injection for protected and private properties 2011-06-27 08:28:54 +02:00
DomCrawler [DomCrawler] fixed Link::getUri() method for anchors 2011-06-23 08:20:13 +02:00
EventDispatcher [EventDispatcher] tweaked public @api 2011-06-14 14:40:48 +02:00
Finder [Finder] added a convenience method Finder::create() 2011-06-14 14:18:24 +02:00
Form [Form] fixed guesser when a choice constraint is defined via a callback 2011-06-29 19:55:46 +02:00
HttpFoundation merged branch Seldaek/req_time (PR #1432) 2011-06-25 13:26:06 +02:00
HttpKernel bumped version 2011-06-28 07:53:40 +02:00
Locale [Locale] fixed CS 2011-06-24 01:49:48 +02:00
Process fixed CS 2011-06-23 13:39:36 +02:00
Routing merged branch Seldaek/router_esc (PR #1471) 2011-07-01 10:09:44 +02:00
Security [Security] Fix http retry authentication entry point 2011-06-25 18:19:13 +02:00
Serializer fixed CS 2011-06-23 14:07:53 +02:00
Templating [Templating] fixed cache loader as the logical name can contain characters not valid on some OSes 2011-06-07 13:35:55 +02:00
Translation fixed CS 2011-06-23 14:07:53 +02:00
Validator updated to doctrine changes 2011-06-30 12:03:19 +02:00
Yaml added more information about a resource in error and debug messages 2011-06-20 10:16:09 +02:00