100 Commits
Author SHA1 Message Date
Alexander Afanasyev 0af48fb516 interest: Match data to Interest regardless of FreshnessPeriod/MustBeFresh
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
2023-08-09 12:26:59 -04:00
Alexander Afanasyev 5b06597e84 example: Squish one deprecation warning
Change-Id: I7aa36ae7b344fb6865c4b111ae69eab4aac4e0ca
2022-03-25 10:12:57 -07:00
Alexander Afanasyev 778ad714f0 Prepare release 0.8.0
Change-Id: I4fd006cc7f8f1a672b6cf0ddd422a4653da6d87f
Refs: #5172
2022-02-15 11:24:18 -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
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
Alexander Afanasyev 17d4b93f04 security: Enforce sig-type check in ValidatorConfig
Change-Id: Ia58e19bbe7453095cb83b3b05dee29ae58d64522
Refs: #4524
2021-03-18 19:31:23 -04: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
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
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
Alexander Afanasyev ab9d7ed25a security: Create PIB implementation as shared_ptr
While existing code is valid, it caused strange crashes on Android/ARM
platform.

Change-Id: I29c4879c65b3c844abb2d75f267c44a0b959a6f7
2020-05-30 18:34:19 -04:00
Alexander Afanasyev 3de8aac22d Rename VERSION to VERSION.info to avoid conflicts with modern STL
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
2020-05-30 18:14:45 -04:00
Alexander Afanasyev cf8ffd495a Prepare release 0.7.0
Change-Id: Id6bba5f9b83c3f317f5ee81b170bc5ce50806a29
Refs: #5045
2020-01-13 13:22:16 -05:00
Alexander Afanasyev 7b2f58c9df util: Generalize logger backend support
This commit introduces a public API change for changing log
destinations.

Refs: #3782
Change-Id: I329c60f510d9493af5959b34eea93b81e15fe698
2019-07-22 02:46:25 -07:00
Alexander Afanasyev 576b4ff50e util: Make use of attributes in logging facilities
Refs: #4969
Change-Id: Ib7e495629107d9ebe2105a7fe1f99d89ad92e244
2019-07-12 13:06:29 -04:00
Alexander Afanasyev 0d748af32f Prepare release 0.6.6
Change-Id: I2896cf769547e7afbedcc4f00bf28b48e0729426
Refs: #4916
2019-04-27 15:00:06 -04:00
Alexander Afanasyev 1660d00046 security: Add option to disable infrastructure interest in CertificateFetcherDirectFetch
Refs: #4879
Change-Id: I4ee7f831fde1fe6e951857c279546f7b7433def0
2019-03-19 16:24:23 -04:00
Alexander Afanasyev 8fdae8909d build: Propagate DEFINES of dependent libraries to libndn-cxx.pc
Refs: #3982
Change-Id: Id3c3bb219fe074c0e7427d34e0a0da4981952be3
2019-02-10 17:17:28 -05:00
Alexander Afanasyev b72360faee Prepare release 0.6.5
Change-Id: Ifc28a3a32d572b2455353bf164427ca2d37aebf9
Refs: #4821
2019-02-04 13:30:04 -05:00
Alexander Afanasyev 7c5bc1e218 build: Upgrade waf build system to version 2.0.14
Version 2.0.6 had some strange issues with Python 3.7.2 on macOS with
Homebrew.

Change-Id: I518659141477f0ca0deee8fbc4608408642bc619
2019-01-29 08:32:40 -05:00
Alexander Afanasyev 4e0cc6cf21 security: Remove use of ChildSelector in CertificateBundleFetcher
This commit also removes (unused) references to ChildSelector in
CertificateCache and TrustAnchorContainer.

Change-Id: I556382e41442dae172c25cd2de60ccdc28da3876
Refs: #4665
2019-01-23 11:15:19 -05:00
Alexander Afanasyev 7b1124674a security: Throw exception when loading on orphaned ValidationPolicyConfig
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
2018-10-18 14:50:54 -04:00
Alexander Afanasyev a3bf4319ed Prepare release 0.6.3
Change-Id: Ie4bc2812544224110eb371e4dd096fc1681ab1f0
Refs: #4727
2018-09-17 23:50:23 -04:00
Alexander Afanasyev 31fd46714e security: Correctly handle Sha256-signed Command Interests
Change-Id: Ibcda11627a4be0498dfd894df8b976cb65da308a
Refs: #4635
2018-06-18 11:29:06 -04:00
Alexander Afanasyev 57d02b65ef security: Fix bug preventing customization of KeyChain's TPM on macOS
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
2018-06-17 17:04:03 -04:00
Alexander Afanasyev 634a62bb74 tools: Allow specifying passphrase for ndnsec import/export in command line
Change-Id: Ic389249e017df27b0246cdd1fcd3a1431607246b
Refs: #4633
2018-06-15 18:56:47 -04:00
Alexander Afanasyev d9b083e825 Prepare release 0.6.2
Change-Id: Ia5fefd6729fdf9cb5887a5165ba60614ab931280
Refs: #4564
2018-05-03 09:25:10 -04:00
Alexander Afanasyev 5560fd40ae build: update waf to version 2.0.6
Cleanup in most build scripts

Change-Id: Ib024e95fb6f80e72b0c00e1dc8bb9300d6c5f191
2018-03-08 21:49:25 -05:00
Alexander Afanasyev e66040efa6 util: Fix conversion of large dates from strings to internal type
Change-Id: I13f8d41892dedd0d2feef131a0f09ae5939d124b
Refs: #4478
2018-01-26 13:00:52 -05:00
Alexander Afanasyev 130076fd99 build: Fix build when std::to_string is not available
This commit also adds a missing header include

Change-Id: I60857a488031f447c63308600052b1d2e9e3958b
Refs: #4393
2017-12-05 11:29:10 -05:00
Alexander Afanasyev 3647af06a1 docs: Fix wrong version number in the release notes
Change-Id: I7d00c2fd95c7363bcc95497d34f3e4ac140cbc11
Refs: #4275
2017-10-16 16:29:49 -04:00
Alexander Afanasyev c381bca7f6 Prepare 0.6.0 release
Change-Id: I4cea28b09b20f5359f0e2ddaf188b234b2b102f9
Refs: #4275
2017-10-15 22:25:00 -04:00
Alexander Afanasyev b82d8c3a1b build: Add -isystem and set specialized flags as a last configuration step
This change prevents global flags from interacting with library/feature
detection scripts.

Change-Id: Ic0dba06a9afd66a810172d4a512f35f6df6b25b6
Refs: #4296
2017-09-22 12:30:57 -04:00
Alexander Afanasyev 22ee089ada tools: Disable unnecessary confirmation during ndnsec-import
Change-Id: I75113483a343bbe06cf0af85a08695b0a9ae9aeb
Refs: #3644
2017-09-03 00:31:33 -04:00
Alexander Afanasyev 464da53017 tools: Fix bugs in cert-gen
Change-Id: I13ed1d71b4970166135e32e2196ac9c67ad60fd3
Refs: #4202
2017-09-02 13:04:11 -04:00
Alexander Afanasyev 6fd26cf09a security: Allow key for root namespace identity
Change-Id: Ie50b3db37acbf10b5a70397222d9a1c94f5fc2c0
2017-08-31 18:32:43 -04:00
Alexander Afanasyev 6aff024492 security: Allow reloading ValidationPolicyConfig / ValidatorConfig
Change-Id: Idba53c0b4e2cf645d3d0e6c76c57a1b54995462a
Refs: #4261
2017-08-29 19:40:57 -04:00
Alexander Afanasyev adc71845c5 security: Remove old security framework
This commit also finalizes removal of CryptoPP dependency.

Change-Id: Ia670cbeaf21b28d3b93fd36bb3781da3ac822662
Refs: #4246, #3946
2017-08-24 09:30:24 -07:00
Alexander Afanasyev e5a19b8d86 security: Convert ValidatorConfig to ValidationPolicyConfig
The security API also provides a convenience ValidatorConfig helper.

Change-Id: Ic86dec4904b917361cb4740204de4b6710d2a386
Refs: #3920
2017-08-24 09:30:17 -07:00
Alexander Afanasyev 6dfeffed54 mgmt: Switch nfd::Controller to use v2::Validator interface
The conversion also includes relevant changes in SegmentFetcher and
tests.

Change-Id: Ie2f55bac650e3689f4971ab814a8bd51068a2a40
Refs: #3920
2017-07-22 14:48:10 +03:00
Alexander Afanasyev 5bcee10c84 util: Add detection whether WiFi interface is ad hoc on macOS
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
2017-06-20 17:47:02 -07:00
Alexander Afanasyev 7cd43abee3 build: Allow Objective-C++ code to be used
Change-Id: I63e5d866dd1dd04987572941d1c842e09c4494b4
2017-06-20 17:47:02 -07:00
Alexander Afanasyev 3b3355cc07 util: NetworkMonitor: macOS version of fine-grained signals on interface state changes
Change-Id: I6da12356baa0038d08ff256d0d3ff726023d804b
Refs: #3817
2017-06-20 17:47:02 -07:00
Alexander Afanasyev 0cf887df3d build: Change HAVE_OSX_SECURITY to a more general HAVE_OSX_FRAMEWORKS
We are starting to use more macOS frameworks and define/build
environment constant name needs to be more general.

Change-Id: I893d436a34c3370a7f12ac681d1796ef5631cc0e
2017-06-20 17:47:02 -07:00
Alexander Afanasyev e387423942 src: Avoid use of detail folder for installable headers
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
2017-06-20 17:46:59 -07:00
Alexander Afanasyev 9333887a8d security: Add ValidationPolicyCommandInterest
Refs: #3920

Change-Id: I978e68979e4f9cfb58561054b9f87f8d65083d5d
2017-06-19 13:15:42 -07:00
Alexander Afanasyev b54aa57d7b security: Add general interface to chain validation policies
Change-Id: I1a0d47aeb847455a2d7d6d48185f6edd9024d298
Refs: #3920
2017-06-19 11:41:10 -07:00
Alexander Afanasyev 35109a19d0 tools: Convert ndnsec to v2::KeyChain
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
2017-06-07 19:14:15 -07:00
Alexander Afanasyev 6bf48a07c4 security: Remove ValidatorRegex
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
2017-06-01 16:43:53 -07:00
Alexander Afanasyev 82c359c10d tools: Refactor ndnsec tools and update code style
This commit also deletes unused (broken) `op-tool`

Change-Id: I6c45c293d9c22198efd9db8144e32097d73738e5
Refs: #3098
2017-05-25 15:13:24 -07:00
Alexander Afanasyev 80782e06cd **breaking change**: Switch Face and related classes to v2::KeyChain
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
2017-05-25 15:09:50 -07:00
Alexander Afanasyev e6835fe12b Remove previously deprecated headers, methods, and constants
Change-Id: I3e809e25c8f2bc2ae0f027413d9e0161245353c6
Refs: #3988
2017-05-21 17:37:27 -07:00
Alexander Afanasyev 354f382f4b util: Add API to enumerate Logger modules
Change-Id: Ie1361b76305b4de9746e769212efa7b381c59f91
Refs: #4013
2017-04-13 10:45:57 -07:00
Alexander Afanasyev 1709aa7099 security: Restore automatic key ID generation for symmetric keys
Change-Id: Ic846b02e347b85f0053495a76ebcf8746138d8cf
Refs: #3989
2017-03-08 13:22:49 -08:00
Alexander Afanasyev a10b2ffb39 security: Correct KeyChain::addCertificate semantics
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
2017-03-08 13:22:49 -08:00
Alexander Afanasyev 5af04a71ff security: Fix certificate loop detection in v2::Validator
Change-Id: I0e55cd6ee9744df07fa13dcd8ee337909c49430f
2017-03-08 13:22:49 -08:00
Alexander Afanasyev a54d5a6d2c face: Avoid resuming transport after connect if the transmission queue empty
Change-Id: I53763b62a8fc12d1d2613daa8d4f9d2b5109b7aa
Refs: #3957
2017-02-13 10:18:14 -08:00
Alexander Afanasyev aa8b3785d6 docs: Prepare release 0.5.1
Change-Id: I377269e4f510b720a4ab11e480c1d0551a32b56e
Refs: #3859
2017-01-25 09:13:35 -05:00
Alexander Afanasyev ba2cf39469 security: Add CertificateFetcherDirectFetch
Change-Id: I3abaa0c264b8d93f9bba588d346477e7179f03e7
Refs: #3921
2017-01-24 10:52:27 -05:00
Alexander Afanasyev 7bc10fad91 security: Abstract certificate fetching from v2::Validator
Change-Id: Ia98d11ac67b0095f632818ac37a19a1e5a7656a8
Refs: #3921
2017-01-24 10:52:23 -05:00
Alexander Afanasyev 7e7214103e security: Add v2::Validator implementation
Based on the code originally written by Qiuhan Ding

Change-Id: Ib66e24f49d0b6fb2ae21ea1fca7b9ec62ecb753a
Refs: #3289, #1872
2017-01-22 10:42:09 -08:00
Alexander Afanasyev 3e2c3a0738 security+tests: Fix small bugs with uninitialized and leaked memory
Change-Id: I525ac8d284783ffff08e31dc7fe2a892bfc78307
2017-01-19 14:00:47 -08:00
Alexander Afanasyev e19643deed ci: Add generation of HTML coverage reports using lcov
Change-Id: I877b2c9cd5250f08fd94b2168ff61522aa4df62d
2017-01-18 23:35:12 -08:00
Alexander Afanasyev 574aa86e88 security: Add a set of signature verification helpers
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
2017-01-12 16:27:47 -08:00
Alexander Afanasyev f8379173cf security: Make self-signed certificate valid from 1970-01-01 to now()+20 years
Previously set now()+1000 years doesn't work because of the bug #3915

Change-Id: Ia83a0bc921f49424fc19bcd15aad642a87e76803
2017-01-12 09:54:37 -08:00
Alexander Afanasyev 414697588f signature-info: Fix encoding of type-specific TLV
This commit also introduces operator<< for SignatureInfo

Change-Id: Iddf5b77d9dab9f7b1764500726e6d5b1e13aedbb
Refs: #3914
2017-01-12 09:48:47 -08:00
Alexander Afanasyev 70244f4018 Switch to new KeyChain where possible
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
2017-01-10 18:43:51 -08:00
Alexander Afanasyev 1b58a03a9f security: Add CommandInterestSigner
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
2017-01-10 18:43:51 -08:00
Alexander Afanasyev fc99b51355 tests: Implement IdentityManagementV2Fixture for v2::KeyChain
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
2017-01-10 18:43:18 -08:00
Alexander Afanasyev 4c9a3d59c4 security: Move KeyChain to security::v1 namespace and deprecated it
Change-Id: Ic4b6915ca15998a83b410f3f8fac027f797ee7ca
Refs: #3098
2017-01-09 13:20:55 -08:00
Alexander Afanasyev 83eb1cc88e security: Simplify (unify) implementation of v2::KeyChain::selfSign
Change-Id: Iec052adfe76fbaad6862caa4a61091aa5f6b10ac
Refs: #2926
2017-01-09 13:20:55 -08:00
Alexander Afanasyev d6d78aa0a4 security: Allow Identity and Key abstractions to be used in SigningInfo
Change-Id: Ic1c8d6925557ea5da2011ab68f16587eef2102f3
Refs: #3153
2017-01-09 13:20:55 -08:00
Alexander Afanasyev c95f564778 security: Return *this from SigningInfo setters
This change is to allow chaining of SigningInfo setters.

Change-Id: I6d37b6028cf4d94f17f574b5a0d5cc65482580f1
2017-01-08 12:59:02 -08:00
Alexander Afanasyev 5f1820e60f security: Implement operator<< for v2::Certificate
This commit also implements operator<< for SignatureInfoValue and
KeyLocator.

Change-Id: I71d3840ab63bacf1278d755b5eed9630c5a2f48f
2017-01-08 12:58:56 -08:00
Alexander Afanasyev 1013fd0d33 face: Invoke NackCallback on all matching Interests
Change-Id: I7fd2b6456f9d3b83dafde4348c90bad9acd500f6
Refs: #3908
2017-01-04 15:03:34 -08:00
Alexander Afanasyev 97709c0b6e security: Move PIB-related code into security/pib/
Change-Id: I94ea7ce646e66382f7c534ca1c8d6cbeeb87b1a4
2016-12-31 10:18:15 -08:00
Alexander Afanasyev 7399651ea8 ci: Update version of macOS slave for Travis-CI
Change-Id: I70908ca871ea258989ec4bf0acc8e42ea224c219
2016-12-29 11:10:50 -08:00
Alexander Afanasyev ed1e99daa0 util: Allow customization of the logger
The customization is necessary for Android and NS-3 builds

Change-Id: I8f799bfae63bd97c566eade812c575a7397ae223
2016-11-05 10:01:57 -06:00
Alexander Afanasyev 465c973274 build: Do not fail the build in debug mode when using deprecated declarations
The original motivation of this change was to avoid compilation failure
in debug mode on macOS 10.12.

Change-Id: I032b8d98d3aaf5602e10142a4d38e0b61b24b44e
Refs: #3795
2016-10-12 09:22:46 -07:00
Alexander Afanasyev 4df2230ba3 docs+build: Prepare for version 0.5.0 release
Change-Id: I4bd90a5229bc010cdcfd7c77c32ccfc62d72ac53
Refs: #3762
2016-10-04 18:39:53 -07:00
Alexander Afanasyev 02948ecc83 security: Add support for OpenSSL 1.1.0 API
Change-Id: I8deb4c5c5cbc1755b492ccd12707d83764a91ad7
Refs: #3757
2016-09-12 19:48:38 -07:00
Alexander Afanasyev 5a67310e89 docs: Fix syntax for python3
Change-Id: I70125961a2382427328932a523cf1f29ac83bae4
2016-09-02 12:01:36 -07:00
Alexander Afanasyev 2fa5939375 security: Reorganizing source code to prepare for support of two version of NDN certificates
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
2016-08-25 18:28:29 -07:00
Alexander Afanasyev 667370f102 tests+ci: Customize unit test running for different versions of Boost
Change-Id: I1619c84653f82c2b0c00c379b8cb61bc43546d87
Refs: #3750
2016-08-24 13:05:20 -07:00
Alexander Afanasyev 750472b63d build: Fix detection of OpenSSL on OS X with HomeBrew
Change-Id: Ibcbc9516cf3b47eaab446bd51eb70917226c8104
Refs: #3697
2016-08-05 12:08:01 -07:00
Alexander Afanasyev 224044fc30 build: Force linking against the locally compiled ndn-cxx library
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
2016-08-03 11:48:27 -07:00
Alexander Afanasyev cf490555ff tests: Extending Face test cases
Add previously removed test cases to check if config-file based
transport customization works.

Change-Id: I7e2235494f2ba7011423e743ab8e437c74d56d1f
2016-07-01 16:08:56 -07:00
Alexander Afanasyev e4f8c3bec2 tests: Enable isolation of KeyChain during run of unit/integrated tests
Change-Id: Ia136e4bb074c14e8d824f563594cbc0ad7592c3b
Refs: #3655
2016-06-30 14:08:36 -07:00
Alexander Afanasyev 8cf1c56dbb face: Enable KeyChain customization in DummyClientFace
This feature also required two new Face constructors

Change-Id: I25c6d9d0d94a065176ed348d25e7b99a6c7999c0
Refs: #3435
2016-06-30 14:02:48 -07:00
Alexander Afanasyev 57e003638d face+security: Introduce environment variables to set/override transport, pib, and tpm configurations.
- 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
2016-06-29 12:29:19 -07:00
Alexander Afanasyev 67cb75c7d8 ci: Add missing installation of openssl dependency
Change-Id: I8c515a87a2c70236214bc88e019b7f3a7bea7ebd
Refs: #3643
2016-06-20 10:23:54 -07:00
Alexander Afanasyev 4f512fb24e name: Add Name::deepCopy to allow memory optimizations
Change-Id: I5c498d7524c497e8d7c8e2d89561ff51d1c64d35
Refs: #3618
2016-05-25 14:46:20 -07:00
Alexander Afanasyev 8e998e415f ci: On OS X, install openssl brew package to standard locations ("link" it)
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
2016-05-20 16:15:31 -08:00
Alexander Afanasyev 2e52d7cab4 docs+build: Prepare release of version 0.4.1
Change-Id: Ib353b3b7b40cd77ff1bf4f6bd819124cc51e452e
Refs: #3385
2016-03-25 10:39:02 -07:00
Alexander Afanasyev 077862e7d8 ci: Fix travis-CI build matrix
Change-Id: Id44f23dba027559d8f96aca581840d325c5ca858
Refs: #3360
2016-03-15 12:56:18 -07:00
Alexander Afanasyev 5d69550c8c tools: Fix broken ndnsec-op-tool
Change-Id: I058f5198c276246ee3d7392704b6579c107cdfa9
Refs: #3469
2016-03-03 10:50:19 -08:00
Alexander Afanasyev 8c6880f58e build: Fix compatibility with Python 3
Change-Id: I6e38315945a683a87bbeb4b4a352de3c7122ef7c
Refs: #3493
2016-03-03 10:50:19 -08:00
Alexander Afanasyev 1b6187ff70 ci: Fix unit test execution with boost 1.60
Change-Id: I8bdefd6d5e082f01c827fbe4a92ce5c7952b8bd1
Refs: #3417
2016-01-18 22:41:49 +01:00
Alexander Afanasyev ce7b062a6f util: Workaround for gcc-4.7 being unable to deduce noexcept specifications
Change-Id: Ib8b00ff7a6293c4f8596615c4f2af266eab28a1a
Refs: #3384
2016-01-05 10:36:01 -08:00