Closed Bug 450973 Opened 16 years ago Closed 16 years ago

Login for Wells Fargo Bank fails (date portion of user agent string needs to be limited to 8 characters)

Categories

(Core :: Networking: HTTP, defect, P2)

x86
All
defect

Tracking

()

VERIFIED FIXED
mozilla1.9.1b1

People

(Reporter: stephen.moehle, Assigned: crowderbt)

References

()

Details

(Keywords: regression, verified1.9.1)

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/20080816182118 Firefox/3.1a2pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/20080816182118 Firefox/3.1a2pre

Login to Wells Fargo fails using the form at the given URL. There are no error messages or anything from Wells Fargo. The page just reloads with the username and password fields cleared out. Nothing in the Error Console.

This works with Firefox 3.0.1.


Reproducible: Always

Steps to Reproduce:
1. Go to URL
2. Enter username and password
3. Press Enter or click Sign On.
Actual Results:  
Page reloads with username and password fields cleared out.

Expected Results:  
Login to succeed.

NSPR logging (sync:5) gives the following when I submit the form:

-1208113328[b7c11060]: WARNING: NS_ENSURE_TRUE(mSaveLayoutState || !aState) failed: file /home/stephe/mozilla/hg/src/docshell/shistory/src/nsSHEntry.cpp, line 353
-1208113328[b7c11060]: WARNING: recurring into frame construction: 'mPresContext->mLayoutPhaseCount[eLayoutPhase_FrameC] == 0', file ../../dist/include/layout/nsPresContext.h, line 988
-1208113328[b7c11060]: WARNING: recurring into frame construction: 'mPresContext->mLayoutPhaseCount[eLayoutPhase_FrameC] == 0', file ../../dist/include/layout/nsPresContext.h, line 988
-1208113328[b7c11060]: WARNING: recurring into frame construction: 'mPresContext->mLayoutPhaseCount[eLayoutPhase_FrameC] == 0', file ../../dist/include/layout/nsPresContext.h, line 988
-1208113328[b7c11060]: WARNING: NS_ENSURE_TRUE(sgo || !hasHadScriptObject) failed: file /home/stephe/mozilla/hg/src/content/base/src/nsContentUtils.cpp, line 4336
-1208113328[b7c11060]: WARNING: NS_ENSURE_SUCCESS(rv, 0) failed with result 0x8000FFFF: file /home/stephe/mozilla/hg/src/content/base/src/nsContentUtils.cpp, line 2688
-1208113328[b7c11060]: WARNING: NS_ENSURE_TRUE(sgo || !hasHadScriptObject) failed: file /home/stephe/mozilla/hg/src/content/base/src/nsContentUtils.cpp, line 4336
-1208113328[b7c11060]: WARNING: NS_ENSURE_SUCCESS(rv, 0) failed with result 0x8000FFFF: file /home/stephe/mozilla/hg/src/content/base/src/nsContentUtils.cpp, line 2688
Keywords: regression
Version: unspecified → Trunk
works: 2008-08-07-02-mozilla-central

fails: 2008-08-08-02-mozilla-central
Flags: blocking1.9.1?
Keywords: qawanted
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Linux → All
This is a bad regression, which should be worked on.  I don't see anything obvious in the regression-range provided in comment #1, however.
Severity: normal → critical
Sorry, I lied.  A lot of potential candidates for mayhem in that range.  Still looking.
Copying bz, in case he's got a guess (likely to be a far better one than I would have).

Here's a better regression-range link:
http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=08%2F07%2F2008+00%3A00%3A00&enddate=08%2F08%2F2008+00%3A00%3A00
So... in a current trunk build, we make the request to the server, they respond with a 302 to the same page we used to be on.

Someone want to get an HTTP log in a build this works in and attach it to the bug?
Nevermind.  I got a log in fx2.  We send the same request headers (except User-Agent, and I tried tweaking that), but get back a different response.

I guess it's hg bisect time...
hg bisect sez it's bug 431270.  And indeed, if I change my UA string from 

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1a2pre) Gecko/20080825074258 Minefield/3.1a2pre

to

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1a2pre) Gecko/20080825 Minefield/3.1a2pre

the site starts working (at least gives me the page I should be getting for a login error).  I tested, and any time the part after "Gecko/" is longer than 10 digits, this bug appears.  I have no idea what failed with my earlier UA-tweaking attempt...

We probably need to undo the changes to the HTTP-visible and script-visible UA string and go back to following our spec at http://www.mozilla.org/build/revised-user-agent-strings.html (once the website folks untrash it, at least).
Blocks: 431270
Component: Form Manager → Networking: HTTP
Keywords: qawanted
QA Contact: form-manager → networking.http
cc:ing people from bug 431270 to get eyes on this.
Yeah, we clearly need to change the UA part back to what it was.
GeckoDate 	
Date in the format YYYYMMDD. For official Mozilla builds, this will correspond to the date portion of the BuildID. For branded versions of Mozilla, the GeckoDate should correspond to the date the code was pulled from mozilla.org, and may not necessarily correspond to the date portion of the generated BuildID.  Note that the date does not identify the Gecko version if multiple branches are releasing in parallel.

Just for the purpose of having it at hand and see if we have to rewrite that paragraph
http://www.mozilla.org/build/revised-user-agent-strings.html
Armen, we don't want to change that paragraph, or the web-facing UA string.
Attached patch like so? (obsolete) — Splinter Review
Do I need sr? for this?
Assignee: nobody → crowder
Attachment #340597 - Flags: review?(bzbarsky)
I can sr, but shouldn't that be 8 rather than 10?
I tested it with wellsfargo, 10 worked....  I'll do 8, though...  coming right up.
I think we shipped Firefox 3 with a web-visible 10 digit build ID in the user-agent, FWIW.
We did, which is presumably why it works on this site (they changed their code to make it work).  But we really shouldn't have done that, imo.
I'm not arguing either way, just noting that.
Attached patch 8 charactersSplinter Review
Attachment #340597 - Attachment is obsolete: true
Attachment #340616 - Flags: superreview?(bzbarsky)
Attachment #340616 - Flags: review?(bzbarsky)
Attachment #340597 - Flags: review?(bzbarsky)
Attachment #340616 - Flags: superreview?(bzbarsky)
Attachment #340616 - Flags: superreview+
Attachment #340616 - Flags: review?(bzbarsky)
Attachment #340616 - Flags: review+
Any reason not to land this before the beta freeze?
No, and I'd love help landing it, since every time I look the tree is either closed or burning (as it happens to be now).
Keywords: checkin-needed
http://hg.mozilla.org/mozilla-central/rev/2070d2f3a957
Status: NEW → RESOLVED
Closed: 16 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.1b1
verified fixed using Build identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1pre) Gecko/20081001 Minefield/3.1b1pre as well Build identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1pre) Gecko/20081001 Minefield/3.1b1pre, Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b1pre) Gecko/20081001 Minefield/3.1b1pre.
Status: RESOLVED → VERIFIED
Comment on attachment 340616 [details] [diff] [review]
8 characters

fwiw this should've used .Truncate instead of .SetLength
What is the distinction, please?
hm, guess there is none. I thought I remembered a comment in nsTAString.h about not using SetLength to shorten a string.
Summary: Login for Wells Fargo Bank fails → Login for Wells Fargo Bank fails (date portion of user agent string needs to be limited to 8 characters)
Why does this fix only affect the trunk releases?   The branch releases (eg. fx3.0.3), still show the 10 digit characters.  We need to be consistent here, else it'll confuse websites that want to use UA string detection to support both trunk and branch.
10 doesn't seem to cause trouble for Wellsfargo, it was the 16 or whatever that we'd been sending since the update to extended build IDs.
fwiw, this changes behavior from what I think it probably should be.

In Firefox 2, the UA was 8 characters, which is fine. You can check this by typing javascript:navigator.userAgent into the location bar.

However, also in Firefox 2, the "Build" printed on the about: page was 10 characters, which happened to be the size of the build ID back then. That build ID is used for other things as well.

I think we should print 8 characters in the UA but still print the full build ID on the about: page.
about: just outputs navigator.userAgent.  If you want it to list something else, that needs to be changed in the about: page....

Fx2's about: page did something smarter here, but someone saw fit to change it in bug 387163 (basically working around the fact that navigator.userAgent now included the hour).  That patch should probably be backed out.
ccing bsmedberg, since in bug 387163 he says he lengthened the on-the-wire buildid intentionally.
This landed prior to 1.9.1 branching.
Flags: blocking1.9.1? → blocking1.9.1+
Priority: -- → P2
Keywords: fixed1.9.1
I have a Wells Fargo account and this is verified fixed for me using 1.9.1:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.1b3pre) Gecko/20090128 Shiretoko/3.1b3pre

Replacing fixed1.9.1 keyword with verified1.9.1.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: