<div dir="ltr">Zhiyi,<div><br></div><div>I tried the new instructions but I always get an Interest timeout error from ndncert-client after step 1.</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 3, 2019 at 10:39 PM Zhiyi Zhang <<a href="mailto:zhiyi@cs.ucla.edu">zhiyi@cs.ucla.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">I forwarded this message here:</p><table style="border-collapse:collapse;margin:0px auto;width:1111px"><tbody><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">Message ID</th><td class="gmail-m_-1444044589645586321gmail-message_id" style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px;color:rgb(46,125,50)"><CAHe54u==<a href="mailto:EV8HtV%2BJDtZn9znA42-T_FpN2Z_3gce4YDAJCvF-hQ@mail.gmail.com" target="_blank">EV8HtV+JDtZn9znA42-T_FpN2Z_3gce4YDAJCvF-hQ@mail.gmail.com</a>></td></tr><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">Created at:</th><td style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px">Tue, Aug 13, 2019 at 1:08 PM (Delivered after 0 seconds)</td></tr><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">From:</th><td style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px">YUFENG ZHANG <<a href="mailto:yufeng@ucla.edu" target="_blank">yufeng@ucla.edu</a>></td></tr><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">To:</th><td class="gmail-m_-1444044589645586321gmail-toRecipientsSelector" style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px"><a href="mailto:nfd-dev@lists.cs.ucla.edu" target="_blank">nfd-dev@lists.cs.ucla.edu</a></td></tr><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">Subject:</th><td style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px">Fwd: NDNCERT and repo-ng Deployment</td></tr><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">SPF:</th><td style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px"><span class="gmail-m_-1444044589645586321gmail-authresult" style="text-transform:uppercase">NEUTRAL</span> with IP 0.0.0.0 <a href="https://support.google.com/a/answer/33786?hl=en" class="gmail-m_-1444044589645586321gmail-learn-more-link" style="padding-left:5px;text-decoration-line:none" target="_blank">Learn more</a></td></tr><tr><th style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);font-weight:normal;border-left:thin solid rgb(224,224,224);padding:12px 20px;text-align:left">DKIM:</th><td style="border-bottom:thin solid rgb(224,224,224);border-top:thin solid rgb(224,224,224);border-right:thin solid rgb(224,224,224);padding:8px"><span class="gmail-m_-1444044589645586321gmail-authresult" style="text-transform:uppercase">'PASS'</span> with domain <a href="http://ucla-edu.20150623.gappssmtp.com" target="_blank">ucla-edu.20150623.gappssmtp.com</a> <a href="https://support.google.com/a/answer/174124?hl=en" class="gmail-m_-1444044589645586321gmail-learn-more-link" style="padding-left:5px;text-decoration-line:none" target="_blank">Learn more</a></td></tr></tbody></table><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">================================</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">Hi everyone,</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">The <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">NDNCERT</span></code> and <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">repo-ng</code> are deployed on the ICE-AR server at UCLA, and the server has been connected to the <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">NDN</span> testbed. All issued certificates will be pushed to <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">repo-ng</code>.</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">To request a certificate, please see the below steps:</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">0) make sure <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndn</span>-cxx</code>, <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">nfd</code>, and <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">Boost</code> are correctly configured on the machine</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">1) get the latest version of <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">NDNCERT</span> on <a href="https://github.com/named-data/ndncert" style="color:rgb(179,51,255);box-sizing:border-box;text-decoration-line:none" target="_blank">https://github.com/named-data/<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndncert</span></a></p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">2) switch to the <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndncert</span></code> direcory, compile, and install <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndncert</span> by running</p><pre style="white-space:pre-wrap;box-sizing:border-box;line-height:1.2em;padding:0px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:14.4px;color:rgb(51,51,51);border-radius:4px;margin-top:1.2em;margin-bottom:1.2em;word-break:break-all;background-color:rgb(245,245,245);border:0px;overflow:auto"><code style="box-sizing:border-box;padding:0.5em 0.7em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:black;border-radius:3px;background:rgb(255,255,255);border:1px solid rgb(204,204,204);margin:0px 0.15em;display:block">    cd <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndncert</span>
    ./waf configured
    ./waf
    ./waf install</code></pre><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">If installation fails, try using <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">sudo ./waf install</code>.</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">3) switch to <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">/usr/local/etc/<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndncert</span></code>, and create <code style="box-sizing:border-box;padding:0px 0.3em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:rgb(221,17,68);border-radius:3px;background-color:rgb(248,248,248);border:1px solid rgb(234,234,234);white-space:nowrap;margin:0px 0.15em;display:inline">client.conf</code></p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">use the following configuration for this file</p><pre style="white-space:pre-wrap;box-sizing:border-box;line-height:1.2em;padding:0px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:14.4px;color:rgb(51,51,51);border-radius:4px;margin-top:1.2em;margin-bottom:1.2em;word-break:break-all;background-color:rgb(245,245,245);border:0px;overflow:auto"><code class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-language-json" style="box-sizing:border-box;padding:0.5em 0.7em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:black;border-radius:3px;background:rgb(255,255,255);border:1px solid rgb(204,204,204);margin:0px 0.15em;display:block">{
  "<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-attribute" style="box-sizing:border-box">ca-list</span>":
  <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-value" style="box-sizing:border-box">[
        {
        "<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-attribute" style="box-sizing:border-box">ca-prefix</span>": <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-value" style="box-sizing:border-box"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-string" style="box-sizing:border-box;color:rgb(196,26,22)">"/<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndn</span>/edu/ucla/<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">yufeng</span>"</span></span>,
        "<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-attribute" style="box-sizing:border-box">ca-info</span>": <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-value" style="box-sizing:border-box"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-string" style="box-sizing:border-box;color:rgb(196,26,22)">"UCLA CA in <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">NDN</span> Testbed"</span></span>,
        "<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-attribute" style="box-sizing:border-box">probe</span>": <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-value" style="box-sizing:border-box"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-string" style="box-sizing:border-box;color:rgb(196,26,22)">"email"</span></span>,
        "<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-attribute" style="box-sizing:border-box">certificate</span>":
        <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-value" style="box-sizing:border-box"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-string" style="box-sizing:border-box;color:rgb(196,26,22)">"Bv0DfQc2CANuZG4IA2VkdQgEdWNsYQgGeXVmZW5nCANLRVkICHelnivON8k8CAJOQQgJ/QAAAWx3XLP1FAkYAQIZBAA27oAV/QEmMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApvMgYc/PTZDcgKC3BAQ5zEs/B09pJ8TpR41BjGJe1KIr0P0MGZlCW1ZKbsV8y+gZKUZefVwqwfHUJlto/OpQgxm2oZED/f/m4F80KIRzpGi7sF0PvOiZErXEUAJzTrhb5SFzQo9P9n4Zi7uptltFPkpTdZrSKiKfW7ejn5woXoUgjC1EnMQAx+UFPjqbd3C1t5SlmfYtRFiaekF2LN+rkb1AnQ99lisSOwGdwbbyyxrcbclI5DxH9xrbAswHnn26grEGczAzM940Ksvsyd0tfc2EQirHc+IYWHoESMySzB6bJ0Q1GAG6INqklSAfOCz0upKzmyOcTE9yxYblsRmv9QIDAQABFv0BCBsBARwhBx8IA25kbggDZWR1CAR1Y2xhCANLRVkICNIoXYQ3ivN6/QD9Jv0A/g8yMDE5MDgwOFQxNzEwNTn9AP8PMjAyMDA4MDhUMTcxMDU5/QECtP0CAA/9AgEHYWR2aXNvcv0CAgD9AgAc/QIBBWVtYWls/QICD3l1ZmVuZ0B1Y2xhLmVkdf0CABz9AgEIZnVsbG5hbWX9AgIMWXVmZW5nIFpoYW5n/QIADf0CAQVncm91cP0CAgD9AgAP/QIBB2hvbWV1cmz9AgIA/QIAOf0CAQxvcmdhbml6YXRpb279AgIlVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLCBMb3MgQW5nZWxlcxf9AQBdzD9rcuhnba7pHA/TSptn+qhCq10Y5cPMDmk8fhUxWSJdJ/BAml4gI539uIUIy6g+ZbpxPTBR4YwJSsP5FWFENIpGcB3spZrBnDCzGKY2iNTODaVi4dHv8UAcVaN5cNUVbvr8KvZyzTHN4UYJTu1NAnw3J3SleOF+8Rfujv4rRyq+5ydqw36aZc5Dkp4oYOXhkMlvZijUy/IIuetVvEJxvQsixw4p+ZrANCqow5glHKI4B/WbQJmjfyx+3TJ0QXnpV3sL9trNqEimTYY1P+VTl/hOVsC4E7knNcF3zzGFaBPyI2Q511N3nuHVtrDAnPjnEddNSoF4NRDILg6iCSrJ"</span>
        </span>}
  ]
</span>}</code></pre><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">4) make sure NFD is running, and your machine is connected to the <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">NDN</span> testbed. If not, perform the following operations to start NFD and connect to testbed:</p><pre style="white-space:pre-wrap;box-sizing:border-box;line-height:1.2em;padding:0px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:14.4px;color:rgb(51,51,51);border-radius:4px;margin-top:1.2em;margin-bottom:1.2em;word-break:break-all;background-color:rgb(245,245,245);border:0px;overflow:auto"><code class="gmail-m_-1444044589645586321m_642463061312667916gmail-m_-723798369353710421m_6616915440795138769m_2167223177074730275gmail-language-bash" style="box-sizing:border-box;padding:0.5em 0.7em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:black;border-radius:3px;background:rgb(255,255,255);border:1px solid rgb(204,204,204);margin:0px 0.15em;display:block">nfd-start
nfdc face create udp4://<a href="http://spurs.cs.ucla.edu/" target="_blank">spurs.cs.ucla.edu</a></code></pre><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">After you run the face creation command, you will see a face ID. Substitute the face ID into the below commands.</p><pre style="white-space:pre-wrap;box-sizing:border-box;line-height:1.2em;padding:0px;font-family:Consolas,Inconsolata,Courier,monospace;font-size:14.4px;color:rgb(51,51,51);border-radius:4px;margin-top:1.2em;margin-bottom:1.2em;word-break:break-all;background-color:rgb(245,245,245);border:0px;overflow:auto"><code style="box-sizing:border-box;padding:0.5em 0.7em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:0.85em;color:black;border-radius:3px;background:rgb(255,255,255);border:1px solid rgb(204,204,204);margin:0px 0.15em;display:block">nfdc route add /<span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndn</span> FACE_ID</code></pre><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">5) Request a certificate by running <span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">ndncert</span>-client on your terminal, and enter the required information.</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px">If there are any questions, plaese contact <a href="mailto:zhiyi@cs.ucla.edu" target="_blank">zhiyi@cs.ucla.edu</a> and <a href="mailto:yufeng@ucla.edu" target="_blank"><span class="gmail-m_-1444044589645586321m_642463061312667916gmail-il">yufeng</span>@ucla.edu</a>.</p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px"><br></p><p style="box-sizing:border-box;margin:0px 0px 13px;color:rgb(94,90,97);font-family:Arial,sans-serif;font-size:14.4px"><br></p></div><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 3, 2019 at 7:30 PM Davide Pesavento <<a href="mailto:davidepesa@gmail.com" target="_blank">davidepesa@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Zhiyi,<br>
<br>
When was this second email sent exactly? And to what ML? I don't see<br>
anything from Yufeng in the past three months.<br>
<br>
Davide<br>
<br>
On Tue, Sep 3, 2019 at 10:21 PM Zhiyi Zhang <<a href="mailto:zhiyi@cs.ucla.edu" target="_blank">zhiyi@cs.ucla.edu</a>> wrote:<br>
><br>
> Hi Junxiao,<br>
><br>
> This is because the PDF cuts the certificate bytes and thus the NDNCERT client cannot load the anchor certificate.<br>
> @Yufeng sent another update on the NDNCERT instructions in another email later than this one.<br>
><br>
> Hi Yufeng,<br>
> Could you point those instructions to Junxiao again?<br>
> Also, I heard the ICE-AR server (NDNCERT CA's host server) got some issue and does not work temporarily. Do you know the status of NDNCERT server?<br>
><br>
> Best,<br>
> Zhiyi<br>
><br>
> On Tue, Sep 3, 2019 at 1:09 PM Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" target="_blank">shijunxiao@email.arizona.edu</a>> wrote:<br>
>><br>
>> Hi Zhiyi<br>
>><br>
>> I attempted the procedure, but the client.conf contents enclosed in the PDF is cut off and therefore is not a valid JSON.<br>
>> After adding a " symbol after /Q, it becomes valid JSON, but ndncert-client crashes with the following error:<br>
>><br>
>> vagrant@m0212:~$ gdb ndncert-client<br>
>> GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1<br>
>> Copyright (C) 2016 Free Software Foundation, Inc.<br>
>> License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html" rel="noreferrer" target="_blank">http://gnu.org/licenses/gpl.html</a>><br>
>> This is free software: you are free to change and redistribute it.<br>
>> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"<br>
>> and "show warranty" for details.<br>
>> This GDB was configured as "x86_64-linux-gnu".<br>
>> Type "show configuration" for configuration details.<br>
>> For bug reporting instructions, please see:<br>
>> <<a href="http://www.gnu.org/software/gdb/bugs/" rel="noreferrer" target="_blank">http://www.gnu.org/software/gdb/bugs/</a>>.<br>
>> Find the GDB manual and other documentation resources online at:<br>
>> <<a href="http://www.gnu.org/software/gdb/documentation/" rel="noreferrer" target="_blank">http://www.gnu.org/software/gdb/documentation/</a>>.<br>
>> For help, type "help".<br>
>> Type "apropos word" to search for commands related to "word"...<br>
>> Reading symbols from ndncert-client...done.<br>
>> (gdb) run<br>
>> Starting program: /usr/local/bin/ndncert-client<br>
>> [Thread debugging using libthread_db enabled]<br>
>> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".<br>
>> [New Thread 0x7ffff515d700 (LWP 4285)]<br>
>><br>
>> Thread 1 "ndncert-client" received signal SIGSEGV, Segmentation fault.<br>
>> 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= (<br>
>>     this=this@entry=0x7fffffffdc08, __x=...)<br>
>>     at /usr/include/c++/5/bits/stl_tree.h:1476<br>
>> 1476              if (__x._M_root() != 0)<br>
>> (gdb) bt full<br>
>> #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= (<br>
>>     this=this@entry=0x7fffffffdc08, __x=...)<br>
>>     at /usr/include/c++/5/bits/stl_tree.h:1476<br>
>>         __roan = {_M_root = 0x0, _M_nodes = 0x0, _M_t = @0x7fffffffdc08}<br>
>> #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>,<br>
>>     this=0x7fffffffdc08) at /usr/include/c++/5/bits/stl_map.h:298<br>
>> No locals.<br>
>> #2  ndn::TagHost::operator= (this=0x7fffffffdc08)<br>
>>     at /usr/local/include/ndn-cxx/detail/tag-host.hpp:34<br>
>> No locals.<br>
>> #3  ndn::PacketBase::operator= (this=0x7fffffffdc08)<br>
>>     at /usr/local/include/ndn-cxx/detail/packet-base.hpp:31<br>
>> No locals.<br>
>> #4  ndn::Data::operator= (this=0x7fffffffdc08)<br>
>>     at /usr/local/include/ndn-cxx/data.hpp:35<br>
>> No locals.<br>
>> #5  ndn::security::v2::Certificate::operator= (this=0x7fffffffdc08)<br>
>>     at /usr/local/include/ndn-cxx/security/v2/certificate.hpp:81<br>
>> No locals.<br>
>> ---Type <return> to continue, or q <return> to quit---<br>
>> #6  ndn::ndncert::ClientConfig::extractCaItem (configSection=...)<br>
>>     at ../src/client-config.cpp:66<br>
>>         item = {m_caName = {static npos = 18446744073709551615, m_wire = {<br>
>>               m_buffer = std::shared_ptr (empty) 0x0,<br>
>>               m_begin = <error reading variable>},<br>
>>           m_caInfo = "UCLA CA in NDN Testbed", m_probe = "email",<br>
>>           m_anchor = {<ndn::Data> = {<ndn::PacketBase> = {<ndn::TagHost> = {<br>
>>                   m_tags = std::map with 0 elements}, <No data fields>}, <std::enable_shared_from_this<ndn::Data>> = {<br>
>>                 _M_weak_this = std::weak_ptr (empty) 0x0}, m_name = {<br>
>>                 static npos = 18446744073709551615, m_wire = {<br>
>>                   m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                   m_begin = <error reading variable>}, m_metaInfo = {<br>
>>                 m_type = 2, m_freshnessPeriod = {rep_ = 0}, m_finalBlockId = {<br>
>>                   has_value_ = false, contained = {data = {<br>
>>                       __data = '\000' <repeats 87 times>,<br>
>>                       __align = {<No data fields>}}}},<br>
>>                 m_appMetaInfo = {<std::__cxx11::_List_base<ndn::Block, std::allocator<ndn::Block> >> = {<br>
>>                     _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> = {<br>
>>                           _M_next = 0x7fffffffdd10, _M_prev = 0x7fffffffdd10},<br>
>> ---Type <return> to continue, or q <return> to quit---<br>
>>                         _M_data = 0}}}, <No data fields>}, m_wire = {<br>
>>                   m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                   m_begin = <error reading variable>}, m_content = {<br>
>>                 m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                 m_begin = <error reading variable>, m_signature = {m_info = {<br>
>>                   m_type = -1, m_hasKeyLocator = false, m_keyLocator = {<br>
>>                     m_locator = {data = {<br>
>>                         __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>}},<br>
>>                       type_index = 0 '\000'}, m_wire = {<br>
>>                       m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                       m_begin = <error reading variable>},<br>
>>                   m_otherTlvs = {<std::__cxx11::_List_base<ndn::Block, std::allocator<ndn::Block> >> = {<br>
>>                       _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> = {<br>
>>                             _M_next = 0x7fffffffde98,<br>
>>                             _M_prev = 0x7fffffffde98},<br>
>>                           _M_data = 0}}}, <No data fields>}, m_wire = {<br>
>>                     m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                     m_begin = <error reading variable>}, m_value = {<br>
>> ---Type <return> to continue, or q <return> to quit---<br>
>>                   m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                   m_begin = <error reading variable>}, m_wire = {<br>
>>                 m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                 m_begin = <error reading variable>, m_fullName = {<br>
>>                 static npos = 18446744073709551615, m_wire = {<br>
>>                   m_buffer = std::shared_ptr (empty) 0x0,<br>
>>                   m_begin = <error reading variable>}},<br>
>>             static VERSION_OFFSET = -1, static ISSUER_ID_OFFSET = -2,<br>
>>             static KEY_COMPONENT_OFFSET = -4, static KEY_ID_OFFSET = -3,<br>
>>             static MIN_CERT_NAME_LENGTH = 4, static MIN_KEY_NAME_LENGTH = 2,<br>
>>             static KEY_COMPONENT = {<ndn::Block> = {m_buffer =<br>
>>     std::shared_ptr (count 1, weak 0) 0x439820, m_begin = 8 '\b',<br>
>>                 m_end = 127 '\177', m_valueBegin = 75 'K',<br>
>>                 m_valueEnd = 127 '\177', m_type = 8, m_size = 5,<br>
>>                 m_elements = std::vector of length 0, capacity 0}, <No data fields>}}}<br>
>>         ss = <incomplete type><br>
>> #7  0x00007ffff7f941a2 in ndn::ndncert::ClientConfig::load (<br>
>>     this=this@entry=0x4233c8 <ndn::ndncert::client+8>, configSection=...)<br>
>>     at ../src/client-config.cpp:53<br>
>>         caList = {m_data = "", m_children = 0x496fe0}<br>
>>         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---<br>
>> 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---<br>
>> > >, 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---<br>
>> 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>},<br>
>>             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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> 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---<br>
>> :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>}<br>
>> #8  0x00007ffff7f957f3 in ndn::ndncert::ClientConfig::load (<br>
>>     this=this@entry=0x4233c8 <ndn::ndncert::client+8>,<br>
>>     fileName="/usr/local/etc/ndncert/client.conf")<br>
>>     at ../src/client-config.cpp:43<br>
>> ---Type <return> to continue, or q <return> to quit---<br>
>>         config = {m_data = "", m_children = 0x494100}<br>
>>         __PRETTY_FUNCTION__ = "void ndn::ndncert::ClientConfig::load(const string&)"<br>
>> #9  0x0000000000412df0 in ndn::ndncert::main (argc=1, argv=0x7fffffffe5b8)<br>
>>     at ../tools/ndncert-client.cpp:347<br>
>>         configFilePath = "/usr/local/etc/ndncert/client.conf"<br>
>>         description = {static m_default_line_length = 80,<br>
>>           m_caption = "General Usage\n ndncert-client [-h] [-f]\n",<br>
>>           m_line_length = 80, m_min_description_length = 40,<br>
>>           m_options = std::vector of length 2, capacity 2 = {{px = 0x494af0,<br>
>>               pn = {pi_ = 0x493790}}, {px = 0x494b70, pn = {pi_ = 0x494190}}},<br>
>>           belong_to_group = std::vector<bool> of length 2, capacity 64 = {0,<br>
>>             0}, groups = std::vector of length 0, capacity 0}<br>
>><br>
>>         p = {m_names = std::vector of length 0, capacity 0, m_trailing = ""}<br>
>><br>
>>         vm = <incomplete type><br>
>> #10 0x0000000000413028 in main (argc=<optimized out>, argv=<optimized out>)<br>
>>     at ../tools/ndncert-client.cpp:363<br>
>> No locals.<br>
>><br>
>> My environment:<br>
>><br>
>> Ubuntu 16.04 amd64<br>
>> ndn-cxx ef654dd3ba16f7ec950b4c9ae293617097dc645c<br>
>> NFD df1dc6590cc2f21faf9e51fe7ec2604cc5e923ca<br>
>> ndncert 151906039cc6bc2a6f5ba8ce5f25ab98ee519ca5<br>
>><br>
>><br>
>> Yours, Junxiao<br>
>><br>
>> On Thu, Jun 27, 2019 at 6:37 PM Zhiyi Zhang <<a href="mailto:zhiyi@cs.ucla.edu" target="_blank">zhiyi@cs.ucla.edu</a>> wrote:<br>
>>><br>
>>> Hi all,<br>
>>><br>
>>> We have deployed a test NDNCERT server and it's available now.<br>
>>> To play with the new NDNCERT, one can simply follow the instructions here:<br>
>>> <a href="https://zhiyi-zhang.com/content/try-ndncert-today.pdf" rel="noreferrer" target="_blank">https://zhiyi-zhang.com/content/try-ndncert-today.pdf</a><br>
>>><br>
>>> Any comments or suggestions are welcome.<br>
>>><br>
>>> 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.)<br>
>>><br>
>>> Best,<br>
>>> Zhiyi<br>
><br>
> _______________________________________________<br>
> Nfd-dev mailing list<br>
> <a href="mailto:Nfd-dev@lists.cs.ucla.edu" target="_blank">Nfd-dev@lists.cs.ucla.edu</a><br>
> <a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" rel="noreferrer" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a><br>
<br>
<br>
</blockquote></div>
</blockquote></div>