<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>



</head>
<body>
<style type="text/css">
img {
max-width: 100%; height: auto;
}
</style>
<div class="content">
<h3>
Eric S. Raymond pushed to branch master
at <a href="https://gitlab.com/NTPsec/ntpsec">NTPsec / ntpsec</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/commit/e1e80a12748785abf3bc7794bb69b7eaf996b97d">e1e80a12</a></strong>
<div>
<span>by Eric S. Raymond</span>
<i>at 2016-12-08T17:22:43-05:00</i>
</div>
<pre class="commit-message" style="margin: 0; white-space: pre-wrap">Add a memoization cache to avoid hammering DNS.
</pre>
</li>
</ul>
<h4>1 changed file:</h4>
<ul>
<li class="file-stats">
<a href="#a61fb9541c7ffe95e3b809ea55001114580d13e4" style="text-decoration: none">
pylib/util.py
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id="a61fb9541c7ffe95e3b809ea55001114580d13e4">
<a href="https://gitlab.com/NTPsec/ntpsec/commit/e1e80a12748785abf3bc7794bb69b7eaf996b97d#a61fb9541c7ffe95e3b809ea55001114580d13e4"><strong>pylib/util.py</strong></a>
<hr>
<table class="code white" style="-premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; background: #fff; font-family: monospace; font-size: 13px" bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0">
<tr class="line_holder match" style="line-height: 1.5">
<td class="diff-line-num unfold js-unfold old_line" data-linenumber="45" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="diff-line-num unfold js-unfold new_line" data-linenumber="45" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="line_content match " style="background: #fafafa; color: rgba(0,0,0,0.3); padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fafafa">@@ -45,13 +45,18 @@ def portsplit(hostname):</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="45" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
45
</td>
<td class="diff-line-num new_line" data-linenumber="45" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
45
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC45" class="line">            <span class="n" style="color: #333">hostname</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">hostname</span><span class="p">[</span><span class="mi" style="color: #099">1</span><span class="p">:</span><span class="o" style="font-weight: bold">-</span><span class="mi" style="color: #099">1</span><span class="p">]</span>      <span class="c" style="color: #998; font-style: italic"># Strip brackets</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="46" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
46
</td>
<td class="diff-line-num new_line" data-linenumber="46" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
46
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC46" class="line">    <span class="k" style="font-weight: bold">return</span> <span class="p">(</span><span class="n" style="color: #333">hostname</span><span class="p">,</span> <span class="n" style="color: #333">portsuffix</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="47" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
47
</td>
<td class="diff-line-num new_line" data-linenumber="47" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
47
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC47" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder old" style="line-height: 1.5">
<td class="diff-line-num old old_line" data-linenumber="48" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
48
</td>
<td class="diff-line-num new_line old" data-linenumber="48" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="background: #fbe9eb; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fbe9eb">
<pre style="margin: 0"><span id="LC48" class="line"><span class="k" style="font-weight: bold">def</span> <span class="nf" style="color: #900; font-weight: bold">canonicalize_dns</span><span class="p">(</span><span class="n" style="color: #333">hostname</span><span class="p">,</span> <span class="n" style="color: #333">family</span><span class="o" style="font-weight: bold">=</span><span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">AF_UNSPEC</span><span class="p">):</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="49" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="48" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
48
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC48" class="line"><span class="c" style="color: #998; font-style: italic"># A hack to avoid repleatedly hammering on DNS when ntpmon runs.</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="49" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="49" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
49
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC49" class="line"><span class="n" style="color: #333">canonicalization_cache</span> <span class="o" style="font-weight: bold">=</span> <span class="p">{}</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="49" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="50" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
50
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC50" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="49" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="51" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
51
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC51" class="line"><span class="k" style="font-weight: bold">def</span> <span class="nf" style="color: #900; font-weight: bold">canonicalize_dns</span><span class="p">(</span><span class="n" style="color: #333">inhost</span><span class="p">,</span> <span class="n" style="color: #333">family</span><span class="o" style="font-weight: bold">=</span><span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">AF_UNSPEC</span><span class="p">):</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="49" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
49
</td>
<td class="diff-line-num new_line" data-linenumber="52" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
52
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC52" class="line">    <span class="s" style="color: #d14">"Canonicalize a hostname or numeric IP address."</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="50" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="53" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
53
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC53" class="line">    <span class="k" style="font-weight: bold">if</span> <span class="n" style="color: #333">inhost</span> <span class="ow" style="font-weight: bold">in</span> <span class="n" style="color: #333">canonicalization_cache</span><span class="p">:</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="50" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="54" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
54
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC54" class="line">        <span class="k" style="font-weight: bold">return</span> <span class="n" style="color: #333">canonicalization_cache</span><span class="p">[</span><span class="n" style="color: #333">inhost</span><span class="p">]</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="50" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
50
</td>
<td class="diff-line-num new_line" data-linenumber="55" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
55
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC55" class="line">    <span class="c" style="color: #998; font-style: italic"># Catch garbaged hostnames in corrupted Mode 6 responses</span></span>
</pre>
</td>
</tr>
<tr class="line_holder old" style="line-height: 1.5">
<td class="diff-line-num old old_line" data-linenumber="51" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
51
</td>
<td class="diff-line-num new_line old" data-linenumber="56" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="background: #fbe9eb; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fbe9eb">
<pre style="margin: 0"><span id="LC51" class="line">    <span class="n" style="color: #333">m</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">re</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">match</span><span class="p">(</span><span class="s" style="color: #d14">"([:.[</span><span class="err" style="background: #e3d2d2; color: #a61717">\</span><span class="s" style="color: #d14">]]|</span><span class="err" style="background: #e3d2d2; color: #a61717">\</span><span class="s" style="color: #d14">w)*"</span><span class="p">,</span> <span class="n" style="color: #333"><span class="idiff left right">hostname</span></span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="52" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="56" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
56
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC56" class="line">    <span class="n" style="color: #333">m</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">re</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">match</span><span class="p">(</span><span class="s" style="color: #d14">"([:.[</span><span class="err" style="background: #e3d2d2; color: #a61717">\</span><span class="s" style="color: #d14">]]|</span><span class="err" style="background: #e3d2d2; color: #a61717">\</span><span class="s" style="color: #d14">w)*"</span><span class="p">,</span> <span class="n" style="color: #333"><span class="idiff left right">inhost</span></span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="52" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
52
</td>
<td class="diff-line-num new_line" data-linenumber="57" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
57
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC57" class="line">    <span class="k" style="font-weight: bold">if</span> <span class="ow" style="font-weight: bold">not</span> <span class="n" style="color: #333">m</span><span class="p">:</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="53" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
53
</td>
<td class="diff-line-num new_line" data-linenumber="58" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
58
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC58" class="line">        <span class="k" style="font-weight: bold">raise</span> <span class="nb" style="color: #0086b3">TypeError</span></span>
</pre>
</td>
</tr>
<tr class="line_holder old" style="line-height: 1.5">
<td class="diff-line-num old old_line" data-linenumber="54" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
54
</td>
<td class="diff-line-num new_line old" data-linenumber="59" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="background: #fbe9eb; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fbe9eb">
<pre style="margin: 0"><span id="LC54" class="line">    <span class="p">(</span><span class="n" style="color: #333">hostname</span><span class="p">,</span> <span class="n" style="color: #333">portsuffix</span><span class="p">)</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">portsplit</span><span class="p">(</span><span class="n" style="color: #333"><span class="idiff left right">hostname</span></span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="55" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="59" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
59
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC59" class="line">    <span class="p">(</span><span class="n" style="color: #333">hostname</span><span class="p">,</span> <span class="n" style="color: #333">portsuffix</span><span class="p">)</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">portsplit</span><span class="p">(</span><span class="n" style="color: #333"><span class="idiff left right">inhost</span></span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="55" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
55
</td>
<td class="diff-line-num new_line" data-linenumber="60" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
60
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC60" class="line">    <span class="k" style="font-weight: bold">try</span><span class="p">:</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="56" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
56
</td>
<td class="diff-line-num new_line" data-linenumber="61" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
61
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC61" class="line">        <span class="n" style="color: #333">ai</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">getaddrinfo</span><span class="p">(</span><span class="n" style="color: #333">hostname</span><span class="p">,</span> <span class="bp" style="color: #999">None</span><span class="p">,</span> <span class="n" style="color: #333">family</span><span class="p">,</span> <span class="mi" style="color: #099">0</span><span class="p">,</span> <span class="mi" style="color: #099">0</span><span class="p">,</span> <span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">AI_CANONNAME</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="57" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
57
</td>
<td class="diff-line-num new_line" data-linenumber="62" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
62
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC62" class="line">    <span class="k" style="font-weight: bold">except</span> <span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">gaierror</span> <span class="k" style="font-weight: bold">as</span> <span class="n" style="color: #333">e</span><span class="p">:</span></span>
</pre>
</td>
</tr>
<tr class="line_holder match" style="line-height: 1.5">
<td class="diff-line-num unfold js-unfold old_line" data-linenumber="60" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="diff-line-num unfold js-unfold new_line" data-linenumber="65" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="line_content match " style="background: #fafafa; color: rgba(0,0,0,0.3); padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fafafa">@@ -60,12 +65,14 @@ def canonicalize_dns(hostname, family=socket.AF_UNSPEC):</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="60" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
60
</td>
<td class="diff-line-num new_line" data-linenumber="65" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
65
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC65" class="line">    <span class="p">(</span><span class="n" style="color: #333">family</span><span class="p">,</span> <span class="n" style="color: #333">socktype</span><span class="p">,</span> <span class="n" style="color: #333">proto</span><span class="p">,</span> <span class="n" style="color: #333">canonname</span><span class="p">,</span> <span class="n" style="color: #333">sockaddr</span><span class="p">)</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">ai</span><span class="p">[</span><span class="mi" style="color: #099">0</span><span class="p">]</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="61" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
61
</td>
<td class="diff-line-num new_line" data-linenumber="66" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
66
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC66" class="line">    <span class="k" style="font-weight: bold">try</span><span class="p">:</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="62" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
62
</td>
<td class="diff-line-num new_line" data-linenumber="67" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
67
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC67" class="line">        <span class="n" style="color: #333">name</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">getnameinfo</span><span class="p">(</span><span class="n" style="color: #333">sockaddr</span><span class="p">,</span> <span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">NI_NAMEREQD</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="63" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="68" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
68
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC68" class="line">        <span class="n" style="color: #333">result</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">name</span><span class="p">[</span><span class="mi" style="color: #099">0</span><span class="p">]</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">lower</span><span class="p">()</span> <span class="o" style="font-weight: bold">+</span> <span class="n" style="color: #333">portsuffix</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="63" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
63
</td>
<td class="diff-line-num new_line" data-linenumber="69" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
69
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC69" class="line">    <span class="k" style="font-weight: bold">except</span> <span class="n" style="color: #333">socket</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">gaierror</span><span class="p">:</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="64" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
64
</td>
<td class="diff-line-num new_line" data-linenumber="70" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
70
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC70" class="line">        <span class="c" style="color: #998; font-style: italic"># On OS X, canonname is empty for hosts without rDNS.</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="65" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
65
</td>
<td class="diff-line-num new_line" data-linenumber="71" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
71
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC71" class="line">        <span class="c" style="color: #998; font-style: italic"># Fall back to the hostname.</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="66" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
66
</td>
<td class="diff-line-num new_line" data-linenumber="72" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
72
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC72" class="line">        <span class="n" style="color: #333">canonicalized</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">canonname</span> <span class="ow" style="font-weight: bold">or</span> <span class="n" style="color: #333">hostname</span></span>
</pre>
</td>
</tr>
<tr class="line_holder old" style="line-height: 1.5">
<td class="diff-line-num old old_line" data-linenumber="67" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
67
</td>
<td class="diff-line-num new_line old" data-linenumber="73" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="background: #fbe9eb; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fbe9eb">
<pre style="margin: 0"><span id="LC67" class="line">        <span class="k" style="font-weight: bold">return</span> <span class="n" style="color: #333">canonicalized</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">lower</span><span class="p">()</span> <span class="o" style="font-weight: bold">+</span> <span class="n" style="color: #333">portsuffix</span></span>
</pre>
</td>
</tr>
<tr class="line_holder old" style="line-height: 1.5">
<td class="diff-line-num old old_line" data-linenumber="68" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
68
</td>
<td class="diff-line-num new_line old" data-linenumber="73" style="background: #f9d7dc; border-right-color: #fac5cd; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#f9d7dc">
 
</td>
<td class="line_content noteable_line old" style="background: #fbe9eb; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fbe9eb">
<pre style="margin: 0"><span id="LC68" class="line">    <span class="k" style="font-weight: bold">return</span> <span class="n" style="color: #333">name</span><span class="p">[</span><span class="mi" style="color: #099">0</span><span class="p">]</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">lower</span><span class="p">()</span> <span class="o" style="font-weight: bold">+</span> <span class="n" style="color: #333">portsuffix</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="69" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="73" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
73
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC73" class="line">        <span class="n" style="color: #333">result</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">canonicalized</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">lower</span><span class="p">()</span> <span class="o" style="font-weight: bold">+</span> <span class="n" style="color: #333">portsuffix</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="69" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="74" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
74
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC74" class="line">    <span class="n" style="color: #333">canonicalization_cache</span><span class="p">[</span><span class="n" style="color: #333">inhost</span><span class="p">]</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">result</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="69" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="75" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
75
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"><span id="LC75" class="line">    <span class="k" style="font-weight: bold">return</span> <span class="n" style="color: #333">result</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="69" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
69
</td>
<td class="diff-line-num new_line" data-linenumber="76" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
76
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC76" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="70" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
70
</td>
<td class="diff-line-num new_line" data-linenumber="77" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
77
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC77" class="line"><span class="n" style="color: #333">TermSize</span> <span class="o" style="font-weight: bold">=</span> <span class="n" style="color: #333">collections</span><span class="o" style="font-weight: bold">.</span><span class="n" style="color: #333">namedtuple</span><span class="p">(</span><span class="s" style="color: #d14">"TermSize"</span><span class="p">,</span> <span class="p">[</span><span class="s" style="color: #d14">"width"</span><span class="p">,</span> <span class="s" style="color: #d14">"height"</span><span class="p">])</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="71" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
71
</td>
<td class="diff-line-num new_line" data-linenumber="78" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
78
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"><span id="LC78" class="line"></span>
</pre>
</td>
</tr>

</table>
<br>
</li>

</div>
<div class="footer" style="margin-top: 10px">
<p style="color: #777; font-size: small">

<br>
<a href="https://gitlab.com/NTPsec/ntpsec/commit/e1e80a12748785abf3bc7794bb69b7eaf996b97d">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.com/NTPsec/ntpsec/commit/e1e80a12748785abf3bc7794bb69b7eaf996b97d"}}</script>
</p>
</div>
</body>
</html>