Removing dependency to gnutls, only gcrypt is required now.
This commit is contained in:
@@ -165,16 +165,29 @@ CryptHelper::MD5Sum(const std::string &fileName, MD5Buf &buf)
|
||||
|
||||
if (file) {
|
||||
// Calculate MD5 sum of file.
|
||||
unsigned char readBuf[8192];
|
||||
MD5_CTX context;
|
||||
unsigned char *readBuf = new unsigned char[8192];
|
||||
int numBytes;
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
MD5_CTX context;
|
||||
MD5_Init(&context);
|
||||
while ((numBytes = fread(readBuf, 1, sizeof(readBuf), file)) > 0)
|
||||
while ((numBytes = fread(readBuf, 1, sizeof(readBuf), file)) > 0) {
|
||||
MD5_Update(&context, readBuf, numBytes);
|
||||
}
|
||||
MD5_Final(buf.GetData(), &context);
|
||||
#else
|
||||
gcry_md_hd_t hash;
|
||||
gcry_md_open(&hash, GCRY_MD_MD5, 0);
|
||||
while ((numBytes = fread(readBuf, 1, sizeof(readBuf), file)) > 0) {
|
||||
gcry_md_write(hash, readBuf, numBytes);
|
||||
}
|
||||
memcpy(buf.GetData(), gcry_md_read(hash, GCRY_MD_MD5), MD5_DATA_SIZE);
|
||||
gcry_md_close(hash);
|
||||
#endif
|
||||
|
||||
retVal = ferror(file) == 0;
|
||||
|
||||
delete[] readBuf;
|
||||
fclose(file);
|
||||
}
|
||||
return retVal;
|
||||
|
||||
@@ -67,10 +67,8 @@ typedef int pid_t;
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/evp.h>
|
||||
#else
|
||||
// For all other systems, we use GnuTLS.
|
||||
#include <gnutls/openssl.h>
|
||||
// For all other systems, we use gcrypt.
|
||||
#include <gcrypt.h>
|
||||
#define PKTH_USE_GNUTLS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -109,9 +109,13 @@ void Tools::getRandNumber(int start, int end, int howMany, int* randArray, bool
|
||||
int counter(0);
|
||||
while(counter < howMany) {
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
if(!RAND_bytes(rand_buf, 4)) {
|
||||
LOG_MSG("RAND_bytes failed!");
|
||||
}
|
||||
#else
|
||||
gcry_randomize(rand_buf, 4, GCRY_VERY_STRONG_RANDOM);
|
||||
#endif
|
||||
|
||||
randNumber = 0;
|
||||
for(i=0; i<4; i++) {
|
||||
@@ -138,9 +142,13 @@ void Tools::getRandNumber(int start, int end, int howMany, int* randArray, bool
|
||||
int counter(0);
|
||||
while (counter < howMany) {
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
if(!RAND_bytes(rand_buf, 4)) {
|
||||
LOG_MSG("RAND_bytes failed!");
|
||||
}
|
||||
#else
|
||||
gcry_randomize(rand_buf, 4, GCRY_VERY_STRONG_RANDOM);
|
||||
#endif
|
||||
|
||||
randNumber = 0;
|
||||
for(i=0; i<4; i++) {
|
||||
|
||||
@@ -23,9 +23,7 @@
|
||||
#include <net/socket_startup.h>
|
||||
#include <core/openssl_wrapper.h>
|
||||
|
||||
#ifdef PKTH_USE_GNUTLS
|
||||
|
||||
#include <gcrypt.h>
|
||||
#ifndef HAVE_OPENSSL
|
||||
|
||||
extern "C" {
|
||||
|
||||
@@ -60,16 +58,20 @@ extern "C" {
|
||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
|
||||
};
|
||||
}
|
||||
#endif // PKTH_USE_GNUTLS
|
||||
#endif // not HAVE_OPENSSL
|
||||
|
||||
bool
|
||||
socket_startup()
|
||||
{
|
||||
#ifdef PKTH_USE_GNUTLS
|
||||
#ifdef HAVE_OPENSSL
|
||||
return SSL_library_init() == 1;
|
||||
#else
|
||||
gcry_check_version(NULL);
|
||||
gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_boost);
|
||||
gcry_control(GCRYCTL_ENABLE_QUICK_RANDOM, 0);
|
||||
gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
|
||||
return true;
|
||||
#endif
|
||||
return SSL_library_init() == 1;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user