Commit Graph
73 Commits
Author SHA1 Message Date
Dana Keeler e65a2044a6 Bug 1834862 - implement nsICryptoHash in rust r=jschanck,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D179727
2023-06-07 23:03:21 +00:00
Iulian Moraru c35cd438c3 Backed out changeset 2b647eb982bc (bug 1834862) for causing build bustages. CLOSED TREE 2023-06-07 20:12:09 +03:00
Dana Keeler 50680a9b54 Bug 1834862 - implement nsICryptoHash in rust r=jschanck,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D179727
2023-06-07 15:56:37 +00:00
Dana Keeler a9bcca7130 Bug 1791633 - separate nsITLSSocketControl from nsITransportSecurityInfo r=necko-reviewers,kershaw,jschanck
Depends on D160311

Differential Revision: https://phabricator.services.mozilla.com/D160313
2022-11-16 16:37:29 +00:00
Marian-Vasile Laza f986221d71 Backed out 3 changesets (bug 1791633) for causing bustages on TransportSecurityInfo.cpp. CLOSED TREE
Backed out changeset 23b864e14db0 (bug 1791633)
Backed out changeset 0bcba3375ec0 (bug 1791633)
Backed out changeset ab0ea0d68f5c (bug 1791633)
2022-11-15 23:51:58 +02:00
Dana Keeler f608ea9a59 Bug 1791633 - separate nsITLSSocketControl from nsITransportSecurityInfo r=necko-reviewers,kershaw,jschanck
Depends on D160311

Differential Revision: https://phabricator.services.mozilla.com/D160313
2022-11-15 20:03:29 +00:00
Butkovits Atila a9f1f1a451 Backed out 3 changesets (bug 1791633) for causing build bustages at nsHttpConnectionMgr.cpp:. CLOSED TREE
Backed out changeset ee9744982673 (bug 1791633)
Backed out changeset f5a4bfdaba40 (bug 1791633)
Backed out changeset f57131b9cfe2 (bug 1791633)
2022-11-15 08:07:16 +02:00
Dana Keeler 4f397cbfed Bug 1791633 - separate nsITLSSocketControl from nsITransportSecurityInfo r=necko-reviewers,kershaw,jschanck
Depends on D160311

Differential Revision: https://phabricator.services.mozilla.com/D160313
2022-11-15 05:34:40 +00:00
Dana Keeler 46bece8903 Bug 1788856 - initialize NSS as needed in nsNSSCertificate r=jschanck
Previously, instantiating an nsIX509Cert (implemented by nsNSSCertificate)
would cause NSS to be initialized. However, if 'new nsNSSCertificate()' was
called directly (rather than going through XPCOM), NSS would not be
initialized. This didn't seem to be a problem until bug 1787942 changed how
nsITransportSecurityInfo was sent between processes for PHttpChannel and
HttpChannelOnStartRequestArgs (namely, by using the direct IPC support rather
than first serializing to a string, sending it over IPC, and then deserializing
it). That direct IPC implementation uses 'new nsNSSCertificate()', which is now
a problem.

nsNSSCertificate used to make extensive use of NSS, which warranted ensuring
NSS was initialized before creating one at all. Now, as of bug 1748341, the
cases where nsNSSCertificate uses NSS are limited and clearly delineated.
Accordinly, this change makes it so nsNSSCertificate only initializes NSS if
and when it needs it, rather than relying on the XPCOM boilerplate to
initialize NSS first.

Differential Revision: https://phabricator.services.mozilla.com/D156353
2022-09-02 22:26:37 +00:00
Andrew McCreight 9ebb07c91b Bug 1514936, part 2 - Drop the outer arguments from static components. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D146457
2022-05-17 20:24:19 +00:00
Dana Keeler c4bf19a8ae Bug 1768047 - introduce HMAC C++ helper and remove nsICryptoHMAC r=jschanck,necko-reviewers,kershaw,padenot
This patch removes the redundant nsICryptoHMAC interface and implementation,
updates front-end code to use WebCrypto, and changes back-end code to use the
helper class HMAC introduced by this patch.

This also removes the last uses of nsIKeyObject and nsIKeyObjectFactory, and
thus those interfaces and implementations as well.

Differential Revision: https://phabricator.services.mozilla.com/D145656
2022-05-12 22:24:29 +00:00
Mike Hommey b9b2736d16 Bug 1744877 - Remove --disable-xul. r=Gijs
Building with --disable-xul has been busted since _at least_ bug
1082579, for more than 7 years (I didn't try to track that down
further). It's time to recognize that the option serves no purpose.

Differential Revision: https://phabricator.services.mozilla.com/D133161
2021-12-08 21:37:11 +00:00
Dana Keeler 882a439295 Bug 1682989 - remove CertBlocklist implementation and MOZ_NEW_CERT_STORAGE build variable r=rmf
Differential Revision: https://phabricator.services.mozilla.com/D100034
2021-01-19 22:11:25 +00:00
Dana Keeler 5a07b61ecd Bug 1634065 - re-work how PSM services get initialized on the main thread r=kjacobs,necko-reviewers,bbeurdouche
Some PSM services need to be initialized on the main thread. Before this patch,
this was achieved by dispatching a synchronous task to the main thread in the
event that a different thread was attempting to acquire a given service for the
first time. However, with the upcoming removal of the nested event loop in the
XPCOM service instantiation code (see other patches in this bug), this can
cause a deadlock. This patch avoids the deadlock by removing the synchronous
dispatch and ensuring that these services get initialized on the main thread
relatively early, when PSM itself is initialized.

Differential Revision: https://phabricator.services.mozilla.com/D94145
2020-11-17 16:29:44 +00:00
Matt Woodrow ef60c889a8 Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.

I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.

Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.

Differential Revision: https://phabricator.services.mozilla.com/D75447
2020-05-27 00:28:59 +00:00
Bogdan Tara f92848aa00 Backed out 4 changesets (bug 1631405) for multiple mochitest failures CLOSED TREE
Backed out changeset 9963cc0b23cb (bug 1631405)
Backed out changeset 469ac933ed7c (bug 1631405)
Backed out changeset 0c5f55864268 (bug 1631405)
Backed out changeset 20dcbcc2f3b8 (bug 1631405)
2020-05-27 01:30:20 +03:00
Matt Woodrow b4186ecdce Bug 1631405 - Move nsISecureBrowserUI to be owned by the canonical browsing context instead of docshell. r=nika,ckerschb,Gijs,webcompat-reviewers,twisniewski
This removes all docshell nsISecureBrowserUI and mixed content properties, and moves them into CanonicalBrowsingContext/WindowGlobalParent. It makes the mixed content blocker just compute the state for the current load, and then send the results to the parent process, where we update the security state accordingly.

I think we could in the future remove onSecurityChange entirely, and instead just fire an event to the <browser> element notifying it of changes to the queryable securityUI.

Unfortunately we have a lot of existing code that depends on specific ordering between onSecurityChange and onLocationChange, so I had to hook into the RemoteWebProgress implementation in BrowserParent to mimic the same timings.

Differential Revision: https://phabricator.services.mozilla.com/D75447
2020-05-26 21:17:01 +00:00
Dana Keeler 9415bd3e27 bug 1024871 - stop importing certificates when navigated to r=kjacobs,jld
Before this patch, PSM would register content type handlers to handle certain
certificate types. This was an easy way to install a client certificate after
generating a key with <keygen>, but keygen has been removed. This was also an
easy way to install root certificates, but that's actually a considerable
security risk. We kept this functionality for so long because it was the only
way to add a 3rd-party root certificate to Fennec's certificate store. Now that
Fennec is EOL, we can remove it. (Fenix will need a way to trust 3rd party root
certificates, but the path forward there is to implement the enterprise roots
feature for Android.)

Differential Revision: https://phabricator.services.mozilla.com/D66118
2020-03-16 18:50:35 +00:00
Gabriele Svelto f03cdb2b2d Bug 1600545 - Remove useless inclusions of header files generated from IDL files in modules/, netwerk/, parser/, security/, startupcache/, storage/, toolkit/, tools/, uriloader/, widget/, xpcom/ and xpfe/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55444
2019-12-06 09:17:57 +00:00
Sean Feng 9f1ca1d51e Bug 1580304 - Remove nsNSSCertList/nsIX509CertList r=keeler
nsNSSCertList/nsIX509CertList are redundant, and also contructing
them are expensive. so it is replaced by Array<nsIX509Cert>

Differential Revision: https://phabricator.services.mozilla.com/D44245
2019-11-22 19:25:31 +00:00
Aaron Klotz 18a8732bb4 Bug 1578786: Fix up some includes and namespaces in security/manager/ssl so that it may compile in non-unified mode; r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D44700
2019-09-04 18:35:50 +00:00
Jonathan Kingston 2ccad0abed Bug 1315460 - Removal of keygen element r=keeler,baku,jld,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D22810
2019-06-13 08:58:07 +00:00
Myk Melez 34d63f8b93 Bug 1547877 - enable configuration of new cert storage implementation r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D29306
2019-05-02 23:02:13 +00:00
Mark Goodwin 1094938b5f Bug 1429796 Cleanup storage in CertBlocklist to allow easy addition of new types of pair (e.g. whitelist entries) r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D17668
2019-03-20 17:00:47 +00:00
Andreea Pavel 0dee2cca18 Backed out 2 changesets (bug 1429796) for failing xperf on a CLOSED TREE
Backed out changeset b0d08863f7a5 (bug 1429796)
Backed out changeset 1bd54f8dfd9e (bug 1429796)
2019-03-20 00:03:49 +02:00
Mark Goodwin 3675829d83 Bug 1429796 Cleanup storage in CertBlocklist to allow easy addition of new types of pair (e.g. whitelist entries) r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D17668
2019-03-19 17:48:04 +00:00
Kris Maglione 829f5b748e Bug 1478124: Part 8f - Update NSS module to use a static component manifest. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D15045
2018-12-18 18:55:40 -08:00
arthur.iakab 127fb281ff Backed out 16 changesets (bug 1478124) for failing android geckoview-junit CLOSED TREE
Backed out changeset fce62c77a56b (bug 1478124)
Backed out changeset eb2fa3b5edf7 (bug 1478124)
Backed out changeset 8dacce59fcc0 (bug 1478124)
Backed out changeset 012fd0107204 (bug 1478124)
Backed out changeset 496aaf774697 (bug 1478124)
Backed out changeset 21f4fda03159 (bug 1478124)
Backed out changeset b0444e0bc801 (bug 1478124)
Backed out changeset d94039b19943 (bug 1478124)
Backed out changeset 5d85deac61c2 (bug 1478124)
Backed out changeset 929fd654c9df (bug 1478124)
Backed out changeset 1ddd80d9e91a (bug 1478124)
Backed out changeset b8d2dfdfc324 (bug 1478124)
Backed out changeset f500020a273a (bug 1478124)
Backed out changeset dd00365ebb55 (bug 1478124)
Backed out changeset 538e40c5ee13 (bug 1478124)
Backed out changeset bedaa9c437ad (bug 1478124)
2019-01-29 10:03:06 +02:00
Kris Maglione d88394a912 Bug Bug 1478124: Follow-up: Really fix MSVC build. r=bloody-msvc 2019-01-28 22:32:55 -08:00
Kris Maglione 3ea144625c Bug Bug 1478124: Follow-up: Fix MSVC build. r=bloody-msvc CLOSED TREE 2019-01-28 22:28:07 -08:00
Kris Maglione 4e58caf859 Bug 1478124: Part 8f - Update NSS module to use a static component manifest. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D15045
2018-12-18 18:55:40 -08:00
Ehsan Akhgari 498e2df734 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset
2019-01-18 10:16:18 +01:00
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 80067cb2aa Bug 1502774 - Part 2: Remove XPCOM component registrations for auth module classes r=valentin
Depends on D10025

Differential Revision: https://phabricator.services.mozilla.com/D10026
2018-11-01 10:39:58 +00:00
Andreea Pavel d827748f3f Backed out 3 changesets (bug 1502774) for causing multiple crashes - bug 1503201 a=backout
Backed out changeset 6b821f5b12ae (bug 1502774)
Backed out changeset b3bf57d996a7 (bug 1502774)
Backed out changeset 32a581482291 (bug 1502774)
2018-10-30 21:18:29 +02:00
Ehsan Akhgari b1529b82d9 Bug 1502774 - Part 2: Remove XPCOM component registrations for auth module classes r=valentin
Depends on D10025

Differential Revision: https://phabricator.services.mozilla.com/D10026
2018-10-29 14:59:16 +00:00
Narcis Beleuzu b53a346c33 Backed out 3 changesets (bug 1502774) for mingwclang bustages on include/sspi.h. CLOSED TREE
Backed out changeset a1f9c4666855 (bug 1502774)
Backed out changeset 07648e9d8400 (bug 1502774)
Backed out changeset b403c3c786ee (bug 1502774)
2018-10-29 17:01:21 +02:00
Ehsan Akhgari b37a88f3b9 Bug 1502774 - Part 2: Remove XPCOM component registrations for auth module classes r=valentin
Depends on D10025

Differential Revision: https://phabricator.services.mozilla.com/D10026
2018-10-29 14:40:29 +00:00
Ehsan Akhgari c324fd761b Bug 1501404 - Part 6: Remove the XPCOM registrations for socket provider classes r=valentin
Depends on D9574

Differential Revision: https://phabricator.services.mozilla.com/D9575
2018-10-23 20:07:27 +00:00
Dana Keeler 0ff71db879 bug 1498351 - add interface to allow OS-specific user re-authentication r=franziskus
This patch introduces the interface with a stub implementation that does
nothing. Follow-up bugs will add platform-specific implementations.

Differential Revision: https://phabricator.services.mozilla.com/D8480
2018-10-16 16:06:30 +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
Franziskus Kiefer 7ad81edd9b Bug 1464828 - DAR API with libsecret and NSS back-end, r=keeler,m_and_m,froydnj
This implements an API in `nsIOSKeyStore.idl` and `OSKeyStore.cpp` to encrypt and decrypt bytes with a key that is stored in the OS key store.
There are two OS adapters in this patch.
Libsecret is used on Linux if available.
The NSS key store is used as fallback if no OS specific key store is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D1858
2018-07-26 16:05:35 +02:00
Kris Maglione cd1bc42c29 Bug 1453835: Remove unused nsIDataSignatureVerifier utility. r=keeler
MozReview-Commit-ID: ElmHAzKu9TA
2018-04-12 16:19:49 -07:00
Michal Novotny ba1765dd4d Bug 1418752 - Firefox instahang on start after landing patch from bug #1392841.vr=honzab
Initialize in advance all security services whose initialization on background thread could cause a deadlock.
2017-12-19 21:08:15 -05:00
Cosmin Sabou ad281ad5f6 Backed out changeset 5eff2c0351a9 (bug 1418752) for marionette harness fails on OS X at /builds/worker/workspace/build/src/netwerk/base/nsNetUtil.cpp:2669 r=backout on a CLOSED TREE 2017-12-18 19:50:00 +02:00
Michal Novotny 7b142f5828 Bug 1418752 - Firefox instahang on start after landing patch from bug #1392841, r=honzab
Initialize in advance all security services whose initialization on background thread could cause a deadlock.
2017-12-15 05:45:00 +02:00
J.C. Jones c2f9d73516 Bug 1245527 - Remove NSS U2F SoftToken. r=ttaubert, r=jed
The nsIU2FToken and its implementors are no longer needed; the soft token was
re-implemented into dom/webauthn/U2FSoftTokenManager.cpp during the WebAuthn
implementation. When the dom/u2f/ code changed to the implementation from
WebAuthn, the old synchronous version became dead code.

This patch removes the dead code.

MozReview-Commit-ID: 2yDD0tccgZr
2017-09-05 12:32:42 -07:00
Phil Ringnalda 2de74ce0d3 Backed out 3 changesets (bug 1245527) for ASan browser-chrome leaks and Android mochitest bustage
Backed out changeset 8ee1f7aebd62 (bug 1245527)
Backed out changeset e6a5de8d1246 (bug 1245527)
Backed out changeset be63e73426b4 (bug 1245527)

MozReview-Commit-ID: AU22LgPh9iB
2017-09-09 00:09:21 -07:00