Add checking return value
[platform/core/security/ode.git] / server / file-footer.cpp
index 9ea0f6b..7531db4 100644 (file)
@@ -20,8 +20,8 @@
 
 #include <klay/exception.h>
 #include <klay/filesystem.h>
-#include <klay/audit/logger.h>
 
+#include "logger.h"
 #include "file-footer.h"
 #include "key-manager/key-generator.h"
 
@@ -31,7 +31,7 @@ namespace {
 
 const std::string getFileName(const std::string &key)
 {
-       KeyGenerator::data hash = KeyGenerator::MD5(KeyGenerator::data(key.begin(), key.end()));
+       BinaryData hash = KeyGenerator::SHA256(BinaryData(key.begin(), key.end()));
        std::stringstream fileName;
 
        fileName << "/opt/etc/.ode_";
@@ -49,21 +49,21 @@ bool FileFooter::exist(const std::string &key)
 {
        std::string fileName(getFileName(key));
 
-       INFO("Footer file : " + fileName);
+       INFO(SINK, "Footer file : " + fileName);
 
        runtime::File file(fileName);
 
        return file.exists();
 }
 
-const FileFooter::data FileFooter::read(const std::string &key)
+const BinaryData FileFooter::read(const std::string &key)
 {
        std::string fileName(getFileName(key));
 
-       INFO("Footer file : " + fileName);
+       INFO(SINK, "Footer file : " + fileName);
 
        runtime::File file(fileName);
-       data value(file.size());
+       BinaryData value(file.size());
 
        file.open(O_RDONLY);
        file.read(value.data(), value.size());
@@ -71,15 +71,20 @@ const FileFooter::data FileFooter::read(const std::string &key)
        return value;
 }
 
-void FileFooter::write(const std::string &key, const data &value)
+void FileFooter::write(const std::string &key, const BinaryData &value)
 {
        std::string fileName(getFileName(key));
 
-       INFO("Footer file : " + fileName);
+       INFO(SINK, "Footer file : " + fileName);
 
        runtime::File file(fileName);
 
-       file.create(0600);
+       if (!file.exists()) {
+               file.create(S_IRUSR | S_IWUSR);
+       } else {
+               file.open(O_RDWR);
+       }
+
        file.write(value.data(), value.size());
 }
 
@@ -87,7 +92,7 @@ void FileFooter::clear(const std::string &key)
 {
        std::string fileName(getFileName(key));
 
-       INFO("Footer file : " + fileName);
+       INFO(SINK, "Footer file : " + fileName);
 
        runtime::File file(fileName);