2382 Commits
Author SHA1 Message Date
Davide Pesavento cad94b0255 docs: clarify and cleanup the certificate format spec
Also, cleanup references to the legacy signed interest spec

Change-Id: Ib761399b6e44cefea6331e4e128bb2976c2fc11d
2021-04-15 23:25:11 -04:00
Alexander Afanasyev 39535f4493 util: Out-of-the-box support for Android logging
Refs: #4970
Change-Id: I01cbb59faf505046c792393eb2e8df347212abcb
2021-04-07 11:10:23 -04:00
Eric Newberry c25e463e91 name: change default name component encoding convention to typed
refs #5044

Change-Id: I0062b31d25e4362d20e6b0f1fc9167306f346cac
2021-04-04 00:42:19 -07:00
Davide Pesavento 3c34ec1c4c mgmt: refactoring and cleanup in StatusDatasetContext
* remove {get,set}Expiry(): it's not the responsibility
   of StatusDatasetContext to deal with in-memory storage
 * increase the max payload size of each segment to 8k bytes
 * minimize the number of memory allocations
 * really check that the prefix does not end with a segment
   component, as stated in the docs
 * throw std::logic_error instead of std::domain_error
 * improve exception messages
 * cleanup doxygen

Change-Id: Id6990f3dd064cc90a45eab4ec1c52141f5212be5
2021-04-02 21:14:28 -04:00
Davide Pesavento fcf4d5186c security: delete deprecated security/v2 headers
Change-Id: Id56622e3278ed8df58a88f909f3493c01a9b63e9
2021-03-26 15:40:02 -04:00
Davide Pesavento 809f754bf6 security: remove redundant overloads of verifySignature() and verifyDigest()
Change-Id: I5fe14876acea04fe979ffe0872855f1b5bbede24
2021-03-26 04:27:27 -04:00
Davide Pesavento f2cae616fa Drop unnecessary v2 namespace qualifications
Change-Id: I6358bac6860ca8f2e9cdbd00bb2a929e3af5b2da
2021-03-25 02:43:06 -04:00
Davide Pesavento 09904410ca Ensure all include guards start with "NDN_CXX_"
Change-Id: I530e862ef391db8a2f2d3aa6df0fd0e2f64ae5b6
2021-03-24 16:40:53 -04:00
Davide Pesavento fbc2f5273e interest: deprecate setDefaultCanBePrefix()
Change-Id: I26b9101cb7fd28af613e4ab66871f3c6be0412e5
2021-03-22 15:00:25 -04:00
Davide Pesavento 478d338253 interest: flip default value of CanBePrefix to false
Refs: #4582
Change-Id: Ifc703e3c50d91954cd82ade8664e8fe9ec3a8154
2021-03-19 20:57:03 -04:00
Alexander Afanasyev 17d4b93f04 security: Enforce sig-type check in ValidatorConfig
Change-Id: Ia58e19bbe7453095cb83b3b05dee29ae58d64522
Refs: #4524
2021-03-18 19:31:23 -04:00
Justin Labry aef53b6c26 security: Generalize signature verification to allow digest-sha256
This patch effectively enables use of DigestSha256 signatures in
ValidatorConfig.

Change-Id: I233c069935b617efb8a52cc45996f00307c86a2e
2021-03-18 19:29:44 -04:00
Junxiao Shi 58b9e0fdc9 security: ValidatorConfig rule should pass with at least one checker
refs #5145

Change-Id: Id4c70806f2da24453bb7ec50e88475bd742541d6
2021-03-18 15:54:07 -06:00
Junxiao Shi 5dc7560d5d security: accommodate certificate name in ValidatorConfig
refs #5142

Change-Id: Id282b05da8fdbf57c216f6282a5d6ecd24d867fe
2021-02-19 11:33:00 -07:00
Davide Pesavento 861e0944f7 regex: improve error handling in RegexRepeatMatcher
Also expand unit test coverage and clean up the documentation

Change-Id: Ib679f869de352ef36b7ffa7a2db8381eb503e962
2021-02-07 14:54:33 -05:00
Davide Pesavento b08edd8d3e regex: remove unnecessary virtual function
Refs: #5144
Change-Id: Ib587b14acf763ae366e4b8c18938d2c23a196eaf
2021-02-07 02:41:06 -05:00
Davide Pesavento fe24bf8412 net: silence bogus stringop-truncation warning in strncpy
Change-Id: Id7467c201ee0499c4c19087c61511cdde1bc44aa
2020-12-15 20:24:37 -05:00
Davide Pesavento a86300a867 Remove deprecated Signature class and its subclasses
Also remove deprecated methods from Data, KeyChain,
SignatureInfo, and SigningInfo.

Change-Id: Id61c83ee0ac866469c3375191af3c38763392e67
2020-12-15 20:22:34 -05:00
Davide Pesavento 1a4a7bf2a9 tests: use BOOST_TEST_CONTEXT and BOOST_DATA_TEST_CASE where possible
Fix the last two "CanBePrefix unset" warnings in unit tests

Change-Id: Ifd2420ae98e7c4741a1c20e7fa0d52f74d7178c8
2020-12-15 20:08:29 -05:00
Davide Pesavento 0b2aa13fbf docs: clarify/revise a few code style rules
Change-Id: I4aaaa314f310e4d3a345690fc527805e2d9c1416
2020-12-13 20:27:34 -05:00
Davide Pesavento 737103670a tests: rewrite and improve KeyChain signing test case
Added testing of:
 * non-default identity
 * non-default key
 * different types of asymmetric keys
 * SigningInfo(const std::string&) overload

Change-Id: Id16c77250cc25203f4fa49ecdbb9ee7ded218052
2020-12-04 16:10:03 -05:00
Varun Patil 574c3f96f8 validator-config: use cert file name for groupId
refs #5136

Change-Id: I0a737593e11eddcd372c3c6d3cb742dd2a0a9cab
2020-11-27 08:29:34 +05:30
Davide Pesavento 20d264e148 build: upgrade waf to version 2.0.21
Change-Id: I4eadf41fd90368612f520d37db45bdbf005e2a18
2020-11-24 15:14:14 -05:00
Davide Pesavento 4c1ad4ca65 tests: refactor common test infrastructure and fixtures
Change-Id: I597c11130eefa2cc2846ee6655c85dc04f2f22ef
2020-11-24 15:13:13 -05:00
Eric Newberry bdfb53aa09 Prepare release 0.7.1
refs #5129

Change-Id: I3c86a1fb10e542f825c92bd0d935a2814fea1f04
ndn-cxx-0.7.1
2020-10-08 16:19:10 -07:00
Davide Pesavento 287a7faad9 tlv: introduce NullSignature signature type
Refs: #4900
Change-Id: Ib5ab76e1e7a4b0cbec09b945859fb30e9322dd6b
2020-10-01 22:46:43 -04:00
Davide Pesavento fa33f8d532 docs: refresh and improve the "named data" sphinx theme
Change-Id: I6c04bb94e33191a2b0d32e0d7bc61ab44af9d84d
2020-09-28 13:37:43 -07:00
Eric Newberry 1caa634dca security: add validator for signed Interests
refs #4804

Change-Id: Ie6b64e9758591b54639c67e565abb3fdf40fb652
2020-09-23 20:57:55 -07:00
Eric Newberry e36aae1eb8 security: fix extraction of signed portion during Data signature verification
refs #4583

Change-Id: Ia0fc93a6e2408bb5f0de16fd76fcb6d9f06a0398
2020-09-03 12:18:06 -07:00
Jeremy Clark 670a52f2a3 security: add certificate bundle decoder
Refs: #5004
Change-Id: I0f035caf8f6975ba2322a7f6629312d3dcab910d
2020-08-29 21:48:55 -04:00
Davide Pesavento 97ee811129 util: backport scope_exit & co. from the Library Fundamentals TS v3
Implementation taken from scope-lite by Martin Moene,
commit 197cd4240069b2b8c393ad0d9eabdee601b606b4

Change-Id: I872b6821504b3270ebdc4c48b7255731fb2efc57
2020-08-27 16:20:07 -04:00
Davide Pesavento 599623c303 ci: disable frames in lcov HTML coverage report
Change-Id: I0c24a412ca33be034fb27b7055a868112bede462
2020-08-07 21:00:45 -04:00
Davide Pesavento 483087f56d util: fix time::toIsoString with Boost 1.73.0
Change-Id: Id8d65db9020c3efefab0453c83e39e5e2771ce3a
2020-08-04 22:38:05 -04:00
Davide Pesavento 81bd696ed9 data: do not encode a Content element if not set
Add Data::hasContent() and Data::unsetContent().
Change the behavior of Interest::setApplicationParameters(Block{}) for
consistency with the corresponding getter and with Data::setContent().

Change-Id: I4cc9058912510db0dfe3da614adee727db149415
2020-07-27 10:50:54 -07:00
Eric Newberry 17d7c47ca9 security: support new signed Interest format in Validator
refs #4804

Change-Id: I0391709dc1486c8156c03cf8e9d94e6cfbe30303
2020-07-22 20:56:05 -07:00
Davide Pesavento 933a567c8a docs: fix syntax highlighting of code blocks
And various other cleanups

Change-Id: If945f5407036e73db980cafd2185359a488a0ff1
2020-07-10 17:54:12 -04:00
Davide Pesavento f2c4c53208 ci: add Xcode 11.6 and 12 to Travis CI build matrix
Change-Id: Ied88268107c94523ea651fae101274083d12f8fd
2020-07-01 14:44:53 -04:00
Eric Newberry 6b2cb79748 docs: deprecate signed Interest v0.2 specification
refs #4804

Change-Id: Ie7258b1ecce8ab88e6f902f268554a4be4f7bdd2
2020-06-30 23:15:46 -07:00
Eric Newberry b74bbdab84 security: sign and verify new signed Interest format
refs #4804

Change-Id: Ib819edb977fa06c670b04185a0d730203c7d7fdb
2020-06-22 17:22:27 -07:00
Eric Newberry 6d024bad65 security: add vectored API for verify and sign
Add vectored input for BufferSource transform

refs #4804

Change-Id: I4949afe5ddb5a49ce6a956da6bc7931cf3719021
2020-06-17 21:04:37 -07:00
Alexander Afanasyev 8afba42296 security: Support name options in the KeyLocator when using ValidationPolicySimpleHierarchy
Change-Id: I828e65a964d4d410e314f7bfc024ee749ac9757b
Refs: #5115
2020-06-17 10:36:48 -07:00
Davide Pesavento 2ca5e79633 security: fix inverted logic in CertificateBundleFetcher
Fixes regression introduced in ebfe4a207f

Change-Id: I9187a4f033be2705d5ad17c4dc221eaa28855192
2020-06-16 22:52:23 -04:00
Davide Pesavento 905d40fad9 data: avoid unnecessarily invalidating cached wire encoding
Also, improve unit testing of Interest and Data classes and
cleanup some doxygen comments.

Change-Id: Ia7ef0af88fc84976ae72f9b99a281300717ced3e
2020-06-13 00:00:33 -04:00
Alexander Afanasyev 355fd789c8 security: Correct behavior of PibImpl::setDefaultIdentity
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
2020-06-11 12:54:14 -04:00
Alexander Afanasyev 75c3af824a util: Introduce NDN_LOG_NOFLUSH env variable to disable auto-flushing logs
Change-Id: Id1699d044e318aac315a545e913d0fc80306939b
Refs: #3668
2020-06-10 17:05:43 -04:00
Davide Pesavento 46cdf909a5 Remove some long-deprecated functions and enums
Change-Id: Iae88534ce7d58a35217dfdb7d97b011b7905be19
2020-06-09 01:17:33 -04:00
Davide Pesavento 9d1089aa29 util: update bundled copies of {any,optional,variant}-lite
any-lite commit 56cdca9c94af84c6e643a05c9105cb1dc38c5d8c
optional-lite commit 5e8a82ac029aebfd2f5708f183a00eda2be132cc
variant-lite commit 1f79b88132687b0ab1efdcf6e4120724e813602b

Change-Id: I7149abedade21f91e673770169ab7cd6062f02c7
2020-06-09 01:16:58 -04:00
Eric Newberry 6e262f0f1e interest: add signature fields
refs #4804

Change-Id: I4c8ecf65a3616833020d8edf8ba3d0c2d8427e87
2020-06-08 18:28:13 -07:00
Alexander Afanasyev 09236c2b8d security: Rename security/v2/* to security/*
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
2020-06-06 16:15:38 -04:00
Alexander Afanasyev f601e1988b security: Add check for success of TPM signing
Change-Id: I5c0fc958f4d359354391a30c62791e877052b97e
Refs: #4585, #5086
2020-06-03 12:47:36 -04:00