<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>dndns Work Item Rss Feed</title><link>http://www.codeplex.com/dndns/WorkItem/List.aspx</link><description>dndns Work Item Rss Description</description><item><title>Commented Issue: Error in SrvRecord class</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=2244</link><description>Change the line&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;to&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;&amp;#40;short&amp;#41;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;otherwise the returned port is always 0.&lt;br /&gt;&lt;br /&gt;Stefano&lt;br /&gt;Comments: ** Comment from web user: jmonty ** &lt;p&gt;Fixed SrvRecord and AfsdbRecord cast issue in ChangeSet &amp;#35;18865.&lt;/p&gt;</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 18:41:50 GMT</pubDate><guid isPermaLink="false">Commented Issue: Error in SrvRecord class 20081124064150P</guid></item><item><title>Closed Issue: Error in SrvRecord class</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=2244</link><description>Change the line&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;to&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;&amp;#40;short&amp;#41;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;otherwise the returned port is always 0.&lt;br /&gt;&lt;br /&gt;Stefano&lt;br /&gt;Comments: Fixed SrvRecord and a couple other instances where the cast was missing causing items to always return 0 instead of the appropriate value.</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 18:33:32 GMT</pubDate><guid isPermaLink="false">Closed Issue: Error in SrvRecord class 20081124063332P</guid></item><item><title>Closed Issue: Bug in Message Decompression</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=3368</link><description>The Message Compression pointer is notated by the two most significant bits set to one in first 2 bytes of the . e.g. 11000000 00000000. The remaining 14 bits contain the offset. DnDns has a bug calculating the offset position.&lt;br /&gt;&lt;br /&gt;For example, 11000000 00001100 &amp;#40;0xc0 0x0c&amp;#41;, indicates a pointer to location 1100 &amp;#40;0x0c&amp;#41;.  So any offset contained in the first byte is ignored, so 11000001 00011100 &amp;#40;0xc1 0x1c&amp;#41; was interpreted as 11000000 00011100 &amp;#40;0xc0 0x1c&amp;#41; and the DnDns will crash.&lt;br /&gt;</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 18:30:46 GMT</pubDate><guid isPermaLink="false">Closed Issue: Bug in Message Decompression 20081124063046P</guid></item><item><title>Created Issue: Bug in Message Decompression</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=3368</link><description>The Message Compression pointer is notated by the two most significant bits set to one in first 2 bytes of the . e.g. 11000000 00000000. The remaining 14 bits contain the offset. DnDns has a bug calculating the offset position.&lt;br /&gt;&lt;br /&gt;For example, 11000000 00001100 &amp;#40;0xc0 0x0c&amp;#41;, indicates a pointer to location 1100 &amp;#40;0x0c&amp;#41;.  So any offset contained in the first byte is ignored, so 11000001 00011100 &amp;#40;0xc1 0x1c&amp;#41; was interpreted as 11000000 00011100 &amp;#40;0xc0 0x1c&amp;#41; and the DnDns will crash.&lt;br /&gt;</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 18:29:25 GMT</pubDate><guid isPermaLink="false">Created Issue: Bug in Message Decompression 20081124062925P</guid></item><item><title>Commented Issue: Error in SrvRecord class</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=2244</link><description>Change the line&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;to&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;&amp;#40;short&amp;#41;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;otherwise the returned port is always 0.&lt;br /&gt;&lt;br /&gt;Stefano&lt;br /&gt;Comments: ** Comment from web user: jmonty ** &lt;p&gt;Good catch&amp;#33; I&amp;#39;ve found several other instances that were missing the CAST.&lt;/p&gt;</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 15:00:26 GMT</pubDate><guid isPermaLink="false">Commented Issue: Error in SrvRecord class 20081124030026P</guid></item><item><title>Closed Issue: UDP Timeout concerns</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1966</link><description>I appreciate the work you put into this. We were just talking about implementing something like this in-house. You saved us some time&amp;#33;  I had one issue come up while using it though. I had a situation where a DNS server didn&amp;#39;t exist or wasn&amp;#39;t properly set, so the UDP Receive function would hang indefinitely. I changed your code to take in a timeout_ms parameter in the Resolve function, and I set the underlying socket receive timeout to use it so everything could dispose properly when it timed out.  Works like a charm now&amp;#33;  Thanks&amp;#33;&lt;br /&gt; &lt;br /&gt;Here&amp;#39;s a snippet&lt;br /&gt; &lt;br /&gt;UdpClient udpClient &amp;#61; new UdpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;try&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Connect&amp;#40;ipep&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;udpClient.Send&amp;#40;bDnsQuery, bDnsQuery.Length&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#9;udpClient.Client.ReceiveTimeout &amp;#61; timeout_ms&amp;#59; &amp;#47;&amp;#47;added socket timeout here. &lt;br /&gt;&amp;#9;recvBytes &amp;#61; udpClient.Receive&amp;#40;ref ipep&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#125;&lt;br /&gt;finally&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: Fixed in changeset 18841.</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 14:21:26 GMT</pubDate><guid isPermaLink="false">Closed Issue: UDP Timeout concerns 20081124022126P</guid></item><item><title>Commented Issue: UDP Timeout concerns</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1966</link><description>I appreciate the work you put into this. We were just talking about implementing something like this in-house. You saved us some time&amp;#33;  I had one issue come up while using it though. I had a situation where a DNS server didn&amp;#39;t exist or wasn&amp;#39;t properly set, so the UDP Receive function would hang indefinitely. I changed your code to take in a timeout_ms parameter in the Resolve function, and I set the underlying socket receive timeout to use it so everything could dispose properly when it timed out.  Works like a charm now&amp;#33;  Thanks&amp;#33;&lt;br /&gt; &lt;br /&gt;Here&amp;#39;s a snippet&lt;br /&gt; &lt;br /&gt;UdpClient udpClient &amp;#61; new UdpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;try&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Connect&amp;#40;ipep&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;udpClient.Send&amp;#40;bDnsQuery, bDnsQuery.Length&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#9;udpClient.Client.ReceiveTimeout &amp;#61; timeout_ms&amp;#59; &amp;#47;&amp;#47;added socket timeout here. &lt;br /&gt;&amp;#9;recvBytes &amp;#61; udpClient.Receive&amp;#40;ref ipep&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#125;&lt;br /&gt;finally&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: jmonty ** &lt;p&gt;Get changeset &amp;#35;18841 to get the Socket Timeout fix.&lt;/p&gt;</description><author>jmonty</author><pubDate>Mon, 24 Nov 2008 14:21:02 GMT</pubDate><guid isPermaLink="false">Commented Issue: UDP Timeout concerns 20081124022102P</guid></item><item><title>Commented Issue: UDP Timeout concerns</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1966</link><description>I appreciate the work you put into this. We were just talking about implementing something like this in-house. You saved us some time&amp;#33;  I had one issue come up while using it though. I had a situation where a DNS server didn&amp;#39;t exist or wasn&amp;#39;t properly set, so the UDP Receive function would hang indefinitely. I changed your code to take in a timeout_ms parameter in the Resolve function, and I set the underlying socket receive timeout to use it so everything could dispose properly when it timed out.  Works like a charm now&amp;#33;  Thanks&amp;#33;&lt;br /&gt; &lt;br /&gt;Here&amp;#39;s a snippet&lt;br /&gt; &lt;br /&gt;UdpClient udpClient &amp;#61; new UdpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;try&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Connect&amp;#40;ipep&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;udpClient.Send&amp;#40;bDnsQuery, bDnsQuery.Length&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#9;udpClient.Client.ReceiveTimeout &amp;#61; timeout_ms&amp;#59; &amp;#47;&amp;#47;added socket timeout here. &lt;br /&gt;&amp;#9;recvBytes &amp;#61; udpClient.Receive&amp;#40;ref ipep&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#125;&lt;br /&gt;finally&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Comments: ** Comment from web user: mman ** &lt;p&gt;I got the same problem with infinite timeout when server is not responding. I use downloaded library. Should I get source code and recompile with above patch or there will be a new precompiled version of library&amp;#63;&lt;/p&gt;</description><author>mman</author><pubDate>Thu, 07 Aug 2008 15:37:13 GMT</pubDate><guid isPermaLink="false">Commented Issue: UDP Timeout concerns 20080807033713P</guid></item><item><title>CREATED ISSUE: Error in SrvRecord class</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=2244</link><description>Change the line&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;to&amp;#58;&lt;br /&gt;&lt;br /&gt;_port &amp;#61; &amp;#40;ushort&amp;#41;IPAddress.NetworkToHostOrder&amp;#40;&amp;#40;short&amp;#41;BitConverter.ToUInt16&amp;#40;port, 0&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;otherwise the returned port is always 0.&lt;br /&gt;&lt;br /&gt;Stefano&lt;br /&gt;</description><author>jmonty</author><pubDate>Thu, 29 May 2008 16:38:28 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Error in SrvRecord class 20080529043828P</guid></item><item><title>CREATED ISSUE: UDP Timeout concerns</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1966</link><description>I appreciate the work you put into this. We were just talking about implementing something like this in-house. You saved us some time&amp;#33;  I had one issue come up while using it though. I had a situation where a DNS server didn&amp;#39;t exist or wasn&amp;#39;t properly set, so the UDP Receive function would hang indefinitely. I changed your code to take in a timeout_ms parameter in the Resolve function, and I set the underlying socket receive timeout to use it so everything could dispose properly when it timed out.  Works like a charm now&amp;#33;  Thanks&amp;#33;&lt;br /&gt; &lt;br /&gt;Here&amp;#39;s a snippet&lt;br /&gt; &lt;br /&gt;UdpClient udpClient &amp;#61; new UdpClient&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;try&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Connect&amp;#40;ipep&amp;#41;&amp;#59;&lt;br /&gt;&amp;#9;udpClient.Send&amp;#40;bDnsQuery, bDnsQuery.Length&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#9;udpClient.Client.ReceiveTimeout &amp;#61; timeout_ms&amp;#59; &amp;#47;&amp;#47;added socket timeout here. &lt;br /&gt;&amp;#9;recvBytes &amp;#61; udpClient.Receive&amp;#40;ref ipep&amp;#41;&amp;#59;&lt;br /&gt; &lt;br /&gt;&amp;#125;&lt;br /&gt;finally&lt;br /&gt;&amp;#123;&lt;br /&gt;&amp;#9;udpClient.Close&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;</description><author>jmonty</author><pubDate>Sun, 06 Apr 2008 01:27:27 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: UDP Timeout concerns 20080406012727A</guid></item><item><title>CREATED FEATURE: Add Support for Dynamic Updates (DNS UPDATE)</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1723</link><description>DNS servers allow clients to dynamically update their DNS records when their IP address changes &amp;#40;for instance, useful when a client receives a new IP Addresses from a DHCP server&amp;#41;.&lt;br /&gt;&lt;br /&gt;References&amp;#58;&lt;br /&gt;RFC 2136&amp;#58; Dynamic Updates in the Domain Name System &amp;#40;DNS UPDATE&amp;#41;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;www.ietf.org&amp;#47;rfc&amp;#47;rfc2136.txt&lt;br /&gt;&lt;br /&gt;RFC 2137&amp;#58; Secure Dynamic Updates in the Domain Name System &amp;#40;DNS UPDATE&amp;#41;&lt;br /&gt;&lt;br /&gt;RFC 3007&amp;#58; Secure Domain Name System &amp;#40;DNS&amp;#41; Dynamic Update&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;www.ietf.org&amp;#47;rfc&amp;#47;rfc3007.txt&lt;br /&gt;</description><author>jmonty</author><pubDate>Thu, 13 Mar 2008 20:30:09 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Add Support for Dynamic Updates (DNS UPDATE) 20080313083009P</guid></item><item><title>CREATED FEATURE: Add Support for Zone Transfers (AXFR)</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1706</link><description>NOTE&amp;#58; &amp;#34;Because accuracy is essential, TCP or some other reliable protocol must be used for AXFR requests.&amp;#34;, RFC 1024&lt;br /&gt;&lt;br /&gt;References&amp;#58;&lt;br /&gt;RFC 1034 - DOMAIN NAMES - CONCEPTS AND FACILITIES&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;www.ietf.org&amp;#47;rfc&amp;#47;rfc1034.txt&lt;br /&gt;&lt;br /&gt;RFC 1996 - A Mechanism for Prompt Notification of Zone Changes &amp;#40;DNS NOTIFY&amp;#41;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;www.ietf.org&amp;#47;rfc&amp;#47;rfc1996.txt&lt;br /&gt;&lt;br /&gt;Notes on Implementing AXFR Zone Transfers &amp;#40;from DJB&amp;#41;&lt;br /&gt;See&amp;#58; http&amp;#58;&amp;#47;&amp;#47;cr.yp.to&amp;#47;djbdns&amp;#47;axfr-notes.html&lt;br /&gt;&lt;br /&gt;Also explore IXFR, RFC 1995 - Incremental Zone Transfer in DNS&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;www.ietf.org&amp;#47;rfc&amp;#47;rfc1995.txt&lt;br /&gt;</description><author>jmonty</author><pubDate>Tue, 11 Mar 2008 13:58:34 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Add Support for Zone Transfers (AXFR) 20080311015834P</guid></item><item><title>CREATED ISSUE: Add IPv6 Network Support</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1075</link><description>Currently only IPv4 is used to query DNS Servers. As IPv6 become more prevalent, DnDns needs to support IPv6 networks as well.&lt;br /&gt;</description><author>jmonty</author><pubDate>Tue, 05 Feb 2008 15:11:59 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add IPv6 Network Support 20080205031159P</guid></item><item><title>CREATED ISSUE: Add IPv6 Specific DNS Record Support</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1074</link><description>RFC 2874 introduces IPv6 Record Types to the DNS system.  Add additional record type A6 and modify the following existing record types to support IPv6 specifics as well.&lt;br /&gt;&lt;br /&gt;ref&amp;#58; http&amp;#58;&amp;#47;&amp;#47;www.ietf.org&amp;#47;rfc&amp;#47;rfc2874.txt&lt;br /&gt;</description><author>jmonty</author><pubDate>Tue, 05 Feb 2008 15:02:21 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add IPv6 Specific DNS Record Support 20080205030221P</guid></item><item><title>CREATED FEATURE: Create full client sample based on DnDns Library</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1044</link><description>Tool would be similar to nslookup, perhaps more verbose.&lt;br /&gt;</description><author>jmonty</author><pubDate>Sat, 02 Feb 2008 05:38:50 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Create full client sample based on DnDns Library 20080202053850A</guid></item><item><title>CREATED ISSUE: Add Unit Tests</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1043</link><description>This project started long before I knew or understood what test driven development or unit testing was. Ideally I&amp;#39;d like to add unit testing to the project to make additions&amp;#47;patching, etc. for this project a bit easier to maintain.&lt;br /&gt;</description><author>jmonty</author><pubDate>Sat, 02 Feb 2008 05:32:55 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add Unit Tests 20080202053255A</guid></item><item><title>CREATED ISSUE: Add support for newer DNS Security Features (DNSSEC)</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1042</link><description>&amp;#34;DNSSEC was designed to protect the Internet from certain attacks, such as DNS cache poisoning &amp;#91;0&amp;#93;. It is a set of extensions to DNS, which provide&amp;#58; a&amp;#41; origin authentication of DNS data, b&amp;#41; data integrity, and c&amp;#41; authenticated denial of existence.&amp;#34;&lt;br /&gt;&lt;br /&gt;Reference&amp;#58; http&amp;#58;&amp;#47;&amp;#47;www.dnssec.net&amp;#47;&lt;br /&gt;</description><author>jmonty</author><pubDate>Sat, 02 Feb 2008 05:32:02 GMT</pubDate><guid isPermaLink="false">CREATED ISSUE: Add support for newer DNS Security Features (DNSSEC) 20080202053202A</guid></item><item><title>CREATED FEATURE: Add Support for DNS Queries using the TCP protocol</title><link>http://www.codeplex.com/dndns/WorkItem/View.aspx?WorkItemId=1041</link><description>Infrastructure in code supports the addition of TCP DNS queries, but it&amp;#39;s currently throws a NotImplementedException&amp;#40;&amp;#41;. Finish up adding TCP support.&lt;br /&gt;</description><author>jmonty</author><pubDate>Sat, 02 Feb 2008 05:31:05 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Add Support for DNS Queries using the TCP protocol 20080202053105A</guid></item></channel></rss>