getBaseDomainFromHost doesn't work for domains with a . at the front (nsIEffectiveTLDService)

RESOLVED INVALID

Status

()

Core
Networking
RESOLVED INVALID
7 years ago
7 years ago

People

(Reporter: mkaply, Unassigned)

Tracking

({dev-doc-complete, regression})

Trunk
dev-doc-complete, regression
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

7 years ago
This is a regression.

I've been using getBaseDomainFromHost on domains like .foo.com

This worked in Firefox 3.6

In Firefox 4 it returns an error

Error: uncaught exception: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIEffectiveTLDService.getBaseDomainFromHost]"  nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)"  location: "JS frame :: chrome://optouttester2/content/optouttester.js :: <TOP_LEVEL> :: line 35"  data: no]
(Reporter)

Comment 1

7 years ago
This is with the latest nightly.
Keywords: regression
Michael, would you be willing to narrow down a regression range?
(Reporter)

Comment 3

7 years ago
I just tested beta 1 and it failed there. So it happened early.
(Reporter)

Comment 4

7 years ago
Fails in 3.7 alpha 1.

I've double and triple checked and it definitely works in FF 3.6.
(Reporter)

Comment 5

7 years ago
In comparing FF 3.6 to FF4, Code was added to do this:

203     // sanity check the string we're about to look up: it should not begin with
204     // a '.'; this would mean the hostname began with a '.' or had an
205     // embedded '..' sequence.
206     if (*currDomain == '.')
207       return NS_ERROR_INVALID_ARG;

Unfortunately there is no blame on that file.

http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/nsEffectiveTLDService.cpp
(Reporter)

Comment 6

7 years ago
It was done here:

https://bugzilla.mozilla.org/show_bug.cgi?id=536650
Hmm.  That change looks quite purposeful.  Dan?

Comment 8

7 years ago
Why would you expect it to succeed? It's not a valid host. You have to strip leading dots off before you pass it into the service, see http://mxr.mozilla.org/mozilla-central/source/netwerk/cookie/nsCookieService.cpp#3018.
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → INVALID
(Reporter)

Comment 9

7 years ago
I'd expect it to succeed.

It's common to get hosts with leading . from cookies.

The other thing is that Firefox 3.6 set an expectation that it would succeed.

It was changed for FF 4.

At the bare minimum, the docs should be updated to note the change in behavior from FF3.6 to FF 4.

Comment 10

7 years ago
Past performance is no guarantee of future results. :)

Good point though, we can doc it.
Keywords: dev-doc-needed
Updated documentation:

https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIEffectiveTLDService#getBaseDomainFromHost()

Also noted on Firefox 4 for developers.
Keywords: dev-doc-needed → dev-doc-complete
You need to log in before you can comment on or make changes to this bug.