Logging instead of stderr

This commit is contained in:
Sebastian Meßmer 2015-10-17 17:50:30 +02:00
parent 62e0a177fb
commit e9470ffb78
2 changed files with 3 additions and 5 deletions

View File

@ -79,7 +79,6 @@ boost::optional<Value> Cache<Key, Value, MAX_ENTRIES>::pop(const Key &key) {
template<class Key, class Value, uint32_t MAX_ENTRIES> template<class Key, class Value, uint32_t MAX_ENTRIES>
void Cache<Key, Value, MAX_ENTRIES>::push(const Key &key, Value value) { void Cache<Key, Value, MAX_ENTRIES>::push(const Key &key, Value value) {
std::unique_lock<std::mutex> lock(_mutex); std::unique_lock<std::mutex> lock(_mutex);
//std::cout << "Pushing " << key.ToString() << "\n";
ASSERT(_cachedBlocks.size() <= MAX_ENTRIES, "Cache too full"); ASSERT(_cachedBlocks.size() <= MAX_ENTRIES, "Cache too full");
_makeSpaceForEntry(&lock); _makeSpaceForEntry(&lock);
_cachedBlocks.push(key, CacheEntry<Key, Value>(std::move(value))); _cachedBlocks.push(key, CacheEntry<Key, Value>(std::move(value)));

View File

@ -13,6 +13,7 @@
#include "ciphers/Cipher.h" #include "ciphers/Cipher.h"
#include <messmer/cpp-utils/assert/assert.h> #include <messmer/cpp-utils/assert/assert.h>
#include <mutex> #include <mutex>
#include <messmer/cpp-utils/logging/logging.h>
namespace blockstore { namespace blockstore {
namespace encrypted { namespace encrypted {
@ -79,14 +80,12 @@ boost::optional<cpputils::unique_ref<EncryptedBlock<Cipher>>> EncryptedBlock<Cip
boost::optional<cpputils::Data> plaintextWithHeader = Cipher::decrypt((byte*)baseBlock->data(), baseBlock->size(), encKey); boost::optional<cpputils::Data> plaintextWithHeader = Cipher::decrypt((byte*)baseBlock->data(), baseBlock->size(), encKey);
if(plaintextWithHeader == boost::none) { if(plaintextWithHeader == boost::none) {
//Decryption failed (e.g. an authenticated cipher detected modifications to the ciphertext) //Decryption failed (e.g. an authenticated cipher detected modifications to the ciphertext)
//TODO Think about logging cpputils::logging::LOG(cpputils::logging::WARN) << "Decrypting block " << baseBlock->key().ToString() << " failed. Was the block modified by an attacker?";
std::cerr << "Decrypting block " << baseBlock->key().ToString() << " failed. Was the block modified by an attacker?" << std::endl;
return boost::none; return boost::none;
} }
if(!_keyHeaderIsCorrect(baseBlock->key(), *plaintextWithHeader)) { if(!_keyHeaderIsCorrect(baseBlock->key(), *plaintextWithHeader)) {
//The stored key in the block data is incorrect - an attacker might have exchanged the contents with the encrypted data from a different block //The stored key in the block data is incorrect - an attacker might have exchanged the contents with the encrypted data from a different block
//TODO Think about logging cpputils::logging::LOG(cpputils::logging::WARN) << "Decrypting block " << baseBlock->key().ToString() << " failed due to invalid block key. Was the block modified by an attacker?";
std::cerr << "Decrypting block " << baseBlock->key().ToString() << " failed due to invalid block key. Was the block modified by an attacker?" << std::endl;
return boost::none; return boost::none;
} }
return cpputils::make_unique_ref<EncryptedBlock<Cipher>>(std::move(baseBlock), encKey, std::move(*plaintextWithHeader)); return cpputils::make_unique_ref<EncryptedBlock<Cipher>>(std::move(baseBlock), encKey, std::move(*plaintextWithHeader));