forked from mirrors/gecko-dev
Previously the PVerifySSLServerCert protocol consisted of two functions: one to call when certificate verification succeeded, and another to call upon failure. This was unnecessary, as the code before and after this protocol didn't have the same split. This patch unifies the protocol to better match the surrounding code. It also takes the opportunity to make use of some IPC helpers to serialize enums rather than manually casting to and from basic integer types. Differential Revision: https://phabricator.services.mozilla.com/D212594
40 lines
1.7 KiB
C++
40 lines
1.7 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
include PSMIPCTypes;
|
|
|
|
using mozilla::OriginAttributes from "mozilla/ipc/BackgroundUtils.h";
|
|
using mozilla::psm::EVStatus from "mozilla/ipc/TransportSecurityInfoUtils.h";
|
|
using nsITransportSecurityInfo::OverridableErrorCategory from "mozilla/ipc/TransportSecurityInfoUtils.h";
|
|
|
|
namespace mozilla {
|
|
namespace psm {
|
|
|
|
[ChildProc=Socket]
|
|
protocol PVerifySSLServerCert
|
|
{
|
|
child:
|
|
// This is not an incredibly intuitive order for these arguments, as
|
|
// `aFinalError` is probably the most salient argument (if it is 0, the
|
|
// connection will proceed, regardless of the value of, e.g. `aSucceeded`).
|
|
// However, this ordering matches the order of the related functions in
|
|
// SSLServerCertVerification.{h,cpp} (minus unnecessary arguments such as
|
|
// `aPeerCertChain`).
|
|
async OnVerifySSLServerCertFinished(ByteArray[] aBuiltCertChain,
|
|
uint16_t aCertTransparencyStatus,
|
|
EVStatus aEVStatus,
|
|
bool aSucceeded,
|
|
int32_t aFinalError,
|
|
OverridableErrorCategory aOverridableErrorCategory,
|
|
bool aIsBuiltCertChainRootBuiltInRoot,
|
|
bool aMadeOCSPRequests);
|
|
|
|
async __delete__();
|
|
};
|
|
|
|
} // namespace psm
|
|
} // namespace mozilla
|