2382 Commits
Author SHA1 Message Date
Davide Pesavento 21ee89904f name: add isKeyword and appendKeyword convenience methods
Also, deprecate Component::fromImplicitSha256Digest() and
Component::fromParametersSha256Digest() that do not provide
any advantages over the Component constructors.

Change-Id: I4890bb1ecab3dfcd96854f5f3aa4927a2328e5cf
2022-03-08 21:38:20 -05:00
Davide Pesavento 541a822ae6 build: raise minimum build requirements
* Make gcc 7.4 and boost 1.65.1 hard dependencies, both are
   available out-of-the-box on Ubuntu 18.04
 * Require Xcode 10 on macOS but recommend 11.3 or later
 * If using clang on non-Apple platforms, the minimum supported
   version is now 6.0

Change-Id: I79c84a266741c9a66655da4fd467fe0d8218e8f0
2022-03-08 21:09:01 -05:00
Davide Pesavento 258d51a6d8 encoding: make Block convertible to span
Change-Id: Idb501467d1c56b95e7fdb76acda63b919fe98f85
2022-03-08 18:52:34 -05:00
Junxiao Shi 0838f3dacc util: allow customizing FaceId in DummyClientFace
refs #5011

Change-Id: I0551ec55816f11bf3c05972c9a8bd6a3c4133310
2022-03-01 01:55:05 +00:00
Davide Pesavento df8fd8a158 name: convert to span
Change-Id: I805936731948732114762d0d022d1b447622788d
2022-02-23 11:33:32 -05:00
Davide Pesavento 273ea019b6 build: require OpenSSL >= 1.1.1
Change-Id: I17a09ac60b867617af7a49fe19ab6e906dc14f61
2022-02-20 17:50:02 -05:00
Davide Pesavento aee2ada5f0 interest: remove deprecated setDefaultCanBePrefix()
Change-Id: Ifaffb7cc7772a31c3b396c60b816e783d70b7041
2022-02-18 14:43:02 -05:00
Alexander Afanasyev 778ad714f0 Prepare release 0.8.0
Change-Id: I4fd006cc7f8f1a672b6cf0ddd422a4653da6d87f
Refs: #5172
ndn-cxx-0.8.0
2022-02-15 11:24:18 -05:00
Davide Pesavento fbea4fc83d encoding: convert to span
Change-Id: I8bd73284fbd5acc0ff8ad2626af9b4324e9df7a1
2022-02-10 11:27:03 -05:00
Davide Pesavento a3d809ea54 interest+data: convert to span
Update span-lite to commit 8f7935ff4e502ee023990d356d6578b8293eda74

Change-Id: I511bc3541e8ba683661bc69656e83088dd06e97a
2022-02-08 19:45:36 -05:00
Davide Pesavento 35c6379830 security: convert more functions to span
Update span-lite to commit 2962cb925c2323b936e4d5f366d2cddfb1b8dc68
and enable the initializer_list constructor.

Change-Id: Ie679315fe2dd69a8b9760c3b7dd47e97fcdc04c2
2022-01-24 16:41:48 -05:00
Junxiao Shi 5bd6c643ee tools: remove HTTP download feature in ndnsec cert-install
refs #4506

Change-Id: Ia25547ac056cdcca1f2ca664bdef25a2381d96cd
2022-01-11 10:12:23 -08:00
Junxiao Shi e4603e1028 interest: update ForwardingHint format
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
2022-01-10 18:35:31 -08:00
Davide Pesavento f135f1581b transport: remove unused send() overload
Change-Id: I100c1128c9fde203dd6ce1fa9d28188704bc202f
2022-01-06 20:43:06 -05:00
Davide Pesavento 3826406a1d build: update waf to version 2.0.23
Change-Id: I32c9a20903a148e647006a8d76884dc26a636d0f
2021-12-31 15:23:52 -05:00
Davide Pesavento 221a72dd70 name: deprecate append() overload with confusing semantics
Refs: #5186
Change-Id: Ib334076ef89dc389b56953302a94104f79b717a7
2021-12-31 14:45:54 -05:00
Davide Pesavento 765abc9087 util: backport C++20 std::span and use it in various APIs
Implementation taken from span-lite by Martin Moene,
commit 337af6e23f6d3264136c16565546244da23159ba

Change-Id: Icfd0ba6841cbf6ef7870c31c881df940da9faf7e
2021-12-31 14:45:03 -05:00
Alexander Afanasyev d1b6f95864 examples: Extend example with basic trust schema (validator-config)
Change-Id: Iaf9f4abd57563e52cb167b55ba3b27d8ecc1ecd7
2021-12-24 16:44:03 -05:00
Davide Pesavento 21ce3ad9c2 Add API to get the keyword name component for metadata and prefix announcements
Change-Id: I612afef79814cad8ada502aa820c4b8f2732daea
2021-12-20 19:17:07 -05:00
Davide Pesavento 6700044973 Assorted API documentation improvements
Change-Id: Iee905b6d9b590d66129b8c7272138c9c39cca21f
2021-12-20 19:16:25 -05:00
Davide Pesavento 1bf15aef02 lp: change TLV type of IncomingFaceId field
Refs: #5185
Change-Id: Ie462478f31b215256e98c0b785521ec071db76c7
2021-12-04 22:39:27 -05:00
Davide Pesavento 47a94d10dc encoding: update to revision 3 of the naming conventions
Change-Id: I2e5c84762c148c4cea17db13b8ff92dd65299fce
2021-10-31 16:41:05 -04:00
Davide Pesavento 8c1c5b1849 detail: update bundled copies of {optional,scope}-lite
optional-lite commit 36c5b877b2efa7201c49aef4d6eff5e6d7a59ec0
scope-lite commit 9794ec00059403aef6b5cd7eed008e98ae47a845

Change-Id: Ib1915df07eab35c01433889054650b128ec74c4d
2021-10-22 23:40:24 -04:00
Davide Pesavento 949075ab7b ndnsec: improve error reporting when loading a Certificate or SafeBag fails
Refs: #5164
Change-Id: I6f594a921bb063ad808f311d8ff978bf0f7d528d
2021-10-22 16:23:50 -04:00
Davide Pesavento 682e6b4c02 Fix compilation on Android
Change-Id: I5e3cb8fb49a773425355400db72b4bb76654b5a5
2021-10-22 16:22:27 -04:00
Davide Pesavento 83f8d167ca ci: add macOS 11 Big Sur
Remove all traces of Travis CI

Change-Id: I1839ae96e41678f722cba052a56ae7c54255defd
2021-09-27 02:48:04 -04:00
Davide Pesavento 94dfcf11db tests: disable most HMAC tests with OpenSSL 3.0 until we adapt our code
Refs: #5154
Change-Id: If8ca0f3eed2aa53fb2352ffd8ffa390537a81f1f
2021-09-26 14:18:45 -04:00
Davide Pesavento ea9e43ec19 tests: add testing of PKCS #8 private keys encrypted with AES and 3DES
Disable testing of the existing (DES-encrypted) private keys when building
against OpenSSL 3.0 or later, because those versions dropped support for
the DES algorithm from the default crypto provider.

Refs: #5154
Change-Id: Iee0f09f8591a6f906cea0ac289c9f3b1dec04385
2021-09-20 00:45:03 -04:00
Davide Pesavento 2b47ac0a6f build: fix detection of openssl 3.0
Refs: #5154
Change-Id: I93ccd3d3ac0f9b8940cda76e7a6df02a65999c90
2021-09-08 22:38:08 -04:00
Davide Pesavento 3ffae2600e docs: fix links to source tarballs
Change-Id: Id04ca492c2c91f3c27f5de28c616171f8b0585aa
2021-08-28 19:55:23 -04:00
Davide Pesavento 09d5662f2a ci: use gcovr 5.0 to generate code coverage reports
Add badges to README.md

Change-Id: I7c5b2c6fc39654e4552c3ccfc11f2a2c0cdc4d34
2021-08-26 01:01:34 -04:00
Davide Pesavento 01cea502ca docs: fix linking to ndnsec-* man pages
And various other minor improvements

Change-Id: Idac7629ce2728ddb641bacfc020314ae3d7f00b9
2021-07-31 19:31:28 -04:00
Davide Pesavento b3b9562135 detail: update bundled copies of {any,optional,scope,variant}-lite
any-lite commit 9bf947336e8b7c25d897e6d4b9dd5b4a68767240
optional-lite commit 0854335c64461d07d00f85b068075ed8871859ec
scope-lite commit 9281968974c68ae1e07f3cac4837393449e42177
variant-lite commit 9499655b9c263eaef735efeeb53892c770d447e1

Change-Id: I7c72dac65a0850b9b7f4e6e89150dffb54a3c797
2021-07-31 19:30:06 -04:00
Davide Pesavento 2e481fc28d common: stop importing std::{bind,ref,cref} into namespace ndn
And reduce the usage of std::bind() throughout the codebase.
C++14 lambdas are easier to understand for humans and more
likely to be optimized by the compiler.

Change-Id: Ia59fad34539710f8801c52914896ce426fb7e538
2021-07-31 19:29:06 -04:00
Davide Pesavento 30ed628efa ci: add GitHub Actions
Change-Id: I586ea4dd76e5f4b3a9effc65402b6b4285a30faf
2021-07-30 19:36:53 -04:00
Davide Pesavento 74cb28f6aa util: stop including any/optional/variant from backports.hpp
Give each utility its own public header util/{any,optional,variant}.hpp

Change-Id: I4850e7bbff3ce1aa4fe7bbb64e7262c39af387aa
2021-06-28 19:57:22 -04:00
Davide Pesavento 93101df38f docs+security: clarify the SafeBag format specification
Rename CertificateV2 => Certificate and EncryptedKeyBag => EncryptedKey

Change-Id: I47dca47ddd4542b5548061373e469bb386fa20bf
2021-06-17 20:06:04 -04:00
Davide Pesavento 045664345c util: add time::{to,from}IsoExtendedString()
Also, backport weeks/months/years duration types from C++20

Change-Id: I6d5c831b7aa2ffa3a894a8adaba0e3879d84ef61
2021-06-07 23:37:05 -04:00
Davide Pesavento d8e0cad339 build: build with BOOST_FILESYSTEM_NO_DEPRECATED
Change-Id: I8d49dc03bd052c04c00b71f7ccf02cab79e64b7c
2021-05-27 21:07:50 -04:00
Davide Pesavento 97157b4936 tools: deprecate old ndnsec command aliases
These are: ndnsec-certgen, ndnsec-dump-certificate,
ndnsec-install-cert, ndnsec-keygen, ndnsec-ls-identity

Change-Id: I0fbc65d2a08f8e7812fd7e62cf6618ffe62671de
2021-05-27 21:00:43 -04:00
Davide Pesavento f3089c3522 tools: replace most ndnsec shell wrappers with symlinks
Change-Id: I40488dddaaee13ee4391e906646b9f651b26c2de
2021-05-25 21:28:21 -04:00
Davide Pesavento 3f13f35987 net: add NetworkAddress::isDeprecated() helper function
Change-Id: I869bfc9272744211fff00729c6783874f518a4b5
2021-05-21 20:53:35 -04:00
Davide Pesavento 8eecc7f1ab net: NetworkMonitor: ignore tentative IPv6 addresses
Refs: #5155
Change-Id: I29aeaa13d2aa8bbc0a687dfe3bf07772496dd472
2021-05-18 18:35:24 -04:00
Davide Pesavento 77c5ce85aa security: remove deprecated CommandInterestSigner
Change-Id: I3b59362a4486f49559f834381a2ba63108e4dee3
2021-05-15 15:47:28 -04:00
Davide Pesavento 99431c13b5 common: fix build with Boost 1.76.0
Change-Id: Ie0e6472147242400645c84b125d2ab262f097734
2021-05-09 00:18:33 -04:00
Davide Pesavento e02d2f9f6e encoding: move most of Estimator methods inline and make constexpr
Change-Id: I5b7e1299a52217c824c54dc2eda6ddf3d70367ae
2021-04-30 15:51:35 -04:00
Davide Pesavento 90b6a1b0b5 encoding: simplify Estimator
Change-Id: I29b2b4dd0f6c1dce35c6355905f0dc0bae3790c6
2021-04-30 15:44:25 -04:00
Davide Pesavento a76ea9ac7d encoding: in Block::blockFromValue(), fail early if TLV length is zero
Also add a test for the boost::asio::const_buffer conversion operator

Change-Id: I312e8cba21ee1e6c29f3fb90485fa2932a2e5fb2
2021-04-24 00:10:35 -04:00
Davide Pesavento 5f6865cc73 encoding: prevent dereferencing of past-the-end iterator in Block::value()
If m_buffer is valid but empty, m_valueBegin is equal to m_valueEnd and
thus cannot be dereferenced. This could happen with zero-length TLVs,
e.g., if a Block is constructed with an empty buffer as TLV value.

Change-Id: I254f2d96ba250c38fd832d59e4cd5611beeda6b1
2021-04-23 23:48:56 -04:00
Davide Pesavento dbe645f879 build: make graphviz optional for building documentation
Change-Id: Icff993cccc675c95cd6f671cd217c74d7768fac9
2021-04-16 00:42:52 -04:00