mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 23:16:30 +01:00
src: crypto::UseSNIContext to use BaseObjectPtr
Extracted from the QUIC PR. Not specific to QUIC. Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/33107 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
This commit is contained in:
parent
80b9777888
commit
7acaf4ed50
@ -2486,7 +2486,7 @@ void SSLWrap<Base>::CertCbDone(const FunctionCallbackInfo<Value>& args) {
|
||||
// Store the SNI context for later use.
|
||||
w->sni_context_ = BaseObjectPtr<SecureContext>(sc);
|
||||
|
||||
if (UseSNIContext(w->ssl_, sc) && !w->SetCACerts(sc)) {
|
||||
if (UseSNIContext(w->ssl_, w->sni_context_) && !w->SetCACerts(sc)) {
|
||||
// Not clear why sometimes we throw error, and sometimes we call
|
||||
// onerror(). Both cause .destroy(), but onerror does a bit more.
|
||||
unsigned long err = ERR_get_error(); // NOLINT(runtime/int)
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include "base_object-inl.h"
|
||||
#include "env-inl.h"
|
||||
#include "node_buffer.h"
|
||||
#include "node_crypto.h"
|
||||
@ -223,7 +224,7 @@ long VerifyPeerCertificate( // NOLINT(runtime/int)
|
||||
return err;
|
||||
}
|
||||
|
||||
int UseSNIContext(const SSLPointer& ssl, SecureContext* context) {
|
||||
int UseSNIContext(const SSLPointer& ssl, BaseObjectPtr<SecureContext> context) {
|
||||
SSL_CTX* ctx = context->ctx_.get();
|
||||
X509* x509 = SSL_CTX_get0_certificate(ctx);
|
||||
EVP_PKEY* pkey = SSL_CTX_get0_privatekey(ctx);
|
||||
|
@ -71,7 +71,7 @@ long VerifyPeerCertificate( // NOLINT(runtime/int)
|
||||
const SSLPointer& ssl,
|
||||
long def = X509_V_ERR_UNSPECIFIED); // NOLINT(runtime/int)
|
||||
|
||||
int UseSNIContext(const SSLPointer& ssl, SecureContext* context);
|
||||
int UseSNIContext(const SSLPointer& ssl, BaseObjectPtr<SecureContext> context);
|
||||
|
||||
const char* GetClientHelloALPN(const SSLPointer& ssl);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user