Comments (2)
Hi Mark,
The Firefox changes come from 1723456 - Reject non-IPv4 hostnames that end in numbers.
The rust-url changes you mention landed in Align IPv4 parsing to spec by lucacasonato · Pull Request 753 · servorust-url
The fact that we started using rust-url in Firefox recently for non-special schemes is coincidental.
This all comes from the URL standard changes Reject non-IPv4 hostnames that end in numbers. by MattMenke2 · Pull Request 619 · whatwgurl
These changes are now implemented in all web browsers as far as I can tell - and were mostly driven by interop see https://wpt.fyi/interop-2023?feature=interop-2023-url.
What I'm less clear on is whether this change was intentional in a minor version bump - the fact this URL no longer works in Firefox was surprising and has a number of implications (eg, databases which carefully store only validated URLs now need to deal with the possibility some stored URLs are actually invalid, etc)
That is an unfortunate side effect. Thankfully this kind of URLs are pretty rare on the web.
from rust-url.
Thanks for the detailed explanation!
from rust-url.
Related Issues (20)
- Integer overflow when parsing long URL HOT 4
- percent_encoding::NON_ALPHANUMERIC should be configurable
- Panicked at 'assertion failed: self.is_char_boundary(new_len)'
- Disabling "remove dot segments" behavior HOT 2
- Mark Origin::unicode_serialization as deprecated?
- Is it possible to force the %-encoding of `+`? HOT 1
- Release new version of `data-url` HOT 1
- idna::punycode::encode_str() wrong conversion ? HOT 2
- Add parameter spaceAsPlus to ByteSerialize
- Incorrect parsing of Windows drive letter quirk
- Invalid IPv4 but parsing success HOT 1
- URL http:www.google.com is passed as validated HOT 1
- Host should implement deserialize to parse strings
- JOIN functionality not working HOT 4
- Documentation for IDNA configuration options should explain use cases
- Feature request: add parser boolean option to leave relative paths in the URL.
- Neither punycode::encode_str nor Config::...::to_ascii return expected results for single Unicode char and "EXAMPLE" HOT 3
- `Url::from_file_path()` incorrect handling of backslash on linux
- `=` is not being escaped as query value HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-url.