#22223: reverse() escapes unreserved characters ----------------------------------+------------------------------------ Reporter: erik.van.zijst@… | Owner: nobody Type: Bug | Status: new Component: Core (URLs) | Version: 1.6 Severity: Normal | Resolution: Keywords: | Triage Stage: Accepted Has patch: 1 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 1 Easy pickings: 0 | UI/UX: 0 ----------------------------------+------------------------------------
Comment (by erik.van.zijst): > Can you clarify how you came up with /:@&=+$,? I took that from paragraph 3.3 of RFC 2396: > 3.3. Path Component > > The path component contains data, specific to the authority (or the > scheme if there is no authority component), identifying the resource > within the scope of that scheme and authority. > > path = [ abs_path | opaque_part ] > > path_segments = segment *( "/" segment ) > segment = *pchar *( ";" param ) > param = *pchar > > pchar = unreserved | escaped | > ":" | "@" | "&" | "=" | "+" | "$" | "," Also, looking more closely at RFC 1738, it seems to me that the only reserved characters in HTTP path segments are: "/;?". I'm not entirely sure where you found those other character sets. Btw, when I backport the change to 1.6.x, do you want me to create another pull request against master, or are patches against older branches automatically merged up? -- Ticket URL: <https://code.djangoproject.com/ticket/22223#comment:5> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/082.e9b3322377b5db073bbe15ac356a8e4d%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.