diff --git a/.gitignore b/.gitignore
index 4629c34..4b87a69 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,8 @@
 .waf-1*
 .waf3-*
 .lock*
-**/*.pyc
+*.pyc
+*.pyo
 build/
 VERSION
 unit-tests.conf
diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh
index 5b13951..a9c3446 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -13,7 +13,7 @@
 # Cleanup
 sudo ./waf -j1 --color=yes distclean
 
-if [[ "$JOB_NAME" != *"limited-build" ]]; then
+if [[ $JOB_NAME != *"code-coverage" && $JOB_NAME != *"limited-build" ]]; then
   # Configure/build in optimized mode with tests
   ./waf -j1 --color=yes configure --with-tests
   ./waf -j1 --color=yes build
@@ -30,7 +30,7 @@
 fi
 
 # Configure/build in debug mode with tests and without precompiled headers
-if [[ "$JOB_NAME" == *"code-coverage" ]]; then
+if [[ $JOB_NAME == *"code-coverage" ]]; then
     COVERAGE="--with-coverage"
 elif ! has OSX-10.9 $NODE_LABELS && ! has OSX-10.11 $NODE_LABELS; then
     ASAN="--with-sanitizer=address"
diff --git a/.jenkins.d/README.md b/.jenkins.d/README.md
index 386e2db..085e383 100644
--- a/.jenkins.d/README.md
+++ b/.jenkins.d/README.md
@@ -9,17 +9,17 @@
 
   The list should include at least `[OS_TYPE]`, `[DISTRO_TYPE]`, and `[DISTRO_VERSION]`.
 
-  Possible values for Linux OS:
+  Possible values for Linux:
 
   * `[OS_TYPE]`: `Linux`
   * `[DISTRO_TYPE]`: `Ubuntu`
   * `[DISTRO_VERSION]`: `Ubuntu-14.04`, `Ubuntu-16.04`
 
-  Possible values of OSX OS:
+  Possible values for OS X / macOS:
 
   * `[OS_TYPE]`: `OSX`
   * `[DISTRO_TYPE]`: `OSX` (can be absent)
-  * `[DISTRO_VERSION]`: `OSX-10.11`, `OSX-10.10`, `OSX-10.9`, `OSX-10.8`
+  * `[DISTRO_VERSION]`: `OSX-10.10`, `OSX-10.11`, `OSX-10.12`
 
 - `JOB_NAME`: optional variable to define type of the job.  Depending on the defined job type,
   the build scripts can perform different tasks.
@@ -27,8 +27,8 @@
   Possible values:
 
   * empty: default build process
-  * `code-coverage` (Linux OS is assumed): build process with code coverage analysis
-  * `limited-build`: only a single build with tests
+  * `code-coverage` (Linux OS is assumed): debug build with tests and code coverage analysis
+  * `limited-build`: only a single debug build with tests
 
 - `CACHE_DIR`: the variable defines a path to folder containing cached files from previous builds,
   e.g., a compiled version of ndn-cxx library.  If not set, `/tmp` is used.
diff --git a/README-dev.md b/README-dev.md
index dd7ba54..bb16427 100644
--- a/README-dev.md
+++ b/README-dev.md
@@ -30,12 +30,12 @@
      */
 
 If you are affiliated to an NSF-supported NDN project institution, please use the [NDN Team License
-Boilerplate](http://redmine.named-data.net/projects/nfd/wiki/NDN_Team_License_Boilerplate_(NFD)).
+Boilerplate](https://redmine.named-data.net/projects/nfd/wiki/NDN_Team_License_Boilerplate_(NFD)).
 
 Recommendations
 ---------------
 
-NFD code is subject to NFD [code style](http://redmine.named-data.net/projects/nfd/wiki/CodeStyle).
+NFD code is subject to NFD [code style](https://redmine.named-data.net/projects/nfd/wiki/CodeStyle).
 
 
 Running unit-tests
diff --git a/README.md b/README.md
index 6b31067..f088f2f 100644
--- a/README.md
+++ b/README.md
@@ -4,14 +4,14 @@
 [![Build Status](https://travis-ci.org/named-data/NFD.svg?branch=master)](https://travis-ci.org/named-data/NFD)
 
 For complete documentation, including step-by-step installation instructions and
-tutorials, please visit the [NFD homepage](http://named-data.net/doc/NFD/).
+tutorials, please visit the [NFD homepage](https://named-data.net/doc/NFD/).
 
 ## Overview
 
 NFD is a network forwarder that implements and evolves together with the Named Data
-Networking (NDN) [protocol](http://named-data.net/doc/ndn-tlv/).  After the initial
+Networking (NDN) [protocol](https://named-data.net/doc/ndn-tlv/).  After the initial
 release, NFD will become a core component of the
-[NDN Platform](http://named-data.net/codebase/platform/) and will follow the same release
+[NDN Platform](https://named-data.net/codebase/platform/) and will follow the same release
 cycle.
 
 NFD is an open and free software package licensed under GPL 3.0 license and is the
@@ -21,14 +21,14 @@
 [`COPYING.md`](https://github.com/named-data/NFD/blob/master/COPYING.md).
 
 NFD is developed by a community effort.  Although the first release was mostly done by the
-members of [NSF-sponsored NDN project team](http://named-data.net/project/participants/),
+members of [NSF-sponsored NDN project team](https://named-data.net/project/participants/),
 it already contains significant contributions from people outside the project team (for
 more details, refer to
 [`AUTHORS.md`](https://github.com/named-data/NFD/blob/master/AUTHORS.md)).  We strongly
 encourage participation from all interested parties, since broader community support is
 key for NDN to succeed as a new Internet architecture.  Bug reports and feedback are
 highly appreciated and can be made through
-[Redmine site](http://redmine.named-data.net/projects/nfd) and the
+[Redmine site](https://redmine.named-data.net/projects/nfd) and the
 [ndn-interest mailing list](http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest).
 
 The main design goal of NFD is to support diverse experimentation of NDN technology.  The
diff --git a/docs/FAQ.rst b/docs/FAQ.rst
index 0709ef8..77a5498 100644
--- a/docs/FAQ.rst
+++ b/docs/FAQ.rst
@@ -191,7 +191,7 @@
 How to start using NDN MacPorts repository on OSX?
 --------------------------------------------------
 
-Please see :ref:`Install NFD Using the NDN MacPorts Repository on OS X`.
+Please see :ref:`Install NFD Using the NDN MacPorts Repository on OS X and macOS`.
 
 .. _How to start using NDN PPA repository on Ubuntu Linux:
 
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index d67a190..ecb8b4a 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -7,14 +7,14 @@
 We provide NFD binaries for the supported platforms, which are the preferred installation
 method. In addition to simplifying installation, the binary release also includes
 automatic initial configuration and platform-specific tools to automatically start NFD and
-related daemons.  In particular, on OS X NFD is controlled using `launchd
+related daemons.  In particular, on OS X and macOS NFD is controlled using `launchd
 <https://github.com/named-data/NFD/tree/master/contrib/osx-launchd>`__ and on Ubuntu using
 `upstart <https://github.com/named-data/NFD/tree/master/contrib/upstart>`__ mechanisms.
 In both cases, `nfd-start` and `nfd-stop` scripts are convenience wrappers for launchd and
 upstart.
 
-On OS X, NFD can be installed with MacPorts.  Refer to :ref:`Install NFD Using the NDN
-MacPorts Repository on OS X` for more details.
+On OS X and macOS, NFD can be installed with MacPorts.  Refer to :ref:`Install NFD Using the NDN
+MacPorts Repository on OS X and macOS` for more details.
 
 On Ubuntu 14.04 and 16.04, NFD can be installed from NDN PPA repository.  Refer to
 :ref:`Install NFD Using the NDN PPA Repository on Ubuntu Linux`.
@@ -24,13 +24,13 @@
 packaging the current NFD release for other platforms.
 
 
-.. _Install NFD Using the NDN MacPorts Repository on OS X:
+.. _Install NFD Using the NDN MacPorts Repository on OS X and macOS:
 
-Install NFD Using the NDN MacPorts Repository on OS X
------------------------------------------------------
+Install NFD Using the NDN MacPorts Repository on OS X and macOS
+---------------------------------------------------------------
 
-OS X users have the opportunity to seamlessly install and run NFD as well as other related
-applications via `MacPorts <https://www.macports.org/>`_.  If you are not using MacPorts
+OS X and macOS users have the opportunity to seamlessly install and run NFD as well as other
+related applications via `MacPorts <https://www.macports.org/>`_.  If you are not using MacPorts
 yet, go to the `MacPorts website <https://www.macports.org/install.php>`_ and install the
 MacPorts package.
 
@@ -133,12 +133,12 @@
 Prerequisites
 ~~~~~~~~~~~~~
 
--  Install the `ndn-cxx library <http://named-data.net/doc/ndn-cxx/current/INSTALL.html>`_
+-  Install the `ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/INSTALL.html>`_
    and its requirements
 
 -  ``pkg-config``
 
-   On OS X with MacPorts:
+   On OS X / macOS with MacPorts:
 
    ::
 
@@ -152,7 +152,7 @@
 
 -  ``libpcap``
 
-   Comes with the base system on OS X 10.8, 10.9, 10.10, and 10.11.
+   Comes with the base system on OS X / macOS.
 
    On Ubuntu:
 
@@ -166,7 +166,7 @@
 -  ``graphviz``
 -  ``python-sphinx``
 
-   On OS X with MacPorts:
+   On OS X / macOS with MacPorts:
 
    ::
 
@@ -184,7 +184,7 @@
 Raspberry Pi, OpenWRT, FreeBSD 10.0, and several other platforms.  We are soliciting help
 with documenting common problems / pitfalls in installing/using NFD on different platforms
 on `NFD Wiki
-<http://redmine.named-data.net/projects/nfd/wiki/Wiki#Installation-experiences-for-selected-platforms>`__.
+<https://redmine.named-data.net/projects/nfd/wiki/Wiki#Installation-experiences-for-selected-platforms>`__.
 
 
 Build
@@ -237,13 +237,13 @@
 Customize Compiler
 ~~~~~~~~~~~~~~~~~~
 
-To customize compiler, set ``CXX`` environment variable to point to compiler binary and, in
-some case, specify type of the compiler using ``--check-cxx-compiler``.  For example, when
-using clang compiler on Linux system, use the following:
+To choose a custom C++ compiler for building NFD, set the ``CXX`` environment variable
+to point to the compiler binary. For example, when using the clang compiler on a Linux
+system, use the following:
 
 ::
 
-    CXX=clang++ ./waf configure --check-cxx-compiler=clang++
+    CXX=clang++ ./waf configure
 
 Building documentation
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -360,7 +360,7 @@
 
 Sample applications:
 
-- `Simple examples in ndn-cxx library <http://named-data.net/doc/ndn-cxx/current/examples.html>`_
+- `Simple examples in ndn-cxx library <https://named-data.net/doc/ndn-cxx/current/examples.html>`_
 
    If you have installed ndn-cxx from source, you already have compiled these:
 
@@ -372,7 +372,7 @@
    +  tools/ndnputchunks3
 
 - `Introductory examples of NDN-CCL
-  <http://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Step-By-Step_-_Common_Client_Libraries>`_
+  <https://redmine.named-data.net/projects/application-development-documentation-guides/wiki/Step-By-Step_-_Common_Client_Libraries>`_
 
 Real applications and libraries:
 
diff --git a/docs/conf.py b/docs/conf.py
index 2f81985..0dc99d2 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -270,4 +270,4 @@
     googleanalytics_id = os.environ['GOOGLE_ANALYTICS']
     googleanalytics_enabled = True
 
-redmine_project_url = "http://redmine.named-data.net/"
+redmine_project_url = "https://redmine.named-data.net/"
diff --git a/docs/index.rst b/docs/index.rst
index e75dec9..9bc19ef 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -2,9 +2,9 @@
 =============================================
 
 NFD is a network forwarder that implements and evolves together with the Named Data
-Networking (NDN) `protocol <http://named-data.net/doc/ndn-tlv/>`__. After the initial
+Networking (NDN) `protocol <https://named-data.net/doc/ndn-tlv/>`__. After the initial
 release, NFD will become a core component of the `NDN Platform
-<http://named-data.net/codebase/platform/>`__ and will follow the same release cycle.
+<https://named-data.net/codebase/platform/>`__ and will follow the same release cycle.
 
 NFD Documentation
 -----------------
@@ -41,15 +41,15 @@
 
 **Additional documentation**
 
-* `NFD Developer's Guide <http://named-data.net/techreport/ndn-0021-3-nfd-developer-guide.pdf>`_
+* `NFD Developer's Guide <https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf>`_
 
   A comprehensive guide to the design and implementation of NFD. The developer's guide also contains
   suggestions and hints for anyone wanting to modify or extend NFD.
 
-* `NFD Wiki <http://redmine.named-data.net/projects/nfd/wiki>`_
+* `NFD Wiki <https://redmine.named-data.net/projects/nfd/wiki>`_
 
-  + `NFD Management protocol <http://redmine.named-data.net/projects/nfd/wiki/Management>`_
-  + `NFD Configuration file format <http://redmine.named-data.net/projects/nfd/wiki/ConfigFileFormat>`_
+  + `NFD Management protocol <https://redmine.named-data.net/projects/nfd/wiki/Management>`_
+  + `NFD Configuration file format <https://redmine.named-data.net/projects/nfd/wiki/ConfigFileFormat>`_
 
   The NFD Wiki contains detailed protocol specifications and
   information for building on unsupported platforms.
diff --git a/docs/manpages/ndn-autoconfig.rst b/docs/manpages/ndn-autoconfig.rst
index 74db30d..4ea69d4 100644
--- a/docs/manpages/ndn-autoconfig.rst
+++ b/docs/manpages/ndn-autoconfig.rst
@@ -46,7 +46,7 @@
 
 When an end host starts up, or detects a change in its network environment, it MAY use
 this procedure to discover a local or home NDN router, in order to gain connectivity to
-`the NDN research testbed <http://named-data.net/ndn-testbed/>`_.
+`the NDN research testbed <https://named-data.net/ndn-testbed/>`_.
 
 Overview
 ^^^^^^^^
@@ -124,8 +124,8 @@
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
 This stage assumes that user has configured default certificate using
-`<http://ndncert.named-data.net/>`_ as described in `Certification Architecture
-<http://redmine.named-data.net/attachments/download/23/CertificationArchitecture.pptx>`_.
+`<https://ndncert.named-data.net/>`_ as described in `Certification Architecture
+<https://redmine.named-data.net/attachments/download/23/CertificationArchitecture.pptx>`_.
 
 Request
 +++++++
diff --git a/docs/named_data_theme/layout.html b/docs/named_data_theme/layout.html
index 16ae50f..937f8e2 100644
--- a/docs/named_data_theme/layout.html
+++ b/docs/named_data_theme/layout.html
@@ -12,7 +12,7 @@
         <div class="row">
              <div class="three columns">
                   <div id="logo">
-                        <a href="http://named-data.net" title="A Future Internet Architecture"><img src="http://named-data.net/wp-content/uploads/cropped-20130722_Logo2.png" alt="" /></a>
+                        <a href="https://named-data.net" title="A Future Internet Architecture"><img src="https://named-data.net/wp-content/uploads/cropped-20130722_Logo2.png" alt="" /></a>
                   </div><!--logo end-->
              </div>
 
@@ -40,7 +40,7 @@
 
           <h3>{{ _('Additional documenation') }}</h3>
           <ul>
-            <li class="toctree-l1"><a class="reference external" href="http://redmine.named-data.net/projects/nfd/wiki">NFD Wiki</a></li>
+            <li class="toctree-l1"><a class="reference external" href="https://redmine.named-data.net/projects/nfd/wiki">NFD Wiki</a></li>
             <li class="toctree-l1"><a class="reference internal" href="doxygen/annotated.html">API documentation (doxygen)</a></li>
           </ul>
           {%- endblock %}
diff --git a/docs/named_data_theme/named_data_header.html b/docs/named_data_theme/named_data_header.html
index 97b2932..c058896 100644
--- a/docs/named_data_theme/named_data_header.html
+++ b/docs/named_data_theme/named_data_header.html
@@ -26,13 +26,13 @@
     <div class="row">
          <div class="three columns">
               <div id="logo">
-                    <a href="http://named-data.net" title="A Future Internet Architecture"><img src="http://named-data.net/wp-content/uploads/cropped-20130722_Logo2.png" alt="" /></a>
+                    <a href="https://named-data.net" title="A Future Internet Architecture"><img src="https://named-data.net/wp-content/uploads/cropped-20130722_Logo2.png" alt="" /></a>
               </div><!--logo end-->
          </div>
 
          <!--top menu-->
          <div class="nine columns" id="menu_container" >
-           <h1><a href="http://named-data.net/doc/NFD/$projectnumber/">$projectname $projectnumber documentation</a></h1>
+           <h1><a href="https://named-data.net/doc/NFD/$projectnumber/">$projectname $projectnumber documentation</a></h1>
          </div>
     </div>
 </div><!--header container end-->
diff --git a/docs/overview.rst b/docs/overview.rst
index 133a6db..16c6514 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -3,19 +3,19 @@
 
 NDN Forwarding Daemon (NFD) is a network forwarder that implements and evolves together
 with the Named Data Networking (NDN) `protocol
-<http://named-data.net/doc/ndn-tlv/>`__. After the initial release, NFD will become a core
-component of the `NDN Platform <http://named-data.net/codebase/platform/>`__ and will
+<https://named-data.net/doc/ndn-tlv/>`__. After the initial release, NFD will become a core
+component of the `NDN Platform <https://named-data.net/codebase/platform/>`__ and will
 follow the same release cycle.
 
 NFD is developed by a community effort. Although the first release was mostly done by the
 members of `NSF-sponsored NDN project team
-<http://named-data.net/project/participants/>`__, it already contains significant
+<https://named-data.net/project/participants/>`__, it already contains significant
 contributions from people outside the project team (for more details, refer to `AUTHORS.md
 <https://github.com/named-data/NFD/blob/master/AUTHORS.md>`__).  We strongly encourage
 participation from all interested parties, since broader community support is key for NDN
 to succeed as a new Internet architecture. Bug reports and feedback are highly
 appreciated and can be made through `Redmine site
-<http://redmine.named-data.net/projects/nfd>`__ and the `ndn-interest mailing list
+<https://redmine.named-data.net/projects/nfd>`__ and the `ndn-interest mailing list
 <http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest>`__.
 
 The main design goal of NFD is to support diverse experimentation of NDN technology. The
@@ -25,7 +25,7 @@
 that developers can conduct by trying out different data structures and different
 algorithms; over time, better implementations may emerge within the same design framework.
 To facilitate such experimentation with the forwarder, the NFD team has also written a
-`developer's guide <http://named-data.net/wp-content/uploads/2014/07/NFD-developer-guide.pdf>`_,
+`developer's guide <https://named-data.net/wp-content/uploads/2016/10/ndn-0021-7-nfd-developer-guide.pdf>`_,
 which details the current implementation and provides tips for extending all aspects of
 NFD.
 
@@ -70,7 +70,7 @@
 
 - Management
     Implements the `NFD Management Protocol
-    <http://redmine.named-data.net/projects/nfd/wiki/Management>`_, which allows
+    <https://redmine.named-data.net/projects/nfd/wiki/Management>`_, which allows
     applications to configure NFD and set/query NFD's internal states.  Protocol interaction
     is done via NDN's Interest/Data exchange between applications and NFD.
 
diff --git a/docs/releases.rst b/docs/releases.rst
index 318a0d8..557893e 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -17,58 +17,58 @@
    release-notes/release-notes-0.1.0
 
 * **NFD version 0.5.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.5.0>`, `Documentation <http://named-data.net/doc/NFD/0.5.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.5.0>`, `Documentation <https://named-data.net/doc/NFD/0.5.0/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.5.0>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.5.0.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.5.0.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.5.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.5.0.tar.bz2.sha256>`__)
 
 * **NFD version 0.4.1**
-  (:doc:`Release Notes <release-notes/release-notes-0.4.1>`, `Documentation <http://named-data.net/doc/NFD/0.4.1/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.4.1>`, `Documentation <https://named-data.net/doc/NFD/0.4.1/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.4.1>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.4.1.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.4.1.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.4.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.4.1.tar.bz2.sha256>`__)
 
 * **NFD version 0.4.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.4.0>`, `Documentation <http://named-data.net/doc/NFD/0.4.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.4.0>`, `Documentation <https://named-data.net/doc/NFD/0.4.0/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.4.0>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.4.0.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.4.0.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.4.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.4.0.tar.bz2.sha256>`__)
 
 * **NFD version 0.3.4**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.4>`, `Documentation <http://named-data.net/doc/NFD/0.3.4/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.4>`, `Documentation <https://named-data.net/doc/NFD/0.3.4/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.3.4>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.3.4.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.3.4.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.3.4.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.3.4.tar.bz2.sha256>`__)
 
 * **NFD version 0.3.3**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.3>`, `Documentation <http://named-data.net/doc/NFD/0.3.3/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.3>`, `Documentation <https://named-data.net/doc/NFD/0.3.3/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.3.3>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.3.3.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.3.3.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.3.3.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.3.3.tar.bz2.sha256>`__)
 
 * **NFD version 0.3.2**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.2>`, `Documentation <http://named-data.net/doc/NFD/0.3.2/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.2>`, `Documentation <https://named-data.net/doc/NFD/0.3.2/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.3.2>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.3.2.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.3.2.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.3.2.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.3.2.tar.bz2.sha256>`__)
 
 * **NFD version 0.3.1**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.1>`, `Documentation <http://named-data.net/doc/NFD/0.3.1/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.1>`, `Documentation <https://named-data.net/doc/NFD/0.3.1/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.3.1>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.3.1.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.3.1.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.3.1.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.3.1.tar.bz2.sha256>`__)
 
 * **NFD version 0.3.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.3.0>`, `Documentation <http://named-data.net/doc/NFD/0.3.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.3.0>`, `Documentation <https://named-data.net/doc/NFD/0.3.0/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.3.0>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.3.0.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.3.0.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.3.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.3.0.tar.bz2.sha256>`__)
 
 * **NFD version 0.2.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.2.0>`, `Documentation <http://named-data.net/doc/NFD/0.2.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.2.0>`, `Documentation <https://named-data.net/doc/NFD/0.2.0/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.2.0>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.2.0.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.2.0.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.2.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.2.0.tar.bz2.sha256>`__)
 
   - NFD version 0.2.0-rc1
     `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.2.0-rc1>`__
@@ -77,10 +77,10 @@
     `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.2.0-rc2>`__
 
 * **NFD version 0.1.0**
-  (:doc:`Release Notes <release-notes/release-notes-0.1.0>`, `Documentation <http://named-data.net/doc/NFD/0.1.0/>`__)
+  (:doc:`Release Notes <release-notes/release-notes-0.1.0>`, `Documentation <https://named-data.net/doc/NFD/0.1.0/>`__)
 
   `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.1.0>`__,
-  `src (tarball) <http://named-data.net/downloads/nfd-0.1.0.tar.bz2>`__ (`checksum <http://named-data.net/downloads/nfd-0.1.0.tar.bz2.sha256>`__)
+  `src (tarball) <https://named-data.net/downloads/nfd-0.1.0.tar.bz2>`__ (`checksum <https://named-data.net/downloads/nfd-0.1.0.tar.bz2.sha256>`__)
 
   - NFD version 0.1.0-rc1
     `src (git) <https://github.com/named-data/NFD/releases/tag/NFD-0.1.0-rc1>`__
diff --git a/wscript b/wscript
index 866c437..86703a7 100644
--- a/wscript
+++ b/wscript
@@ -26,8 +26,8 @@
 
 VERSION = "0.5.0"
 APPNAME = "nfd"
-BUGREPORT = "http://redmine.named-data.net/projects/nfd"
-URL = "http://named-data.net/doc/NFD/"
+BUGREPORT = "https://redmine.named-data.net/projects/nfd"
+URL = "https://named-data.net/doc/NFD/"
 GIT_TAG_PREFIX = "NFD-"
 
 from waflib import Logs, Utils, Context
@@ -123,11 +123,11 @@
     if conf.env.BOOST_VERSION_NUMBER < 105400:
         Logs.error("Minimum required boost version is 1.54.0")
         Logs.error("Please upgrade your distribution or install custom boost libraries" +
-                   " (http://redmine.named-data.net/projects/nfd/wiki/Boost_FAQ)")
+                   " (https://redmine.named-data.net/projects/nfd/wiki/Boost_FAQ)")
         return
 
     if conf.env['CXX_NAME'] == 'clang' and conf.env.BOOST_VERSION_NUMBER < 105800:
-        conf.define('BOOST_ASIO_HAS_STD_ARRAY', 1) # Workaround for http://redmine.named-data.net/issues/3360#note-14
+        conf.define('BOOST_ASIO_HAS_STD_ARRAY', 1) # Workaround for https://redmine.named-data.net/issues/3360#note-14
         conf.define('BOOST_ASIO_HAS_STD_CHRONO', 1) # Solution documented at https://redmine.named-data.net/issues/3588#note-10
 
     conf.load('unix-socket')
@@ -141,7 +141,7 @@
                                         'Specify --without-libpcap to disable Ethernet face support.')
         else:
             Logs.warn('Warning: Ethernet face support is not supported on this platform with Boost libraries version 1.56. '
-                      'See http://redmine.named-data.net/issues/1877 for more details')
+                      'See https://redmine.named-data.net/issues/1877 for more details')
     if conf.env['HAVE_LIBPCAP']:
         conf.check_cxx(function_name='pcap_set_immediate_mode', header_name='pcap/pcap.h',
                        cxxflags='-Wno-error', use='LIBPCAP', mandatory=False)
