face+security: Introduce environment variables to set/override transport, pib, and tpm configurations.
- NDN_CLIENT_TRANSPORT: equivalent of transport in client.conf
- NDN_CLIENT_PIB: equivalent of pib in client.conf
- NDN_CLIENT_TPM: equivalent of tpm in client.conf
Whenever an environment variable is set, it takes precedence over any
values specified in the configuration file.
Change-Id: I44c2347168616387a0489b6bf5c2c3a12db29863
Refs: #2925, #2514
diff --git a/src/util/config-file.hpp b/src/util/config-file.hpp
index 5c71dde..2bb6c2d 100644
--- a/src/util/config-file.hpp
+++ b/src/util/config-file.hpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2013-2014 Regents of the University of California.
+ * Copyright (c) 2013-2016 Regents of the University of California.
*
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
*
@@ -31,6 +31,20 @@
namespace ndn {
+/**
+ * @brief System configuration file for NDN platform
+ *
+ * The config file controls the default transport to connect to NDN forwarder, type and
+ * location of PIB and TPM.
+ *
+ * Looking for the configuration file in these well-known locations (in order):
+ *
+ * - `$HOME/.ndn/client.conf`
+ * - `@SYSCONFDIR@/ndn/client.conf`
+ * - `/etc/ndn/client.conf`
+ *
+ * @sa Manpage of ndn-client.conf
+ */
class ConfigFile : noncopyable
{
public:
@@ -48,7 +62,7 @@
typedef boost::property_tree::ptree Parsed;
/**
- * Locate, open, and parse a library configuration file.
+ * @brief Locate, open, and parse a library configuration file.
*
* @throws ConfigFile::Error on parse error
*/
@@ -71,7 +85,8 @@
close();
/**
- * Parse a previously discovered and opened configuration file.
+ * @brief Parse a previously discovered and opened configuration file.
+ *
* For convenience this method will attempt to open the file
* if it has previously been located, but open() has not been called.
*
@@ -83,11 +98,13 @@
parse();
/**
- * Looking for the configuration file in these well-known locations:
+ * @brief Find the configuration file in well-known locations
*
- * 1. $HOME/.ndn/client.conf
- * 2. @SYSCONFDIR@/ndn/client.conf
- * 3. /etc/ndn/client.conf
+ * The well-known locations include (in order):
+ *
+ * - `$HOME/.ndn/client.conf`
+ * - `@SYSCONFDIR@/ndn/client.conf`
+ * - `/etc/ndn/client.conf`
*
* @return path to preferred configuration (according to above order) or empty path on failure
*/