build: bump ndn-cxx, ChronoSync, PSync dependencies

Also fix a few outdated URLs in docs

Change-Id: I4269ca53f55433568e8fd93eec497697c01b3c6d
diff --git a/AUTHORS.md b/AUTHORS.md
index b9bdca0..f3b71d3 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -2,7 +2,7 @@
 
 The following lists maintainers, primary developers, and all much-appreciated contributors to NLSR in alphabetical order.
 The specific contributions of individual authors can be obtained from the git history of the [official NLSR repository](https://github.com/named-data/NLSR).
-If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>.
+If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/main/CONTRIBUTING.md>.
 
 * Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev>
 * Adam Alyyan <https://github.com/a64adam>
diff --git a/README-dev.md b/README-dev.md
index 27aa479..060c556 100644
--- a/README-dev.md
+++ b/README-dev.md
@@ -1,7 +1,7 @@
 # Notes for NLSR developers
 
 If you are new to the NDN software community, please read the
-[Contributor's Guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md).
+[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md).
 
 ## Licensing requirements
 
diff --git a/README.md b/README.md
index 6ce446b..ccdf706 100644
--- a/README.md
+++ b/README.md
@@ -5,14 +5,13 @@
 ![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
 ![Latest version](https://img.shields.io/github/v/tag/named-data/NLSR?label=Latest%20version)
 
-For complete documentation and more extensive information,
-please visit the [NLSR homepage](https://named-data.net/doc/NLSR/current/).
+> For more extensive documentation, please visit the [NLSR homepage](https://docs.named-data.net/NLSR/current/).
 
 ## Overview
 
-NLSR is a routing protocol in NDN that populates NDN's Routing Information Base.
-NLSR will continue to evolve alongside the Named Data Networking
-[protocol](https://named-data.net/doc/NDN-packet-spec/current/).
+NLSR is a routing protocol for Named Data Networking (NDN) that populates the Routing Information
+Base (RIB) of an NDN router, such as [NFD](https://github.com/named-data/NFD). NLSR continues to
+evolve alongside the core [NDN protocol](https://docs.named-data.net/NDN-packet-spec/current/).
 
 The main design goal of NLSR is to provide a routing protocol to populate NDN's RIB.
 NLSR calculates the routing table using link-state or hyperbolic routing and produces
@@ -23,20 +22,22 @@
 NLSR was mainly developed by members of the NSF-sponsored [NDN project team](
 https://named-data.net/project/participants/). See [`AUTHORS.md`](AUTHORS.md) for details.
 
-Bug reports and feedback are highly appreciated and can be submitted through the
-[NLSR issue tracker](https://redmine.named-data.net/projects/nlsr/issues).
-
 ## Source releases
 
 The source code and installation instructions are available at the following locations:
 
-- [Installation](https://named-data.net/doc/NLSR/current/INSTALL.html)
-- [Getting started with NLSR](https://named-data.net/doc/NLSR/current/GETTING-STARTED.html)
+- [Installation](https://docs.named-data.net/NLSR/current/INSTALL.html)
+- [Getting started with NLSR](https://docs.named-data.net/NLSR/current/GETTING-STARTED.html)
 - [NLSR GitHub repository](https://github.com/named-data/NLSR)
 
+## Reporting bugs
+
+Please submit any bug reports or feature requests to the
+[NLSR issue tracker](https://redmine.named-data.net/projects/nlsr/issues).
+
 ## Additional resources
 
-- [Contributor's Guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md)
+- [Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md)
 - [NLSR Wiki](https://redmine.named-data.net/projects/nlsr/wiki)
 - [NLSR Issue Tracker](https://redmine.named-data.net/projects/nlsr/issues)
 - [NLSR Mailing List Sign Up](https://listserv.memphis.edu/scripts/wa.exe?GETPW1)
diff --git a/docs/GETTING-STARTED.rst b/docs/GETTING-STARTED.rst
index aa83b24..7909828 100644
--- a/docs/GETTING-STARTED.rst
+++ b/docs/GETTING-STARTED.rst
@@ -7,14 +7,13 @@
 Getting Source
 --------------
 
--  `GitHub NLSR repository <https://github.com/named-data/NLSR>`_
+- `GitHub NLSR repository <https://github.com/named-data/NLSR>`__
 
 Installation
 ------------
 
 :doc:`INSTALL`
 
-
 Important Notes About Configuration
 -----------------------------------
 
@@ -23,10 +22,9 @@
 the Faces in NFD. NLSR will obtain this information from NFD, and
 configure its neighbors using this information.
 
-For people who were relying on NLSR to automagically configure their
-networks, this must now be done with ``nfdc``. Its documentation can
-be found `here
-<https://named-data.net/doc/NFD/current/manpages/nfdc.html>`_
+For users who were relying on NLSR to automagically configure their networks,
+this must now be done with ``nfdc``. See ``man nfdc`` for its documentation
+(`online version <https://docs.named-data.net/NFD/current/manpages/nfdc.html>`__).
 
 Configuration
 -------------
@@ -70,19 +68,20 @@
       ERROR    error messages
       FATAL    fatal (will be logged unconditionally)
 
-To obtain logs for NLSR, set the NDN_LOG environment variable with the correct prefix and
-log-level settings. For example, running the following command will display all log
+To obtain logs for NLSR, set the ``NDN_LOG`` environment variable with the correct prefix
+and log-level settings. For example, running the following command will display all log
 messages in NLSR with a DEBUG level or below.
 
-::
+.. code-block:: sh
 
     NDN_LOG='nlsr.*=DEBUG' nlsr
 
-If the user is presented with an error message `User does not have read and write
-permission on the directory` it can be circumvented by running the application with sudo:
+If the user is presented with an error message "User does not have read and write
+permission on the directory" it can be circumvented by running the application with sudo:
 
-::
+.. code-block:: sh
 
     sudo env NDN_LOG='nlsr.*=DEBUG' nlsr
 
-Use `man ndn-log` for more detailed instructions.
+See ``man ndn-log`` for more details (`online version
+<https://docs.named-data.net/ndn-cxx/current/manpages/ndn-log.html>`__).
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index 519841b..828f021 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -7,28 +7,30 @@
 Prerequisites
 -------------
 
-- `NFD <https://named-data.net/doc/NFD/>`_ and its dependencies
+- `NFD <https://github.com/named-data/NFD>`__ and its dependencies.
 
-  Refer to `Getting started with NFD <https://named-data.net/doc/NFD/current/INSTALL.html>`_
-  for detailed installation and running instruction.
+  Check out the `documentation <https://docs.named-data.net/NFD/current/INSTALL.html>`__
+  for detailed installation and running instructions.
 
-- PSync library
+- PSync library [optional but recommended, enabled by default]
 
   Download the PSync library and build it according to the instructions available at
   https://github.com/named-data/PSync#build
 
-- [Optional] ChronoSync library
+- ChronoSync library [optional]
 
   For testing purposes, NLSR can be optionally built with Chronosync support. Download
   the ChronoSync library and build it according to the instructions available at
   https://github.com/named-data/ChronoSync#build
 
-- [Optional] SVS library
+- SVS library [optional]
 
   NLSR can be used with State Vector Sync as the underlying Sync protocol. Download
   the ndn-svs library and build it according to the instructions available at
   https://github.com/named-data/ndn-svs#installation
 
+Note that at least one sync library must be enabled.
+
 Build
 -----
 
diff --git a/docs/ROUTER-CONFIG.rst b/docs/ROUTER-CONFIG.rst
index 89ac3f5..ec7cbe3 100644
--- a/docs/ROUTER-CONFIG.rst
+++ b/docs/ROUTER-CONFIG.rst
@@ -49,16 +49,15 @@
 
 If you see ``error while connecting to the forwarder (No such file or directory)``,
 ``nfd`` is not running. Follow the instructions in `Getting started with NFD
-<http://named-data.net/doc/NFD/current/INSTALL.html>`_ to run nfd.
+<https://docs.named-data.net/NFD/current/INSTALL.html>`_ to run nfd.
 
 Since v0.4.0, NLSR no longer creates Faces for the neighbors that are
 specified in ``nlsr.conf``. Instead, it relies on the pre-existence of
 the Faces in NFD. NLSR will obtain this information from NFD, and
 configure its neighbors using this information.
 
-To create faces it is now necessary to use the ``nfdc`` command. Its documentation can
-be found `here
-<https://named-data.net/doc/NFD/current/manpages/nfdc.html>`_
+To create faces it is now necessary to use the ``nfdc`` command. See ``man nfdc`` for
+its documentation (`online version <https://docs.named-data.net/NFD/current/manpages/nfdc.html>`__).
 
 Step 2. Determining FaceUri
 ---------------------------
diff --git a/docs/index.rst b/docs/index.rst
index fa1ee00..626006e 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -14,9 +14,9 @@
    release-notes
    releases
 
-**NLSR** is a routing protocol for NDN that populates NDN's Routing Information Base.
-NLSR will continue to evolve alongside the Named Data Networking `protocol
-<https://named-data.net/doc/NDN-packet-spec/current/>`__.
+**NLSR** is a routing protocol for Named Data Networking (NDN) that populates the Routing
+Information Base (RIB) of an NDN router, such as `NFD`_. NLSR continues to evolve alongside
+the core `NDN protocol`_.
 
 The main design goal of NLSR is to provide a routing protocol to populate NDN's FIB. NLSR
 calculates the routing table using link-state or hyperbolic routing and produces multiple
@@ -78,6 +78,8 @@
 NLSR is free software distributed under the GNU General Public License version 3.
 See `COPYING.md <https://github.com/named-data/NLSR/blob/master/COPYING.md>`__ for details.
 
+.. _NDN protocol: https://docs.named-data.net/NDN-packet-spec/current/
+.. _NFD: https://github.com/named-data/NFD
 .. _NLSR Wiki: https://redmine.named-data.net/projects/nlsr/wiki
 .. _NLSR Paper: https://named-data.net/wp-content/uploads/2016/01/ndn-0037-1-nlsr.pdf
 .. _NLSR Mailing List: https://listserv.memphis.edu/scripts/wa.exe?SUBED1=NLSR-HELP-L&A=1
diff --git a/docs/release-notes/release-notes-0.1.0.rst b/docs/release-notes/release-notes-0.1.0.rst
index b94e3ae..eba10b4 100644
--- a/docs/release-notes/release-notes-0.1.0.rst
+++ b/docs/release-notes/release-notes-0.1.0.rst
@@ -4,19 +4,20 @@
 Release date: August 25, 2014
 
 The main design goal of NLSR is to provide a routing protocol to populate `NFD's
-<https://named-data.net/doc/NFD/>`_ RIB.  NLSR calculates the routing table using
+<https://github.com/named-data/NFD>`__ RIB.  NLSR calculates the routing table using
 link-state or hyperbolic routing and produces multiple faces for each reachable name
 prefix in a single authoritative domain.
 
-**Included features**:
+Included features
+^^^^^^^^^^^^^^^^^
 
 - Advertise availability of content through the configured router
 
-- Use `ChronoSync <https://github.com/named-data/ChronoSync>`_ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs
+- Use `ChronoSync <https://github.com/named-data/ChronoSync>`__ to synchronize routers' LSA sequence numbers and Interest/Data to retrieve LSAs
 
 - Produce a list of ranked forwarding options for each name prefix to facilitate NDN's adaptive forwarding strategies
 
-- Configure maximum number of faces per prefix in NFD’s RIB
+- Configure maximum number of faces per prefix in NFD's RIB
 
 - Set up NFD tunnels to neighbors automatically and maintain the tunnels to neighbors
 
@@ -27,4 +28,4 @@
 
 - Use a hierarchical trust model for routing within a single administrative domain
 
-- Keep NFD’s RIB updated on failure and recovery
+- Keep NFD's RIB updated on failure and recovery
diff --git a/wscript b/wscript
index 136349d..93e19db 100644
--- a/wscript
+++ b/wscript
@@ -1,6 +1,6 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 """
-Copyright (c) 2014-2022,  The University of Memphis,
+Copyright (c) 2014-2023,  The University of Memphis,
                           Regents of the University of California,
                           Arizona Board of Regents.
 
@@ -68,7 +68,7 @@
     conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG')
 
     pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig')
-    conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'],
+    conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.1', '--cflags', '--libs'],
                    uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)
 
     boost_libs = ['system', 'iostreams', 'filesystem', 'regex']
@@ -82,11 +82,11 @@
                    'For more information, see https://redmine.named-data.net/projects/nfd/wiki/Boost')
 
     if conf.options.with_chronosync:
-        conf.check_cfg(package='ChronoSync', args=['ChronoSync >= 0.5.4', '--cflags', '--libs'],
+        conf.check_cfg(package='ChronoSync', args=['ChronoSync >= 0.5.5', '--cflags', '--libs'],
                        uselib_store='CHRONOSYNC', pkg_config_path=pkg_config_path)
 
     if conf.options.with_psync:
-        conf.check_cfg(package='PSync', args=['PSync >= 0.3.0', '--cflags', '--libs'],
+        conf.check_cfg(package='PSync', args=['PSync >= 0.4.0', '--cflags', '--libs'],
                        uselib_store='PSYNC', pkg_config_path=pkg_config_path)
 
     if conf.options.with_svs: