gecko-dev/security
Barret Rennie b0cbc31990 Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer
As part of the ongoing effort to port the nsIWebProgress events from
RemoteWebProgress / WebProgressChild to BrowserParent / BrowserChild, we need
to (de)serialize the nsITransportSecurityInfo instance across the IPC layer.
The existing code was calling `NS_SerializeToString` which has the overhead of
(a) allocating a buffer and also performing base64 encoding/decoding. This
patch adds `IPC::ParamTraits` implementations for `nsITransportSecurityInfo`,
`nsIX509Certificate`, and `nsIX509CertList` that (de)serializes the params
directly onto and off of the IPC message so that we don't go through the
overhead of allocating and encoding/decoding an additional buffer.

This (de)serialization will address the performance issues present in the
current implementation.

As a side effect, I also make nsITransportSecurityInfo a builtinclass XPCOM
interface, since the existing serialization code was assuming it was, there is
only one implementation, and it is in C++.

Differential Revision: https://phabricator.services.mozilla.com/D35090

--HG--
extra : moz-landing-system : lando
2019-08-28 18:55:31 +00:00
..
apps Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer 2019-08-28 18:55:31 +00:00
certverifier Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer 2019-08-28 18:55:31 +00:00
ct bug 1515608 - allow end-entity certificates to be trust anchors for compatibility r=jcj 2019-03-18 20:01:02 +00:00
mac/hardenedruntime Bug 1570581 - Starting with Firefox 68.0.1, Adobe Acrobat Extension for Firefox fails to send apple events to target application (Acrobat) r=handyman 2019-08-21 18:42:55 +00:00
manager Bug 1510569 - Implement serializers for nsITransportSecurityInfo, nsIX509Cert, and nsIX509CertList r=froydnj,keeler,mayhemer 2019-08-28 18:55:31 +00:00
nss Bug 1564499 - land NSS NSS_3_46_BETA2 UPGRADE_NSS_RELEASE, r=kjacobs 2019-08-28 14:30:55 +00:00
sandbox Bug 1575564 - avoid non-mainthread use of NS_GetSpecialDirectory in linux sandboxbroker, r=jld,gcp 2019-08-22 16:37:18 +00:00
.eslintrc.js Bug 1558517 - Pre 3.0: Remove conflicting eslint rules, and turn on "curly: all" everywhere, r=standard8 2019-06-28 17:14:01 +02:00
generate_certdata.py
generate_mapfile.py Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj 2018-10-17 19:46:03 +00:00
moz.build Bug 1535226 - Remove uses of XP_WIN32 in Gecko. r=glandium 2019-03-21 01:28:50 +00:00
nss.symbols Bug 1569221 - Change TLSServer.cpp to support the modern SSL_ConfigServerCert r=keeler 2019-07-26 20:09:43 +00:00