Prechádzať zdrojové kódy

Updating code to neon 0.32.1

The new ne_ssl_cert_hdigest supports SHA-256, so we can get rid of our modified API of ne_ssl_cert_digest
(the modified implementation was already removed by the merge of neon 0.32.1 in 2cb17502)

Source commit: c148b3a49fa03139e96e9f288fa013a1530d4d9c
Martin Prikryl 4 rokov pred
rodič
commit
7d9dbdcf83
1 zmenil súbory, kde vykonal 17 pridanie a 9 odobranie
  1. 17 9
      source/core/NeonIntf.cpp

+ 17 - 9
source/core/NeonIntf.cpp

@@ -434,20 +434,28 @@ void __fastcall UnregisterFromNeonDebug(TTerminal * Terminal)
 void __fastcall RetrieveNeonCertificateData(
 void __fastcall RetrieveNeonCertificateData(
   int Failures, const ne_ssl_certificate * Certificate, TNeonCertificateData & Data)
   int Failures, const ne_ssl_certificate * Certificate, TNeonCertificateData & Data)
 {
 {
-  char Fingerprint[NE_SSL_DIGESTLEN];
-  Fingerprint[0] = '\0';
-  if (ne_ssl_cert_digest(Certificate, Fingerprint, 0) != 0)
+  UnicodeString Unknown(L"<unknown>");
+  char FingerprintSHA1[NE_SSL_DIGESTLEN];
+  FingerprintSHA1[0] = '\0';
+  if (DebugAlwaysFalse(ne_ssl_cert_digest(Certificate, FingerprintSHA1) != 0))
   {
   {
-    strcpy(Fingerprint, "<unknown>");
+    Data.FingerprintSHA1 = Unknown;
+  }
+  else
+  {
+    Data.FingerprintSHA1 = StrFromNeon(FingerprintSHA1);
   }
   }
-  Data.FingerprintSHA1 = StrFromNeon(Fingerprint);
 
 
-  Fingerprint[0] = '\0';
-  if (ne_ssl_cert_digest(Certificate, Fingerprint, 1) != 0)
+  char * FingeprintSHA256 = ne_ssl_cert_hdigest(Certificate, NE_HASH_SHA256);
+  if (DebugAlwaysFalse(FingeprintSHA256 == NULL))
+  {
+    Data.FingerprintSHA256 = Unknown;
+  }
+  else
   {
   {
-    strcpy(Fingerprint, "<unknown>");
+    Data.FingerprintSHA256 = StrFromNeon(FingeprintSHA256);
+    ne_free(FingeprintSHA256);
   }
   }
-  Data.FingerprintSHA256 = StrFromNeon(Fingerprint);
 
 
   Data.AsciiCert = NeonExportCertificate(Certificate);
   Data.AsciiCert = NeonExportCertificate(Certificate);