blob: d267c14009e7a465e43538f59c8c64b4649a6e63 [file] [log] [blame]
Yingdi Yu4e99f532014-08-25 19:40:57 -07001client.conf
2===========
3
4System configuration of NDN platform is specified in ``client.conf``.
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -07005
6The configuration file ``client.conf`` is looked up in several directories in the following order:
7
8- ``$HOME/.ndn/``: user-specific settings
Niv Sardi8ac87542016-12-13 15:38:06 -03009- ``@SYSCONFDIR@/ndn/`` (``/usr/local/etc/ndn``, ``/opt/local/etc/ndn``, or other, depending how the
10 library is configured): system-wide settings
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070011- ``/etc/ndn``: default system-wide settings
12
Yingdi Yu4e99f532014-08-25 19:40:57 -070013Here is an example of ``client.conf`` for current ndn-cxx package:
14
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070015.. literalinclude:: ../../client.conf.sample
Yingdi Yu4e99f532014-08-25 19:40:57 -070016
Yingdi Yu4e99f532014-08-25 19:40:57 -070017
18NFD
19---
20
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070021transport
Niv Sardi8ac87542016-12-13 15:38:06 -030022 FaceUri for default connection toward local NDN forwarder. Only ``unix`` and ``tcp4`` FaceUris
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070023 can be specified here.
24
25 By default, ``unix:///var/run/nfd.sock`` is used.
Yingdi Yu4e99f532014-08-25 19:40:57 -070026
Alexander Afanasyev57e00362016-06-23 13:22:54 -070027 ..note::
Niv Sardi8ac87542016-12-13 15:38:06 -030028 This value can be overridden using the ``NDN_CLIENT_TRANSPORT`` environment variable.
Yingdi Yu4e99f532014-08-25 19:40:57 -070029
30Key Management
31--------------
32
Yingdi Yu4e99f532014-08-25 19:40:57 -070033pib
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070034 The public key information for each private key stored in TPM. The format for this setting is::
Yingdi Yu4e99f532014-08-25 19:40:57 -070035
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070036 pib=[scheme]:[location]
Yingdi Yu4e99f532014-08-25 19:40:57 -070037
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070038 Possible values for ``[scheme]``:
Yingdi Yu4e99f532014-08-25 19:40:57 -070039
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070040 * ``pib-sqlite3``: local PIB implementation with SQLite3 storage engine
41
42 Possible values for ``[location]``:
43
44 * absolute path where SQLite3 database will be stored
45 * relative path (relative to ``config.conf``)
46 * empty: default path ``$HOME/.ndn`` will be used
47
48 When ``[location]`` is empty, trailing ``:`` can be omitted. For example::
49
50 pib=pib-sqlite3
51
Niv Sardi8ac87542016-12-13 15:38:06 -030052 Changing PIB scheme without changing location is **not** allowed. If a change like this is
53 necessary, the whole backend storage must be destroyed. For example, when the default location is
54 used::
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070055
56 rm -rf ~/.ndn/ndnsec-*
57
Junxiao Shi67fba7f2016-09-09 13:40:05 +000058 It's not recommended to share the same directory between machines, e.g. via NFS.
59 Simultaneous access from multiple machines may cause errors.
60
Alexander Afanasyev57e00362016-06-23 13:22:54 -070061 ..note::
Niv Sardi8ac87542016-12-13 15:38:06 -030062 This value can be overridden using the ``NDN_CLIENT_PIB`` environment variable.
Alexander Afanasyev57e00362016-06-23 13:22:54 -070063
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070064tpm
65 Trusted Platform Module (TPM) where the private keys are stored. The format for this setting
66 is::
67
68 tpm=[scheme]:[location]
69
70 Possible values for ``[scheme]``:
71
72 * ``tpm-osx-keychain`` (default on OS X platform): secure storage of private keys in OS X
73 Keychain with OS-provided access restrictions.
74
75 ``[location]`` parameter is ignored.
76
77 May not work for daemon applications, as user interaction may be required to access OS X
78 Keychain.
79
80 * ``tpm-file`` (default on all other platforms): file-based storage of private keys
81
82 Possible values for ``[location]``:
83
84 * absolute path to directory that will store private/public key files (unencrypted with
85 ``0700`` permission)
86 * relative path (relative to ``config.conf``)
87 * empty: default path ``$HOME/.ndn/ndnsec-tpm-file`` will be used
88
89 When ``[location]`` is empty, trailing ``:`` can be omitted. For example::
90
91 tpm=tpm-file
92
93 **Change of ``tpm`` setting is only possible together with ``pib`` setting. Otherwise, an
94 error will be generated during PIB/TPM access**
Alexander Afanasyev57e00362016-06-23 13:22:54 -070095
Junxiao Shi67fba7f2016-09-09 13:40:05 +000096 It's not recommended to share the same directory between machines, e.g. via NFS.
97 Simultaneous access from multiple machines may cause errors.
98
Alexander Afanasyev57e00362016-06-23 13:22:54 -070099 ..note::
Niv Sardi8ac87542016-12-13 15:38:06 -0300100 This value can be overridden using the ``NDN_CLIENT_TPM`` environment variable.