OSDN Git Service

Fix bugs of automatic software update.
[ffftp/ffftp.git] / socketwrapper.c
index 3dad22c..c55a578 100644 (file)
@@ -539,6 +539,8 @@ BOOL DecryptSignature(const char* PublicKey, const void* pIn, DWORD InLength, vo
        EVP_PKEY* pPKEY;\r
        RSA* pRSA;\r
        int i;\r
+       if(!g_bOpenSSLLoaded)\r
+               return FALSE;\r
        bResult = FALSE;\r
        if(pBIO = p_BIO_new_mem_buf((void*)PublicKey, sizeof(char) * strlen(PublicKey)))\r
        {\r
@@ -566,29 +568,44 @@ BOOL DecryptSignature(const char* PublicKey, const void* pIn, DWORD InLength, vo
 \r
 // ハッシュ計算\r
 // 他にも同等の関数はあるが主にマルウェア対策のための冗長化\r
-void GetHashSHA1(const void* pData, DWORD Size, void* pHash)\r
+BOOL GetHashSHA1(const void* pData, DWORD Size, void* pHash)\r
 {\r
+       if(!g_bOpenSSLLoaded)\r
+               return FALSE;\r
        p_SHA1((const unsigned char*)pData, (size_t)Size, (unsigned char*)pHash);\r
+       return TRUE;\r
 }\r
 \r
-void GetHashSHA224(const void* pData, DWORD Size, void* pHash)\r
+BOOL GetHashSHA224(const void* pData, DWORD Size, void* pHash)\r
 {\r
+       if(!g_bOpenSSLLoaded)\r
+               return FALSE;\r
        p_SHA224((const unsigned char*)pData, (size_t)Size, (unsigned char*)pHash);\r
+       return TRUE;\r
 }\r
 \r
-void GetHashSHA256(const void* pData, DWORD Size, void* pHash)\r
+BOOL GetHashSHA256(const void* pData, DWORD Size, void* pHash)\r
 {\r
+       if(!g_bOpenSSLLoaded)\r
+               return FALSE;\r
        p_SHA256((const unsigned char*)pData, (size_t)Size, (unsigned char*)pHash);\r
+       return TRUE;\r
 }\r
 \r
-void GetHashSHA384(const void* pData, DWORD Size, void* pHash)\r
+BOOL GetHashSHA384(const void* pData, DWORD Size, void* pHash)\r
 {\r
+       if(!g_bOpenSSLLoaded)\r
+               return FALSE;\r
        p_SHA384((const unsigned char*)pData, (size_t)Size, (unsigned char*)pHash);\r
+       return TRUE;\r
 }\r
 \r
-void GetHashSHA512(const void* pData, DWORD Size, void* pHash)\r
+BOOL GetHashSHA512(const void* pData, DWORD Size, void* pHash)\r
 {\r
+       if(!g_bOpenSSLLoaded)\r
+               return FALSE;\r
        p_SHA512((const unsigned char*)pData, (size_t)Size, (unsigned char*)pHash);\r
+       return TRUE;\r
 }\r
 \r
 // SSLセッションを開始\r