bool Crypto::init() { if (m_initalized) { qWarning("Crypto::init: already initalized"); return true; } // libgcrypt >= 1.6 doesn't allow custom thread callbacks anymore. #if !defined(GCRYPT_VERSION_NUMBER) || (GCRYPT_VERSION_NUMBER < 0x010600) gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_qt); #endif gcry_check_version(0); gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); if (!checkAlgorithms()) { return false; } // has to be set before testing Crypto classes m_initalized = true; if (!selfTest()) { m_initalized = false; return false; } return true; }
bool Crypto::init() { if (m_initalized) { qWarning("Crypto::init: already initalized"); return true; } m_backendVersion = QString::fromLocal8Bit(gcry_check_version(0)); gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0); if (!checkAlgorithms()) { return false; } // has to be set before testing Crypto classes m_initalized = true; if (!selfTest()) { m_initalized = false; return false; } return true; }