From 37fb86792aa0f795a332527f0f6c72039582c1aa Mon Sep 17 00:00:00 2001 From: Joachim Henze Date: Mon, 11 Jan 2021 21:27:36 +0100 Subject: [PATCH] [0.4.11][RAPPS] "Let's encrypt" Certificate-Issuer-Update hamster-wheel "Let's encrypt" certificate issuer string changed within last 24hours remotely. Update its name to make RAPPS stop complaining on DB update. And also fix a bug in rapps mixing A()/W() in the messagebox that informs about that cert check failure. Fix is port of 0.4.15-dev-1120-g 12caaece255b216b452072d82faecfa98430d4b6 0.4.15-dev-1617-g f77f5a30cfd841bb94ae3c88627e1ae374807115 Next time this happens I will relentlessly undefine CMakeLists.txt USE_CERT_PINNING --- base/applications/rapps/loaddlg.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/base/applications/rapps/loaddlg.cpp b/base/applications/rapps/loaddlg.cpp index 4016aa550cd..9a12242fa66 100644 --- a/base/applications/rapps/loaddlg.cpp +++ b/base/applications/rapps/loaddlg.cpp @@ -47,7 +47,8 @@ #include "misc.h" #ifdef USE_CERT_PINNING -#define CERT_ISSUER_INFO "US\r\nLet's Encrypt\r\nLet's Encrypt Authority X3" +#define CERT_ISSUER_INFO_OLD "US\r\nLet's Encrypt\r\nLet's Encrypt Authority X3" +#define CERT_ISSUER_INFO_NEW "US\r\nLet's Encrypt\r\nR3" #define CERT_SUBJECT_INFO "rapps.reactos.org" #endif @@ -783,7 +784,7 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param) (wcscmp(InfoArray[iAppId].szUrl, APPLICATION_DATABASE_URL) == 0)) { CLocalPtr subjectName, issuerName; - CStringW szMsgText; + CStringA szMsgText; bool bAskQuestion = false; if (!CertGetSubjectAndIssuer(hFile, subjectName, issuerName)) { @@ -793,7 +794,8 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param) else { if (strcmp(subjectName, CERT_SUBJECT_INFO) || - strcmp(issuerName, CERT_ISSUER_INFO)) + (strcmp(issuerName, CERT_ISSUER_INFO_OLD) && + strcmp(issuerName, CERT_ISSUER_INFO_NEW))) { szMsgText.Format(IDS_MISMATCH_CERT_INFO, (char*)subjectName, (const char*)issuerName); bAskQuestion = true; @@ -802,7 +804,7 @@ DWORD WINAPI CDownloadManager::ThreadFunc(LPVOID param) if (bAskQuestion) { - if (MessageBoxW(hMainWnd, szMsgText.GetString(), NULL, MB_YESNO | MB_ICONERROR) != IDYES) + if (MessageBoxA(hMainWnd, szMsgText.GetString(), NULL, MB_YESNO | MB_ICONERROR) != IDYES) { goto end; }