From: Anand Sundararaj <[email protected]>
---
src/amf/amfnd/amfnd.conf | 3 +++
src/amf/amfnd/main.cc | 9 ++++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/amf/amfnd/amfnd.conf b/src/amf/amfnd/amfnd.conf
index 07bc0ba..4e8b07a 100644
--- a/src/amf/amfnd/amfnd.conf
+++ b/src/amf/amfnd/amfnd.conf
@@ -34,3 +34,6 @@ export AVND_PM_MONITORING_RATE=1000
# It can be disabled if set THREAD_TRACE_BUFFER as 0, the maximum value
# can be set as 65535.
# export THREAD_TRACE_BUFFER=10240
+
+#AMFND run as root. Uncomment next line to run as a user mentioned in nid.conf.
+#export AMFND_NON_ROOT=1
diff --git a/src/amf/amfnd/main.cc b/src/amf/amfnd/main.cc
index d7857fa..6d9ee95 100644
--- a/src/amf/amfnd/main.cc
+++ b/src/amf/amfnd/main.cc
@@ -164,6 +164,7 @@ static void new_handler() {
int main(int argc, char *argv[]) {
uint32_t error;
+ char *val;
// function to be called if new fails. The alternative of using catch of
// std::bad_alloc will unwind the stack and thus no call chain will be
@@ -179,7 +180,13 @@ int main(int argc, char *argv[]) {
goto done;
}
- daemonize_as_user("root", argc, argv);
+ if ((val = getenv("AMFND_NON_ROOT")) != nullptr) {
+ daemonize(argc, argv);
+ TRACE("AMFND will run as non-root");
+ } else {
+ daemonize_as_user("root", argc, argv);
+ TRACE("AMFND will run as root");
+ }
// Enable long DN
if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) {
--
2.7.4
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel