ndn-cxx version 0.2.0

Release date: August 25, 2014

Changes since version 0.1.0:

New features:

Updates and bug fixes:

  • Base

  • Wire encoding

  • Management

    • Add link-layer byte counts in FaceStatus data structure (issue #1765)
  • Security

    • Allow user to explicitly specify the cert name prefix before ‘KEY’ component in ndnsec-certgen

    • SignatureSha256 has been renamed to :ndn-cxx:`DigestSha256` to conform with NDN-TLV specification.

    • Add checking of Timestamp and Nonce fields in signed Interest within :ndn-cxx:`ValidatorConfig`

    • Allow validator customization using hooks:

      Sub-classes of :ndn-cxx:`Validator` class can use the following hooks to fine-tune the validation process:

      • preCertificateValidation to process received certificate before validation.
      • onTimeout to process interest timeout
      • afterCheckPolicy to process validation requests.
    • Fix memory issues in SecPublicInfoSqlite3

  • Miscellaneous tools

    • Redefine method for random number generation: random::generateWord* and random::generateSecureWord* to generate cryptographically non-secure (fast) and secure (slow) random numbers.
  • Other minor fixes and corrections


  • SignatureSha256 class, use :ndn-cxx:`DigestSha256` instead.

  • All :ndn-cxx:`Face` constructors that accept shared_ptr<io_service>.

    Use versions that accept reference to io_service object.

  • Face::ioService method, use :ndn-cxx:`Face::getIoService` instead.

  • :ndn-cxx:`Interest` constructor that accepts name, individual selectors, and individual guiders as constructor parameters.

    Use Interest().setX(...).setY(...) or use the overload taking Selectors

  • name::Component::toEscapedString method, use :ndn-cxx:`name::Component::toUri` instead.

  • SecPublicInfo::addPublicKey method, use SecPublicInfo::addKey instead.

  • Tlv::ConentType constant (typo), use Tlv::ContentType instead.

  • CommandInterestGenerator and CommandInterestValidator utility classes. :ndn-cxx:`ValidatorConfig` should be used instead.


  • support of ndnd-tlv (only NFD management protocol is supported now)

  • SecPublicInfoMemory and SecTpmMemory classes that were no longer used

  • Removing concept of periodic event from :ndn-cxx:`Scheduler`.

    In applications, periodic events should be just re-scheduled within the callback for single-shot events.