<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">The regex for key locator require “dsk-…” but the signing key is “ksk-…”.<div class=""><br class=""></div><div class=""><div class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; " class=""><div class="">Yingdi</div><div class=""><br class=""></div></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Mar 2, 2015, at 10:19 AM, Chengyu Fan <<a href="mailto:chengy.fan@gmail.com" class="">chengy.fan@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Hi Alex,<div class=""><br class=""></div><div class="">I wrote a toy example to use the SecRuleRelative (the code is listed below ) . </div><div class=""><br class=""></div><div class="">I thought the data should satisfy the rule, but I always get "unsatisfied" on my ubuntu 14.04.1 ... Could you tell me what's wrong with the code?</div><div class=""><br class=""></div><div class="">=================</div><div class="">    Name dataName("/test/site2/user2");<br class=""></div><div class=""><div class="">    dataName.append("testApp"); // the<span class="Apple-converted-space"> </span><b class="">data name</b><span class="Apple-converted-space"> </span>is<span class="Apple-converted-space"> </span><b class="">/test/site2/user2/testApp</b></div></div><div class=""><br class=""></div><div class=""><div class="">    // Create Data packet</div><div class="">    static const std::string content = "HELLO WORLD";</div><div class="">    shared_ptr<Data> data = make_shared<Data>();</div><div class="">    data->setName(dataName);</div><div class="">    data->setFreshnessPeriod(time::seconds(10));</div><div class="">    data->setContent(reinterpret_cast<const uint8_t*>(content.c_str()), content.size());</div></div><div class=""><br class=""></div><div class=""><div class="">    Name producerId("/test/site2/user2");</div><div class="">    m_keyChain.signByIdentity(*data, producerId); // now the<span class="Apple-converted-space"> </span><b class="">keyLocator</b><span class="Apple-converted-space"> </span>is <b class="">/test/site2/user2/KEY/ksk-1425277773626/ID-CERT</b></div></div><div class=""><br class=""></div><div class="">    SecRuleRelative rule("<b class="">^(<>*)$</b>",</div><div class="">                         "<b class="">^([^<KEY>]*)<KEY>(<>*)<dsk-.*><ID-CERT>$</b>",</div><div class="">                         <b class="">">", "<a href="smb://1" class="">\\1</a>", "<a href="smb://1//2" class="">\\1\\2</a>", true</b>);</div><div class="">    /*  <b class="">/test/site2/user2/testApp<span class="Apple-converted-space"> </span></b>should match the packetRegex "<b class="">^(<>*)$,<span class="Apple-converted-space"> </span></b>expand is <b class="">/test/site2/user2/testApp</b></div><div class=""><b class=""> <span class="Apple-converted-space"> </span></b>      <b class="">/test/site2/user2/KEY/ksk-1425277773626/ID-CERT</b><span class="Apple-converted-space"> </span>should match the signerRegex, expand is <b class="">/test/site2/user2/</b></div><div class=""><b class="">        </b>The data name<b class=""><span class="Apple-converted-space"> </span>/test/site2/user2/testApp<span class="Apple-converted-space"> </span></b>is<b class=""><span class="Apple-converted-space"> </span>under<span class="Apple-converted-space"> </span></b>the signer's namespace<b class=""> </b><b class="">/test/site2/user2/</b></div><div class=""><b class="">    */</b></div><div class=""><br class=""></div><div class="">    if (rule.satisfy(*data))</div><div class="">      std::cout << "satisfied" << std::endl;</div><div class="">    else {</div><div class="">      std::cout << "unsatisfied" << std::endl;</div><div class="">    }</div><div class="">=================</div></div><div class="gmail_extra" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class=""><div class="gmail_quote">On Mon, Mar 2, 2015 at 9:48 AM, Chengyu Fan<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:chengy.fan@gmail.com" target="_blank" class="">chengy.fan@gmail.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div dir="ltr" class=""><div class="">Hi Alex,</div><div class=""><br class=""></div>Thanks for the reply.<div class=""><br class=""></div><div class="">Further questions in line.</div><div class="gmail_extra"><br class=""><div class="gmail_quote"><span class="">On Sat, Feb 28, 2015 at 4:45 PM, Alex Afanasyev<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:alexander.afanasyev@ucla.edu" target="_blank" class="">alexander.afanasyev@ucla.edu</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class="">Hi Chengyu,<div class=""><br class=""></div><div class="">I assumed there is a documentation for this method, but the commit that adds it is not yet merged.  Here is the description we will have soon:</div><div class=""><br class=""></div><div class=""><div class=""> <span class="Apple-converted-space"> </span>/**</div><div class="">   * @brief Construct the rule</div><div class="">   * @param packetRegex regular expression to match the packet name that is qualified for the</div><div class="">   *                    the rule (e.g., `^(<.*>)$`)</div><div class="">   * @param signerRegex regular expression to match the the KeyLocator of the packet (e.g.,</div><div class="">   *                    `^(<.*>)<KEY>(<.*>)<ID-CERT><>$`)</div><div class="">   * @param comparator Defines the way expanded signer's name is matched against expanded</div><div class="">   *                   packet's name.  Possible values are:</div><div class="">   *                     - "is-prefix-of"</div><div class="">   *                     - "is-strict-prefix-of"</div><div class="">   *                     - "equal"</div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Which symbol refers to which value?</div><span class=""><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><div class="">   * @param packetExpand Expansion rule for packet's name (e.g., `\1`)</div><div class="">   * @param signerExpand Expansion rule for signer's name (e.g., `\1\2`)</div><div class="">   * @param isPositive flag denoting whether the rule is positive or negative</div><div class="">   *</div><div class="">   * @note A packet complies with the rule only if both \p packetRegex matches the packet name</div><div class="">   *       and \p signerRegex matches the KeyLocator name</div></div></div></blockquote><div class=""><br class=""></div></span><div class="">According to the comparator description, I think this function also needs to test if the expanded signer's name matched against the expanded packet's name?</div><div class=""><div class="h5"><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><div class="">   */</div><div class=""><div class=""><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Feb 27, 2015, at 7:59 PM, Chengyu Fan <<a href="mailto:chengy.fan@gmail.com" target="_blank" class="">chengy.fan@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class="">Could you tell me how the SecRuleRelative Rule works? <div class=""><br class=""></div><div class="">Specifically, what's the meaning of each parameter? What conditions the rule will test to make a incoming data satisfy the rule?</div><div class=""><div class=""><table style="margin: 0px 0px 0px 6px; padding: 0px; font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; font-size: 13px; line-height: 1.3; border: 0px; font-weight: bold;" class=""><tbody style="margin: 0px; padding: 0px;" class=""><tr style="margin: 0px; padding: 0px;" class=""><td style="margin-left: 6px; padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class=""><a href="http://named-data.net/doc/ndn-cxx/0.2.0/doxygen/d6/de6/classndn_1_1SecRuleRelative.html#ae75d154107abd094ad47b9195aa3f896" target="_blank" style="color: rgb(39, 149, 182); margin: 0px; padding: 0px; line-height: inherit;" class="">ndn::SecRuleRelative::SecRuleRelative</a></td><td style="padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class="">(</td><td style="padding: 0px; font-size: 14px; direction: ltr; white-space: nowrap; vertical-align: bottom;" class="">const std::string & </td><td style="padding: 0px; font-size: 14px; direction: ltr; color: rgb(96, 32, 32); white-space: nowrap; vertical-align: bottom;" class=""><span style="margin: 0px; padding: 0px; line-height: inherit; border: none;" class="">dataRegex</span>,</td></tr><tr style="margin: 0px; padding: 0px;" class=""><td style="padding: 0px; font-size: 14px; direction: ltr; text-align: right; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; white-space: nowrap; vertical-align: bottom;" class="">const std::string & </td><td style="padding: 0px; font-size: 14px; direction: ltr; color: rgb(96, 32, 32); white-space: nowrap; vertical-align: bottom;" class=""><span style="margin: 0px; padding: 0px; line-height: inherit; border: none;" class="">signerRegex</span>,</td></tr><tr style="margin: 0px; padding: 0px;" class=""><td style="padding: 0px; font-size: 14px; direction: ltr; text-align: right; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; white-space: nowrap; vertical-align: bottom;" class="">const std::string & </td><td style="padding: 0px; font-size: 14px; direction: ltr; color: rgb(96, 32, 32); white-space: nowrap; vertical-align: bottom;" class=""><span style="margin: 0px; padding: 0px; line-height: inherit; border: none;" class="">op</span>,</td></tr><tr style="margin: 0px; padding: 0px;" class=""><td style="padding: 0px; font-size: 14px; direction: ltr; text-align: right; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; white-space: nowrap; vertical-align: bottom;" class="">const std::string & </td><td style="padding: 0px; font-size: 14px; direction: ltr; color: rgb(96, 32, 32); white-space: nowrap; vertical-align: bottom;" class=""><span style="margin: 0px; padding: 0px; line-height: inherit; border: none;" class="">dataExpand</span>,</td></tr><tr style="margin: 0px; padding: 0px;" class=""><td style="padding: 0px; font-size: 14px; direction: ltr; text-align: right; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; white-space: nowrap; vertical-align: bottom;" class="">const std::string & </td><td style="padding: 0px; font-size: 14px; direction: ltr; color: rgb(96, 32, 32); white-space: nowrap; vertical-align: bottom;" class=""><span style="margin: 0px; padding: 0px; line-height: inherit; border: none;" class="">signerExpand</span>,</td></tr><tr style="margin: 0px; padding: 0px;" class=""><td style="padding: 0px; font-size: 14px; direction: ltr; text-align: right; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom;" class=""></td><td style="padding: 0px; font-size: 14px; direction: ltr; white-space: nowrap; vertical-align: bottom;" class="">bool </td><td style="padding: 0px; font-size: 14px; direction: ltr; color: rgb(96, 32, 32); white-space: nowrap; vertical-align: bottom;" class=""><span style="margin: 0px; padding: 0px; line-height: inherit; border: none;" class="">isPositive</span> </td></tr><tr style="margin: 0px; padding: 0px;" class=""><td style="font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom; color: rgb(50, 50, 50); background-color: rgb(232, 232, 232);" class=""></td><td style="font-family: 'Lucida Grande', Verdana, Geneva, Arial, sans-serif; padding: 0px; font-size: 14px; direction: ltr; vertical-align: bottom; color: rgb(50, 50, 50); background-color: rgb(232, 232, 232);" class="">)</td></tr></tbody></table></div><div class=""><br class=""></div><div class=""><br class=""></div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Feb 27, 2015 at 1:59 PM, Alex Afanasyev<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:alexander.afanasyev@ucla.edu" target="_blank" class="">alexander.afanasyev@ucla.edu</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div style="word-wrap: break-word;" class=""><div class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Feb 27, 2015, at 12:10 PM, Chengyu Fan <<a href="mailto:chengy.fan@gmail.com" target="_blank" class="">chengy.fan@gmail.com</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class=""><div class="">Hi,</div><div class=""><br class=""></div><div class="">I'm trying to use the validator-regex to validate the incoming data, but I stuck at how to add the SecRuleRelative Rule.</div><div class=""><br class=""></div>Can somebody tell me some clues?<div class=""><br class=""><div class="">Specifically, I find the example in SecurityLibrary(<a href="http://redmine.named-data.net/projects/ndn-cxx/wiki/SecurityLibrary" target="_blank" class="">http://redmine.named-data.net/projects/ndn-cxx/wiki/SecurityLibrary</a>), but I don't understand the RuleRelative rule below ...</div><div class=""><pre style="padding: 6px 10px; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; margin-right: 1em; margin-left: 1.6em; border: 1px solid rgb(226, 226, 226); width: auto; color: rgb(72, 72, 72); font-size: 12px; background-color: rgb(250, 250, 250);" class=""><code class="">SecRuleRelative rule(<span class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">^(<>*)$</span><span style="color: rgb(68, 102, 170);" class="">"</span></span>, <span class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$</span><span style="color: rgb(68, 102, 170);" class="">"</span></span>, 
                     <span class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">></span><span style="color: rgb(68, 102, 170);" class="">"</span></span>, <span class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">\\</span><span style="color: rgb(68, 102, 170);" class="">1</span><span style="color: rgb(68, 102, 170);" class="">"</span></span>, <span class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">\\</span><span style="color: rgb(68, 102, 170);" class="">1</span><span style="color: rgb(68, 102, 170);" class="">\\</span><span style="color: rgb(68, 102, 170);" class="">2</span><span style="color: rgb(68, 102, 170);" class="">"</span></span>, <span style="color: rgb(0, 102, 153);" class="">true</span>);
</code>
</pre><div class="">What's the meaning of <span style="color: rgb(72, 72, 72); font-size: 12px; background-color: rgb(250, 250, 250);" class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">></span><span style="color: rgb(68, 102, 170);" class="">"</span></span><span style="color: rgb(72, 72, 72); font-size: 12px; background-color: rgb(250, 250, 250);" class="">,<span class="Apple-converted-space"> </span></span><span style="color: rgb(72, 72, 72); font-size: 12px; background-color: rgb(250, 250, 250);" class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">\\</span><span style="color: rgb(68, 102, 170);" class="">1</span><span style="color: rgb(68, 102, 170);" class="">"</span></span><span style="color: rgb(72, 72, 72); font-size: 12px; background-color: rgb(250, 250, 250);" class="">,<span class="Apple-converted-space"> </span></span><span style="color: rgb(72, 72, 72); font-size: 12px; background-color: rgb(250, 250, 250);" class=""><span style="color: rgb(68, 102, 170);" class="">"</span><span style="color: rgb(68, 102, 170);" class="">\\</span><span style="color: rgb(68, 102, 170);" class="">1</span><span style="color: rgb(68, 102, 170);" class="">\\</span><span style="color: rgb(68, 102, 170);" class="">2</span><span style="color: rgb(68, 102, 170);" class="">" </span></span>? Can someone give me an example?</div></div></div></div></div></blockquote><br class=""></div></div></div><div class="">This is just a regular expression rules.  <a class="">\\1</a> (\1, it’s just \ needs to be escaped in c++) refer to th first group of the regular expression,<span class="Apple-converted-space"> </span><a class="">\\2</a> refer to the second group, etc.</div><div class=""><br class=""></div><div class="">There are many documentation sources about regexps, e.g., <a href="http://www.boost.org/doc/libs/1_57_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html" target="_blank" class="">http://www.boost.org/doc/libs/1_57_0/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html</a>.</div><div class=""><br class=""></div><div class="">The only difference in our regular expressions is the fact that it is defined over name components, not just strings.  There is a documentation for this at <a href="http://named-data.net/doc/ndn-cxx/current/tutorials/utils-ndn-regex.html" target="_blank" class="">http://named-data.net/doc/ndn-cxx/current/tutorials/utils-ndn-regex.html</a></div><div class=""><br class=""></div><div class="">—</div><span class=""><font color="#888888" class=""><div class="">Alex</div><div class=""><br class=""></div><br class=""></font></span></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>--<span class="Apple-converted-space"> </span><br class=""><div class=""><div dir="ltr" class=""><div class="">Thanks,</div><div class=""><br class=""></div>Chengyu</div></div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div></div></div><span class="HOEnZb"><font color="#888888" class=""><br class=""><br clear="all" class=""><div class=""><br class=""></div>--<span class="Apple-converted-space"> </span><br class=""><div class=""><div dir="ltr" class=""><div class="">Thanks,</div><div class=""><br class=""></div>Chengyu</div></div></font></span></div></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>--<span class="Apple-converted-space"> </span><br class=""><div class="gmail_signature"><div dir="ltr" class=""><div class="">Thanks,</div><div class=""><br class=""></div>Chengyu</div></div></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Ndn-interest mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="mailto:Ndn-interest@lists.cs.ucla.edu" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Ndn-interest@lists.cs.ucla.edu</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest</a></div></blockquote></div><br class=""></div></body></html>