https://github.com/mozilla-firefox/firefox/blob/d5979c2a5c2e...
Yikes.
https://github.com/mozilla-firefox/firefox/blob/d5979c2a5c2e...
Yikes.
Which is an error. Any ip like 2001:0000:0000::1 is going to be incorrect. It willingly produces errors. Whoever wrote this didn't even spend a few seconds thinking about the structure of IPv6 addresses.
> I don't see anything problematic with it.
Other than it being completely wrong and requiring a regex to be compiled for an amount of work that's certainly less than the compilation itself.
That's exceptionally presumptions to the point of being snotty.
> I think you are getting the causality wrong there.
Where did I imply causality? This was simply an occasion to look at the code. This is bad code. I would not pass this. What's your _justification_ for using a regex here?
It's not. And the sequence you describe is not even parsed because colons are not part of the IPv6 extension of the SAN. PLease educate yourself before spilling such drivel.
> > The certificate code referenced here shows why
So what's the implication here, then?
> This is bad code.
Without justifying further I think we're on equal footing on the snottiness here (:
What's bad? Why not use regex here? It's not like they're using it to parse user-controlled HTML. Simple string transormations like this is a great use-case where the manual character iteration easily becomes inefficient and messy. And you may introduce bugs in the process (unicode length bugs are common).
Do you also avoid grep and sed without the -F flag in shell?
Would be in the IP SAN as 3fff0020000000000000000000000000, which this code expands:
"3fff0020000000000000000000000000"
.toLowerCase()
.match(/.{1,4}/g)
.join(":")
.replace(/\b:?(?:0+:?){2,}/, "::")
'3fff::20:0000:0000:0000:0000:0000:0000'
Which has one too many parts and doesn't parse as an IPv6 address. But like mentioned this is just presentation code. I don't want to waste time if this isn't actually a bug, but maybe someone on the LetsEncrypt trial could actually make a cert to see if IP addresses formatted like that are a problem in reality...How so?