From a3e710fbd44ca8a0f4840b4e3366c6fc946ecfc5 Mon Sep 17 00:00:00 2001 From: Erwin Nindl Date: Thu, 27 Dec 2007 11:57:12 +0000 Subject: * cypher and auth-algo selectable via commandline * libgcrypt uses secure memory now * a few bugfixes --- cypher.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'cypher.cpp') diff --git a/cypher.cpp b/cypher.cpp index 9661428..71f064d 100644 --- a/cypher.cpp +++ b/cypher.cpp @@ -64,16 +64,13 @@ AesIcmCypher::AesIcmCypher() : salt_(Buffer(14)) return; } - // do NOT allocate a pool of secure memory! - // this is NOT thread safe! - // /* Allocate a pool of secure memory. This also drops priviliges - // on some systems. */ - // err = gcry_control(GCRYCTL_INIT_SECMEM, GCRYPT_SEC_MEM, 0); - // if( err ) { - // std::cerr << "Failed to allocate " << GCRYPT_SEC_MEM << "bytes of secure memory: "; - // std::cerr << gpg_strerror( err ) << std::endl; - // return; - // } + /* Allocate a pool of secure memory. This also drops priviliges + on some systems. */ + err = gcry_control(GCRYCTL_INIT_SECMEM, GCRYPT_SEC_MEM, 0); + if( err ) { + cLog.msg(Log::PRIO_ERR) << "Failed to allocate " << GCRYPT_SEC_MEM << "bytes of secure memory: " << gpg_strerror( err ); + return; + } /* Tell Libgcrypt that initialization has completed. */ err = gcry_control(GCRYCTL_INITIALIZATION_FINISHED); @@ -85,7 +82,7 @@ AesIcmCypher::AesIcmCypher() : salt_(Buffer(14)) } } - gcry_cipher_open( &cipher_, GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_CTR, 0 ); + err = gcry_cipher_open( &cipher_, GCRY_CIPHER_AES128, GCRY_CIPHER_MODE_CTR, 0 ); if( err ) cLog.msg(Log::PRIO_CRIT) << "AesIcmCypher::AesIcmCypher: Failed to open cypher"; } -- cgit v1.2.3