ndn-cxx version 0.3.3¶
Release date: July 1, 2015
Changes since version 0.3.2:
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 (issue #2871, issue #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 (issue #2896, issue #2898)
Simplify CommandOptions with SigningInfo (issue #2893)
Refactor internal PIT to use scheduled events (issue #1372, issue #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 generalizedKeyChain::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
(usemakeNonNegativeIntegerBlock
)prependBooleanBlock
(useprependEmptyBlock
)booleanBlock
(usemakeEmptyBlock
)dataBlock
(usemakeBinaryBlock
)nestedBlock
(usemakeNestedBlock
)
The following methods of
CommandOptions
class, usesetSigningInfo()
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
andFace::setInterestFilter
methods now only support NFD RIB management protocol.For special needs, FIB management can be implemented using
nfd::Controller
(start<FibAddNextHopCommand>
andstart<FibRemoveNextHopCommand>
).
Upcoming features (partially finished in development branches)¶
NDNLPv2 (https://redmine.named-data.net/projects/nfd/wiki/NDNLPv2, issue #2520, issue #2879, issue #2763, issue #2883, issue #2841, issue #2866)
New NDN certificate format (issue #2861, issue #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)