-
Notifications
You must be signed in to change notification settings - Fork 5k
Handle unicode in absolute URI path for combine. #111710
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle unicode in absolute URI path for combine. #111710
Conversation
@MihaZupan @karelz Shall we consider it for backporting to 9? My recommendation is yes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The product change looks good to me, happens to also make some existing uses a bit more efficient by avoiding reparsing.
In the future we could also choose to make the logic even simpler by removing the else
entirely and call EnsureParseRemaining
instead.
Shall we consider it for backporting to 9?
I think we should, I expect many more users to hit this as they move to .NET 9, especially since it can also impact "normal" schemas like http.
src/libraries/System.Private.Uri/tests/FunctionalTests/UriTests.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Private.Uri/tests/FunctionalTests/UriTests.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Change assert
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks
* main: (31 commits) Fix linux-x86 build (dotnet#111861) Add FrozenDictionary specialization for integers / enums (dotnet#111886) [SRM] Refactor reading from streams. (dotnet#111323) Sign the DAC and DBI during the build process instead of in separate steps (dotnet#111416) Removing Entry2MethodDesc as it is unnecessary (dotnet#111756) Cross Product for Vector2 and Vector4 (dotnet#111265) Handle unicode in absolute URI path for combine. (dotnet#111710) Drop RequiresProcessIsolation on mcc tests (dotnet#111887) [main] Update dependencies from dotnet/roslyn (dotnet#111691) new trimmer feature System.TimeZoneInfo.Invariant (dotnet#111215) [browser] reduce msbuild memory footprint (dotnet#111751) Add debugging checks for stack overflow tests failure (dotnet#111867) Localized file check-in by OneLocBuild Task: Build definition ID 679: Build ID 2629821 (dotnet#111884) Bump main to preview2 (dotnet#111882) Avoid generic virtual dispatch for frozen collections alternate lookup (dotnet#108732) Bump main versioning to preview1 (dotnet#111880) Switch OneLoc to main (dotnet#111872) Improve docs on building ILVerify (dotnet#111851) Update Debian version to 13 (dotnet#111768) win32: add fallback to environment vars for system folder (dotnet#109673) ...
Fixes: #111355
Changes Made:
Copy full UriInfo when flags indicate it has been fully initialized, so we can consider it immutable and freely reuse it without thread safety concerns.
Testing:
Added unit tests which failed before and passing now.
Notes:
Huge credit to: @MihaZupan