Skip to content

Commit

Permalink
Merge pull request #1887 from chipitsine/master
Browse files Browse the repository at this point in the history
additional error handling if SSL_CTX_new failed
  • Loading branch information
chipitsine committed Aug 16, 2023
2 parents acb6a53 + 8f8677f commit 5d8ff7e
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/Cedar/Proto_OpenVPN.c
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,10 @@ void OvsProcessRecvControlPacket(OPENVPN_SERVER *s, OPENVPN_SESSION *se, OPENVPN
}

c->SslPipe = NewSslPipeEx(true, s->Cedar->ServerX, s->Cedar->ServerK, s->Dh, true, &c->ClientCert);
if (c->SslPipe == NULL)
{
return;
}
}
Unlock(s->Cedar->lock);

Expand Down
6 changes: 6 additions & 0 deletions src/Cedar/Proto_PPP.c
Original file line number Diff line number Diff line change
Expand Up @@ -3635,6 +3635,12 @@ bool PPPProcessEAPTlsResponse(PPP_SESSION *p, PPP_EAP *eap_packet, UINT eapSize)
{
p->Eap_TlsCtx.Dh = DhNewFromBits(DH_PARAM_BITS_DEFAULT);
p->Eap_TlsCtx.SslPipe = NewSslPipeEx3(true, p->Cedar->ServerX, p->Cedar->ServerK, p->Cedar->ServerChain, p->Eap_TlsCtx.Dh, true, &(p->Eap_TlsCtx.ClientCert), p->Eap_TlsCtx.Tls13SessionTicketsCount, p->Eap_TlsCtx.DisableTls13);
if (p->Eap_TlsCtx.SslPipe == NULL)
{
Debug("EAP-TLS: NewSslPipeEx3 failed\n");
PPPSetStatus(p, PPP_STATUS_FAIL);
return false;
}
}

// If the current frame is fragmented, or it is a possible last of a fragmented series, bufferize it
Expand Down
5 changes: 5 additions & 0 deletions src/Cedar/Radius.c
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,11 @@ bool StartPeapSslClient(EAP_CLIENT *e)
}

e->SslPipe = NewSslPipe(false, NULL, NULL, NULL);
if (e->SslPipe == NULL)
{
return false;
}

send_fifo = e->SslPipe->RawOut->RecvFifo;
recv_fifo = e->SslPipe->RawIn->SendFifo;

Expand Down
8 changes: 8 additions & 0 deletions src/Mayaqua/Network.c
Original file line number Diff line number Diff line change
Expand Up @@ -5724,6 +5724,10 @@ SSL_PIPE *NewSslPipeEx3(bool server_mode, X *x, K *k, LIST *chain, DH_CTX *dh, b
SSL_PIPE *s;
SSL *ssl;
SSL_CTX *ssl_ctx = NewSSLCtx(server_mode);
if (ssl_ctx == NULL)
{
return NULL;
}

Lock(openssl_lock);
{
Expand Down Expand Up @@ -11727,6 +11731,10 @@ bool StartSSLEx3(SOCK *sock, X *x, K *priv, LIST *chain, UINT ssl_timeout, char
}

ssl_ctx = NewSSLCtx(sock->ServerMode);
if (ssl_ctx == NULL)
{
return false;
}

Lock(openssl_lock);
{
Expand Down

0 comments on commit 5d8ff7e

Please sign in to comment.