ndn-cxx version 0.7.0
BREAKING CHANGE
This release features support of only NDN packet format version 0.3
(Issues 4527, 4567, 4709, 4913). The library encodes and interprets Interest
and Data packets only in 0.3 format; support for version 0.2 has been
completely removed. In addition, the URI representation of Interest
packets has also been changed following the packet format updates.
New features:
- HMAC signing support (3075)
- Support for ParametersSha256DigestComponent in Name and Interest
classes (4658)
- Encoding/decoding of HopLimit field in Interest (4806)
- PIT token (4532).
PIT token is a hop-by-hop header field that identifies an
Interest-Data exchange. The downstream node can assign an opaque token
to an outgoing Interest, and the upstream node is expected to return
the same token on the Data or Nack in reply to that Interest. This
would allow the downstream node to accelerate its processing,
especially in PIT lookup.
- io::loadBuffer and io::saveBuffer helper functions
Improvements and bug fixes:
- Various improvements in the Linux implementation of NetworkMonitor
class
- Rework of RttEstimator class:
- split into two classes: RttEstimator and RttEstimatorWithStats
(4887)
- add a getter for the smoothed RTT value (4892)
- switch to use time::nanoseconds (4887)
- Make use of attributes in logging facilities and generalize logger
backend support (4969, 3782)
- Silently accept an empty validation policy instead of throwing an
exception (5049)
- Introduce alternative URI syntax for component types used in naming
conventions, with ability to choose between canonical and alternate
format (4777)
- Don't force the generation of an Interest nonce during decoding (4685)
- Various documentation improvements
Removals:
- ndn::util::Scheduler (use ndn::Scheduler or ndn::scheduler::Scheduler)
and ndn::EventId (use ndn::scheduler::EventId) (4883)
- Unused KeyClass and AclType enums
- Unused v2::PublicKey alias of transform::PublicKey
- HmacFilter class, use SignerFilter and VerifierFilter instead
- Ill-defined equality operators for Interest, MetaInfo, Signature
(4569)
- Implicit conversion from the xyzHandle types to const xyzId* (where
xyz is PendingInterest, RegisteredPrefixId, and InterestFilterId)
- Deprecated KeyLocator::Type enum
- Private header files of concrete PIB, TPM, and KeyHandle
implementations are no longer installed (4782)
- Renamed util/backports-ostream-joiner.hpp to util/ostream-joiner.hpp
« Previous 570b20d encoding+lp: declare constexpr and noexcept where possible by Davide Pesavento · 6 years ago 14883ad encoding: use Boost.Endian for endianness conversions by Davide Pesavento · 6 years ago 2b765f8 util: eliminate selector usage in SegmentFetcher by Eric Newberry · 6 years ago e345baa util: augment SegmentFetcher with congestion control by Eric Newberry · 6 years ago 31fd467 security: Correctly handle Sha256-signed Command Interests by Alexander Afanasyev · 6 years ago 57d02b6 security: Fix bug preventing customization of KeyChain's TPM on macOS by Alexander Afanasyev · 6 years ago db4da5e Improve and simplify code with modern C++ features by Davide Pesavento · 6 years ago 3c9bc04 mgmt: add Mtu to faces/create and FaceStatus by Eric Newberry · 6 years ago 59e266a net: deprecate ndn::ip::address{,V6}FromString by Davide Pesavento · 6 years ago 1fd0024 build: switch to C++14 by Davide Pesavento · 6 years ago e240422 face: use post instead of dispatch to avoid re-entrancy issues by Ashlesh Gawande · 6 years ago cc910cd util: use signals instead of callbacks in SegmentFetcher by Eric Newberry · 6 years ago c93c2ce encoding: add route origin for self-learning by Teng Liang · 6 years ago 1c9c96c util: fix Logging::getLoggerNames() by Davide Pesavento · 6 years ago 974b81a lp: encode sequence number as fixed-width integer by Junxiao Shi · 6 years ago 72c0c64 encoding: provide FormattedOutputFunction for Block by Junxiao Shi · 6 years ago 9c9672e name: don't strip whitespace when parsing URI by Junxiao Shi · 6 years ago 7d9039b data: recognize Data in Packet Format v0.3 by Junxiao Shi · 6 years ago 6efa3b7 interest: recognize Interest in Packet Format v0.3 by Junxiao Shi · 6 years ago 0c145ec util: support declaring loggers as class members by Davide Pesavento · 6 years ago a2550a9 encoding: declare TLV-TYPE constants for Packet Format v0.3 by Junxiao Shi · 6 years ago 3688d72 util: backport optional::reset by Junxiao Shi · 6 years ago 8d3f834 interest: deprecate selectors by Junxiao Shi · 6 years ago a36f15d name: allow appending typed name components by Junxiao Shi · 6 years ago ebfe4a2 meta-info: allow typed name component in FinalBlockId by Junxiao Shi · 6 years ago b849f61 util: give examples for NDN_CXX_DEPRECATED by Junxiao Shi · 6 years ago 4ffbb9d interest+exclude: rename NameComponent to GenericNameComponent by Junxiao Shi · 6 years ago cf4ac5b name-component: recognize typed name components by Junxiao Shi · 6 years ago 8a8c01b tests: fix several instances of the most vexing parse by Davide Pesavento · 6 years ago 5560fd4 build: update waf to version 2.0.6 by Alexander Afanasyev · 7 years ago 5e2ccca mgmt: fix conflicting TLV-TYPE assignment by Davide Pesavento · 7 years ago df50538 mgmt: declare cs/erase command by Junxiao Shi · 7 years ago 38a061d util: introduce escape() and use it in Component::toUri() by Davide Pesavento · 7 years ago 5b323d1 lp: wrap Data in PrefixAnnouncement field by Teng Liang · 7 years ago 08378cb name: fix encoding of "+" and "~" in Component::toUri() by Davide Pesavento · 7 years ago be86d98 mgmt: fix CsInfo.Capacity decoding by Junxiao Shi · 7 years ago a7ab06d mgmt: add capacity and enablement flags to CsInfo by Junxiao Shi · 7 years ago c5ba65b util: fix Y2038 problem in time::toString() by Davide Pesavento · 7 years ago d567aab mgmt: make congestion marking parameters optional by Eric Newberry · 7 years ago b984e32 net: parse interface names more loosely in FaceUri by Davide Pesavento · 7 years ago 07d05c9 mgmt: add congestion marking parameters by Eric Newberry · 7 years ago e66040e util: Fix conversion of large dates from strings to internal type by Alexander Afanasyev · 7 years ago 22f8568 mgmt: declare cs/config command by Junxiao Shi · 7 years ago 0f83080 util: add literal operators for duration types by Davide Pesavento · 7 years ago 1c109b4 util: add signals to SegmentFetcher for segment retrieval/validation by Muktadir Chowdhury · 7 years ago 5afbb0b util: switch to boost::asio::basic_waitable_timer by Davide Pesavento · 7 years ago e84d1eb util/io: catch invalid_argument generated by trying to load empty file by Ashlesh Gawande · 7 years ago 720f3ba security: add support for BLAKE2 hash function by Davide Pesavento · 7 years ago 82d6a4c security: fix error handling in KeyChain::importSafeBag() by Davide Pesavento · 7 years ago 34429cc util: Add BroadcastLink to DummyClientFace by Zhiyi Zhang · 8 years ago 7dffab6 Fix missing 'typename' prior to dependent type name error by Ashlesh Gawande · 7 years ago 7f01247 mgmt: encode/decode CS Information Dataset by Junxiao Shi · 7 years ago b682891 face: Interest loopback by Junxiao Shi · 7 years ago 0296074 lp: add NonDiscovery field and tag by Teng Liang · 7 years ago 7e6f6f8 encoding: avoid UB when casting to tlv::SignatureTypeValue by Davide Pesavento · 7 years ago e245b05 encoding: don't call memcmp() with null pointer by Davide Pesavento · 7 years ago a1302f6 security: enable direct fetch for data sig validation by Zhiyi Zhang · 7 years ago bdcedf4 security+util: remove overloaded operator!() by Davide Pesavento · 7 years ago 5d0b010 encoding: remove duplicate buf() and get() methods from Buffer class by Davide Pesavento · 7 years ago 5759be3 security: Identity/Key comparison operators by Junxiao Shi · 7 years ago c4a0176 security: fix bugs in keylocator checker of validator config by Zhiyi Zhang · 7 years ago ac8b4ca net: support link-local IPv6 addresses in FaceUri by Yanbiao Li · 7 years ago b3d0a8e util: add missing assignment in Regex test case by Junxiao Shi · 7 years ago c3a4679 base: add PacketBase to provide wrappers for congestion tags by Eric Newberry · 7 years ago b10024c encoding: delete deprecated overload of Block::Block by Davide Pesavento · 7 years ago eaa93f4 security: fix AES IV length check in transform::BlockCipher by Davide Pesavento · 7 years ago 8a14b9b security: use EVP_DigestVerify* routines in VerifierFilter by Davide Pesavento · 7 years ago 8aad372 security: add missing out-of-line destructors for transform classes by Davide Pesavento · 7 years ago 06f1bdf security: use EVP_DigestSign* routines in SignerFilter by Davide Pesavento · 7 years ago cafa402 security: use DES-EDE3-CBC to encrypt private keys in PKCS #8 format by Davide Pesavento · 7 years ago c3dfc24 security: move {Rsa,Ec,Aes}KeyParamsInfo into namespace detail by Davide Pesavento · 7 years ago 1c31a71 security: simplify/cleanup PublicKey implementation by Davide Pesavento · 7 years ago f45fa21 security: simplify PrivateKey implementation and improve error handling by Davide Pesavento · 7 years ago 859888f face: retain PendingInterest during Interest processing by Junxiao Shi · 7 years ago b88c6bf tests: fix build with clang-5.0 by Davide Pesavento · 7 years ago 79a7a16 face: send Nack after every InterestCallback has responded by Junxiao Shi · 7 years ago 941fd8c security: insert OpenSSL initialization call in PrivateKey::loadPkcs8 by Luca Keidel · 7 years ago e062a18 util: Advanced filtering of the logging modules by dmcoomes · 7 years ago 6fd26cf security: Allow key for root namespace identity by Alexander Afanasyev · 7 years ago 6aff024 security: Allow reloading ValidationPolicyConfig / ValidatorConfig by Alexander Afanasyev · 7 years ago 605671d signature: disallow encoding invalid SignatureInfo by Junxiao Shi · 7 years ago 1ad0b4b face: insert pending Interest records for Interests from forwarder by Junxiao Shi · 7 years ago adc7184 security: Remove old security framework by Alexander Afanasyev · 8 years ago e5a19b8 security: Convert ValidatorConfig to ValidationPolicyConfig by Alexander Afanasyev · 8 years ago a84f464 Cleanup iostream includes by Davide Pesavento · 7 years ago cdcde90 Fix compilation with Boost 1.65.0 by Davide Pesavento · 7 years ago 2bea5c4 tests: revamp Face integrated tests by Junxiao Shi · 7 years ago b6e276f face: move packet encoding to Impl class by Junxiao Shi · 7 years ago 5174232 Check integer range during decoding by Junxiao Shi · 7 years ago 6158f47 tests: eliminate cryptopp use from Test{Signer,Verifier}Filter by Davide Pesavento · 7 years ago 5d75fd9 mgmt: check enum range during decoding by Junxiao Shi · 7 years ago d9153ce link: delete deprecated functions by Junxiao Shi · 7 years ago baab732 tests: avoid misaligned memory access in InMemoryStorage test by Junxiao Shi · 7 years ago d701e5b interest: delete Link and SelectedDelegation fields by Junxiao Shi · 7 years ago 6938e34 util: rename digest.hpp to sha256.hpp by Junxiao Shi · 7 years ago 81206d5 data: reorganize code and test cases by Junxiao Shi · 7 years ago 760cc7b encoding: Block::fromStream properly handles TLV-LENGTH=0 by Junxiao Shi · 7 years ago 6dfeffe mgmt: Switch nfd::Controller to use v2::Validator interface by Alexander Afanasyev · 8 years ago 2dd711d interest: setNonce resets wire buffer by Junxiao Shi · 7 years ago c542f63 ims: move InMemoryStorage from util/ by Junxiao Shi · 7 years ago Next »