From bf4fd867a37dbf5892fb42484e303fb006f66327 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 22 Feb 2018 09:29:18 -0800 Subject: [PATCH 1/3] Add rejection for invalid manual backup names --- domain-server/src/DomainContentBackupManager.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/domain-server/src/DomainContentBackupManager.cpp b/domain-server/src/DomainContentBackupManager.cpp index 9c72d64eea..e8deb79814 100644 --- a/domain-server/src/DomainContentBackupManager.cpp +++ b/domain-server/src/DomainContentBackupManager.cpp @@ -44,6 +44,7 @@ static const QString DATETIME_FORMAT { "yyyy-MM-dd_HH-mm-ss" }; static const QString DATETIME_FORMAT_RE { "\\d{4}-\\d{2}-\\d{2}_\\d{2}-\\d{2}-\\d{2}" }; static const QString AUTOMATIC_BACKUP_PREFIX { "autobackup-" }; static const QString MANUAL_BACKUP_PREFIX { "backup-" }; +static const QString MANUAL_BACKUP_NAME_RE { "[a-zA-Z0-9\\-_ ]+" }; void DomainContentBackupManager::addBackupHandler(BackupHandlerPointer handler) { _backupHandlers.push_back(std::move(handler)); @@ -561,9 +562,17 @@ void DomainContentBackupManager::createManualBackup(MiniPromise::Promise promise return; } + + QRegExp nameRE { MANUAL_BACKUP_NAME_RE }; bool success; - QString path; - std::tie(success, path) = createBackup(MANUAL_BACKUP_PREFIX, name); + + if (!nameRE.exactMatch(name)) { + qDebug() << "Cannot create manual backup with invalid name: " << name; + success = false; + } else { + QString path; + std::tie(success, path) = createBackup(MANUAL_BACKUP_PREFIX, name); + } promise->resolve({ { "success", success } From 017d10de3d43a63405fb461342146216916b7faf Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 22 Feb 2018 09:29:59 -0800 Subject: [PATCH 2/3] Fix DomainContentBackupManager.* headers --- domain-server/src/DomainContentBackupManager.cpp | 7 ++++--- domain-server/src/DomainContentBackupManager.h | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/domain-server/src/DomainContentBackupManager.cpp b/domain-server/src/DomainContentBackupManager.cpp index e8deb79814..389ed31e47 100644 --- a/domain-server/src/DomainContentBackupManager.cpp +++ b/domain-server/src/DomainContentBackupManager.cpp @@ -1,9 +1,10 @@ // // DomainContentBackupManager.cpp -// libraries/octree/src +// libraries/domain-server/src // -// Created by Brad Hefta-Gaub on 8/21/13. -// Copyright 2013 High Fidelity, Inc. +// Created by Ryan Huffman on 1/01/18. +// Adapted from OctreePersistThread +// Copyright 2018 High Fidelity, Inc. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/domain-server/src/DomainContentBackupManager.h b/domain-server/src/DomainContentBackupManager.h index 06a8d0394f..1455892c52 100644 --- a/domain-server/src/DomainContentBackupManager.h +++ b/domain-server/src/DomainContentBackupManager.h @@ -1,9 +1,10 @@ // // DomainContentBackupManager.h -// libraries/octree/src +// libraries/domain-server/src // -// Created by Brad Hefta-Gaub on 8/21/13. -// Copyright 2013 High Fidelity, Inc. +// Created by Ryan Huffman on 1/01/18. +// Adapted from OctreePersistThread +// Copyright 2018 High Fidelity, Inc. // // // From 6dffffbbc0a53942c16c8b23a2df973f7d944bfd Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Thu, 22 Feb 2018 09:30:47 -0800 Subject: [PATCH 3/3] Update clang-format ctor initializer list format --- .clang-format | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.clang-format b/.clang-format index 507b1eb232..505366dd9c 100644 --- a/.clang-format +++ b/.clang-format @@ -22,8 +22,8 @@ BraceWrapping: AccessModifierOffset: -4 AllowShortFunctionsOnASingleLine: InlineOnly -BreakConstructorInitializers: BeforeColon -BreakConstructorInitializersBeforeComma: true +BreakConstructorInitializers: AfterColon +BreakConstructorInitializersBeforeComma: false IndentCaseLabels: true ReflowComments: false Cpp11BracedListStyle: false