[Nfd-dev] Try NDNCERT (based on Interest-Data exchange) and get an NDN certificate today

Junxiao Shi shijunxiao at email.arizona.edu
Tue Sep 3 13:09:32 PDT 2019


Hi Zhiyi

I attempted the procedure, but the client.conf contents enclosed in the PDF
is cut off and therefore is not a valid JSON.
After adding a " symbol after /Q, it becomes valid JSON, but ndncert-client
crashes with the following error:

vagrant at m0212:~$ gdb ndncert-client
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ndncert-client...done.
(gdb) run
Starting program: /usr/local/bin/ndncert-client
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff515d700 (LWP 4285)]

Thread 1 "ndncert-client" received signal SIGSEGV, Segmentation fault.
std::_Rb_tree<int, std::pair<int const, std::shared_ptr<ndn::Tag> >,
std::_Select1st<std::pair<int const, std::shared_ptr<ndn::Tag> > >,
std::less<int>, std::allocator<std::pair<int const,
std::shared_ptr<ndn::Tag> > > >::operator= (
    this=this at entry=0x7fffffffdc08, __x=...)
    at /usr/include/c++/5/bits/stl_tree.h:1476
1476              if (__x._M_root() != 0)
(gdb) bt full
#0  std::_Rb_tree<int, std::pair<int const, std::shared_ptr<ndn::Tag> >,
std::_Select1st<std::pair<int const, std::shared_ptr<ndn::Tag> > >,
std::less<int>, std::allocator<std::pair<int const,
std::shared_ptr<ndn::Tag> > > >::operator= (
    this=this at entry=0x7fffffffdc08, __x=...)
    at /usr/include/c++/5/bits/stl_tree.h:1476
        __roan = {_M_root = 0x0, _M_nodes = 0x0, _M_t = @0x7fffffffdc08}
#1  0x00007ffff7f93aee in std::map<int, std::shared_ptr<ndn::Tag>,
std::less<int>, std::allocator<std::pair<int const,
std::shared_ptr<ndn::Tag> > > >::operator= (__x=<error reading variable:
Cannot access memory at address 0x28>,
    this=0x7fffffffdc08) at /usr/include/c++/5/bits/stl_map.h:298
No locals.
#2  ndn::TagHost::operator= (this=0x7fffffffdc08)
    at /usr/local/include/ndn-cxx/detail/tag-host.hpp:34
No locals.
#3  ndn::PacketBase::operator= (this=0x7fffffffdc08)
    at /usr/local/include/ndn-cxx/detail/packet-base.hpp:31
No locals.
#4  ndn::Data::operator= (this=0x7fffffffdc08)
    at /usr/local/include/ndn-cxx/data.hpp:35
No locals.
#5  ndn::security::v2::Certificate::operator= (this=0x7fffffffdc08)
    at /usr/local/include/ndn-cxx/security/v2/certificate.hpp:81
No locals.
---Type <return> to continue, or q <return> to quit---
#6  ndn::ndncert::ClientConfig::extractCaItem (configSection=...)
    at ../src/client-config.cpp:66
        item = {m_caName = {static npos = 18446744073709551615, m_wire = {
              m_buffer = std::shared_ptr (empty) 0x0,
              m_begin = <error reading variable>},
          m_caInfo = "UCLA CA in NDN Testbed", m_probe = "email",
          m_anchor = {<ndn::Data> = {<ndn::PacketBase> = {<ndn::TagHost> = {
                  m_tags = std::map with 0 elements}, <No data fields>},
<std::enable_shared_from_this<ndn::Data>> = {
                _M_weak_this = std::weak_ptr (empty) 0x0}, m_name = {
                static npos = 18446744073709551615, m_wire = {
                  m_buffer = std::shared_ptr (empty) 0x0,
                  m_begin = <error reading variable>}, m_metaInfo = {
                m_type = 2, m_freshnessPeriod = {rep_ = 0}, m_finalBlockId
= {
                  has_value_ = false, contained = {data = {
                      __data = '\000' <repeats 87 times>,
                      __align = {<No data fields>}}}},
                m_appMetaInfo = {<std::__cxx11::_List_base<ndn::Block,
std::allocator<ndn::Block> >> = {
                    _M_impl = {<std::allocator<std::_List_node<ndn::Block>
>> = {<__gnu_cxx::new_allocator<std::_List_node<ndn::Block> >> = {<No data
fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {
                          _M_next = 0x7fffffffdd10, _M_prev =
0x7fffffffdd10},
---Type <return> to continue, or q <return> to quit---
                        _M_data = 0}}}, <No data fields>}, m_wire = {
                  m_buffer = std::shared_ptr (empty) 0x0,
                  m_begin = <error reading variable>}, m_content = {
                m_buffer = std::shared_ptr (empty) 0x0,
                m_begin = <error reading variable>, m_signature = {m_info =
{
                  m_type = -1, m_hasKeyLocator = false, m_keyLocator = {
                    m_locator = {data = {
                        __data = '\000' <repeats 33 times>,
"\340\000\000\000\356p\000\000\340\016\000\000\236\066", '\000' <repeats 17
times>, "VmZW5nCANLRVkICH\000\000\000\000\000\000\000", __align = {<No data
fields>}},
                      type_index = 0 '\000'}, m_wire = {
                      m_buffer = std::shared_ptr (empty) 0x0,
                      m_begin = <error reading variable>},
                  m_otherTlvs = {<std::__cxx11::_List_base<ndn::Block,
std::allocator<ndn::Block> >> = {
                      _M_impl =
{<std::allocator<std::_List_node<ndn::Block> >> =
{<__gnu_cxx::new_allocator<std::_List_node<ndn::Block> >> = {<No data
fields>}, <No data fields>}, _M_node = {<std::__detail::_List_node_base> = {
                            _M_next = 0x7fffffffde98,
                            _M_prev = 0x7fffffffde98},
                          _M_data = 0}}}, <No data fields>}, m_wire = {
                    m_buffer = std::shared_ptr (empty) 0x0,
                    m_begin = <error reading variable>}, m_value = {
---Type <return> to continue, or q <return> to quit---
                  m_buffer = std::shared_ptr (empty) 0x0,
                  m_begin = <error reading variable>}, m_wire = {
                m_buffer = std::shared_ptr (empty) 0x0,
                m_begin = <error reading variable>, m_fullName = {
                static npos = 18446744073709551615, m_wire = {
                  m_buffer = std::shared_ptr (empty) 0x0,
                  m_begin = <error reading variable>}},
            static VERSION_OFFSET = -1, static ISSUER_ID_OFFSET = -2,
            static KEY_COMPONENT_OFFSET = -4, static KEY_ID_OFFSET = -3,
            static MIN_CERT_NAME_LENGTH = 4, static MIN_KEY_NAME_LENGTH = 2,
            static KEY_COMPONENT = {<ndn::Block> = {m_buffer =
    std::shared_ptr (count 1, weak 0) 0x439820, m_begin = 8 '\b',
                m_end = 127 '\177', m_valueBegin = 75 'K',
                m_valueEnd = 127 '\177', m_type = 8, m_size = 5,
                m_elements = std::vector of length 0, capacity 0}, <No data
fields>}}}
        ss = <incomplete type>
#7  0x00007ffff7f941a2 in ndn::ndncert::ClientConfig::load (
    this=this at entry=0x4233c8 <ndn::ndncert::client+8>, configSection=...)
    at ../src/client-config.cpp:53
        caList = {m_data = "", m_children = 0x496fe0}
        it =
{<boost::iterators::iterator_adaptor<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >::iterat---Type <return> to continue, or
q <return> to quit---
or,
boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
boost::iterators::use_default, boost::iterators::use_default,
boost::iterators::use_default>> =
{<boost::iterators::iterator_facade<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >::iterator,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char---Type <return> to continue, or
q <return> to quit---
> >, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
boost::iterators::bidirectional_traversal_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >&, long>> =
{<boost::iterators::detail::iterator_facade_base<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >::iterator,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
boost::iterators::bidirectional_traversal_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >&, long, true, false>>
=
{<boost::iterators::detail::iterator_facade_base<boost::property_tree::basic_ptree<std::__cxx11::basic_string<char>,
std::__cxx11::basic_string<char> >::iterator,
std::pair<std::__cxx11::basic_stri---Type <return> to continue, or q
<return> to quit---
ng<char, std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
boost::iterators::bidirectional_traversal_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >&, long, false, false>>
= {<No data fields>}, <No data fields>}, <No data fields>},
            m_iterator =
{<boost::bidirectional_iterator_helper<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<---Type <return> to continue, or q
<return> to quit---
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const&>> =
{<boost::bidirectional_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_strin---Type <return>
to continue, or q <return> to quit---
g<char, std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const, boost::property_tree::basic_p---Type <return>
to continue, or q <return> to quit---
tree<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > const&> >> =
{<boost::forward_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::---Type
<return> to continue, or q <return> to quit---
ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const, boost::property_tree::basic_ptree<s---Type
<return> to continue, or q <return> to quit---
td::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > const&> > >> =
{<boost::input_iteratable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordere---Type
<return> to continue, or q <return> to quit---
d_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__---Type <return> to continue, or q
<return> to quit---
cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const&> > >> =
{<boost::equality_comparable1<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
boost::incrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::c---Type <return> to continue, or q <return> to quit---
har_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, s---Type <return> to continue, or q <return> to
quit---
td::allocator<char> > > > > const*,
boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_t---Type <return> to continue, or q <return> to quit---
raits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const&> > > > >> =
{<boost::incrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_stri---Type <return>
to continue, or q <return> to quit---
ng<char, std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_trait---Type <return> to continue, or q <return> to quit---
s<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > > > > > >,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const&> > > >> =
{<boost::dereferenceable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<ch---Type
<return> to continue, or q <return> to quit---
ar, std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<cha---Type <return> to continue, or q <return> to quit---
r>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > > > > > > >,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const&> > >> =
{<boost::decrementable<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::sequenced_index_node<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::---Type <return> to continue, or q <return> to quit---
char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::less<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > > > >,
std::allocator<std::pair<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > > > > > >,
std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std:---Type <return> to continue, or q <return> to
quit---
:allocator<char> > > > > const&> >> =
{<std::iterator<std::bidirectional_iterator_tag,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, long,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const*,
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const,
boost::property_tree::basic_ptree<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::less<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > > const&>> = {<No data
fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data
fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data
fields>}, node = 0x4976f0}}, <No data fields>}
#8  0x00007ffff7f957f3 in ndn::ndncert::ClientConfig::load (
    this=this at entry=0x4233c8 <ndn::ndncert::client+8>,
    fileName="/usr/local/etc/ndncert/client.conf")
    at ../src/client-config.cpp:43
---Type <return> to continue, or q <return> to quit---
        config = {m_data = "", m_children = 0x494100}
        __PRETTY_FUNCTION__ = "void ndn::ndncert::ClientConfig::load(const
string&)"
#9  0x0000000000412df0 in ndn::ndncert::main (argc=1, argv=0x7fffffffe5b8)
    at ../tools/ndncert-client.cpp:347
        configFilePath = "/usr/local/etc/ndncert/client.conf"
        description = {static m_default_line_length = 80,
          m_caption = "General Usage\n ndncert-client [-h] [-f]\n",
          m_line_length = 80, m_min_description_length = 40,
          m_options = std::vector of length 2, capacity 2 = {{px = 0x494af0,
              pn = {pi_ = 0x493790}}, {px = 0x494b70, pn = {pi_ =
0x494190}}},
          belong_to_group = std::vector<bool> of length 2, capacity 64 = {0,
            0}, groups = std::vector of length 0, capacity 0}

        p = {m_names = std::vector of length 0, capacity 0, m_trailing = ""}

        vm = <incomplete type>
#10 0x0000000000413028 in main (argc=<optimized out>, argv=<optimized out>)
    at ../tools/ndncert-client.cpp:363
No locals.

My environment:

   - Ubuntu 16.04 amd64
   - ndn-cxx ef654dd3ba16f7ec950b4c9ae293617097dc645c
   - NFD df1dc6590cc2f21faf9e51fe7ec2604cc5e923ca
   - ndncert 151906039cc6bc2a6f5ba8ce5f25ab98ee519ca5


Yours, Junxiao

On Thu, Jun 27, 2019 at 6:37 PM Zhiyi Zhang <zhiyi at cs.ucla.edu> wrote:

> Hi all,
>
> We have deployed a test NDNCERT server and it's available now.
> To play with the new NDNCERT, one can simply follow the instructions here:
> https://zhiyi-zhang.com/content/try-ndncert-today.pdf
>
> Any comments or suggestions are welcome.
>
> Please be aware that the NDNCERT CA certificate is a self-signed
> certificate, so all the certificates issued by this NDNCERT test server
> cannot be trusted by the Testbed forwarders (e.g., the request will be
> denied when you want to use the cert to register a prefix on the testbed.)
>
> Best,
> Zhiyi
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20190903/75cd9e89/attachment-0001.html>


More information about the Nfd-dev mailing list