<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 5, 2021 at 1:26 AM Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.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"><div dir="auto">Hi Zhiyi<div dir="auto"><br></div><div dir="auto">I can see that the NFD on suns was last restarted at <span style="text-align:center">2021-02-05 03:05:02 UTC, which explains the "end of file" message.</span></div><div dir="auto"><span style="text-align:center"><br></span></div><div dir="auto"><span style="text-align:center">"request time out" likely came from ndn::nfd::Controller for failing to register prefixes, because NFD-RIB is not yet ready.</span></div><div dir="auto"><span style="text-align:center">I think you need to add some delay (a RestartSec directive) in the systemd unit.</span></div><div dir="auto"><span style="text-align:center">Also, it's missing BindsTo=nfd.service , unless you are leaving it off because you are using user systemd rather than system-wide systemd.</span></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br><div><span style="text-align:center">Anyway, I've tested the service.</span></div><div><span style="text-align:center">CA profile retrieval is working now.</span></div><div><span style="text-align:center"><br></span></div><div><span style="text-align:center">However, the NewResponse packet is encoded incorrectly - it contains an unrecognized TLV element of critical type 0x9B.</span></div><div><span style="text-align:center">Packet capture is attached.<br></span></div><div><span style="text-align:center"><br></span></div><div><span style="text-align:center">I can see that the offending line is here:</span></div><div><span style="text-align:center"><a href="https://github.com/Zhiyi-Zhang/ndncert/blob/cac27f1128883096c803d70b3c6d2cab50e1cd10/src/detail/new-renew-revoke-encoder.cpp#L91" target="_blank">https://github.com/Zhiyi-Zhang/ndncert/blob/cac27f1128883096c803d70b3c6d2cab50e1cd10/src/detail/new-renew-revoke-encoder.cpp#L91</a></span></div><div><span style="text-align:center">The protocol doesn't have a Status field in this packet:</span></div><div><span style="text-align:center"><a href="https://github.com/named-data/ndncert/wiki/NDNCERT-Protocol-0.3/0d11d48d9ebee022eee71dee14f1342e0905a620#232-packet-format" target="_blank">https://github.com/named-data/ndncert/wiki/NDNCERT-Protocol-0.3/0d11d48d9ebee022eee71dee14f1342e0905a620#232-packet-format</a></span></div></div></div></blockquote><div><br></div><div>I remembered we have this status field in the original doc. I guess it was removed in later edits.</div><div>Anyway, do you think we should have this field in the NEW Data packet to indicate the current status?</div><div> </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"><div dir="auto"><div dir="auto"><span style="text-align:center"><br></span></div><div><span style="text-align:center">Your decoding function is not implementing TLV evolvability correctly.</span></div><div><span style="text-align:center">
</span><div><span style="text-align:center"><a href="https://github.com/Zhiyi-Zhang/ndncert/blob/cac27f1128883096c803d70b3c6d2cab50e1cd10/src/detail/new-renew-revoke-encoder.cpp#L102" target="_blank">https://github.com/Zhiyi-Zhang/ndncert/blob/cac27f1128883096c803d70b3c6d2cab50e1cd10/src/detail/new-renew-revoke-encoder.cpp#L102</a></span></div><div><span style="text-align:center"></span></div>

<span style="text-align:center">If it encounters an unrecognized or out-of-order field of a critical TLV-TYPE. However, the current decoding function would erroneously accept any unrecognized or out-of-order fields of critical TLV-TYPEs.<br></span></div><div><span style="text-align:center">All new NDN software is expected to 
properly implement TLV evolvability. Please see ndn::Interest type in ndn-cxx for an example.<br></span></div></div></div></blockquote><div><br></div><div>Okay. BTW, should there be some helper functions from NDN libraries to help with this?</div><div>I feel it's not very developer-friendly considering the alternatives like JSON.</div><div>Compared with forwarder development, maybe we should relax this requirement for application development?</div><div><br></div><div>Best,</div><div>Zhiyi</div><div> </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"><div dir="auto"><div><span style="text-align:center"></span></div><div dir="auto"><span style="text-align:center"><br></span></div><div><span style="text-align:center">Please reply when you have fixed the NewResponse bug, so I can re-test.</span> </div></div></div></blockquote><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"><div dir="auto"><div><span style="text-align:center"></span></div><div dir="auto"><span style="text-align:center"><br></span></div>Yours, Junxiao<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Thu, Feb 4, 2021, 23:53 Zhiyi Zhang <<a href="mailto:zhiyi@cs.ucla.edu" target="_blank">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"><p style="text-align:center"><font color="red"><b>External Email</b><br></font></p><div dir="ltr">It seems the network on the Suns is not stable and the service reports the following error several times:<div><br></div><div>```</div><div>Feb 05 03:05:01 <a href="http://suns.cs.ucla.edu" rel="noreferrer" target="_blank">suns.cs.ucla.edu</a> ndncert-ca-server[6005]: terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<<b>ndn::Transport::Error</b>> >'<br>Feb 05 03:05:01 <a href="http://suns.cs.ucla.edu" rel="noreferrer" target="_blank">suns.cs.ucla.edu</a> ndncert-ca-server[6005]:   what():  <b>error while receiving data from socket (End of file)</b><br></div><div>...</div><div>Feb 05 03:05:12 <a href="http://suns.cs.ucla.edu" rel="noreferrer" target="_blank">suns.cs.ucla.edu</a> ndncert-ca-server[16981]: <b>ERROR: request timed out</b><br></div><div>```</div><div><br></div><div>I restarted the service.</div><div><br></div><div>Best,</div><div>Zhiyi</div><br></div></blockquote></div></div>
</div>
</blockquote></div></div>