encoding: treat TLV-TYPE zero as invalid

 * Use tlv::Invalid to indicate an invalid Block, instead of
   UINT32_MAX (which is a valid type), thus fixing bug #4726
 * Introduce Block::isValid as a replacement for Block::empty
   and soft-deprecate the latter
 * Improve test coverage of Block and tlv::readType

Refs: #4726, #4895
Change-Id: I1cd3336fcbfe83555f3111738da67041dfae64f3
7 files changed
tree: aab5d16c26c12602e61157416a993cabb5cb591a
  1. .jenkins.d/
  2. .waf-tools/
  3. docs/
  4. examples/
  5. ndn-cxx/
  6. tests/
  7. tools/
  8. .gitignore
  9. .jenkins
  10. .mailmap
  11. .travis.yml
  12. AUTHORS.md
  13. client.conf.sample
  14. COPYING.md
  15. libndn-cxx.pc.in
  16. README-dev.md
  17. README.md
  18. waf
  19. wscript
README.md

ndn-cxx: NDN C++ library with eXperimental eXtensions

Language Build Status Latest Version

ndn-cxx is a C++14 library implementing Named Data Networking (NDN) primitives that can be used to write various NDN applications. The library is currently being used by the following projects:

Documentation

See docs/INSTALL.rst for compilation and installation instructions.

Extensive documentation is available on the library's homepage.

Reporting bugs

Please submit any bugs or feature requests to the ndn-cxx issue tracker.

Contributing

You're encouraged to contribute to ndn-cxx! Check out the Contributor's Guide to get started.

License

ndn-cxx is an open source project licensed under the LGPL version 3. See COPYING.md for more information.