Don't treat filetypes as protocol handlers on windows

RESOLVED FIXED

Status

defect
RESOLVED FIXED
12 years ago
3 years ago

People

(Reporter: dveditz, Assigned: Biesinger)

Tracking

({fixed1.8.0.14, fixed1.8.1.8})

Dependency tree / graph
Bug Flags:
blocking1.8.1.8 +
blocking1.8.0.14 +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

On Windows when we encounter an unknown protocol handler we look in the windows registry to see if it exists. However we just look for the existence of HKR/scheme and do not check to see if it has a "URL Protocol" value. Therefore we'll think any registered filetype is a protocol so we think we can load things like "giffile:blah" etc. and call ShellExecute() on them.

So far this appears harmless (at least on WinXP) because ShellExecute() won't load them, but I have not done extensive testing and haven't looked at anything but WinXP so far.
This is the issue mentioned in the first part of http://larholm.com/2007/07/25/mozilla-protocol-abuse/
Flags: blocking1.9?
Flags: blocking1.8.1.7?
Assignee: nobody → cbiesinger
a patch will require bug 389632's patch, because without it we show the dialog for any protocol no matter whether it exists
Depends on: 389632
Posted patch patchSplinter Review
Attachment #274078 - Flags: superreview?(bzbarsky)
Attachment #274078 - Flags: review?(bzbarsky)
Comment on attachment 274078 [details] [diff] [review]
patch

Looks good.
Attachment #274078 - Flags: superreview?(bzbarsky)
Attachment #274078 - Flags: superreview+
Attachment #274078 - Flags: review?(bzbarsky)
Attachment #274078 - Flags: review+
Comment on attachment 274078 [details] [diff] [review]
patch

do we want this on 1.8.0.13 too?
Attachment #274078 - Flags: approval1.8.1.7?
Checking in win/nsOSHelperAppService.cpp;
/cvsroot/mozilla/uriloader/exthandler/win/nsOSHelperAppService.cpp,v  <--  nsOSHelperAppService.cpp
new revision: 1.73; previous revision: 1.72
done
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Flags: blocking1.9?
Flags: blocking1.8.1.7?
Flags: blocking1.8.1.7+
Flags: blocking1.8.0.14+
Comment on attachment 274078 [details] [diff] [review]
patch

approved for 1.8.1.7 and 1.8.0.14, a=dveditz for release-drivers
Attachment #274078 - Flags: approval1.8.1.7?
Attachment #274078 - Flags: approval1.8.1.7+
Attachment #274078 - Flags: approval1.8.0.14+
MOZILLA_1_8_BRANCH:
Checking in nsOSHelperAppService.cpp;
/cvsroot/mozilla/uriloader/exthandler/win/nsOSHelperAppService.cpp,v  <--  nsOSHelperAppService.cpp
new revision: 1.63.4.3; previous revision: 1.63.4.2
done

MOZILLA_1_8_0_BRANCH:
Checking in nsOSHelperAppService.cpp;
/cvsroot/mozilla/uriloader/exthandler/win/nsOSHelperAppService.cpp,v  <--  nsOSHelperAppService.cpp
new revision: 1.63.4.1.4.1; previous revision: 1.63.4.1
done
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.