Commit Graph

79 Commits

Author SHA1 Message Date
Sylvestre Ledru
e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Ehsan Akhgari
cebe9c2c89 Bug 1509555 - Part 4: Remove nsIWebProgressListener::STATE_BLOCKED_SLOW_TRACKING_CONTENT r=baku
Depends on D12830

Differential Revision: https://phabricator.services.mozilla.com/D12831
2018-11-27 08:56:39 +00:00
Ehsan Akhgari
0b6dceed64 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122
2018-11-20 14:34:49 +00:00
Andreea Pavel
3e7a2cf5a7 Backed out changeset 94efd169438e (bug 1504728) for mochitest AddressSanitizer failures on a CLOSED TREE 2018-11-20 02:12:47 +02:00
Ehsan Akhgari
266d39fda6 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122
2018-11-19 20:31:16 +00:00
Dorel Luca
5106b2f08b Backed out changeset dfc775a144ad (bug 1504728) for Brwoser-chrome failure in browser/base/content/test/trackingUI/browser_trackingUI_trackers_subview.js. CLOSED TREE 2018-11-19 18:34:50 +02:00
Ehsan Akhgari
292c295604 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122
2018-11-19 15:25:33 +00:00
Narcis Beleuzu
6e37dfa8f9 Backed out 2 changesets (bug 1504728, bug 1505198) for xpcshell failures on test_WebExtensionContentScript.js. CLOSED TREE
Backed out changeset 26318538f077 (bug 1505198)
Backed out changeset fc39602006be (bug 1504728)
2018-11-16 02:34:15 +02:00
Ehsan Akhgari
9d1220d4e7 Bug 1504728 - Part 1: Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin,johannh
Differential Revision: https://phabricator.services.mozilla.com/D11122
2018-11-14 17:19:25 +00:00
Ehsan Akhgari
9ce76061d0 Bug 1504728 - Part 0: Update nsSecureBrowserUIImpl::CheckForBlockedContent() to check for mixed content blocking when the resource is already marked as broken; r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D11815
2018-11-13 17:56:22 -05:00
Dorel Luca
c4f8caba67 Backed out changeset 365e0d2414bf (bug 1504728) for browser-chrome failures. CLOSED TREE 2018-11-09 18:48:39 +02:00
Ehsan Akhgari
75f342fb34 Bug 1504728 - Add a content blocking notification for indicating when a top-level page is using cookies or site data r=baku,valentin
Differential Revision: https://phabricator.services.mozilla.com/D11122
2018-11-09 15:36:02 +00:00
Dana Keeler
d9dff8f2e7 bug 1497555 - filter out same-document location changes in nsSecureBrowserUIImpl::OnLocationChange r=Ehsan
If nsSecureBrowserUIImpl::OnLocationChange receives a
LOCATION_CHANGE_SAME_DOCUMENT notification, it doesn't need to (and in fact
shouldn't) update its security state or notify downstream listeners.

Differential Revision: https://phabricator.services.mozilla.com/D8900
2018-10-17 21:38:24 +00:00
Dana Keeler
ea00151873 bug 1391207 - error pages are always not secure r=Gijs
Before this patch, if a TLS handshake completed but the server then closed the
connection without reading or writing, Firefox would display a connection reset
error page with a secure lock icon. This is misleading and confusing, so in this
patch, nsSecureBrowserUIImpl::OnLocationChange checks if an error page is being
loaded and sets the state to not secure.

Differential Revision: https://phabricator.services.mozilla.com/D8472
2018-10-15 19:34:14 +00:00
Dana Keeler
b797256e94 bug 1495321 - only allow https URIs to be considered secure in nsSecureBrowserUIImpl r=Gijs
Summary:
Resources that aren't secure (e.g. http) can be routed over secure transports
(e.g. http/2 alt-svc, https proxies). For display purposes (the site identity
widget) we don't want to treat these as secure. Bug 1040323 addressed this exact
issue but didn't include tests. Thus, when nsSecureBrowserUIImpl was
reimplemented in bug 832834, this aspect was neglected. This time, there is a
test.

Reviewers: Gijs

Tags: #secure-revision

Bug #: 1495321

Differential Revision: https://phabricator.services.mozilla.com/D7746
2018-10-11 10:07:49 -07:00
Dana Keeler
5e9e66edf5 bug 1493427 - use the docShell to call OnSecurityChange in nsSecureBrowserUIImpl::OnLocationChange r=Gijs
When navigating to an about: page that doesn't exist (e.g.
"about:somethingthatdoesnotexist"), the docShell will call
nsSecureBrowserUIImpl::OnLocationChange with a request that is null.
Consequently, we can't use that to QueryInterface to a nsISecurityEventSink to
call OnSecurityChange. The previous implementation would use the prior
request's nsISecurityEventSink, which was a bug but luckily this produced the
correct behavior. Since the original docShell the nsSecureBrowserUIImpl was
initialized with is what needs to be notified, we can just QueryInterface that
to an nsISecurityEventSink and call OnSecurityChange directly instead.

Differential Revision: https://phabricator.services.mozilla.com/D6951
2018-10-02 20:26:40 +00:00
Andrew McCreight
05b70f0bb6 Bug 1493737 - Fix many trivial calls to do_QueryInterface r=smaug
If class A is derived from class B, then an instance of class A can be
converted to B via a static cast, so a slower QI is not needed.

Differential Revision: https://phabricator.services.mozilla.com/D6861
2018-10-01 21:38:01 +00:00
Ehsan Akhgari
7bddc35620 Bug 1493563 - Part 5: Present the old state and the content blocking log to the web progress listeners; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6595
2018-09-28 14:46:02 -04:00
Ehsan Akhgari
f7fd44ed21 Bug 1493563 - Part 4: Present the old state and the content blocking log to the security event sink; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6594
2018-09-28 14:46:02 -04:00
Noemi Erli
7fb8829472 Backed out 12 changesets (bug 1493563) for failures in test_css-logic-getCssPath.html CLOSED TREE
Backed out changeset d2e83655082f (bug 1493563)
Backed out changeset 1ce58f004593 (bug 1493563)
Backed out changeset 344298c73ee7 (bug 1493563)
Backed out changeset 02b8b073f7d7 (bug 1493563)
Backed out changeset 3ef707008502 (bug 1493563)
Backed out changeset bb2720a401fe (bug 1493563)
Backed out changeset ce0211be57a1 (bug 1493563)
Backed out changeset 83d6c2bf8dc6 (bug 1493563)
Backed out changeset 1844af4cc25b (bug 1493563)
Backed out changeset c8ab17addb7a (bug 1493563)
Backed out changeset a1ff0cd62563 (bug 1493563)
Backed out changeset 932b41e211e0 (bug 1493563)
2018-09-28 21:31:18 +03:00
Ehsan Akhgari
6c662bd61e Bug 1493563 - Part 5: Present the old state and the content blocking log to the web progress listeners; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6595
2018-09-28 13:24:41 -04:00
Ehsan Akhgari
b9e7cfe757 Bug 1493563 - Part 4: Present the old state and the content blocking log to the security event sink; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6594
2018-09-28 13:24:40 -04:00
Coroiu Cristina
04995dc1fc Backed out changeset 39762ef5d56e (bug 1493427) for frequent talos chrome failures a=backout 2018-09-28 07:29:39 +03:00
Dana Keeler
673d9cb6de bug 1493427 - use the docShell to call OnSecurityChange in nsSecureBrowserUIImpl::OnLocationChange r=Gijs
When navigating to an about: page that doesn't exist (e.g.
"about:somethingthatdoesnotexist"), the docShell will call
nsSecureBrowserUIImpl::OnLocationChange with a request that is null.
Consequently, we can't use that to QueryInterface to a nsISecurityEventSink to
call OnSecurityChange. The previous implementation would use the prior
request's nsISecurityEventSink, which was a bug but luckily this produced the
correct behavior. Since the original docShell the nsSecureBrowserUIImpl was
initialized with is what needs to be notified, we can just QueryInterface that
to an nsISecurityEventSink and call OnSecurityChange directly instead.

Differential Revision: https://phabricator.services.mozilla.com/D6951
2018-09-27 17:26:00 +00:00
Gijs Kruitbosch
ae4c0d1d3d Bug 1493655 - make nsISecureBrowserUI initialize from a docshell instead of a window, r=keeler,nika
This also removes the (afaict, unused) stub implementation from TabParent. The netwerk header
inclusions were necessary because those files included TabParent.h and through it,
nsISecureBrowserUI, but now TabParent.h no longer does that.

Differential Revision: https://phabricator.services.mozilla.com/D6829
2018-09-26 17:48:38 +00:00
Dana Keeler
7f71e8b5a5 bug 1492424 - check if the TLS handshake failed in nsSecureBrowserUIImpl r=Gijs
The site identity security indicator machinery treats connections where the TLS
handshake failed as insecure (also referred to as "unknown identity"). Before
bug 1468222, such cases were easily detectable as the SSLStatus field of the
relevant nsITransportSecurityInfo would be null. When we merged nsISSLStatus
into nsITransportSecurityInfo, we didn't take this differentiation into account.
This patch brings back the prior behavior by checking if the securityInfo's
securityState indicates that the handshake failed (i.e. it is
STATE_IS_INSECURE).

Differential Revision: https://phabricator.services.mozilla.com/D6316
2018-09-21 00:17:47 +00:00
Gurzau Raul
bc996d0209 Backed out changeset e7665879a630 (bug 1492424) for failing at siteIdentity/browser_tls_handshake_failure.js on a CLOSED TREE 2018-09-21 00:55:16 +03:00
Dana Keeler
f79d54dcd7 bug 1492424 - check if the TLS handshake failed in nsSecureBrowserUIImpl r=Gijs
The site identity security indicator machinery treats connections where the TLS
handshake failed as insecure (also referred to as "unknown identity"). Before
bug 1468222, such cases were easily detectable as the SSLStatus field of the
relevant nsITransportSecurityInfo would be null. When we merged nsISSLStatus
into nsITransportSecurityInfo, we didn't take this differentiation into account.
This patch brings back the prior behavior by checking if the securityInfo's
securityState indicates that the handshake failed (i.e. it is
STATE_IS_INSECURE).

Differential Revision: https://phabricator.services.mozilla.com/D6316
2018-09-20 20:57:38 +00:00
Dana Keeler
2c71089047 bug 1490982 - filter out OnLocationChange events that aren't top-level in nsSecureBrowserUIImpl r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D5920
2018-09-19 19:57:37 +00:00
Dipen Patel
fbf2d8d5d9 Bug 1468222 Consolidate nsISSLStatus info nsITransportSecurityInfo r=Gijs,snorp,jcj,mcmanus,sfraser,keeler,baku,ato
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus.  This
is verified with psm_DeserializeCert gtest.

Differential Revision: https://phabricator.services.mozilla.com/D3704
2018-09-11 00:07:30 +00:00
Csoregi Natalia
4c04e1f45b Backed out changeset bd8baf88f373 (bug 1468222) for test_security-info-parser.js failures. CLOSED TREE 2018-09-08 03:16:25 +03:00
Dipen Patel
8e9fd08fb5 Bug 1468222 Consolidate nsISSLStatus info nsITransportSecurityInfo r=snorp,ato,sfraser,keeler,baku,mcmanus,Gijs
Move all fields of nsISSLStatus to nsITransportSecurityProvider
Remove nsISSLStatus interface and definition
Update all code and test references to nsISSLStatus
Maintain ability to read in older version of serialized nsISSLStatus.  This
is verified with psm_DeserializeCert gtest.

Differential Revision: https://phabricator.services.mozilla.com/D3704
2018-09-07 22:50:17 +00:00
Dana Keeler
a8f1d73cdb bug 832834 - reimplement nsSecureBrowserUIImpl r=franziskus,Felipe
It turns out nsSecureBrowserUIImpl is considerably more complicated than it
needs to be. This patch reimplements it in terms of OnLocationChange only, which
is all it needs to produce the same behavior as before.

Differential Revision: https://phabricator.services.mozilla.com/D3548
2018-09-05 17:12:36 +00:00
Ehsan Akhgari
364dd5924a Bug 1487396 - Part 1: Enable the secure browser UI object to keep track of the newly added content blocking states for each document; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D4809
2018-09-04 14:20:22 -04:00
Dipen Patel
54148735a5 Bug 1475647 - Remove nsISSLStatusProvider interface. r=baku,Gijs,jchen,jryans,keeler,mcmanus
- Access nsISSLStatus directly as a member of nsITransportSecurityInfo
and nsISecureBrowserUI.  This is part of a larger effort to consolidate
nsISSLStatus and nsITransportSecurityInfo.
- The TabParent implementation of GetSecInfo will always return null.
- Removed unnecessary QueryInterface calls
- Style adherence updates

MozReview-Commit-ID: Dzy6t2zYljL
2018-07-13 11:48:55 -07:00
Andreea Pavel
f6396a98eb Backed out changeset c235d6f86c22 (bug 1475647) for breaking firefox ui at testing/firefox-ui/tests/puppeteer/test_tabbar.py on a CLOSED TREE 2018-07-25 19:34:58 +03:00
Dipen Patel
b987e41d2e Bug 1475647 - Remove nsISSLStatusProvider interface. r=baku,Gijs,jchen,jryans,keeler,mcmanus
- Access nsISSLStatus directly as a member of nsITransportSecurityInfo
and nsISecureBrowserUI.  This is part of a larger effort to consolidate
nsISSLStatus and nsITransportSecurityInfo.
- The TabParent implementation of GetSecInfo will always return null.
- Removed unnecessary QueryInterface calls
- Style adherence updates

MozReview-Commit-ID: Dzy6t2zYljL
2018-07-13 11:48:55 -07:00
shindli
376051d773 Backed out changeset d126a6593e8f (bug 1475647) for mozmake.exe bustage on a CLOSED TREE 2018-07-24 02:55:53 +03:00
Dipen Patel
3a1015c4e6 Bug 1475647 - Remove nsISSLStatusProvider interface. r=baku,Gijs,jchen,jryans,keeler,mcmanus
- Access nsISSLStatus directly as a member of nsITransportSecurityInfo
and nsISecureBrowserUI.  This is part of a larger effort to consolidate
nsISSLStatus and nsITransportSecurityInfo.
- The TabParent implementation of GetSecInfo will always return null.
- Removed unnecessary QueryInterface calls
- Style adherence updates

MozReview-Commit-ID: Dzy6t2zYljL
2018-07-13 11:48:55 -07:00
J.C. Jones
f263a78289 Bug 1409259 - Add a console warning for soon-to-be-distrusted roots r=keeler,ttaubert
This patch adds a new diagnostic status flag to nsIWebProgressListener,
STATE_CERT_DISTRUST_IMMINENT, which indicates that the certificate chain is
going to change validity due to an upcoming distrust event. The first of
these events is this bug, affecting various roots from Symantec.

The STATE_CERT_DISTRUST_IMMINENT flag is set by nsNSSCallbacks and passed,
via nsSecureBrowserUIImpl, to browser.js where it is used to alert the console.

Adding this sort of diagnostic printing to be accessible to browser.js is a
long-desired goal, as future functionality can start doing more decision-making
there. We may, for example, also want to degrade the lock icon, which will be
straightforward with this flag.

This commit does not implement the IsCertificateDistrustImminent method. That is
follow-on work.

MozReview-Commit-ID: 75IOdc24XIV
2017-10-18 22:29:42 -07:00
Nicholas Nethercote
a475040326 Bug 1390428 (part 5) - Remove more nsXPIDLCString uses. r=erahm.
These are all simple cases, with similarities to previous patches in this
series.
2017-08-16 14:07:18 +10:00
Sylvestre Ledru
9d4a84d778 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG
2017-07-06 14:00:35 +02:00
Tom Tromey
a4b717ab39 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs
2016-12-15 20:16:31 -07:00
Cykesiopka
c29834836b Bug 1325107 - Stop using NS_NOTREACHED() in PSM. r=mgoodwin
MOZ_ASSERT_UNREACHABLE() is basically equivalent to NS_NOTREACHED().
PSM already uses MOZ_ASSERT_UNREACHABLE() for new code, so there's no need to use
NS_NOTREACHED() as well.

MozReview-Commit-ID: 9k2z9a1oIqe
2017-01-02 14:11:51 +08:00
Cykesiopka
2ea082a548 Bug 1325107 - Stop using NS_ASSERTION() in PSM. r=mgoodwin
MOZ_ASSERT() is basically equivalent to NS_ASSERTION().
PSM already uses MOZ_ASSERT() for new code, so there's no need to use
NS_ASSERTION() as well.

MozReview-Commit-ID: JHDsbDkYvHf
2017-01-02 14:11:39 +08:00
Nicholas Nethercote
62b6b0fce6 Bug 1297961 (part 1) - Introduce nsURI::GetSpecOrDefault(). r=hurley.
This function is an infallible alternative to nsIURI::GetSpec(). It's useful
when it's appropriate to handle a GetSpec() failure with a failure string, e.g.
for log/warning/error messages. It allows code like this:

  nsAutoCString spec;
  uri->GetSpec(spec);
  printf("uri: %s", spec.get());

to be changed to this:

  printf("uri: %s", uri->GetSpecOrDefault().get());

This introduces a slight behavioural change. Previously, if GetSpec() failed,
an empty string would be used here. Now, "[nsIURI::GetSpec failed]" will be
produced instead. In most cases this failure string will make for a clearer
log/warning/error message than the empty string.
* * *
Bug 1297961 (part 1b) - More GetSpecOrDefault() additions. r=hurley.

I will fold this into part 1 before landing.
2016-08-26 16:02:31 +10:00
Johann Hofmann
52b29e6c38 Bug 1253771 - Add previous state info to mixed content callback. r=tanvi r=florian
MozReview-Commit-ID: 5msNz97psok
2016-04-27 10:38:26 +02:00
Cykesiopka
92ba7ba2da Bug 1222754 - Replace nsSecureBrowserUIImpl::mOnStateLocationChangeReentranceDetection and nsAutoAtomic. r=keeler
mOnStateLocationChangeReentranceDetection and nsAutoAtomic form an unnecessarily
threadsafe reentrance prevention mechanism that can be replaced by
mozilla::ReentrancyGuard.

MozReview-Commit-ID: KWDdFD5TpCk
2016-05-19 22:00:44 -07:00
Cykesiopka
023708ea9f Bug 1127158 - Remove brittle debug only flag math in nsSecureBrowserUIImpl.cpp. r=dkeeler
MozReview-Commit-ID: 3d5mYDjzJwf
2016-04-01 06:16:58 -07:00
Nicholas Nethercote
53a4e4a5b5 Bug 1253085 - Remove the |PLDHashTable*| argument from PLDHash{HashKey,MatchEntry}. r=froydnj.
This is easy because it's never needed.
2016-03-16 15:33:44 +11:00