Skip to content

Tags: jfyao90/ndn-cxx

Tags

ndn-cxx-0.4.0

Toggle ndn-cxx-0.4.0's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.4

  NOTE

  Version 0.4.0 introduces several breaking changes to API and wire
  format of management protocols

New features:

- (BREAKING CHANGE) LocalControlHeader for special signaling between
  application and NFD has been replaced with NDNLPv2 signaling
  (Issues 2879, 2930)
- NDNLPv2 Network NACK support in Face abstraction (Issue 2930)
- (BREAKING CHANGE) FacePersistency field added to API and wire format
  of ControlParameters abstraction (Issue 2991)
- (BREAKING CHANGE) NACK counters added to ForwarderStatus and
  FaceStatus datasets (Issue 3174)
- Backport C++14 std::make_unique (Issue 3093)
- Emulate std::to_string on platforms that do not provide it (Issue 2743)
- New API in Face class to remove all pending Interests (Issue 3300)
- Ability to choose signing parameters (a specific certificate, the
  default certificate for a key, or the default certificate for the
  default key) using a specially URI string (Issue 3281)
- Ability to create Face with custom IO service and default
  transport (Issue 2500)

Improvements and bug fixes:

- (BREAKING CHANGE) SegmentFetcher helper changed to use asynchronous
  data validation (Issue 2734)
- Support Interest Nack in nfd::Controller (Issue 3264)
- Fix bug causing failure of Face if there is a large delay between
  construction of Face and calling processEvents (Issues 2742, 2526)
- Cache Link object after the first call to getLink (Issue 3158)
- Minor documentation updates (Issues 3207, 3210, 3221)

Deprecated:

- Overloads of Face::registerPrefix and Face::setInterestFilter that
  do not accept SigningInfo parameter (Issue 2932)
- tlvdump tool (Issue 3196). Use ndn-dissect program from ndn-tools
  repository
- ndn::util::makeDummyClientFace, use ndn::util::DummyClientFace
  constructors directly (Issue 3146)
- ndn::util::DummyClientFace::sentDatas, use
  ndn::util::DummyClientFace.sentData instead (Issue 3146)

Removed:

- Deprecated EventEmitter class (Issue 2351)

Planned features for future releases:

- Introduce new API to simplify security transformations (Issue 3009)
- NDN trust schema as a description of application trust model, which
  can help automate data and interest packet signing and
  authentication (Issue 2829)
- Refactored KeyChain abstraction (Issue 2926)

ndn-cxx-0.4.0-beta2

Toggle ndn-cxx-0.4.0-beta2's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.4

  **NOTE**

  Version 0.4.0 introduces several breaking changes to API and wire
  format of management protocols

New features:

- (BREAKING CHANGE) LocalControlHeader for special signaling between
  application and NFD has been replaced with NDNLPv2 signaling
  (Issues 2879, 2930)
- NDNLPv2 Network NACK support in Face abstraction (Issue 2930)
- (BREAKING CHANGE) FacePersistency field added to API and wire format
  of ControlParameters abstraction (Issue 2991)
- (BREAKING CHANGE) NACK counters added to ForwarderStatus and
  FaceStatus datasets (Issue 3174)
- Backport C++14 std::make_unique (Issue 3093)
- Emulate std::to_string on platforms that do not provide it (Issue 2743)

Improvements and bug fixes:

- Fix bug causing failure of Face if there is a large delay between
  construction of Face and calling processEvents (Issues 2742, 2526)
- Cache Link object after the first call to getLink (Issue 3158)
- Minor documentation updates (Issues 3207, 3210, 3221)

Deprecated:

- Overloads of Face::registerPrefix and Face::setInterestFilter that
  do not accept SigningInfo parameter (Issue 2932)

Removed:

- Deprecated EventEmitter class (Issue 2351)
- tlvdump tool (Issue 3196). Use ndn-dissect program from ndn-tools
  repository

Planned features for future releases:

- Introduce new API to simplify security transformations (Issue 3009)
- NDN trust schema as a description of application trust model, which
  can help automate data and interest packet signing and
  authentication (Issue 2829)
- Refactored KeyChain abstraction (Issue 2926)

ndn-cxx-0.4.0-beta1

Toggle ndn-cxx-0.4.0-beta1's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.4

  **NOTE**

  Version 0.4.0 introduces several breaking changes to API and wire
  format of management protocols

New features:

- (BREAKING CHANGE) LocalControlHeader for special signaling between
  application and NFD has been replaced with NDNLPv2 signaling
  (Issues 2879, 2930)
- NDNLPv2 Network NACK support in Face abstraction (Issue 2930)
- (BREAKING CHANGE) FacePersistency field added to API and wire format
  of ControlParameters abstraction (Issue 2991)
- (BREAKING CHANGE) NACK counters added to ForwarderStatus and
  FaceStatus datasets (Issue 3174)
- Backport C++14 std::make_unique (Issue 3093)
- Emulate std::to_string on platforms that do not provide it (Issue 2743)

Improvements and bug fixes:

- Fix bug causing failure of Face if there is a large delay between
  construction of Face and calling processEvents (Issues 2742, 2526)
- Cache Link object after the first call to getLink (Issue 3158)
- Minor documentation updates (Issues 3207, 3210, 3221)

Deprecated:

- Overloads of Face::registerPrefix and Face::setInterestFilter that
  do not accept SigningInfo parameter (Issue 2932)

Removed:

- Deprecated EventEmitter class (Issue 2351)

Planned features for future releases:

- Introduce new API to simplify security transformations (Issue 3009)
- NDN trust schema as a description of application trust model, which
  can help automate data and interest packet signing and
  authentication (Issue 2829)
- Refactored KeyChain abstraction (Issue 2926)

ndn-cxx-0.4.0-rc1

Toggle ndn-cxx-0.4.0-rc1's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.4

  **NOTE**

  Version 0.4.0 introduces several breaking changes to API and wire
  format of management protocols

New features:

- (BREAKING CHANGE) LocalControlHeader for special signaling between
  application and NFD has been replaced with NDNLPv2 signaling
  (Issues 2879, 2930)
- NDNLPv2 Network NACK support in Face abstraction (Issue 2930)
- (BREAKING CHANGE) FacePersistency field added to API and wire format
  of ControlParameters abstraction (Issue 2991)
- (BREAKING CHANGE) NACK counters added to ForwarderStatus and
  FaceStatus datasets (Issue 3174)
- Backport C++14 std::make_unique (Issue 3093)
- Emulate std::to_string on platforms that do not provide it (Issue 2743)

Improvements and bug fixes:

- Fix bug causing failure of Face if there is a large delay between
  construction of Face and calling processEvents (Issues 2742, 2526)
- Cache Link object after the first call to getLink (Issue 3158)
- Minor documentation updates (Issues 3207, 3210, 3221)

Deprecated:

- Overloads of Face::registerPrefix and Face::setInterestFilter that
  do not accept SigningInfo parameter (Issue 2932)

Removed:

- Deprecated EventEmitter class (Issue 2351)

Planned features for future releases:

- Introduce new API to simplify security transformations (Issue 3009)
- NDN trust schema as a description of application trust model, which
  can help automate data and interest packet signing and
  authentication (Issue 2829)
- Refactored KeyChain abstraction (Issue 2926)

ndn-cxx-0.3.4

Toggle ndn-cxx-0.3.4's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.3

Release date: August 31, 2015

New features:

- By default, library is now compiled as a shared library (Issue 2867)
- Specification for the new NDN certificate format. The reference
  implementation is being developed and will be merged in a future
  release. (Issue 2861)
- Add new ValidityPeriod abstraction into SignatureInfo (Issue 2868)
- Add new optional AdditionalInfo abstraction for SignatureInfo (Issue
  3058)
- Implementation of basic NDNLP2 abstractions (Issues 2875, 2878,
  2963, 2879)
- Face::registerPrefix and Face::setInterestFilter are now unified
  with the use of SigningInfo abstraction (Issue 2932)
- New Dispatcher class to simplify server-side implementation of NFD
  management protocol (Issue 2107)

Improvements and bug fixes:

- Fix compilation error with Boost 1.59 (Issue 3128)
- Enhance exception throwing with Boost Exception library (Issue 2997)
- Improvements of string helpers (Issue 3006)
- Add API in Block class to add sub-elements (Issue 2998)
- Add constructor to create sub-elements using the underlying
  buffer (Issue 3100)
- Fix bug in Block::remove, so it removes all sub-elements of the
  specified type (Issue 2998)
- Add ability to create util::Digest object from std::istream& (Issue 3022)

Deprecated:

- The following methods of CommandOptions class in favor of
  getSigningInfo and setSigningInfo methods (Issue 2893):
  - getSigningParamsKind
  - getSigningIdentity
  - getSigningCertificate
  - setSigningDefault
  - setSigningIdentity
  - setSigningCertificate
  - setSigningCertificate
- Overloads of Face::registerPrefix and Face::setInterestFilter that
  do not accept SigningInfo parameter (Issue 2932)

Upcoming features (partially implemented in development branches):

- Introduce new API to simplify security transformations (Issue 3009)
- NDN trust schema as a description of application trust model, which
  can help automate data and interest packet signing and
  authentication (Issue 2829)
- Refactored KeyChain abstraction (Issue 2926)

ndn-cxx-0.3.3

Toggle ndn-cxx-0.3.3's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.2

Release date: July 1, 2015

New features:

- Allow compilation of ndn-cxx as a shared library (Issue 2243)

  In this release, by default, only a static library is compiled. The
  next release will change the default behavior to compile only a
  shared library.

- Introduce concept of PartialName (Issue 1962)

  Semantically, PartialName abstraction represents an arbitrary
  sequence of name components, while Name represents an absolute name.
  Currently, PartialName is typedef alias to Name, but it can be
  changed in the future releases.

- Introduce generalized signing API in KeyChain (Issues 2871, 1705)

  A new API in KeyChain introduces a general interface to sign
  interest and data packets and supply necessary signing information,
  such as signing identity name, signing key name, or signing
  certificate name. In addition, the supplied signing information can
  include additional information that signer wants to include in the
  SignatureInfo of the signed packet.

- Introduce helpers to create SigningInfo for the generalized signing
  API (Issue 2922)
- Sqlite3Statement utility helper that wraps an SQLite3 statements and
  provide automatic memory cleanup
- Introduce PibSqlite3 based on PibImpl (Issue 2807)
- Make public interface of Pib, Identity, and Key as read-only (Issue 2928)
- New encoding block helpers to simplify operations with std::string
  (Issue 2951):
  - prependStringBlock
  - makeStringBlock
  - readString

Improvements and bug fixes:

- Use C++11 lambda expression and smart pointers in Face
  implementation (Issue 2112)
- Fix compilation failure on OS X 10.10 with cryptopp from MacPorts
- Update client.conf manpage
- Change Name::compare to return negative, zero, or positive integer
  (instead of strictly -1, 0, 1) when the first name comes before the
  other in canonical ordering, is equal, or comes after (Issue 2445)
- IdentityCertificate sets default FreshnessPeriod to 1 hour (Issue 2872)
- Unify TPM creation (Issue 2722)
- Allow negative start index in Name::getSubName method (Issue 1962)
- Improved documentation of PibImpl interfaces (Issues 2896, 2898)
- Simplify CommandOptions with SigningInfo (Issue 2893)
- Refactor internal PIT to use scheduled events (Issues 1372, 2518)
- Improve structure and documentation of block helpers (Issue 2951)
- Declare all move constructors as noexcept to ensure move operations
  are used even when a restrictive move operation (move_if_noexcept)
  is used (e.g., in STL library's containers) (Issue 2966)

Deprecated:

- The following KeyChain::sign* methods, in favor of generalized
  KeyChain::sign(..., SigningInfo)
  - KeyChain::sign(Packet, Name)
  - KeyChain::sign(uint8_t*, size_t, Name)
  - KeyChain::signByIdentity(Packet, Name)
  - KeyChain::signByIdentity(uint8_t*, size_t, Name)
  - KeyChain::signWithSha256(Data)
  - KeyChain::signWithSha256(Interest)
- The following encoding block helper functions:
  - nonNegativeIntegerBlock (use makeNonNegativeIntegerBlock)
  - prependBooleanBlock (use prependEmptyBlock)
  - booleanBlock (use makeEmptyBlock)
  - dataBlock (use makeBinaryBlock)
  - nestedBlock (use makeNestedBlock)
- The following methods of CommandOptions class, use setSigningInfo()
  instead (Issue 2893):
  - CommandOptions::getSigningParamsKind
  - CommandOptions::getSigningIdentity
  - CommandOptions::getSigningCertificate
  - CommandOptions::setSigningDefault
  - CommandOptions::setSigningIdentity
  - CommandOptions::setSigningCertificate

Removed:

- Remove SCOPE from Interests and all references to it in the related
  code (Issue 2345)
- Direct FIB management in Face class (Issue 2533)

  Face::register and Face::setInterestFilter methods now only support
  NFD RIB management protocol.

  For special needs, FIB management can be implemented using
  nfd::Controller (start<FibAddNextHopCommand>, and
  start<FibRemoveNextHopCommand>)

Upcoming features (partially finished in development branches):

- NDNLPv2 (http://redmine.named-data.net/projects/nfd/wiki/NDNLPv2,
  Issues 2520, 2879, 2763, 2883, 2841, 2866)
- New NDN certificate format (Issues 2861, 2868)
- NDN trust schema as a description of application trust model, which
  can help automate data and interest packet signing and
  authentication (Issue 2829)
- Refactored KeyChain abstraction (Issue 2926)

ndn-cxx-0.3.2

Toggle ndn-cxx-0.3.2's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.1

Release date: May 12, 2015

New features:

- Add Link abstraction (Issue 2587)
- Add Link and SelectedDelegation fields to the Interest abstraction
  (Issue 2587)
- Initial implementation of several components for the upcoming PIB
  feature (Issue 2451):
  - User-facing PIB implementation and implementation-specific PIB
    interface
  - In-memory PIB implementation
  - Define new abstraction for identity, key, and certificate

Updates and bug fixes:

- Enable decoding Exclude containing ImplicitSha256DigestComponent
  (Issue 2629)
- Update waf build system to version 1.8.9 (Issues 2209, 2657, 2792)
- Avoid duplicating output in IndentedStream (Issue 2723)
- Fix skipping empty name component (...) during URI decoding (Issue 2725)
- Enable ability to exclude empty name component (Issue 2660)
- Fix bug with TLV-LENGTH processing in Block::fromStream (Issues 2728, 2729)
- Disable precompiled headers on OS X with clang < 6.1.0 (Issue 2804)

Deprecated:

- Block::fromBuffer overloads with output parameter (Issues 2553)

Removed:

- Delete deprecated Controller functions:
  - Controller::start overloads, except the overload taking
    CommandOptions
  - Controller::Sign typedef
  - Controller::getDefaultCommandTimeout
  - ControlCommand::getPrefix
  - ControlCommand::getRequestName(ControlParameters)
  - Controller::Controller(Face&)

ndn-cxx-0.3.1

Toggle ndn-cxx-0.3.1's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.3.0

Release date: March 3, 2015

New features:

- Management
  - Add isConnected() in signal::Connection and
    signal::ScopedConnection (Issue 2308)
  - Extend DummyClientFace to process LocalControlHeader (Issue 2510)
  - Add CachingPolicy to LocalControlHeader (Issue 2183)

Updates and bug fixes:

- Wire encoding
  - Refactoring of EncodingImpl class template (EncodingBuffer and
    EncodingEstimator) (Issue 2494, Issue 2490)
  - Change Block::fromBuffer return type (Issue 2553)
- Miscellaneous tools
  - Mark Digest<Hash>::operator== as unsuitable in a security
    sensitive context (Issue 2395)
  - Restrict destruction of Signal from handler (Issue 2313)
- Documentation
  - Correct function names in security library tutorial (Issue 2474)
  - Remind users to reinstall ports after OSX upgrade (Issue 2284)
- Tests
  - Fix global buffer overflow in ImplicitSha256Digest test case
    (Issue 2307)
  - Change naming conventions for unit test files and test suite
    names (Issue 2497)
- Build
  - Explicitly define _GLIBCXX_USE_NANOSLEEP, necessary for gcc <
    4.8 in some environments (Issue 2499)

Removed:

- Delete deprecated Block(std::istream&) constructor (Issue 2241)
- Delete deprecated ndn::ptr_lib, ndn::func_lib (Issue 2110)
- Delete deprecated MetaInfo::TYPE_* (Issue 2170)

ndn-cxx-0.3.0

Toggle ndn-cxx-0.3.0's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
Changes since version 0.2.0

Release date: February 2, 2015

New features:

-   Build
    -   The code now requires C++11. The minimum supported gcc version
        is 4.6, as earlier versions do not have proper support for C++11
        features.
-   Base
    -   Enable detailed version information when built from shallow
        clone or tarball (Issue 1915)
    -   Make default transport configurable (Issue 2189)
    -   Add ability to do partial Name comparison (Issue 2090)
-   Security
    -   Add support for KeyDigest key locator (Issue 1426)
    -   Add a method to get KeyDigest from a PublicKey instance (Issue 1964)
    -   Add support for KeyChain to sign Interest using SHA256 digest
        (Issue 2218)
    -   Add ndnsec-dsk-gen tool to generate a pair of Data-Signing-Key
        (DSK) for the specified identity (Issue 2246)
    -   Pair-up PIB and TPM in KeyChain: PIB remembers the last used TPM
        type/location, which is used during KeyChain construction
        (unless overriden) (Issue 2242)
-   Wire encoding
    -   Add support for application-defined meta information blocks
        (Issue 2021)
    -   Introduce new name::Component::is* methods to allow checking if
        the name component follows the specific naming convention
        without relying on the exception handling (Issue 2088)
    -   Add definition of producer-generated NACK (Issue 2111)
    -   Add std::hash<Name> specialization to support unordered_map
        container (Issue 2147)
    -   Add support for ImplicitSha256DigestComponent (Issue 1640)
    -   Allow tagging Interest and Data packets with arbitrary
        information (Issue 2336)
-   Management
    -   Support NFD face query operation (Issue 2085)
-   Miscellaneous tools
    -   Add a new helper to calculate digests over dynamic inputs (Issue 1934)
    -   Add DNS resolver helper (Issue 1918)
    -   Import and re-license Ethernet and FaceUri classes from NFD
        codebase, add FaceUri canonization support for udp, tcp, and
        ether schemas (Issue 1994)
    -   Add per-application in-memory storage with LRU, LFU, and FIFO
        replacement policies (Issue 1940)
    -   Add ability to specialize system and steady clocks (e.g., for
        unit tests and simulation purposes) (Issue 2158)
    -   Expose DummyClientFace as public API
    -   New IndentedStream helper class to simplify writing to streams
        with the specified indents or prefixes (Issue 2238)
    -   New Signal class template as an enhanced version of the
        deprecated EventEmitter (Issue 2279)
    -   New scheduler::ScopedEventId helper to automatically cancel
        scheduled events upon destruction (Issue 2442)
    -   New NetworkMonitor helper to detect network state changes (Issue 2443)

Updates and bug fixes:

-   Base
    -   Prevent flags being set for rib/unregister command (Issue 1945)
    -   Fix segfault caused by Face::unregisterPrefix when
        registeredPrefixId does not exist
    -   Add explicit internal KeyChain to Face class. KeyChain
        previously existed in the Face as part of NFD controller class.
        (Issue 2039)
    -   Properly disable assertions in release builds (Issue 2135)
    -   Connect to Transport during construction of Face instance (Issue 2318)
-   Wire encoding
    -   Fix segfault when decoding empty Exclude element (Issue 1970)
    -   Provide EqualityComparable concept for Exclude element
    -   Correct Marker in Name::appendVersion() (Issue 2086)
    -   Ensure that wire-encoding errors are inherited from tlv::Error
        (Issue 1983)
-   Management
    -   Replace FaceFlags with individual fields in face management data
        structures (Issue 1992)
    -   ndn::nfd::Controller extended to allow generating ControlCommand
        for remote prefix registration (Issue 2039)
    -   Change ForwarderStatus.NfdVersion to string (Issue 2003)
-   Security
    -   Fix ndnsec-cert-gen to correctly infer prefix before KEY
        component (Issue 2052)
    -   Help message corrections in ndnsec-cert-dump, ndnsec-cert-gen,
        and ndnsec-key-gen (Issue 2052)
    -   Accept --sign-id and --cert-prefix in ndnsec-cert-revoke (Issue 2058)
    -   Changes output format of ndnsec-cert-revoke to base64 encoding
        (Issue 2059)
    -   Add a new (safer) option to ndnsec-cert-gen allowing inclusion
        of additional information blocks into the certificate. The new
        --signed-info parameter makes minimum assumptions, treating text
        before first space as OID and the rest as the associated string
        with this OID.
    -   Make Face optional in Validator class (Issue 2124)
    -   Display signature information when printing a certificate (Issue 2196)
    -   Handle certificate decoding error in validation process (Issue 2212)
    -   Fix segmentation fault in ndnsec-sign-req (Issue 2211)
    -   Allow verbose option in ndnsec-list (Issue 2197)
    -   Allow generation of DSK using ndnsec-key-gen (Issue 2247)
    -   Allow ndnsec-key-gen to generate ECDSA keys (Issue 2248)
    -   Fix memory leak in SecPublicInfoSqlite3 (Issue 2253)
    -   Properly report status of ndnsec-delete execution (Issue 2275)
-   Miscellaneous tools
    -   Fix incorrect tag map in tlvdump tool
    -   Change to default resolver behavior in util::dns::Resolver
        (Issue 2415)
-   Documentation
    -   Update of tutorials and installation instructions
    -   Rename manpage of client.conf to ndn-client.conf (Issue 1967)
    -   Updated and extended ndn-cxx code style:
        -   add rules for some C++11 constructs
        -   prefer BOOST_ASSERT and static_assert
    -   Improve example applications (Issue 1976)
-   Tests
    -   Improve security unit test cases (Issue 1683)
    -   Embedding CI build and test running scripts into the repository
    -   Partial unit test coverage for Face class (previously covered
        only by integration tests) (Issue 1947)
    -   Improve stability of unit tests by using UnitTestTime (wall
        clock independent time) (Issue 2152)
-   Build
    -   Redesign the way default compiler flags are determined (Issue 2209)
    -   Support tools and examples with multiple translation units
        (Issue 2344)
    -   Disable installation of internal headers and headers of the
        disabled components (2266, and 2269)
    -   Enable conditional compilation based on presence of getpass()
        function
-   Other minor fixes and corrections

Deprecated:

-   ndn::ptr_lib and ndn::func_lib namespace aliases
-   The following nfd::Controller methods:
    -   Controller::start overloads, except the overload taking
        CommandOptions
    -   Controller::Sign typedef
    -   Controller::getDefaultCommandTimeout
    -   ControlCommand::getPrefix
    -   ControlCommand::getRequestName(ControlParameters)
    -   Controller::Controller(Face&)
-   MetaInfo::TYPE_* constants
-   EventEmitter is deprecated in favor of Signal

Removed:

-   FaceFlags APIs (Issue 1992)
-   ControlCommand::makeCommandInterest (Issue 2008)
-   namespace ndn::Tlv (Issue 2079)
-   shared_ptr<io_service> constructor and getter in Face class
-   tlv::ConentType (typo in the name)
-   Selectors::Selectors(int, int, Exclude, int, bool) constructor
-   Interest::Interest(Name, int, int, Exclude, int, bool, int, time::milliseconds, uint32_t)
    constructor
-   signature-sha256.hpp file
-   unused encryption-manager.hpp file
-   unused openssl dependency

ndn-cxx-0.3.0-dev-pre-c++11

Toggle ndn-cxx-0.3.0-dev-pre-c++11's commit message

Verified

This tag was signed with the committer’s verified signature.
cawka Alex Afanasyev
The last commit before completely switching to C++11