From 1d4065ba94cff05dce7ee6b83fba5dd6bb177dfd Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Sat, 7 Feb 2015 20:41:04 +0100 Subject: [PATCH] Add file mode support for NodeUtility::CreateBackupFile() refs #8260 --- lib/cli/nodeutility.cpp | 6 +++++- lib/cli/nodeutility.hpp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/cli/nodeutility.cpp b/lib/cli/nodeutility.cpp index 52ceec541..5fd11919c 100644 --- a/lib/cli/nodeutility.cpp +++ b/lib/cli/nodeutility.cpp @@ -591,7 +591,7 @@ bool NodeUtility::CheckAgainstBlackAndWhiteList(const String& type, const String /* * We generally don't overwrite files without backup before */ -bool NodeUtility::CreateBackupFile(const String& target) +bool NodeUtility::CreateBackupFile(const String& target, mode_t mode) { if (!Utility::PathExists(target)) return false; @@ -606,6 +606,10 @@ bool NodeUtility::CreateBackupFile(const String& target) Utility::CopyFile(target, backup); +#ifndef _WIN32 + chmod(backup.CStr(), mode); +#endif /* _WIN32 */ + Log(LogInformation, "cli") << "Created backup file '" << backup << "'."; diff --git a/lib/cli/nodeutility.hpp b/lib/cli/nodeutility.hpp index ee459f1c6..f414b5a6c 100644 --- a/lib/cli/nodeutility.hpp +++ b/lib/cli/nodeutility.hpp @@ -51,7 +51,7 @@ public: static std::vector GetNodes(void); - static bool CreateBackupFile(const String& target); + static bool CreateBackupFile(const String& target, mode_t mode = 0640); static bool WriteNodeConfigObjects(const String& filename, const Array::Ptr& objects);