From 634fca12c212333f67a96bb31e8906d3032bf043 Mon Sep 17 00:00:00 2001 From: Randall Meyer Date: Mon, 24 Sep 2018 10:33:18 -0700 Subject: [PATCH] Inherit parent config file root-required attribute Running as non-root, traffic_manager would fail during config load attempting to add child subconfigs because process couldn't become root to load child config. --- mgmt/FileManager.cc | 4 +--- mgmt/Rollback.h | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mgmt/FileManager.cc b/mgmt/FileManager.cc index bbb4cfb7a49..5232b427c69 100644 --- a/mgmt/FileManager.cc +++ b/mgmt/FileManager.cc @@ -275,9 +275,7 @@ FileManager::configFileChild(const char *parent, const char *child, unsigned fla int htfound = ink_hash_table_lookup(bindings, parent, &lookup); if (htfound) { parentRollback = (Rollback *)lookup; - } - if (htfound) { - addFileHelper(child, true, parentRollback, flags); + addFileHelper(child, parentRollback->rootAccessNeeded(), parentRollback, flags); } ink_mutex_release(&accessLock); } diff --git a/mgmt/Rollback.h b/mgmt/Rollback.h index 42c1085120c..38d8c940d7c 100644 --- a/mgmt/Rollback.h +++ b/mgmt/Rollback.h @@ -212,6 +212,11 @@ class Rollback { return numberBackups > 0; } + bool + rootAccessNeeded() const + { + return root_access_needed; + } FileManager *configFiles; // Manager to notify on an update.