KeyChain::makeCertificate() captures a common routine of creating and
signing a certificate. Having it in the library allows deduplicating
similar code elsewhere.
Also add "find by certificate name" tests for CertificateCache and
TrustAnchorContainer.
refs #5112
Change-Id: I954587e1c03d6b372e3b4f04e702339d1ff1533e
Recognize and encode ForwardingHint as a sequence of Names.
The previous format with Delegations is still accepted for decoding, but
Preference field is ignored and no sorting is performed.
Delegation and DelegationList classes have been deleted.
refs #5187
Change-Id: I6f6f94020657b65c3fccb501694416dda24b894b
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.
This commit adds basic encoding and decoding support for
PIT token, as an NDNLPv2 header field as well as a Tag.
refs #4532
Change-Id: I633fc451393746ebe199f41e44e245361b058d5e
matchesData and matchesInterest only consider Name, CanBePrefix,
and MustBeFresh. matchesName is deprecated.
refs #4913
Change-Id: I6f29a98f09f1b6f97e379f4c7d74d9b18da75d0e
Naming Conventions rev2 encode sequence numbers, version
numbers, segment numbers, byte offsets, and timestamps as
typed name components.
Markers as defined in Naming Conventions rev1 are still
supported.
The library by default recognizes both styles, and encodes as
markers. These defaults can be changed via
ndn::name::setConventionDecoding and
ndn::name::setConventionEncoding functions.
"segment offset" is renamed to "byte offset". Functions bearing
"SegmentOffset" in the name are deprecated in favor of their
"ByteOffset" counterparts.
refs #4777
Change-Id: I265d69af474ab27d274ee49619f5cae5fb2c429d
Using memory address as PendingInterestId may cause false
removal of PendingInterest record if the memory allocator places
a different Interest at the same position in the heap.
refs #2865
Change-Id: Icf4d11509ad5c2acd56f180a333a68aa96f31768
<ndn-cxx/util/scheduler-scoped-event-id.hpp> header is deprecated.
It has been combined into <ndn-cxx/util/scheduler.hpp>.
Implicit conversion from nullptr to EventId is also deprecated.
refs #4698
Change-Id: I0310d41ac9638cb5be02ae61b887538f562541b2
common.hpp and config.hpp are implementation details that should be
installed to target system.
common-pch.hpp is moved to 'impl'.
This commit also adds README.md to 'detail' and 'impl'
directories to explain their semantics.
refs #4782
Change-Id: I4f3e607338b3bdccbaddaed735f6326adcc2fda0
'impl' directory contains implementation-detail headers that are NOT
installed. 'detail' directory will be used for implementation-detail
headers that ARE installed.
refs #4782
Change-Id: I13428e032c93207753a6b856c693511c4fc3bbb8
This commit declares:
* TLV-TYPEs for typed name components in NDN naming conventions
* SignatureType number for HMAC
* ContentType numbers for Prefix Announcement and FLIC
This commit also:
* Improves stream insertion operator for SignatureTypeValue
* Adds stream insertion operator for ContentTypeValue
* Corrects several references to certificate format spec
refs #4577, #4649
Change-Id: Ibfd5cc1408cf892e38a2be93bf17e76f628f255d
Data::wireDecode accepts both v0.2 and v0.3 formats,
but Data::wireEncode only encodes into v0.2 format.
refs #4568
Change-Id: I287d12c599f44d802a2a2cd2f13132c9f98a842a
Interest::wireDecode accepts both v0.2 and v0.3 formats,
but Interest::wireEncode only encodes into v0.2 format.
refs #4527
Change-Id: I784b6f1d5c0d93db33155efddc0180359d8cab74
NDN Packet Format v0.3 replaces Selectors with CanBePrefix
and MustBeFresh elements.
This commit deprecates getter/setter for Selectors in Interest
class. Getter/setter for CanBePrefix and MustBeFresh are mapped
to the closest v0.2 semantics and encoded as selectors.
refs #4527
Change-Id: Ie3d58d3d73f3bf1d8db3327943e6850a867465b0
This commit also adds test coverage for Name::isPrefixOf and
Name comparison operators.
refs #4526
Change-Id: I93996adb97408cbeec0a8b0fd06c3a12cbf5a78f
This commit adds ==, !=, and stream insertion operators to
Identity and Key types, so that `ndnsec list` can display
default identity and key properly.
Also, a missing assignment is added to `ndnsec list` routine.
refs #4085
Change-Id: I025af1d6281acb9e9261461520bbd74af53b811e
When an incoming Interest matches multiple InterestFilters,
if one of them replies immediately, the PendingInterest
instance could be prematurely destructed and cause memory
access errors. This commit retains the PendingInterest with
a shared_ptr to avoid this bug.
refs #4228
Change-Id: I4767f294711edda3b75f8dfcac085ede88f3cdef
* Categorize tests into consumer, producer, IO routines.
* Split expressInterest tests.
* Add route toward null face when Interest timeout is expected.
* Merge similar setInterestFilter tests.
* Add test for oversized Data.
* Move InterestFilter-convert-to-Name test into unit tests.
refs #4031
Change-Id: I3356ae7fc9eec942ec7f2fb8b2277fa039464750
Practical limit of packet size is now enforced on encoded
NDNLPv2 packets instead of network-layer packets.
If a packet exceeds size limit, the face throws a
Face::OversizedPacketError exception. Since packet encoding may
be asynchronous, this exception could be thrown by
Face::processEvents instead of Face::expressInterest and
Face::put.
refs #4228
Change-Id: Ib68cf80b3b8967fdd0ba040bd8ee595a0eff740e
bool type is no longer allowed in Encoder::prependRange,
Encoder::appendRange, and encoding::makeBinaryBlock.
refs #4225
Change-Id: I1b3b7d171e8c2baa04dc4ef4617de80e6220e586
This commit also moves ControlResponse test suite to the correct
place under mgmt/ instead of mgmt/nfd/.
refs #3200
Change-Id: I1a0578b3e68b8c36c84a6af03d0c47bebe598fe1
This commit also makes use of prependStringBlock and readString
functions in encode/decode routines.
refs #3974
Change-Id: I86a4f16ea6f50fffeff72c8b416878740e65ef2a
The new file name matches the Sha256 class included within.
This commit also deletes deprecated crypto.hpp.
refs #3940
Change-Id: Ib9bbcd0ba087b812bb0886ceaea116689d4633f5
Prior to this commit, Interest::setNonce overwrote part of the wire
buffer, which could lead to unexpected behavior: when two Interest
instances are sharing the same wire buffer, setting the Nonce on one
instance affects the other instance.
refs #4168
Change-Id: Ia90ed54d91845575504ca53071ea356e3854eba5