diff --git a/docs/conf.py b/docs/conf.py
index 3c79100..7e419dd 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -63,7 +63,7 @@
 
 # General information about the project.
 project = u'ndn-cxx: NDN C++ library with eXperimental eXtensions'
-copyright = u'2014, Named Data Networking Project'
+copyright = u'Copyright (c) 2013-2015 Regents of the University of California.'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/manpages/ndn-client.conf.rst b/docs/manpages/ndn-client.conf.rst
index c0c9bd7..50abf21 100644
--- a/docs/manpages/ndn-client.conf.rst
+++ b/docs/manpages/ndn-client.conf.rst
@@ -2,66 +2,92 @@
 ===========
 
 System configuration of NDN platform is specified in ``client.conf``.
+
+The configuration file ``client.conf`` is looked up in several directories in the following order:
+
+- ``$HOME/.ndn/``: user-specific settings
+- ``@SYSCONFDIR@/ndn/`` (``/usr/local/etc/ndn``, ``/opt/local/etc/ndn``, or other, depending how the library is configured): system-wide settings
+- ``/etc/ndn``: default system-wide settings
+
 Here is an example of ``client.conf`` for current ndn-cxx package:
 
-::
+.. literalinclude:: ../../client.conf.sample
 
-    ; "unix_socket" specifies the location of the NFD unix socket
-    unix_socket=/var/run/nfd.sock
-
-    ; "protocol" determines the protocol for prefix registration
-    ; it has a value of:
-    ;   nrd-0.1
-    protocol=nrd-0.1
-
-    ; "pib" determines which Public Info Base (PIB) should used by default in applications.
-    ; If "pib" is not specified, the default PIB will be used.
-    ; Note that default PIB could be different on different system.
-    ; If "pib" is specified, it may have a value of:
-    ;   sqlite3
-    ; pib=sqlite3
-
-    ; "tpm" determines which Trusted Platform Module (TPM) should used by default in applications.
-    ; If "tpm" is not specified, the default TPM will be used.
-    ; Note that default TPM could be different on different system.
-    ; If "tpm" is specified, it may have a value of:
-    ;   file
-    ;   osx-keychain
-    ; tpm=file
 
 NFD
 ---
 
-unix_socket
-  The local interface of NFD to applications. By default, the path to the socket is ``/var/run/nfd.sock``.
+transport
+  FaceUri for default connection toward local NDN forwarder.  Only ``unix`` and ``tcp4`` FaceUri
+  can be specified here.
+
+  By default, ``unix:///var/run/nfd.sock`` is used.
 
 Prefix Registration
 -------------------
 
 protocol
   The prefix registration protocol. For now, only one protocol ``nrd-0.1`` is supported.
-  With this protocol, applications send prefix registration requests to NRD.
-  NRD, after authenticating the request, will set up corresponding FIB entries in NFD.
+  With this protocol, applications send prefix registration requests to NFD RIB manager.
+  NFD RIB Manager, after authenticating the request, will set up corresponding FIB entries
+  in NFD.
 
 Key Management
 --------------
 
-tpm
-  Trusted Platform Module (TPM) where the private keys are stored.
-  Two options are currently available: ``file`` and ``osx-keychain``.
-  **Users are not supposed to change the ``tpm`` setting once it is configued,
-  otherwise users may face the problem of "Keys are not found".**
-  The default value of ``tpm`` depends on the operating system.
-  For OS X, the default value is ``osx-keychain``.
-  For other systems, the default value is ``file``.
-
 pib
-  The public key information for each private key stored in TPM.
-  There is only one option for ``pib``: ``sqlite3``, which is also the default value of ``pib``.
+  The public key information for each private key stored in TPM.  The format for this setting is::
 
-Users are not supposed to change the configuration of Key Management.
-If changes is inevitable, please clean up the all the existing data (which is usually under ``~/.ndn/``):
+      pib=[scheme]:[location]
 
-::
+  Possible values for ``[scheme]``:
 
-    rm -rf ~/.ndn/ndnsec-*
+  * ``pib-sqlite3``: local PIB implementation with SQLite3 storage engine
+
+    Possible values for ``[location]``:
+
+    * absolute path where SQLite3 database will be stored
+    * relative path (relative to ``config.conf``)
+    * empty: default path ``$HOME/.ndn`` will be used
+
+  When ``[location]`` is empty, trailing ``:`` can be omitted.  For example::
+
+     pib=pib-sqlite3
+
+  Changing PIB scheme without changing location is **not** allowed.  If such change is
+  necessary, the whole backend storage must be destroyed.  For example, when default location
+  is used::
+
+      rm -rf ~/.ndn/ndnsec-*
+
+tpm
+  Trusted Platform Module (TPM) where the private keys are stored.  The format for this setting
+  is::
+
+      tpm=[scheme]:[location]
+
+  Possible values for ``[scheme]``:
+
+  * ``tpm-osx-keychain`` (default on OS X platform): secure storage of private keys in OS X
+    Keychain with OS-provided access restrictions.
+
+    ``[location]`` parameter is ignored.
+
+    May not work for daemon applications, as user interaction may be required to access OS X
+    Keychain.
+
+  * ``tpm-file`` (default on all other platforms): file-based storage of private keys
+
+    Possible values for ``[location]``:
+
+    * absolute path to directory that will store private/public key files (unencrypted with
+      ``0700`` permission)
+    * relative path (relative to ``config.conf``)
+    * empty: default path ``$HOME/.ndn/ndnsec-tpm-file`` will be used
+
+  When ``[location]`` is empty, trailing ``:`` can be omitted.  For example::
+
+     tpm=tpm-file
+
+  **Change of ``tpm`` setting is only possible together with ``pib`` setting. Otherwise, an
+  error will be generated during PIB/TPM access**
