When Data is received from the wire it should match Interest with
MustBeFresh even if the Data packet doesn't specify FreshnessPeriod.
Refs: #5270
Change-Id: I2ce4d23062f6346ebcd54e2e3e6e5de5a927e516
The high level logic of Pib class ensures that an identity exists (i.e.,
creates when missing). With this correction, specific realizations
of the low-level logic (PibSqlite and PibMemory) simply throw an error
if the caller attempts to set a non-existing identity as default.
Change-Id: I9d07ca8db4817b7938c04b05341444f1150948f8
Refs: #4136
Security v1-v2 transition has been completed for a while and path
separation is no longer needed. However, this commit preserves
`ndn::security::v2` namespace, but makes it inline.
Some commonly used v2 headers are preserved, but are deprecated and
should be avoided in the dependent software.
Change-Id: I26056cb3d34bcdc0a16e06dea8c1a78c03da2d40
On case-insensitive file systems (e.g., macOS), inclusion of the new
standard <version> header resulted in unexpected inclusion of VERSION
file.
Change-Id: Ie858b8966496d23f38f722d8115be988e6b4d048
This commit also removes (unused) references to ChildSelector in
CertificateCache and TrustAnchorContainer.
Change-Id: I556382e41442dae172c25cd2de60ccdc28da3876
Refs: #4665
ValidationPolicyConfig must be assigned to a Validator instance prior to
loading and it is an API violation to load configuration otherwise.
Change-Id: Ib372cd3b6ab7c7ce1e37039f25b97e1d2f1511f9
Refs: #4758
Implementation incorrectly assumed that default PIB and TPM locators are
in canonical form, potentially leading to an wrong decision to reset
contents of PIB every time KeyChain is initialized.
Change-Id: I8b30f3aa2ac74e859e9225cf03b2b43af27d7d76
Refs: #4297
This change prevents global flags from interacting with library/feature
detection scripts.
Change-Id: Ic0dba06a9afd66a810172d4a512f35f6df6b25b6
Refs: #4296
This commit only introduces framework to detect WiFi interface type.
This function is not yet integrated in any other code.
Change-Id: I072d654f7fdbd89fe5fee00b0400133d5cea19cf
Refs: #4019
We are starting to use more macOS frameworks and define/build
environment constant name needs to be more general.
Change-Id: I893d436a34c3370a7f12ac681d1796ef5631cc0e
This commit moves `lp/detail/*` to `lp/`, as `detail` folders should
include only private APIs that are only used during the build and cannot
be used (header files not installed) by external applications.
Change-Id: I370592819c4bc5f4016689ef7c9c5bd2cdd0eaa2
This commit removes the following tools:
- cert-revoke (wasn't working properly before and need a new
design)
- set-acl (wasn't working before)
- dsk-gen (no longer makes sense with the new certificate naming
conventions, new tools for creating derivative certificates will
be created later)
This commit also fixes Bug #3644 causing import command to ask for
unnecessary password confirmation.
ndnsec main now catch all exceptions logs the extended message
Change-Id: Ib50e0994970020bcf0a1840aca6bc3942818094b
Refs: #3098, #3644
This type of Validator is largely unused in known software (except an
experimental code in ChronoChat) and will be eventually replaced with a
more general ValidatorTrustSchema.
Change-Id: I82256818cf4ad3c3bda3e57859c5d1d9809585bd
Refs: #3920
security::v2::KeyChain is now exposed as ndn::KeyChain, which should
ensure that dependent code can be mostly compiled. However, expect code
that explicitly uses the old KeyChain interface to be broken.
Change-Id: I7330d0250d92f3f0f2570ab6d0214ab3dfdd18cc
Refs: #3098
The documentation of KeyChain::addCertificate was ambiguous. On the one
hand, it stated that the certificate with the same name will be
overwritten. On the other hand, it stated that it will thrown an
exception if certificate with the same name exists. This commit ensures
the former behavior, which is consistent with the old KeyChain.
Change-Id: I911f7c86c634caf260ecb9a5dbdf13b066f8711f
This commit introduces a set of security::v2::verifySignature and
security::v2::verifyDigest overloads to simplify signature verification
operations.
This commit also updates operator== of util::Digest class to
constant-time `CRYPTO_memcmp` comparison to mitigate potential timing
attacks.
Change-Id: I30c5a315b612062a96b289c4a5292dd6eb3d410f
signed_interest::POS_RANDOM_VAL and signed_interest::POS_TIMESTAMP
constants are deprecated. Use command_interest:: equivalents instead.
This commit also includes fix for the backward compatibility regression
due to move of deprecated TPM/PublicInfo header files.
Change-Id: Ic3b008fc6758f3ac83f191158b6ac0789483f90d
Refs: #3098
v2::KeyChain::sign(Interest) does not add timestamp and nonce
components, required by CommandInterest specification
(https://redmine.named-data.net/projects/ndn-cxx/wiki/CommandInterest).
Whenever command interests are needed, CommandInterestSigner should be
used.
Change-Id: I3d573e6dd1bc686e42b0564add54173b7edf40f2
Refs: #3912
The old IdentityManagementFixture is renamed to IdentityManagementV1Fixture.
This commit also removes global KeyChainFixture, as it doesn't work with
TestKeyChain test suites. Instead, IdentityManagementFixtures are
customizing PIB/TPM modules.
Change-Id: Iadc43b78523cd43bff4f454d6aea2fca8107a650
Refs: #2926
The original motivation of this change was to avoid compilation failure
in debug mode on macOS 10.12.
Change-Id: I032b8d98d3aaf5602e10142a4d38e0b61b24b44e
Refs: #3795
This commit also removes unused ndn_digestSha256 function and deprecates
crypto::sha256 in favor of crypto::computeSha256Digest in util/crypto.hpp.
Change-Id: I24ee50ff073a96b868633bdf2cfade412d3605f3
Refs: #3098
When ndn-cxx is configured to be linked against static libraries (e.g.,
a static version of boost libraries) while ndn-cxx library is being
compiled as a shared library, waf adds '-L<static/path>' before '-L.'.
This can result in compilation failure when the system has a different
version of the ndn-cxx library installed.
This commit also makes a minor improvement for cryptopp library
detection.
Change-Id: Ia42a21b51a51a867a1b455a95d1cf5de6b21881f
- NDN_CLIENT_TRANSPORT: equivalent of transport in client.conf
- NDN_CLIENT_PIB: equivalent of pib in client.conf
- NDN_CLIENT_TPM: equivalent of tpm in client.conf
Whenever an environment variable is set, it takes precedence over any
values specified in the configuration file.
Change-Id: I44c2347168616387a0489b6bf5c2c3a12db29863
Refs: #2925, #2514
Without "linking", ci scripts installs homebrew package into the
customized location and does not create links in the standard places.
As a result, the build will be using the system-provided openssl, which
is old and does not support all features needed by ndn-cxx.
Change-Id: I3a7d4b7dbb8e00789846f6ec970039a5cf5368bc