Closed Bug 268483 Opened 20 years ago Closed 20 years ago

Lock icon appears even though http connection failed.

Categories

(Core :: Networking: HTTP, defect)

defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla1.8beta1

People

(Reporter: dougt, Assigned: darin.moz)

References

(Blocks 1 open bug, )

Details

(Keywords: fixed-aviary1.0.1, fixed1.7.6, Whiteboard: [sg:fix])

Attachments

(3 files)

steps to reproduce:

1.  Go to http://mozilla.org
2.  Go to a https server that doesn't speak https.  For example, a https imap
server.

expected result:

an error dialog and the content of the page shouldn't change.  most importantly,
the security of the page should remain the same -- lock icon unlocked.

actual result:

i see an error dialog, but then the lock icon is locked and the details in the
page security dialog suggest that www.mozilla.org has been verified.

marking security sensitive per conversation with darin
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.8beta
*** Bug 270676 has been marked as a duplicate of this bug. ***
I found a public secure IMAP server that can be used to demonstrate this bug:
https://calmail.berkeley.edu:993/

Load that link, and then press the STOP button.  You should see the address bar
change to the locked state for the calmail server even though the page content
hasn't changed.  The choice of the STOP button is not special... any error
condition would likely yield the same result.
I believe this bug is a result of the patch for bug 148981.  I think it may be
wrong to synthesize a STATE_TRANSFERRING event when the status of the request is
a failure code and when it has not already transferred some data (the only case
where we would be synthesizing STATE_TRANSFERRING).

That patch was added in 2002 by rpotts, and I later added a further condition
that we skip that block of code when the status code is
NS_ERROR_BINDING_RETARGETED to fix security bug 257308.  Now, I think we should
just remove that block of code.

Patch coming up...
BTW, the reason why "httpChannel->GetResponseStatus(...)" was succeeding was
because we treated the text from the IMAP server as a HTTP/0.9 response (i.e., a
HTTP response with no status line or response headers).
Attachment #169740 - Flags: review?(cbiesinger)
Attachment #169740 - Flags: review?(cbiesinger) → review+
biesi raised an interesting point over irc:

It seems that this patch works because the HTTP channel's direct listener is not
the URI loader but rather an unknown content decoder.  It suppresses the ODA
because it is trying to figure out what sort of content the stream contains.

Perhaps it would make more sense to check if the request has been targeted or
not in place of the block of code I removed.  Only a targeted request (one with
the nsIChannel::LOAD_TARGETED load flag set) should trigger STATE_TRANSFERRING
(I think).  I might give that a try instead...
Attached patch v2 patchSplinter Review
alternate patch.
Comment on attachment 169752 [details] [diff] [review]
v2 patch

yeah... I think this is a better approach. I still wonder why the data just
disappears, though...

anyway, r=biesi.
Attachment #169752 - Flags: review+
it doesn't dissappear... instead it is stuck inside the unknown decoder's
internal buffer.  the decoder is waiting for the next ODA, but instead it gets
an OnStopRequest w/ status=NS_BINDING_ABORTED.  thus, the data is never pushed
to the final stream listener.
Attachment #169752 - Flags: superreview?(bzbarsky)
Comment on attachment 169752 [details] [diff] [review]
v2 patch

sr=bzbarsky
Attachment #169752 - Flags: superreview?(bzbarsky) → superreview+
fixed-on-trunk

dougt, is there any way you can verify the fix?
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Blocks: 248511
Blocks: lockicon
Whiteboard: [sg:fix]
Shouldn't this be ported back to the branches?
Flags: blocking1.7.6?
Flags: blocking-aviary1.1?
Flags: blocking-aviary1.0.1?
Flags: blocking1.7.6?
Flags: blocking1.7.6+
Flags: blocking-aviary1.0.1?
Flags: blocking-aviary1.0.1+
Comment on attachment 169752 [details] [diff] [review]
v2 patch

a=dveditz
Attachment #169752 - Flags: approval1.7.6+
Attachment #169752 - Flags: approval-aviary1.0.1+
*** Bug 280461 has been marked as a duplicate of this bug. ***
Verified Fixed.  Test case with https://calmail.berkeley.edu:993/ no longer
displays yellow background and lock icon when the page load is stopped.

M18b1/Trunk: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b) Gecko/20050217

Aviary 1.0.1 Branch: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)
Gecko/20050218 Firefox/1.0

M176 Branch: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050217

Based on my testing, it looks like this has been fixed everywhere.
Status: RESOLVED → VERIFIED
Group: security
Flags: blocking-aviary1.1?
Attachment #187613 - Flags: superreview?(bzbarsky)
Attachment #187613 - Flags: review?(cbiesinger)
OS: Windows XP → All
Attachment #187613 - Flags: review?(cbiesinger) → review+
Attachment #187613 - Flags: superreview?(bzbarsky) → superreview+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: