Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

urlUtils should only strip path segments ending with colons IF the segment does not exist in the original URL. #4939

Closed
jeffbcross opened this issue Nov 13, 2013 · 0 comments
Assignees

Comments

@jeffbcross
Copy link
Contributor

This issue is an enhancement to a bug fix I recently submitted, which @tbosch and I have discussed further and decided needs enhancement.

The urlResolve method will automatically strip the first segment of a path if the segment ends in a colon. This was to correct undesired behavior in the $location service using the file protocol on windows in multiple browsers (see #4680).

However, there could be cases where users intentionally have first path segments that end in a colon (although this conflicts with section 3.3 of rfc3986).

A simple solution to this problem is to add a check to make sure the first path segment of the input url does not end with a colon, to make sure we're removing an unintentional path segment.

@ghost ghost assigned jeffbcross Nov 13, 2013
jeffbcross added a commit to jeffbcross/angular.js that referenced this issue Nov 13, 2013
Prior to this fix, the urlResolve method would automatically
strip the first segment of a path if the segment ends in a colon.
This was to correct undesired behavior in the $location service
using the file protocol on windows in multiple browsers (see angular#4680).

However, there could be cases where users intentionally 
have first path segments that end in a colon 
(although this conflicts with section 3.3 of rfc3986).

The solution to this problem is an extra check to make sure
the first path segment of the input url does not end with a colon,
to make sure we're only removing undesired path segments.

Fixes angular#4939
@ghost ghost assigned tbosch Nov 13, 2013
jamesdaily pushed a commit to jamesdaily/angular.js that referenced this issue Jan 27, 2014
Prior to this fix, the urlResolve method would automatically
strip the first segment of a path if the segment ends in a colon.
This was to correct undesired behavior in the $location service
using the file protocol on windows in multiple browsers (see angular#4680).

However, there could be cases where users intentionally 
have first path segments that end in a colon 
(although this conflicts with section 3.3 of rfc3986).

The solution to this problem is an extra check to make sure
the first path segment of the input url does not end with a colon,
to make sure we're only removing undesired path segments.

Fixes angular#4939
jamesdaily pushed a commit to jamesdaily/angular.js that referenced this issue Jan 27, 2014
Prior to this fix, the urlResolve method would automatically
strip the first segment of a path if the segment ends in a colon.
This was to correct undesired behavior in the $location service
using the file protocol on windows in multiple browsers (see angular#4680).

However, there could be cases where users intentionally 
have first path segments that end in a colon 
(although this conflicts with section 3.3 of rfc3986).

The solution to this problem is an extra check to make sure
the first path segment of the input url does not end with a colon,
to make sure we're only removing undesired path segments.

Fixes angular#4939
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants