Skip to content

Conversation

@Tratcher
Copy link
Member

Fixes #41168

An async state machine optimization was made in MapPath and UsePathBase for 6.0 that accidentally changed the field type for paths from PathString to string. There's an implicit converter between the types, but it encodes/decodes the string. This can result in double encoding or decoding.

56d0f2a#diff-65457624537493466dc6a9609fb01fcb49e5f17e687b04827aa4231daf44c5d6R67

Fix: Make sure the path fields are consistently passed as PathStrings to avoid unnecessary transformations.

Recommended for servicing once this is verified in main.

@Tratcher Tratcher self-assigned this Apr 15, 2022
@ghost ghost added the area-runtime label Apr 15, 2022
@Tratcher Tratcher merged commit 02e7e14 into dotnet:main Apr 17, 2022
@Tratcher Tratcher deleted the tratcher/pathstringimplicit branch April 17, 2022 15:26
@ghost ghost added this to the 7.0-preview4 milestone Apr 17, 2022
Tratcher added a commit to Tratcher/aspnetcore that referenced this pull request Apr 26, 2022
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

IIS: % in URL is double-unescaped

3 participants