/*
* We generally don't overwrite files without backup before
*/
-bool NodeUtility::CreateBackupFile(const String& target, mode_t mode)
+bool NodeUtility::CreateBackupFile(const String& target, bool is_private)
{
if (!Utility::PathExists(target))
return false;
Utility::CopyFile(target, backup);
#ifndef _WIN32
- chmod(backup.CStr(), mode);
+ if (is_private)
+ chmod(backup.CStr(), 0600);
#endif /* _WIN32 */
Log(LogInformation, "cli")
}
if (Utility::PathExists(node_key))
- NodeUtility::CreateBackupFile(node_key, 0600);
+ NodeUtility::CreateBackupFile(node_key, true);
if (Utility::PathExists(node_cert))
- NodeUtility::CreateBackupFile(node_cert, 0640);
+ NodeUtility::CreateBackupFile(node_cert);
if (PkiUtility::NewCert(cn, node_key, Empty, node_cert) > 0) {
Log(LogCritical, "cli")
String trusted_cert = PkiUtility::GetPkiPath() + "/trusted-master.crt";
if (Utility::PathExists(trusted_cert))
- NodeUtility::CreateBackupFile(trusted_cert, 0640);
+ NodeUtility::CreateBackupFile(trusted_cert);
if (PkiUtility::SaveCert(master_host, master_port, node_key, node_cert, trusted_cert) > 0) {
Log(LogCritical, "cli")
String target_ca = pki_path + "/ca.crt";
if (Utility::PathExists(target_ca))
- NodeUtility::CreateBackupFile(target_ca, 0640);
+ NodeUtility::CreateBackupFile(target_ca);
if (Utility::PathExists(node_cert))
- NodeUtility::CreateBackupFile(node_cert, 0640);
+ NodeUtility::CreateBackupFile(node_cert);
if (PkiUtility::RequestCertificate(master_host, master_port, node_key, node_cert, target_ca, trusted_cert, ticket) > 0) {
Log(LogCritical, "cli")
<< "Generating new CSR in '" << csr << "'.";
if (Utility::PathExists(key))
- NodeUtility::CreateBackupFile(key, 0600);
+ NodeUtility::CreateBackupFile(key, true);
if (Utility::PathExists(csr))
- NodeUtility::CreateBackupFile(csr, 0640);
+ NodeUtility::CreateBackupFile(csr);
if (PkiUtility::NewCert(cn, key, csr, "") > 0) {
Log(LogCritical, "cli", "Failed to create certificate signing request.");
<< "Signing CSR with CA and writing certificate to '" << cert << "'.";
if (Utility::PathExists(cert))
- NodeUtility::CreateBackupFile(cert, 0640);
+ NodeUtility::CreateBackupFile(cert);
if (PkiUtility::SignCsr(csr, cert) != 0) {
Log(LogCritical, "cli", "Could not sign CSR.");