<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:11.0pt;
font-family:"Aptos",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:11.0pt;
mso-fareast-language:EN-US;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">I just recently joined the ntpsec users mailing list.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I don’t know if you figured out the reason for the connection issue, but I had a similar issue and found a bug in ntpdig-1.2.2.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The underlying python library (packet.py) that ntpdig is using does not properly limit the MAC to 32 characters when assembling the request packet to the server and the server therefore ignores the packet. It was fixed
in ntpdig-1.2.3.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">--- ntpsec-1.2.2+dfsg1.orig/pylib/packet.py<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">+++ ntpsec-1.2.2+dfsg1/pylib/packet.py<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">@@ -1747,7 +1747,7 @@<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> if not ntp.ntpc.checkname(keytype):<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> return False<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mac2 = ntp.ntpc.mac(ntp.poly.polybytes(payload),<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- ntp.poly.polybytes(passwd), keytype)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">+ ntp.poly.polybytes(passwd), keytype)[:20]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> if not mac2 or len(mac2) == 0:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> return b''<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> return struct.pack("!I", keyid) + mac2<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">@@ -1773,7 +1773,7 @@<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> if not ntp.ntpc.checkname(keytype):<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> return False<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> mac2 = ntp.ntpc.mac(ntp.poly.polybytes(payload),<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">- ntp.poly.polybytes(passwd), keytype)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">+ ntp.poly.polybytes(passwd), keytype)[:20]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> if not mac2:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"> return False<o:p></o:p></span></p>
</div>
</body>
</html>