From 149e95117e83140def5d3df9bdb2ca4ecdef7e25 Mon Sep 17 00:00:00 2001 From: Fletcher Dunn Date: Mon, 2 Sep 2019 13:37:49 -0700 Subject: [PATCH] Added some asserts. These were intended to track down a msyterious failure that was only affecting certain players. It turned out to be this: https://github.com/openssl/openssl/issues/3241 --- .../clientlib/steamnetworkingsockets_connections.cpp | 1 + .../steamnetworkingsockets_certstore.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp b/src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp index ae8b022..260e908 100644 --- a/src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp +++ b/src/steamnetworkingsockets/clientlib/steamnetworkingsockets_connections.cpp @@ -735,6 +735,7 @@ void CSteamNetworkConnectionBase::CertRequestFailed( ESteamNetConnectionEnd nCon bool CSteamNetworkConnectionBase::BRecvCryptoHandshake( const CMsgSteamDatagramCertificateSigned &msgCert, const CMsgSteamDatagramSessionCryptInfoSigned &msgSessionInfo, bool bServer ) { + SteamDatagramTransportLock::AssertHeldByCurrentThread(); SteamNetworkingErrMsg errMsg; // Have we already done key exchange? diff --git a/src/steamnetworkingsockets/steamnetworkingsockets_certstore.cpp b/src/steamnetworkingsockets/steamnetworkingsockets_certstore.cpp index 4ef0a9a..b5ebc5c 100644 --- a/src/steamnetworkingsockets/steamnetworkingsockets_certstore.cpp +++ b/src/steamnetworkingsockets/steamnetworkingsockets_certstore.cpp @@ -280,6 +280,12 @@ static void CertStore_OneTimeInit() PublicKey *pKey = new PublicKey; pKey->SlamHardcodedRootCA(); uint64 nKeyID = pKey->CalculateKeyID(); + + // Make sure calculated ID matches what we expect! + char checkID[64]; + V_sprintf_safe( checkID, "ID%llu", (unsigned long long)nKeyID ); + AssertFatal( V_stristr( STEAMNETWORKINGSOCKETS_HARDCODED_ROOT_CA_KEY, checkID ) != NULL ); + s_mapPublicKeys.Insert( nKeyID, pKey ); } #endif