<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6270591920582469905</id><updated>2012-01-27T01:23:43.512-08:00</updated><category term='powerdns'/><category term='DNSSEC'/><category term='security'/><title type='text'>bert hubert finally blogs</title><subtitle type='html'>Code, musings and more</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-3425074865730912242</id><published>2012-01-15T12:07:00.000-08:00</published><updated>2012-01-15T12:07:10.216-08:00</updated><title type='text'>Four million pings only - aka 1 dimensional DNS radar</title><content type='html'>Quick post as I have no time to work on this for now. Ages ago I read a book, I think by Arthur C. Clarke, where powerful atomic bombs were used to generate radar pulses so powerful, the return signal was used to map the entire solar system in one go. The&amp;nbsp;grandeur&amp;nbsp;of this vision impressed me a lot, and I hope that one day we can do it. (Btw, if anybody knows the name of the book, please share!).&lt;br /&gt;&lt;br /&gt;If you send out one powerful 'ping' of radar signal, and only measure the strength of the return over time, you don't get a good picture - you learn how much reflection you get, and from how far away (based on the delay). But you don't get the angle. This is why 'real' radars rotate, so they can sweep the sky. (I know there are other reasons).&lt;br /&gt;&lt;br /&gt;One of the 2012 goals for the PowerDNS Recursor is to become the DNS resolver with the best perceived experience for the end-users. This means not so much the highest performance (in terms of hundreds of thousands of queries/second, the usual metric), but in terms of getting the best answer to the user within the shortest amount of time.&lt;br /&gt;&lt;br /&gt;In doing the math on this challenge, I needed to know how the response times of authoritative DNS servers are distributed, so I instrumented the PowerDNS Recursor to graph this while I sent it runs of 2,000,000 questions from a list of the most popular domain names. I was naively expecting some sort of Poisson distribution centered around 150ms.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pyMpLBYQGUw/TxMq3EWLDNI/AAAAAAAAApE/DRrqAaBZy_4/s1600/combi2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="480" src="http://3.bp.blogspot.com/-pyMpLBYQGUw/TxMq3EWLDNI/AAAAAAAAApE/DRrqAaBZy_4/s640/combi2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;But lo and behold, I got this graph. From this you can see that around 10% of answers came in beteen 1 and 2msec. &amp;nbsp;But this graph isn't any kind of nice smooth distribution at all, and I should have realised that.&lt;br /&gt;&lt;br /&gt;(the graph contains two runs, called 'plot' and 'plot.1', plus the combination of both runs in Blue)&lt;br /&gt;&lt;br /&gt;The speed of light within a fiberoptic cable is around 200,000km/s, and because the answer needs to come back too, this equals around 100km per msec. So if you multiply the y-axis by a hundred, you get a very rough measure of the distance of all authoritative servers queried. And servers are not distributed smoothly! They tend to cluster around hotspots.&lt;br /&gt;&lt;br /&gt;So what are these peaks? Well.. the first one turns out to be mostly ANYcasted servers present very closely to &lt;a href="http://xs.powerdns.com/"&gt;xs.powerdns.com&lt;/a&gt;. A secondary peak (24ms) appears to be Milan (actual distance: 1000km, but we lose 20ms somewhere within Level3 for no apparent reason), hosting an instance of a.dns.it, plus an instance of b.gtld-servers.net in Stockholm (actual distance: 1500km).&lt;br /&gt;&lt;br /&gt;The big void between 50ms and 75ms might correspond to the Atlantic Ocean.&lt;br /&gt;&lt;br /&gt;The peak around 84-87ms matches closely with the East Coast of the US, whereas the somewhat broader peak beyond 158ms might well be California. Or Asia!&lt;br /&gt;&lt;br /&gt;250ms is about what you'd expect from Australia, the peak from 350ms might again be Australia, but then 'the wrong way round'.&lt;br /&gt;&lt;br /&gt;These analyses are very tentative, but I've now seen the same result on 4 different datasets, one of which was measured a few years ago and based on very different techniques, but gave the same result.&lt;br /&gt;&lt;br /&gt;The dataset used to generate the graph above can be found on &lt;a href="http://xs.powerdns.com/dns-radar"&gt;http://xs.powerdns.com/dns-radar&lt;/a&gt;, the format is "microseconds errorcode remote-server:port domain-name".&lt;br /&gt;&lt;br /&gt;I might publish more details on how to reproduce later, but for now, I thought this was cool enough to share!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-3425074865730912242?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/3425074865730912242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2012/01/four-million-pings-only-aka-1.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3425074865730912242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3425074865730912242'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2012/01/four-million-pings-only-aka-1.html' title='Four million pings only - aka 1 dimensional DNS radar'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-pyMpLBYQGUw/TxMq3EWLDNI/AAAAAAAAApE/DRrqAaBZy_4/s72-c/combi2.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-6976968621113900723</id><published>2012-01-10T06:11:00.000-08:00</published><updated>2012-01-10T09:11:47.690-08:00</updated><title type='text'>PowerDNS Authoritative Server Security Notification 2012-01</title><content type='html'>&lt;div class="table" style="font-family: 'luxi sans', sans-serif;"&gt;&lt;div class="table-contents"&gt;&lt;table border="1" summary="PowerDNS Security Advisory"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;CVE&lt;/td&gt;&lt;td&gt;CVE-2012-0206&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Date&lt;/td&gt;&lt;td&gt;10th of January 2012&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Credit&lt;/td&gt;&lt;td&gt;Ray Morris of&amp;nbsp;&lt;a class="ulink" href="http://bettercgi.com/" target="_top"&gt;BetterCGI.com&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Affects&lt;/td&gt;&lt;td&gt;Most PowerDNS Authoritative Server versions &amp;lt; 3.0.1 (with the exception of the just released 2.9.22.5)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Not affected&lt;/td&gt;&lt;td&gt;No versions of the PowerDNS Recursor ('pdns_recursor') are affected.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Severity&lt;/td&gt;&lt;td&gt;High&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Impact&lt;/td&gt;&lt;td&gt;Using well crafted UDP packets, one or more PowerDNS servers could be made to enter a tight packet loop, causing temporary denial of service&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Exploit&lt;/td&gt;&lt;td&gt;Proof of concept&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Risk of system compromise&lt;/td&gt;&lt;td&gt;No&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Solution&lt;/td&gt;&lt;td&gt;Upgrade to PowerDNS Authoritative Server 2.9.22.5 or 3.0.1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Workaround&lt;/td&gt;&lt;td&gt;Several, the easiest is setting: cache-ttl=0, which does have a performance impact. Please see below.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;&lt;br class="table-break" /&gt;&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;Affected versions of the PowerDNS Authoritative Server can be made to respond to DNS responses, thus enabling an attacker to setup a packet loop between two PowerDNS servers, perpetually answering each other's answers. In some scenarios, a server could also be made to talk to itself, achieving the same effect.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;If enough bouncing traffic is generated, this will overwhelm the server or network and disrupt service.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;As a workaround, if upgrading to a non-affected version is not possible, several options are available. The issue is caused by the packet-cache, which can be disabled by setting 'cache-ttl=0', although this does incur a performance penalty. This can be partially addressed by raising the query-cache-ttl to a (far) higher value.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;Alternatively, on Linux systems with a working iptables setup, 'responses' sent to the PowerDNS Authoritative Server 'question' address can be blocked by issuing:&lt;/div&gt;&lt;pre class="screen" style="background-color: #eeeeee; border-bottom-color: rgb(187, 187, 187); border-bottom-left-radius: 2.5px; border-bottom-right-radius: 2.5px; border-bottom-style: solid; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(187, 187, 187); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(187, 187, 187); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(187, 187, 187); border-top-left-radius: 2.5px; border-top-right-radius: 2.5px; border-top-style: solid; border-top-width: 1px; font-size: 1em; margin-bottom: 0.5em; margin-left: 2em; margin-right: 2em; margin-top: 0.5em; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px;"&gt;iptables -I INPUT -p udp --dst $AUTHIP --dport 53 \! -f -m u32 --u32 "0&amp;gt;&amp;gt;22&amp;amp;0x3C@8&amp;gt;&amp;gt;15&amp;amp;0x01=1" -j DROP &lt;br /&gt; &lt;/pre&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;If this command is used on a router or firewall, substitute FORWARD for INPUT.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;To solve this issue, we recommend upgrading to the latest packages available for your system. Tarballs and new static builds (32/64bit, RPM/DEB) of 2.9.22.5 and 3.0.1 have been uploaded to&amp;nbsp;&lt;a class="ulink" href="http://www.powerdns.com/content/downloads.html" target="_top"&gt;our download site&lt;/a&gt;. Kees Monshouwer has provided updated CentOS/RHEL packages in&amp;nbsp;&lt;a class="ulink" href="http://www.monshouwer.eu/download/3th_party/" target="_top"&gt;his repository&lt;/a&gt;. Debian, Fedora and SuSE should have packages available shortly after this announcement.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;For those running custom PowerDNS versions, just applying this patch may be easier:&lt;/div&gt;&lt;pre class="screen" style="background-color: #eeeeee; border-bottom-color: rgb(187, 187, 187); border-bottom-left-radius: 2.5px; border-bottom-right-radius: 2.5px; border-bottom-style: solid; border-bottom-width: 1px; border-image: initial; border-left-color: rgb(187, 187, 187); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(187, 187, 187); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(187, 187, 187); border-top-left-radius: 2.5px; border-top-right-radius: 2.5px; border-top-style: solid; border-top-width: 1px; font-size: 1em; margin-bottom: 0.5em; margin-left: 2em; margin-right: 2em; margin-top: 0.5em; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px;"&gt;--- pdns/common_startup.cc   (revision 2326)&lt;br /&gt;+++ pdns/common_startup.cc   (working copy)&lt;br /&gt;@@ -253,7 +253,9 @@&lt;br /&gt;       numreceived4++;&lt;br /&gt;     else&lt;br /&gt;       numreceived6++;&lt;br /&gt;-&lt;br /&gt;+    if(P-&amp;gt;d.qr)&lt;br /&gt;+      continue;&lt;br /&gt;+      &lt;br /&gt;     S.ringAccount("queries", P-&amp;gt;qdomain+"/"+P-&amp;gt;qtype.getName());&lt;br /&gt;     S.ringAccount("remotes",P-&amp;gt;getRemote());&lt;br /&gt;     if(logDNSQueries) {&lt;br /&gt;&lt;/pre&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;It should apply cleanly to 3.0 and with little trouble to several older releases, including 2.9.22 and 2.9.21.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;This bug resurfaced because over time, the check for 'not responding to responses' moved to the wrong place, allowing certain responses to be processed anyhow.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;We would like to thank Ray Morris of&amp;nbsp;&lt;a class="ulink" href="http://bettercgi.com/" target="_top"&gt;BetterCGI.com&lt;/a&gt;&amp;nbsp;for bringing this issue to our attention and Aki Tuomi for helping us reproduce the problem.&lt;/div&gt;&lt;div style="font-family: 'luxi sans', sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-6976968621113900723?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/6976968621113900723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2012/01/powerdns-authoritative-server-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6976968621113900723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6976968621113900723'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2012/01/powerdns-authoritative-server-security.html' title='PowerDNS Authoritative Server Security Notification 2012-01'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-1857503741899346707</id><published>2011-11-20T10:49:00.000-08:00</published><updated>2011-11-20T10:49:59.923-08:00</updated><title type='text'>Old blog posts back</title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;More than a year ago my old server died, taking down my blog with it. It was a busy year so I only now got round to reviving the content.&lt;br /&gt;&lt;br /&gt;It is back now, and you can find the old content &lt;a href="http://blog.netherlabs.nl/index.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some of my favorite old posts:&lt;br /&gt;&lt;br /&gt;&lt;h2 style="background-color: white; font: normal normal normal 140%/1.3em Arial, Verdana, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;"&gt;&lt;ul style="color: #333333; font-family: Arial, Verdana, Helvetica, sans-serif;"&gt;&lt;li&gt;&lt;a href="http://blog.netherlabs.nl/articles/2009/01/18/the-ultimate-so_linger-page-or-why-is-my-tcp-not-reliable" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #85ab02; text-decoration: none;"&gt;The ultimate SO_LINGER page, or: why is my tcp not reliable&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.netherlabs.nl/articles/2008/12/08/predictions" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #85ab02; font-size: 31px; line-height: 40px; text-decoration: none;"&gt;Predictions&lt;/a&gt;&lt;h2 style="font: normal normal normal 140%/1.3em Arial, Verdana, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;/h2&gt;&lt;/li&gt;&lt;li&gt;&lt;h2 style="font: normal normal normal 140%/1.3em Arial, Verdana, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blog.netherlabs.nl/articles/2007/09/20/reusing-unix-semantics-for-fun-and-profit" style="border-bottom-color: rgb(133, 171, 2); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #85ab02; text-decoration: none;"&gt;Reusing UNIX semantics for fun and profit&lt;/a&gt;&lt;/h2&gt;&lt;/li&gt;&lt;li&gt;&lt;h2 style="font: normal normal normal 140%/1.3em Arial, Verdana, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blog.netherlabs.nl/articles/2007/11/11/secrets-in-public-diffie-hellman-key-exchange" style="border-bottom-color: rgb(133, 171, 2); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #85ab02; text-decoration: none;"&gt;Secrets in Public: Diffie-Hellman key exchange&lt;/a&gt;&lt;/h2&gt;&lt;/li&gt;&lt;li&gt;&lt;h2 style="font: normal normal normal 140%/1.3em Arial, Verdana, Helvetica, sans-serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;a href="http://blog.netherlabs.nl/articles/2008/08/05/calculating-the-chance-of-spoofing-an-agile-source-port-randomised-resolver" style="border-bottom-color: rgb(133, 171, 2); border-bottom-style: none; border-bottom-width: 1px; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #85ab02; text-decoration: none;"&gt;Calculating the chance of spoofing an agile source port randomised resolver&lt;/a&gt;&lt;/h2&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.netherlabs.nl/articles/2008/11/16/the-fourteen-stages-of-any-real-software-project" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; color: #85ab02; text-align: -webkit-auto; text-decoration: none;"&gt;The fourteen stages of any real software project&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #333333;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-1857503741899346707?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/1857503741899346707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/11/old-blog-posts-back.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/1857503741899346707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/1857503741899346707'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/11/old-blog-posts-back.html' title='Old blog posts back'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-4837765384060915467</id><published>2011-09-23T02:37:00.000-07:00</published><updated>2011-09-23T06:33:55.999-07:00</updated><title type='text'>Neutrinos faster than light?</title><content type='html'>I'm really hoping it is true, &lt;a href="http://blog.vixra.org/2011/09/19/can-neutrinos-be-superluminal/"&gt;that neutrinos are actually travelling faster than light&lt;/a&gt;! As is usually the case with potential breakthroughs in physics, the evidence is complicated.&lt;br /&gt;&lt;br /&gt;It would be wonderful if it had been a simple race between light and neutrinos, and the neutrinos arriving first. Sadly, it is not as simple as this.&lt;br /&gt;&lt;br /&gt;In reality, "trains" of millions and millions of neutrinos are generated in Switzerland, from where they travel straight through the earth, to be detected in an experiment in Italy. Over three years of measurements, 16111 neutrinos have been recorded and timed.&lt;br /&gt;&lt;br /&gt;Each train of neutrinos is 10500 nanoseconds long, and the average neutrino is measured to appear 60 nanoseconds earlier than expected. &amp;nbsp;The problem is that of the millions of neutrinos sent, only a few get detected.&lt;br /&gt;&lt;br /&gt;So when the arrival of a neutrino is measured, it is not certain if it is one from the beginning of the 10500 nanosecond long train, or one at the end.&lt;br /&gt;&lt;br /&gt;If the train of neutrinos were exactly uniform, you could just take the average travel time, and be done with it. In the end the length of the train would average out. The problem is that the density of neutrinos being sent is absolutely not uniform.&lt;br /&gt;&lt;br /&gt;Through crafty statistics however, and by measuring the precise density shape of the train in Switzerland, it is however possible to still generate an average travel time. And this is the number that is being reported, between 50 and 70 nanoseconds too fast (more or less).&lt;br /&gt;&lt;br /&gt;This corresponds to around &lt;strike&gt;180&lt;/strike&gt;&amp;nbsp;18 meters at the speed of light. The distance to between where the beam starts and where it is measured is known to 20 centimeters precise, so that is not a problem. It also appears that the very best timekeeping people in the whole world have been involved in making sure the clocks are running correctly.&lt;br /&gt;&lt;br /&gt;It is an impressive effort. It would have been a lot easier if we could just organize a race between a neutrino and a photon. The result now reported is statistical in nature, but the statistics are impressive. It should however be realized that a lot of calculations are needed to get the 60ns number, and a mistake could hide anywhere.&lt;br /&gt;&lt;br /&gt;The result can be compared to trying to measure if a (real) train runs on schedule by timing when people walk out of the train station. If you keep that up long enough, you will be able to get results - but a lot of things could mess with your measurements!&lt;br /&gt;&lt;br /&gt;On a final note, it might well turn out that neutrinos do not travel faster than light, but that there is another reason why we are getting these results. That might in itself be almost as interesting!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-4837765384060915467?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/4837765384060915467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/09/neutrinos-faster-than-light.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/4837765384060915467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/4837765384060915467'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/09/neutrinos-faster-than-light.html' title='Neutrinos faster than light?'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-2207383337541195395</id><published>2011-07-23T11:44:00.000-07:00</published><updated>2011-07-23T11:44:48.829-07:00</updated><title type='text'>A prior art post: wifi OR bluetooth for powersaving</title><content type='html'>While singing my lovely son to sleep just now, an idea popped up in my head which I'm hoping is not yet patented. If it isn't, this post should kill any chances of that ever happening. Here goes.&lt;br /&gt;&lt;br /&gt;Bluetooth and Wifi on smartphones both draw power, even when there is no actual Wifi or Bluetooth connection active - the mere act of listening for a potential pairing costs energy.&lt;br /&gt;&lt;br /&gt;However, when I'm on my home Wifi, I am never on Bluetooth. When I'm connected to Bluetooth, I'm never eager for a wireless connection.&lt;br /&gt;&lt;br /&gt;Thus, wouldn't it be nice if there was a piece of software that shutdown the Bluetooth listener if connected to Wifi? And if that Wifi goes out of range, turn off the Bluetooth again. If that leads to a connection, shut down the Wifi listener.&lt;br /&gt;&lt;br /&gt;I'm pretty sure that for many use cases (people with wifi at home and at the office, and bluetooth handsfree in the car), this would save like.. joules per day! ;-)&lt;br /&gt;&lt;br /&gt;This post was of course inspired by my phone shutting down while I was reading the web while singing my son to sleep.&lt;br /&gt;&lt;br /&gt;So - feel free to make this appear on the Android market or the appstore. And who knows, it might be there already.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-2207383337541195395?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/2207383337541195395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/07/prior-art-post-wifi-or-bluetooth-for.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/2207383337541195395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/2207383337541195395'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/07/prior-art-post-wifi-or-bluetooth-for.html' title='A prior art post: wifi OR bluetooth for powersaving'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-4045550842902269629</id><published>2011-07-22T05:29:00.000-07:00</published><updated>2011-07-22T05:29:49.413-07:00</updated><title type='text'>PowerDNS Authoritative Server 3.0 has been released!</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'luxi sans', sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;" title="Warning"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman';"&gt;&lt;pre&gt;Available from:&lt;br /&gt; * &lt;a href="http://downloads.powerdns.com/releases/pdns-3.0.tar.gz"&gt;http://downloads.powerdns.com/releases/pdns-3.0.tar.gz&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://downloads.powerdns.com/releases/rpm/pdns-static-3.0-1.x86_64.rpm"&gt;http://downloads.powerdns.com/releases/rpm/pdns-static-3.0-1.x86_64.rpm&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://downloads.powerdns.com/releases/deb/pdns-static_3.0-1_amd64.deb"&gt;http://downloads.powerdns.com/releases/deb/pdns-static_3.0-1_amd64.deb&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://downloads.powerdns.com/releases/rpm/pdns-static-3.0-1.i386.rpm"&gt;http://downloads.powerdns.com/releases/rpm/pdns-static-3.0-1.i386.rpm&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://downloads.powerdns.com/releases/deb/pdns-static_3.0-1_i386.deb"&gt;http://downloads.powerdns.com/releases/deb/pdns-static_3.0-1_i386.deb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These files also come with GPG signatures (append .sig).&lt;br /&gt;&lt;br /&gt;RHEL/CentOS "native" RPMs are usually contributed by Kees Monshouwer&lt;br /&gt;(thanks!) pretty quickly after a release on:&lt;br /&gt;&lt;a href="http://www.monshouwer.eu/download/3th_party/pdns-server/"&gt;http://www.monshouwer.eu/download/3th_party/pdns-server/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The release notes are also available, with clickable links, on &lt;br /&gt;&lt;a href="http://doc.powerdns.com/changelog.html#changelog-auth-3-0"&gt;http://doc.powerdns.com/changelog.html#changelog-auth-3-0&lt;/a&gt;&lt;/pre&gt;&lt;/span&gt;&lt;table border="0" summary="Warning"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align="left"&gt;&lt;br class="Apple-interchange-newline" /&gt;Warning&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;Version 3.0 of the PowerDNS Authoritative Server is a major upgrade. Please refer to&amp;nbsp;&lt;a class="xref" href="http://doc.powerdns.com/upgrades.html#from2.9to3.0" title="1. From PowerDNS Authoritative Server 2.9.x to 3.0"&gt;Section&amp;nbsp;1, “From PowerDNS Authoritative Server 2.9.x to 3.0”&lt;/a&gt;&amp;nbsp;for important information on correct and stable operation, as well as notes on performance and memory use.&lt;br /&gt;Known issues as of RC3 include:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;Not all new features are fully documented yet&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;" title="Note"&gt;&lt;table border="0" summary="Note"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center" rowspan="2" valign="top" width="25"&gt;&lt;img alt="[Note]" src="http://doc.powerdns.com/note.png" /&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;Released on the 22nd of July 2011&lt;br /&gt;RC1 released on the 4th of April 2011&lt;br /&gt;RC2 released on the 19th of April 2011&lt;br /&gt;RC3 released on the 19th of July 2011&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;Version 3.0 of the PowerDNS Authoritative Server brings a number of important features, as well as over two years of accumulated bug fixing.&lt;br /&gt;The largest news in 3.0 is of course the advent of DNSSEC. Not only does PowerDNS now (finally) support DNSSEC, we think that our support of this important protocol is among the easiest to use available. In addition, all important algorithms are supported.&lt;br /&gt;Complete detail can be found in&amp;nbsp;&lt;a class="xref" href="http://doc.powerdns.com/powerdnssec-auth.html" title="Chapter 12. Serving authoritative DNSSEC data"&gt;Chapter&amp;nbsp;12,&amp;nbsp;&lt;i&gt;Serving authoritative DNSSEC data&lt;/i&gt;&lt;/a&gt;. The goal of 'PowerDNSSEC' is to allow existing PowerDNS installations to start serving DNSSEC with as little hassle as possible, while maintaining performance and achieving high levels of security.&lt;br /&gt;Tutorials and examples of how to use DNSSEC in PowerDNS can be found linked from&amp;nbsp;&lt;a class="ulink" href="http://powerdnssec.org/" target="_top"&gt;http://powerdnssec.org&lt;/a&gt;.&lt;br /&gt;PowerDNS Authoritative Server 3.0 development has been made possible by the financial and moral support of:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;&lt;a class="ulink" href="http://www.afnic.fr/" target="_top"&gt;AFNIC, the French registry&lt;/a&gt;&lt;/li&gt;&lt;li class="listitem"&gt;&lt;a class="ulink" href="http://www.ipcom.at/en/dns/rcodezero_anycast/" target="_top"&gt;IPCom's RcodeZero Anycast DNS&lt;/a&gt;, a subsidiary of NIC.AT, the Austrian registry&lt;/li&gt;&lt;li class="listitem"&gt;&lt;a class="ulink" href="http://www.sidn.nl/" target="_top"&gt;SIDN, the Dutch registry&lt;/a&gt;&lt;/li&gt;&lt;li class="listitem"&gt;.. (awaiting details) ..&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;This release has received exceptional levels of community support, and we'd like to thank the following people in addition to those mentioned explicitly below: Peter Koch (DENIC), Olaf Kolkman (NLNetLabs), Wouter Wijngaards (NLNetLabs), Marco Davids (SIDN), Markus Travaille (SIDN), Leen Besselink, Antoin Verschuren (SIDN), Olafur Gudmundsson (IETF), Dan Kaminsky (Recursion Ventures), Roy Arends (Nominet), Miek Gieben (SIDN), Stephane Bortzmeyer (AFNIC), Michael Braunoeder (nic.at), Peter van Dijk, Maik Zumstrull, Jose Arthur Benetasso Villanova (Locaweb), Stefan Schmidt, Roland van Rijswijk (Surfnet), Paul Bakker (Brainspark/Fox-IT), Mathew Hennessy, Johannes Kuehrer (Austrian World4You GmbH), Marc van de Geijn (bHosted.nl), Stefan Arentz and Martin van Hensbergen (Fox-IT), Christof Meerwald, Detlef Peeters, Jack Lloyd, Frank Altpeter, frederik danerklint, Vasiliy G Tolstov, Brielle Bruns, Evan Hunt, Ralf van der Enden, Marc Laros, Serge Belyshev, Christian Hofstaedtler, Charlie Smurthwaite, Nikolaos Milas, ..&lt;br /&gt;Changes between RC3 and final:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;Slight tweak to the pipebackend to ease DNSSEC operations (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2239" target="_top"&gt;commit 2239&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2247" target="_top"&gt;commit 2247&lt;/a&gt;). Also fix pipebackend support in pdnssec tool (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2244" target="_top"&gt;commit 2244&lt;/a&gt;).&lt;/li&gt;&lt;li class="listitem"&gt;Upgrade the experimental native Lua backend to the latest version from Frederik Danerklint (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2240" target="_top"&gt;commit 2240&lt;/a&gt;) and include this backend in the .deb packages (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2242" target="_top"&gt;commit 2242&lt;/a&gt;)&lt;/li&gt;&lt;li class="listitem"&gt;Remove IPv6 dependency, it was only possible to run master/slave operations on a server with at least one IPv6 address. Some very old virtualized setups turned out to have no IPv6 at all. Fix in&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2246" target="_top"&gt;commit 2246&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;Changes between RC2 and RC3:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;PowerDNS Authoritative Server could not be configured to use an IPv6 based resolving backend. Solved in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2191" target="_top"&gt;commit 2191&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;LDAP backend reconfigured the timezone (TZ) setting of the daemon, leading to confusing logfile entries. Fixed by Christian Hofstaedtler in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2913" target="_top"&gt;commit 2913&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/313" target="_top"&gt;ticket 313&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Non-DNSSEC capable backends could crash on DNSSEC queries. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2194" target="_top"&gt;commit 2194&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2196" target="_top"&gt;commit 2196&lt;/a&gt;&amp;nbsp;(thanks to Charlie Smurthwaite) closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/360" target="_top"&gt;ticket 360&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Errors looking up a UID or GID were reported confusingly ('Success'), fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2195" target="_top"&gt;commit 2195&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/359" target="_top"&gt;ticket 359&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Fix compilation against older MySQL, client libraries (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2198" target="_top"&gt;commit 2198&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2199" target="_top"&gt;commit 2199&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2204" target="_top"&gt;commit 2204&lt;/a&gt;), especially for older RHEL/CentOS. Also addresses the failure to look in lib64 directory for PostgreSQL.&lt;/li&gt;&lt;li class="listitem"&gt;Sqlite3 needs write access not just to its database file, but also to the directory it is in. If this wasn't the case, no useful error message was provided. Improvement in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2202" target="_top"&gt;commit 2202&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Update of MongoDB backend (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2203" target="_top"&gt;commit 2203&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2212" target="_top"&gt;commit 2212&lt;/a&gt;).&lt;/li&gt;&lt;li class="listitem"&gt;'pdnssec hash-zone-record' emitted an inverted warning about narrow NSEC3 hashes. Spotted by Jan-Piet Mens, fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2205" target="_top"&gt;commit 2205&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS can fill out default fields for SOA records, but neglected to do so if the SOA record was matched by an incoming ANY question. Spotted by Marc Laros &amp;amp; others. Fixes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/357" target="_top"&gt;ticket 357&lt;/a&gt;, code in&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2206" target="_top"&gt;commit 2206&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS would mistreat binary data in TXT records. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2207" target="_top"&gt;commit 2207&lt;/a&gt;. Again spotted by Jan-Piet Mens. Closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/356" target="_top"&gt;ticket 356&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Add experimental Lua backend by our star contributor Fredrik Danerklint.&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2208" target="_top"&gt;commit 2208&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Christoph Meerwald discovered our RRSIG freshness checking checked more than the intended RRSIG (on the SOA record). Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2209" target="_top"&gt;commit 2209&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Christoph Meerwald discovered we got confused by TSIG signed EDNS-adorned queries, since we expected the EDNS OPT pseudorecord to be the very last record. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2214" target="_top"&gt;commit 2214&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Christoph Meerwald discovered that when using SOA outgoing editing we would sign and THEN edit. This was not productive. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2215" target="_top"&gt;commit 2215&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Add missing-but-documented pdnssec command 'disable-dnssec'. Spotted by Craig Whitmore. Plus fixed misleading --help output. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2216" target="_top"&gt;commit 2216&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;By popular demand, a tweak which makes an overloaded database no longer restart PowerDNS but to drop queries until the database is available again. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2217" target="_top"&gt;commit 2217&lt;/a&gt;, lightly tested. Enable by setting 'overload-queue-lengh=100' (for example).&lt;/li&gt;&lt;li class="listitem"&gt;By suggestion of Miek Gieben of SIDN, add SOA-EDIT mode 'EPOCH' which sets the SOA serial number to the 'UNIX time'. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2218" target="_top"&gt;commit 2218&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Added some US export control &amp;amp; ECCN to documentation, needed because of DNSSEC content. Update in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2219" target="_top"&gt;commit 2219&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Fix up various spelling mistakes and badly formatted messages (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2220" target="_top"&gt;commit 2220&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2221" target="_top"&gt;commit 2221&lt;/a&gt;) by Maik Zumstrull and 'anonymous'.&lt;/li&gt;&lt;li class="listitem"&gt;After a lot of thought, we now handle CNAMEs to names outside our knowledge ('bailiwick') exactly as in BIND 9.8.0, even though our way was standards compliant too. It confused things. Update in&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2222" target="_top"&gt;commit 2222&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2224" target="_top"&gt;commit 2224&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Tweak sqlite3 library location detection for newer Ubuntu versions. Change in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2223" target="_top"&gt;commit 2223&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;DNSSEC SQL schema improvements allowing for the use of constraints and foreign keys in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2225" target="_top"&gt;commit 2225&lt;/a&gt;, by Gerald Gruenberg, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/371" target="_top"&gt;ticket 371&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Add support for EDNS option 'edns-subnet', based on draft-vandergaast-edns-client-subnet (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2226" target="_top"&gt;commit 2226&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2228" target="_top"&gt;commit 2228&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2229" target="_top"&gt;commit 2229&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2230" target="_top"&gt;commit 2230&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2231" target="_top"&gt;commit 2231&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2233" target="_top"&gt;commit 2233&lt;/a&gt;).&lt;/li&gt;&lt;li class="listitem"&gt;Silence SIGCHLD warning from Perl when used to power 'pipe' backends (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2232" target="_top"&gt;commit 2232&lt;/a&gt;).&lt;/li&gt;&lt;li class="listitem"&gt;Add experimental support, off by default, for draft-edns-subnet. See&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2233" target="_top"&gt;commit 2233&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2239" target="_top"&gt;commit 2239&lt;/a&gt;&amp;nbsp;for details how to use this feature.&lt;/li&gt;&lt;li class="listitem"&gt;PostgreSQL and LDAP backends can now deal with a restart of their respective servers. Many thanks to Peter van Dijk for debugging and Nikolaos Milas for supplying a reproduction path of the problem (&amp;amp; much nagging). Fixes in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2233" target="_top"&gt;commit 2233&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2235" target="_top"&gt;commit 2235&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Jan-Piet Mens discovered that records inserted by Lua on zone retrieval did not get correct 'ordername' and 'auth' fields for DNSSEC. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2174" target="_top"&gt;commit 2174&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Silenced various relevant and less relevant compilation warnings (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2175" target="_top"&gt;commit 2175&lt;/a&gt;). Thanks to Serge Belyshev for pointing out the error in our ways.&lt;/li&gt;&lt;li class="listitem"&gt;Steve Bauer discovered we would cache empty recursive answers in some cases. Addressed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2176" target="_top"&gt;commit 2176&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;James Cloos reported that 'pdnssec check-zone' tripped over SRV records. Fixed this, and added check-zone to the regression tests. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2177" target="_top"&gt;commit 2177&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;DNSSEC regression tests were added in commits&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2178" target="_top"&gt;2178&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2179" target="_top"&gt;2179&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2182" target="_top"&gt;2182&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2186" target="_top"&gt;2186&lt;/a&gt;&amp;nbsp;We test against the fine tools from NLNetLabs.&lt;/li&gt;&lt;li class="listitem"&gt;Secure DNSSEC delegations to ourselves picked wrong zone to serve the DS record from. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2180" target="_top"&gt;commit 2180&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2181" target="_top"&gt;commit 2181&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2183" target="_top"&gt;commit 2183&lt;/a&gt;. reported by Niek Willems of InterNLnet.&lt;/li&gt;&lt;li class="listitem"&gt;Stef Van Dessel suggested we made our RPMs state explicitly that they need glibc 2.4 on Linux. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2184" target="_top"&gt;commit 2184&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;John Leach discovered our MySQL based backends would wait for ages on a failing MySQL server. The patch merged in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2189" target="_top"&gt;commit 2189&lt;/a&gt;&amp;nbsp;reduces the timeout significantly, which is especially useful with haproxy and mysqlproxy.&lt;/li&gt;&lt;li class="listitem"&gt;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2190" target="_top"&gt;commit 2190&lt;/a&gt;&amp;nbsp;fixes a crash reported by Marc Laros when using a non-DNSSEC capable backend. Should also improve non-DNSSEC performance.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;Changes between RC1 and RC2:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;Zone2sql sent out the wrong 'COMMIT' statement in sqlite mode. In addition, in this mode, zone2sql would not emit statements to update the domains table unless the 'slave' setting was chosen. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2167" target="_top"&gt;commit 2167&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;We dropped the Authoritative Answer flag on an out-of-bailiwick CNAME referral, which was unneccessary. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2170" target="_top"&gt;commit 2170&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Kees Monshouwer discovered that we failed to detect the location of PostgreSQL on RHEL/CentOS. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2144" target="_top"&gt;commit 2144&lt;/a&gt;. In addition,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2162" target="_top"&gt;commit 2162&lt;/a&gt;&amp;nbsp;eases detection of MySQL on RHEL/CentOS 64 bits systems.&lt;/li&gt;&lt;li class="listitem"&gt;Marc Laros re-reported an old bug in the internally used 'pdns' backend where details of the SOA record were not filled out correctly. Resolved in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2145" target="_top"&gt;commit 2145&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Jan-Piet Mens found that our TSIG signed SOA zone fresheness check was signed incorrectly. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2147" target="_top"&gt;commit 2147&lt;/a&gt;. Improved error messages that helped debug this issue in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2148" target="_top"&gt;commit 2148&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2149" target="_top"&gt;commit 2149&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Jan-Piet Mens helped debug an issue where some servers were "almost always" unable to transfer a TSIG signed zone correctly. Turns out that the TSIG signing code used an internal timestamp and not the remote timestamp. Because of good NTP synchronization this quite often was not a problem. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2159" target="_top"&gt;commit 2159&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Thor Spruyt of Telenet discovered that the PowerDNS code would try to emit DNS answers over TCP of over 65535 bytes long, which failed. We now truncate such answers properly. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2150" target="_top"&gt;commit 2150&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;The Slave engine now reuses an existing database connection, removing the need to create a new database connection every minute (and worse, log about it). Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2153" target="_top"&gt;commit 2153&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Fix a potential Year 2106 bug in the TSIG signing code. Because we care (&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2156" target="_top"&gt;commit 2156&lt;/a&gt;).&lt;/li&gt;&lt;li class="listitem"&gt;Added experimental support for the 'DANE' TLSA record which is used to authenticate SSL certificates via DNSSEC.&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2161" target="_top"&gt;commit 2161&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Added experimental support for the MongoDB 'NoSQL' backend, contributed by fredrik danerklint in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2162" target="_top"&gt;commit 2162&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;On to the release notes. Next to DNSSEC, other major new features include:&lt;br /&gt;&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;TSIG for authorizing and authenticating AXFR requests &amp;amp; incoming zone transfers (Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2024" target="_top"&gt;2024&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2025" target="_top"&gt;2025&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2033" target="_top"&gt;2033&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2034" target="_top"&gt;2034&lt;/a&gt;). This allows for retrieving TSIG protected content, as well as serving it.&lt;/li&gt;&lt;li class="listitem"&gt;Per zone also-notify.&lt;/li&gt;&lt;li class="listitem"&gt;MyDNS compatible backend, allowing for 'instantaneous' migration from this authoritative nameserver. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1418" target="_top"&gt;commit 1418&lt;/a&gt;, contributed by Jonathan Oddy.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS can now slave zones over IPv6 and notify IPv6 remotes of updates. Already. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2009" target="_top"&gt;commit 2009&lt;/a&gt;&amp;nbsp;and beyond.&lt;/li&gt;&lt;li class="listitem"&gt;Lua based incoming zone editing, allowing masters or signing slaves to add information to the zone they will (re-)serve. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2065" target="_top"&gt;commit 2065&lt;/a&gt;. To enable, use LUA-AXFR-SCRIPT zone metadata setting.&lt;/li&gt;&lt;li class="listitem"&gt;Native Oracle backend with full DNSSEC support. Contributed by Maik Zumstrull, then at the Steinbuch Centre for Computing at the Karlsruhe Institute of Technology.&lt;/li&gt;&lt;li class="listitem"&gt;"Also-notify" support, implemented by Aki Tuomi in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1400" target="_top"&gt;commit 1400&lt;/a&gt;. Support for Generic SQL backends and for the BIND backend. Further code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1360" target="_top"&gt;commit 1360&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Support for binding to thousands of IP addresses, code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1443" target="_top"&gt;commit 1443&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic MySQL backend now supports stored procedures. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2084" target="_top"&gt;commit 2084&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/231" target="_top"&gt;ticket 231&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic ODBC backend compiles again, and is reported to work for some users that need it. Code contributed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/309" target="_top"&gt;ticket 309&lt;/a&gt;, author unknown.&lt;/li&gt;&lt;li class="listitem"&gt;Massively parallel slaving infrastructure, able to check the freshness of thousands of remote zones per second, plus perform many incoming zone transfers simultaneously. Sponsored by Tyler Hall, code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1449" target="_top"&gt;1449&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1500" target="_top"&gt;1500&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1859" target="_top"&gt;1859&lt;/a&gt;&lt;/li&gt;&lt;li class="listitem"&gt;Core DNS logic replaced completely to deal with the brave new world of DNSSEC.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;Bugs fixed:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;sqlite2 and sqlite3 backends used MySQL-style escaping, leading to SQL errors in some cases. Discovered by Sten Spans. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1342" target="_top"&gt;commit 1342&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Internal webserver no longer prints '1e2%'. Bug rediscovered by Jeff Sipek. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1342" target="_top"&gt;commit 1342&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS would refuse to serve domain names with spaces in them, or otherwise non-printable characters. Addressed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2081" target="_top"&gt;commit 2081&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS can now serve escaped labels, as described by RFC 4343. Data should be present in backends in that escaped form. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2089" target="_top"&gt;commit 2089&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;In some cases, we would include duplicate CNAMEs. In addition, we would hand out a full root-referral when not configured to in some cases (ticket&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/223" target="_top"&gt;ticket 223&lt;/a&gt;). Discovered by Andreas Jakum, fixed in&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1344" target="_top"&gt;commit 1344&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Shane Kerr discovered we would corrupt DNS transaction IDs from the packet cache on big endian systems. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1346" target="_top"&gt;commit 1346&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/222" target="_top"&gt;ticket 222&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS did not use RFC 1982 serial arithmetic, leading to a SOA serial number of 1 to be regarded as older than 4400000000, when in fact it is 'newer'. Issue (re-)discovered by Jan-Piet Mens.&lt;/li&gt;&lt;li class="listitem"&gt;BIND backend got confused of a zone's filename changed after a configuration reload. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1347" target="_top"&gt;commit 1347&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/228" target="_top"&gt;ticket 228&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;When restarted by the Guardian, PowerDNS will perform a full multi-threaded cache cleanup, which took a long time and could crash. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1364" target="_top"&gt;commit 1364&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Under artificial circumstances, PowerDNS would never clean its packet cache. Found by Marcus Goller, fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1399" target="_top"&gt;commit 1399&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1408" target="_top"&gt;commit 1408&lt;/a&gt;. This update also retunes the cleanup frequency.&lt;/li&gt;&lt;li class="listitem"&gt;Packetcache would cache things it should not have been caching. Fixes in commits&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1407" target="_top"&gt;1407&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1488" target="_top"&gt;1488&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1869" target="_top"&gt;1869&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1880" target="_top"&gt;1880&lt;/a&gt;&lt;/li&gt;&lt;li class="listitem"&gt;When processing incoming notifications, the BIND backend was case-sensitive, and would disregard notifications in the wrong case. Discovered by 'Dolphin', fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1420" target="_top"&gt;commit 1420&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;The init.d script did not mention the 'reload' command. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1463" target="_top"&gt;commit 1463&lt;/a&gt;, closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/233" target="_top"&gt;ticket 233&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic SQL Backends would sometimes emit obscure error messages. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2049" target="_top"&gt;commit 2049&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS would be confused by embedded NULs in domain names, and would also mess up the escaping of some characters. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1468" target="_top"&gt;commit 1468&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1469" target="_top"&gt;commit 1469&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1478" target="_top"&gt;commit 1478&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1480" target="_top"&gt;commit 1480&lt;/a&gt;,&lt;/li&gt;&lt;li class="listitem"&gt;SOA queries for the name of a delegation point were not referred. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1466" target="_top"&gt;commit 1466&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/224" target="_top"&gt;ticket 224&lt;/a&gt;. In addition, queries for AAAA for a CNAMEd record pointing to a name with no AAAA would deliver a direct SOA, without the CNAME in between. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1542" target="_top"&gt;commit 1542&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1607" target="_top"&gt;commit 1607&lt;/a&gt;. Also, wildcard CNAMEs pointing to a record without the type requested suffered from the same issue, fix in&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1543" target="_top"&gt;commit 1543&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;On processing an incoming AXFR, once an MX or SRV record had been seen, all future fields got a 'priority' entry as well. This had no operational impact, but looked messy. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1437" target="_top"&gt;commit 1437&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Aki Tuomi discovered that the BIND zonefile parser would misrepresent 'something IN MX 15 @'. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1621" target="_top"&gt;commit 1621&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Marco Davids discovered the BIND zonefile parser would trip over really long lines. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1624" target="_top"&gt;commit 1624&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1625" target="_top"&gt;commit 1625&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Thomas Mieslinger discovered that our webserver would only be started after dropping privileges, which could cause problems. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1629" target="_top"&gt;commit 1629&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Zone2sql did quite often not do exactly what was required, which users fixed by editing the SQL output. Revamped in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2032" target="_top"&gt;commit 2032&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;An Ubuntu user discovered in Launchpad bug 600479 that restarting database threads cost a lot of memory. Normally this is rare, except in case of problems. Addressed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1676" target="_top"&gt;commit 1676&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;BIND backend could crash under (very) high load with very large numbers of zones (hundreds of thousands). Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1690" target="_top"&gt;commit 1690&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Miek Gieben and Marco Davids spotted that PowerDNS would answer the version.bind query in the IN class too. Bug reported via twitter! Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1709" target="_top"&gt;commit 1709&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Marcus Lauer and the OpenDNSSEC project discovered that outgoing notifications did not carry the 'aa' flag. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1746" target="_top"&gt;commit 1746&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Debugging PowerDNS, or backgrounding it, could cause crashes. Fixed by Anders Kaseorg in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1747" target="_top"&gt;commit 1747&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Fixed a bug that could cause crashes on launching thousands of backend connections. Never observed to occur, but who knows. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1792" target="_top"&gt;commit 1792&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Under some circumstances, large answers could be truncated in mid-record. While technically legal, this upset a number of resolver implementations (including the PowerDNS Recursor!). Fixed in&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1830" target="_top"&gt;commit 1830&lt;/a&gt;, re-closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/200" target="_top"&gt;ticket 200&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Jan Piet Mens and Florian Weimer discovered we had problems dealing with escaped labels and escaped TXT fields. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2000" target="_top"&gt;commit 2000&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;After 2.2 billion queries, statistics would wrap oddly. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2019" target="_top"&gt;commit 2019&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/327" target="_top"&gt;ticket 327&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;Improvements:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;Long TXT records are now split into 255-byte components automatically. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1340" target="_top"&gt;commit 1340&lt;/a&gt;, reported by Darren Gamble in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/188" target="_top"&gt;ticket 188&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;When receiving large numbers of notifications, PowerDNS would check these synchronously, leading to a slowdown for other services. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2058" target="_top"&gt;commit 2058&lt;/a&gt;, problem diagnosed by Richard Poole of Heart Internet.&lt;/li&gt;&lt;li class="listitem"&gt;Fixed compilation on newer compilers and newer versions of Boost. Changes in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1345" target="_top"&gt;1345&lt;/a&gt;&amp;nbsp;(closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/227" target="_top"&gt;ticket 227&lt;/a&gt;),&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1391" target="_top"&gt;1391&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1394" target="_top"&gt;1394&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1425" target="_top"&gt;1425&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1427" target="_top"&gt;1427&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1428" target="_top"&gt;1428&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1429" target="_top"&gt;1429&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1440" target="_top"&gt;1440&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1653" target="_top"&gt;1653&lt;/a&gt;, thanks to Ruben Kerkhof and others.&lt;/li&gt;&lt;li class="listitem"&gt;Moved Generic PostgreSQL backend over to the newer E'' style escapes.&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2094" target="_top"&gt;commit 2094&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Compilation fixes for Mac OS X 10.5.7 in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1389" target="_top"&gt;commit 1389&lt;/a&gt;, thanks to Tobias Markmann.&lt;/li&gt;&lt;li class="listitem"&gt;We can now bind to scoped IPv6 addresses, lack spotted by Darren Gamble. Part of the fix is in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2018" target="_top"&gt;commit 2018&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Built-in query cache can now also cache queries which lead to multiple answers. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2069" target="_top"&gt;commit 2069&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Prodded on by Jan Piet Mens, we now support 'unknown types' (which look like TYPE65534).&lt;/li&gt;&lt;li class="listitem"&gt;Add 'slave-renotify' to retransmit notifies for slaved zones, which is helpful when acting as a 'signing slave' for a hidden master. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1950" target="_top"&gt;commit 1950&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;No longer let zone2sql and zone2ldap import BIND 'hint' zones.&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1998" target="_top"&gt;commit 1998&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Allow for timestamps to explicitly be specified in (s)econds. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1398" target="_top"&gt;commit 1398&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/250" target="_top"&gt;ticket 250&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Zones with URL and MBOXFW records can be transferred over AXFR, code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1464" target="_top"&gt;commit 1464&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Maik Zumstrull cleaned up the BIND Backend makefile, plus taught our init.d script to read /etc/default/pdns. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1601" target="_top"&gt;commit 1601&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1602" target="_top"&gt;commit 1602&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic SQL backends now support multiple masters in the domains table. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1857" target="_top"&gt;commit 1857&lt;/a&gt;. Additionally, masters can also have :port numbers. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1858" target="_top"&gt;commit 1858&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-4045550842902269629?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/4045550842902269629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/07/powerdns-authoritative-server-30-has.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/4045550842902269629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/4045550842902269629'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/07/powerdns-authoritative-server-30-has.html' title='PowerDNS Authoritative Server 3.0 has been released!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-7229105949754227759</id><published>2011-06-13T12:18:00.000-07:00</published><updated>2011-06-13T12:18:52.200-07:00</updated><title type='text'>As a community service, the glibc 2.14 'fixed bugs' with descriptions</title><content type='html'>&lt;div&gt;Hi everybody,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;The venerable GNU C Library just saw the release of 2.14. Within the &lt;a href="http://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=1ca96738d5683da7b8f5ec1b658969008fbd791e;hb=356f8bc660a154a07b03da7c536831da5c8f74fe"&gt;release notes&lt;/a&gt;&amp;nbsp;there is a list of bug numbers that are addressed by this release. Some of these are highlighted in the release notes, but most aren't.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I did some scripting and here is a lightly edited list of things fixed. I added a link to bug 10149, you can guess the URL for the rest. I &lt;b&gt;bolded&lt;/b&gt; things that might actually hit my programs (and who knows, yours):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(potentially) security related:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;&lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=10149"&gt;Bug 10149&lt;/a&gt; - stack guard should lead with zero byte to gain protections&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11892 - putenv()/setenv() unbounded alloca()&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12393 - ld.so: insecure handling of privileged programs' RPATHs with&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12671 - multiple vulnerabilities in netdb.h/aliases.h/glob.h&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rest:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 386 - pthread_create returns ENOMEM but should return EAGAIN&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 6420 - Mtrace deadlock&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 7101 - getopt message for ambiguous options could be more helpful&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 10138 - Outdated config.guess/sub&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 10157 - Wrong value for sysconf(_SC_CPUTIME) or&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11099 - INT_FIELD_MAYBE_NULL changed behaviour on x86_64&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11257 - need finer control of group unioning in /etc/nsswitch.conf&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11558 - No way to set some options in /etc/resolv.conf&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11634 - tst-audit6.c doesn't compile without AVX support&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11697 - pt_chown doesn't work when the PTY's gid is already correct&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11724 - ld.so - Initialization and Termination Functions incorrectly&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 11781 - Interoperability problems between malloc hook and GCC 4.5.0&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11799 - si_code is not SI_USER on raise()&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11820 - sys/user.h requires additional header in x86_64 to define&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11857 - Missing documentation in regex.h&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11895 - pselect incorrecly handles small negative timeouts on old&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11901 - __libc_message(do_abort = 1) will deadlock if called from malloc&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11952 - glibc may use uninitialized DTV slot, return NULL for&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12052 - posix_spawn() nonconformance (POSIX_SPAWN_SETSCHEDPARAM)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12083 - aio_init() treatment of aio_num argument looks buggy&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12350 - Resolver doesn't save RES_SNGLKUP/RES_SNGLKUPREOP state in&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12420 - On AMD64 linux, getcontext resets FPU exception mask.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12432 - backtrace() fails with recursive function on 64-bit&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12445 - printf() stack corruption in case of positional parameters +&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12453 - Broken thread local storage (TLS) initialization&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12454 - Inconsistency detected by ld.so: dl-deps.c: 622:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12460 - AVX audit test failures with gcc 4.6&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12469 - Race condition in configure.in check for necessary ranlib&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12489 - prelinking ldso causes binaries to segfault upon startup&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12509 - dlopen(path_to_lib, RTLD_LOCAL|RTLD_NOLOAD) leaks memory&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12510 - elf/dl-lookup.c: STB_GNU_UNIQUE/ELF_RTYPE_CLASS_COPY lookup&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12511 - elf/dl-lookup.c: STB_GNU_UNIQUE/ELF_RTYPE_CLASS_COPY lookup&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12518 - memcpy acts randomly (and differently) with overlapping areas&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12527 - Off by one bug with ftell() with fmemopen()&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12583 - fnmatch: integer overflow in computation of the required&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12587 - sysconf(_SC_*CACHE) returns 0 for all caches on some CPUs.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12597 - SSE4 strncmp failure&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12625 - mntent operations provide no indication of failure due to&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12626 - __backtrace_symbols_fd uses of out-of-scope storage in stack&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12631 - wcp[n]cpy are required by POSIX 2008&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12650 - Memory leak with dlopen() and thread-local storage variables&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12653 - undefined references to ssse3 routines when trying to link&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12655 - fix a comment in sysdeps/unix/sysv/linux/sys/syscall.h&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12684 - Multi-request DNS lookups do not properly fall back to&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12685 - fopen doesn't honor last byte of valid modes&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12713 - coreutils-8.12 "make check" thinks glibc-2.13's "getcwd()" is&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12714 - getaddrinfo(AF_INET6) does not return scope_id info provided&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12717 - declaration of getnameinfo() is not POSIX compliant&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12723 - pathconf for a FIFO returns a different value than fpathconf&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12724 - fclose violates POSIX 2008 on seekable input streams&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12734 - resolver failures without even sending a query.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12766 - SEGV in error_at_line(3)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12775 - Typo in sysdeps/x86_64/fpu/e_powl.S&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12782 - POSIX strerror_r quality of implementation&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12792 - perror violates POSIX regarding ferror status&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12795 - bits/resource.h is outdated&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;Bug 12811 - regexec/re_search consumes huge amounts of memory&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12813 - Linux x86_64: glibc should prefer the vDSO over vsyscalls&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Locale:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 9730 - sv_FI time format does not match fi_FI&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 9732 - dz_BT Dzongkha collation order&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 9809 - Please add Kurdish locale for Kurdish Sorani (CKB)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11258 - es_CR locale update&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11487 - [Patch] to fix yesexpr and noexpr to use Po (Yes) and Jo (No)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11532 - Support old DOS Lithuanian character sets in iconv&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11578 - sync glibc Latin American paper sizes with CLDR 1.8.1&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11653 - Incorrect LC_MONETARY symbol of es_NI.utf-8&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11668 - Paper Size is wrong for locale es_NI (A4 -&amp;gt; Letter)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11837 - GB18030-2005 is not supported!&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11869 - LANGUAGE not taken into account unless LC_MESSAGES is set to&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11945 - Month names in Russian Localization should be in lowercase&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11947 - New locale for Meadow Mari language&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 11987 - missing info on first day of week in Slovenian (sl_SI) locale&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12158 - Please add the new lij_IT locale&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12178 - New locale wae_CH, request for inclusion&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12200 - Please add the new yue_HK locale file&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12346 - Estonia (et_EE) joins the eurozone on Jan 1 2011&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12449 - Please add the new lb_LU locale&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12541 - update for indian locale for U+20B9 (New Rupee Symbol)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12545 - [PATCH] localedef: fix error check for size_t &amp;lt; 0&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12551 - New locales for Swahili (Kenya and Tanzania)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12582 - Incorrect date and time formats in en_SG locale&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12611 - New locale for Fulah (Senegal)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12601 - iconv(3) doesn't handle invalid sequence properly&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12660 - Recent changes in tk_TM locale&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12681 - New locale for Bemba (Zambia)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12711 - changes required for adding new currency symbol in indian&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12738 - Please add the new os_RU locale&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12746 - Encoding mismatch in se_NO file&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12777 - iconv mapping of U+0385 in CP1258 is likely incorrect&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12788 - [PATCH] setlocale sets the locale of LC_ALL incorrect to 'C'&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;Bug 12814 - ISO-2022-JP-2 conversion of U+20AC gives strange result&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-7229105949754227759?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/7229105949754227759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/06/as-community-service-glibc-214-fixed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/7229105949754227759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/7229105949754227759'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/06/as-community-service-glibc-214-fixed.html' title='As a community service, the glibc 2.14 &apos;fixed bugs&apos; with descriptions'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-8569162002774373358</id><published>2011-04-05T01:24:00.000-07:00</published><updated>2011-04-05T01:24:00.884-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNSSEC'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='powerdns'/><title type='text'>PowerDNS Authoritative Server 3.0RC1 released! Now with DNSSEC!</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'luxi sans', sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="sect2" title="3.1. PowerDNS Authoritative Server 3.0-RC1"&gt;&lt;div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;" title="Warning"&gt;I'm very proud to announce the first Release Candidate for PowerDNS Authoritative Server 3.0, now with full support for DNSSEC, TSIG, IPv6 master/slave, per-zone metadata and Lua zone editing. The DNSSEC support is 'fully automatic' - if everything goes well, all that is required is to set 'pdnssec secure-zone powerdns.com' and your zone is secured.&lt;/div&gt;&lt;div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;" title="Warning"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;" title="Warning"&gt;Read on for more information! To download, head to http://powerdnssec.org/downloads&amp;nbsp;&lt;/div&gt;&lt;div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;" title="Warning"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;" title="Warning"&gt;&lt;br /&gt;&lt;table border="0" summary="Warning"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center" rowspan="2" valign="top" width="25"&gt;&lt;img alt="[Warning]" src="http://doc.powerdns.com/warning.png" /&gt;&lt;/td&gt;&lt;th align="left"&gt;Warning&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;Version 3.0 of the PowerDNS Authoritative Server is a major upgrade. Please refer to&amp;nbsp;&lt;a class="xref" href="http://doc.powerdns.com/upgrades.html#from2.9to3.0" title="1. From PowerDNS Authoritative Server 2.9.x to 3.0"&gt;Section&amp;nbsp;1, “From PowerDNS Authoritative Server 2.9.x to 3.0”&lt;/a&gt;&amp;nbsp;for important information on correct and stable operation, as well as notes on performance and memory use.&lt;br /&gt;Known issues as of RC1 include:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;Not all new features are documented yet&lt;/li&gt;&lt;li class="listitem"&gt;Queries for 'empty non-terminals' may give confusing results&lt;/li&gt;&lt;li class="listitem"&gt;We are not 100% convinced all corner cases of NSEC3/NXDOMAIN give correct responses. Common cases function well&lt;/li&gt;&lt;li class="listitem"&gt;DNSSEC has only been benchmarked up to 2000 queries/second but not beyond&lt;/li&gt;&lt;li class="listitem"&gt;A lot more database connections are made and released&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="note" style="margin-left: 0.5in; margin-right: 0.5in;" title="Note"&gt;&lt;table border="0" summary="Note"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center" rowspan="2" valign="top" width="25"&gt;&lt;img alt="[Note]" src="http://doc.powerdns.com/note.png" /&gt;&lt;/td&gt;&lt;th align="left"&gt;Note&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left" valign="top"&gt;RC1 released on the 4th of April 2011&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;Version 3.0 of the PowerDNS Authoritative Server brings a number of important features, as well as over two years of accumulated bug fixing.&lt;br /&gt;The largest news in 3.0 is of course the advent of DNSSEC. Not only does PowerDNS now (finally) support DNSSEC, we think that our support of this important protocol is among the easiest to use available. In addition, all important algorithms are supported.&lt;br /&gt;Complete detail can be found in&amp;nbsp;&lt;a class="xref" href="http://doc.powerdns.com/powerdnssec-auth.html" title="Chapter 12. Serving authoritative DNSSEC data"&gt;Chapter&amp;nbsp;12,&amp;nbsp;&lt;i&gt;Serving authoritative DNSSEC data&lt;/i&gt;&lt;/a&gt;. The goal of 'PowerDNSSEC' is to allow existing PowerDNS installations to start serving DNSSEC with as little hassle as possible, while maintaining performance and achieving high levels of security.&lt;br /&gt;Tutorials and examples of how to use DNSSEC in PowerDNS can be found linked from&amp;nbsp;&lt;a class="ulink" href="http://powerdnssec.org/" target="_top"&gt;http://powerdnssec.org&lt;/a&gt;.&lt;br /&gt;This release has received exceptional levels of community support, and we'd like to thank the following people in addition to those mentioned explicitly below: Peter Koch (DENIC), Olaf Kolkman (NLNetLabs), Wouter Wijngaards (NLNetLabs), Marco Davids (SIDN), Markus Travaille (SIDN), Leen Besselink, Antoin Verschuren (SIDN), Olafur Gudmundsson (IETF), Dan Kaminsky (Recursion Ventures), Roy Arends (Nominet), Miek Gieben (SIDN), Stephane Bortzmeyer (AFNIC), Michael Braunoeder (nic.at), Peter van Dijk, Maik Zumstrull, Jose Arthur Benetasso Villanova (Locaweb), Stefan Schmidt, Roland van Rijswijk (Surfnet), Paul Bakker (Brainspark/Fox-IT), Mathew Hennessy, Johannes Kuehrer (Austrian World4You GmbH), Marc van de Geijn (bHosted.nl), Stefan Arentz and Martin van Hensbergen (Fox-IT), Christof Meerwald, Detlef Peeters, Jack Lloyd, Frank Altpeter, frederik danerklint, Vasiliy G Tolstov, Brielle Bruns, Evan Hunt, Ralf van der Enden.&lt;br /&gt;On to the release notes. Next to DNSSEC, other major new features include:&lt;br /&gt;&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;TSIG for authorizing and authenticating AXFR requests &amp;amp; incoming zone transfers (Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2024" target="_top"&gt;2024&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2025" target="_top"&gt;2025&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2033" target="_top"&gt;2033&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2034" target="_top"&gt;2034&lt;/a&gt;). This allows for retrieving TSIG protected content, as well as serving it.&lt;/li&gt;&lt;li class="listitem"&gt;Per zone also-notify.&lt;/li&gt;&lt;li class="listitem"&gt;MyDNS compatible backend, allowing for 'instantaneous' migration from this authoritative nameserver. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1418" target="_top"&gt;commit 1418&lt;/a&gt;, contributed by Jonathan Oddy.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS can now slave zones over IPv6 and notify IPv6 remotes of updates. Already. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2009" target="_top"&gt;commit 2009&lt;/a&gt;&amp;nbsp;and beyond.&lt;/li&gt;&lt;li class="listitem"&gt;Lua based incoming zone editing, allowing masters or signing slaves to add information to the zone they will (re-)serve. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2065" target="_top"&gt;commit 2065&lt;/a&gt;. To enable, use LUA-AXFR-SCRIPT zone metadata setting.&lt;/li&gt;&lt;li class="listitem"&gt;Native Oracle backend with full DNSSEC support. Contributed by Maik Zumstrull, then at the Steinbuch Centre for Computing at the Karlsruhe Institute of Technology.&lt;/li&gt;&lt;li class="listitem"&gt;"Also-notify" support, implemented by Aki Tuomi in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1400" target="_top"&gt;commit 1400&lt;/a&gt;. Support for Generic SQL backends and for the BIND backend. Further code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1360" target="_top"&gt;commit 1360&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Support for binding to thousands of IP addresses, code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1443" target="_top"&gt;commit 1443&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic MySQL backend now supports stored procedures. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2084" target="_top"&gt;commit 2084&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/231" target="_top"&gt;ticket 231&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic ODBC backend compiles again, and is reported to work for some users that need it. Code contributed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/309" target="_top"&gt;ticket 309&lt;/a&gt;, author unknown.&lt;/li&gt;&lt;li class="listitem"&gt;Massively parallel slaving infrastructure, able to check the freshness of thousands of remote zones per second, plus perform many incoming zone transfers simultaneously. Sponsored by Tyler Hall, code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1449" target="_top"&gt;1449&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1500" target="_top"&gt;1500&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1859" target="_top"&gt;1859&lt;/a&gt;&lt;/li&gt;&lt;li class="listitem"&gt;Core DNS logic replaced completely to deal with the brave new world of DNSSEC.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;Bugs fixed:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;sqlite2 and sqlite3 backends used MySQL-style escaping, leading to SQL errors in some cases. Discovered by Sten Spans. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1342" target="_top"&gt;commit 1342&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Internal webserver no longer prints '1e2%'. Bug rediscovered by Jeff Sipek. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1342" target="_top"&gt;commit 1342&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS would refuse to serve domain names with spaces in them, or otherwise non-printable characters. Addressed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2081" target="_top"&gt;commit 2081&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS can now serve escaped labels, as described by RF&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/4343" target="_top"&gt;4343&lt;/a&gt;. Data should be present in backends in that escaped form. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2089" target="_top"&gt;commit 2089&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;In some cases, we would include duplicate CNAMEs. In addition, we would hand out a full root-referral when not configured to in some cases (ticket&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/223" target="_top"&gt;ticket 223&lt;/a&gt;). Discovered by Andreas Jakum, fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1344" target="_top"&gt;commit 1344&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Shane Kerr discovered we would corrupt DNS transaction IDs from the packet cache on big endian systems. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1346" target="_top"&gt;commit 1346&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/222" target="_top"&gt;ticket 222&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS did not use RF&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1982" target="_top"&gt;1982&lt;/a&gt;&amp;nbsp;serial arithmetic, leading to a SOA serial number of 1 to be regarded as older than 4400000000, when in fact it is 'newer'. Issue (re-)discovered by Jan-Piet Mens.&lt;/li&gt;&lt;li class="listitem"&gt;BIND backend got confused of a zone's filename changed after a configuration reload. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1347" target="_top"&gt;commit 1347&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/228" target="_top"&gt;ticket 228&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;When restarted by the Guardian, PowerDNS will perform a full multi-threaded cache cleanup, which took a long time and could crash. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1364" target="_top"&gt;commit 1364&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Under artificial circumstances, PowerDNS would never clean its packet cache. Found by Marcus Goller, fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1399" target="_top"&gt;commit 1399&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1408" target="_top"&gt;commit 1408&lt;/a&gt;. This update also retunes the cleanup frequency.&lt;/li&gt;&lt;li class="listitem"&gt;Packetcache would cache things it should not have been caching. Fixes in commits&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1407" target="_top"&gt;1407&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1488" target="_top"&gt;1488&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1869" target="_top"&gt;1869&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1880" target="_top"&gt;1880&lt;/a&gt;&lt;/li&gt;&lt;li class="listitem"&gt;When processing incoming notifications, the BIND backend was case-sensitive, and would disregard notifications in the wrong case. Discovered by 'Dolphin', fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1420" target="_top"&gt;commit 1420&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;The init.d script did not mention the 'reload' command. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1463" target="_top"&gt;commit 1463&lt;/a&gt;, closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/233" target="_top"&gt;ticket 233&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic SQL Backends would sometimes emit obscure error messages. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2049" target="_top"&gt;commit 2049&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;PowerDNS would be confused by embedded NULs in domain names, and would also mess up the escaping of some characters. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1468" target="_top"&gt;commit 1468&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1469" target="_top"&gt;commit 1469&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1478" target="_top"&gt;commit 1478&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1480" target="_top"&gt;commit 1480&lt;/a&gt;,&lt;/li&gt;&lt;li class="listitem"&gt;SOA queries for the name of a delegation point were not referred. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1466" target="_top"&gt;commit 1466&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/224" target="_top"&gt;ticket 224&lt;/a&gt;. In addition, queries for AAAA for a CNAMEd record pointing to a name with no AAAA would deliver a direct SOA, without the CNAME in between. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1542" target="_top"&gt;commit 1542&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1607" target="_top"&gt;commit 1607&lt;/a&gt;. Also, wildcard CNAMEs pointing to a record without the type requested suffered from the same issue, fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1543" target="_top"&gt;commit 1543&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;On processing an incoming AXFR, once an MX or SRV record had been seen, all future fields got a 'priority' entry as well. This had no operational impact, but looked messy. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1437" target="_top"&gt;commit 1437&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Aki Tuomi discovered that the BIND zonefile parser would misrepresent 'something IN MX 15 @'. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1621" target="_top"&gt;commit 1621&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Marco Davids discovered the BIND zonefile parser would trip over really long lines. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1624" target="_top"&gt;commit 1624&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1625" target="_top"&gt;commit 1625&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Thomas Mieslinger discovered that our webserver would only be started after dropping privileges, which could cause problems. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1629" target="_top"&gt;commit 1629&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Zone2sql did quite often not do exactly what was required, which users fixed by editing the SQL output. Revamped in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2032" target="_top"&gt;commit 2032&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;An Ubuntu user discovered in Launchpad bug 600479 that restarting database threads cost a lot of memory. Normally this is rare, except in case of problems. Addressed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1676" target="_top"&gt;commit 1676&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;BIND backend could crash under (very) high load with very large numbers of zones (hundreds of thousands). Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1690" target="_top"&gt;commit 1690&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Miek Gieben and Marco Davids spotted that PowerDNS would answer the version.bind query in the IN class too. Bug reported via twitter! Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1709" target="_top"&gt;commit 1709&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Marcus Lauer and the OpenDNSSEC project discovered that outgoing notifications did not carry the 'aa' flag. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1746" target="_top"&gt;commit 1746&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Debugging PowerDNS, or backgrounding it, could cause crashes. Fixed by Anders Kaseorg in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1747" target="_top"&gt;commit 1747&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Fixed a bug that could cause crashes on launching thousands of backend connections. Never observed to occur, but who knows. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1792" target="_top"&gt;commit 1792&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Under some circumstances, large answers could be truncated in mid-record. While technically legal, this upset a number of resolver implementations (including the PowerDNS Recursor!). Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1830" target="_top"&gt;commit 1830&lt;/a&gt;, re-closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/200" target="_top"&gt;ticket 200&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Jan Piet Mens and Florian Weimer discovered we had problems dealing with escaped labels and escaped TXT fields. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2000" target="_top"&gt;commit 2000&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;After 2.2 billion queries, statistics would wrap oddly. Fix in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2019" target="_top"&gt;commit 2019&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/327" target="_top"&gt;ticket 327&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;Improvements:&lt;br /&gt;&lt;div class="itemizedlist"&gt;&lt;ul class="itemizedlist" type="disc"&gt;&lt;li class="listitem"&gt;Long TXT records are now split into 255-byte components automatically. Implemented in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1340" target="_top"&gt;commit 1340&lt;/a&gt;, reported by Darren Gamble in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/188" target="_top"&gt;ticket 188&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;When receiving large numbers of notifications, PowerDNS would check these synchronously, leading to a slowdown for other services. Fixed in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2058" target="_top"&gt;commit 2058&lt;/a&gt;, problem diagnosed by Richard Poole of Heart Internet.&lt;/li&gt;&lt;li class="listitem"&gt;Fixed compilation on newer compilers and newer versions of Boost. Changes in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1345" target="_top"&gt;1345&lt;/a&gt;&amp;nbsp;(closes&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/227" target="_top"&gt;ticket 227&lt;/a&gt;),&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1391" target="_top"&gt;1391&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1394" target="_top"&gt;1394&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1425" target="_top"&gt;1425&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1427" target="_top"&gt;1427&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1428" target="_top"&gt;1428&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1429" target="_top"&gt;1429&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1440" target="_top"&gt;1440&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1653" target="_top"&gt;1653&lt;/a&gt;, thanks to Ruben Kerkhof and others.&lt;/li&gt;&lt;li class="listitem"&gt;Moved Generic PostgreSQL backend over to the newer E'' style escapes.&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2094" target="_top"&gt;commit 2094&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Compilation fixes for Mac OS X 10.5.7 in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1389" target="_top"&gt;commit 1389&lt;/a&gt;, thanks to Tobias Markmann.&lt;/li&gt;&lt;li class="listitem"&gt;We can now bind to scoped IPv6 addresses, lack spotted by Darren Gamble. Part of the fix is in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2018" target="_top"&gt;commit 2018&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Built-in query cache can now also cache queries which lead to multiple answers. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/2069" target="_top"&gt;commit 2069&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Prodded on by Jan Piet Mens, we now support 'unknown types' (which look like TYPE65534).&lt;/li&gt;&lt;li class="listitem"&gt;Add 'slave-renotify' to retransmit notifies for slaved zones, which is helpful when acting as a 'signing slave' for a hidden master. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1950" target="_top"&gt;commit 1950&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;No longer let zone2sql and zone2ldap import BIND 'hint' zones.&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1998" target="_top"&gt;commit 1998&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Allow for timestamps to explicitly be specified in (s)econds. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1398" target="_top"&gt;commit 1398&lt;/a&gt;, closing&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/ticket/250" target="_top"&gt;ticket 250&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Zones with URL and MBOXFW records can be transferred over AXFR, code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1464" target="_top"&gt;commit 1464&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Maik Zumstrull cleaned up the BIND Backend makefile, plus taught our init.d script to read /etc/default/pdns. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1601" target="_top"&gt;commit 1601&lt;/a&gt;,&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1602" target="_top"&gt;commit 1602&lt;/a&gt;.&lt;/li&gt;&lt;li class="listitem"&gt;Generic SQL backends now support multiple masters in the domains table. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1857" target="_top"&gt;commit 1857&lt;/a&gt;. Additionally, masters can also have :port numbers. Code in&amp;nbsp;&lt;a class="ulink" href="http://wiki.powerdns.com/projects/trac/changeset/1858" target="_top"&gt;commit 1858&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sect2" title="3.2. Recursor version 3.3.1"&gt;&lt;div class="titlepage"&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-8569162002774373358?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/8569162002774373358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/04/powerdns-authoritative-server-30rc1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/8569162002774373358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/8569162002774373358'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/04/powerdns-authoritative-server-30rc1.html' title='PowerDNS Authoritative Server 3.0RC1 released! Now with DNSSEC!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-6684483986488954221</id><published>2011-01-11T03:28:00.000-08:00</published><updated>2011-01-11T23:32:20.530-08:00</updated><title type='text'>PowerDNSSEC: packages available, ready for light production use</title><content type='html'>Dear PowerDNS Community,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With the help of &lt;a href="http://doc.powerdns.com/dnssec-thanks-to.html"&gt;many of you&lt;/a&gt;, we've now brought 'PowerDNSSEC' to the point&amp;nbsp;where it is in light production. Several of &lt;a href="http://wiki.powerdns.com/"&gt;our&lt;/a&gt; important domains have&amp;nbsp;already been migrated to the PowerDNS Authoritative Server 3.0 prereleases. &amp;nbsp;Several PowerDNS &lt;a href="http://www.zaphods.net/"&gt;users&lt;/a&gt; &lt;a href="http://www.arentz.ca/"&gt;have&lt;/a&gt; done the same with their domains (please let us&amp;nbsp;know!).&lt;br /&gt;&lt;br /&gt;We are pleased to announce the regular availability of documentation,&amp;nbsp;packages and tarballs for testing. On&amp;nbsp;&lt;a href="http://powerdnssec.org/downloads/packages"&gt;http://powerdnssec.org/downloads/packages&lt;/a&gt; you will find RPM/DEB for 32-bit&amp;nbsp;and 64-bit Linux. On &lt;a href="http://powerdnssec.org/downloads"&gt;http://powerdnssec.org/downloads&lt;/a&gt; you will find&amp;nbsp;tarballs which can be compiled on other systems.&lt;br /&gt;&lt;br /&gt;For more information head over to &lt;a href="http://www.powerdnssec.org/"&gt;http://www.powerdnssec.org&lt;/a&gt; (which of&amp;nbsp;course is powered by PowerDNSSEC). &lt;br /&gt;&lt;br /&gt;Documentation is on &lt;a href="http://doc.powerdns.com/powerdnssec-auth.html"&gt;http://doc.powerdns.com/powerdnssec-auth.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Even more information is on &lt;a href="http://wiki.powerdns.com/trac/wiki/PDNSSEC"&gt;http://wiki.powerdns.com/trac/wiki/PDNSSEC&lt;/a&gt; -&amp;nbsp;including how to get started, and how to get help.&lt;br /&gt;&lt;br /&gt;In brief, PowerDNSSEC will allow you to continue operating as normal in many&amp;nbsp;cases, with only slight changes to your installation. There is no need to&amp;nbsp;run signing tools, nor is there a need to rotate keys or run scripts.&lt;br /&gt;&lt;br /&gt;Particularly, if you run with Generic MySQL, Generic PostgreSQL or Generic&amp;nbsp;SQLite3, you should have an easy time. A &lt;a href="http://wiki.powerdns.com/trac/wiki/PDNSSEC"&gt;small schema update&lt;/a&gt; is required,&amp;nbsp;plus an invocation of '&lt;a href="http://doc.powerdns.com/pdnssec.html"&gt;pdnssec&lt;/a&gt; secure-zone domain-name ; pdnssec&amp;nbsp;rectify-zone domain-name' per domain you want to secure. And that should be&lt;br /&gt;it.&lt;br /&gt;&lt;br /&gt;Supported are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;NSEC&lt;/li&gt;&lt;li&gt;NSEC3 in ordered mode (pre-hashed records)&lt;/li&gt;&lt;li&gt;NSEC3 in narrow mode (unmodified records)&lt;/li&gt;&lt;li&gt;Zone transfers (for NSEC)&lt;/li&gt;&lt;li&gt;Import of 'standard' private keys from BIND/NSD&lt;/li&gt;&lt;li&gt;Export of 'standard' private keys&lt;/li&gt;&lt;li&gt;RSASHA1&lt;/li&gt;&lt;li&gt;RSASHA256&lt;/li&gt;&lt;li&gt;"Pure" PostgreSQL, SQLite3 &amp;amp; MySQL operations&lt;/li&gt;&lt;li&gt;Hybrid BIND/PostgreSQL/SQLite3/MySQL operation&lt;/li&gt;&lt;li&gt;&lt;a href="http://doc.powerdns.com/dnssec-modes.html#dnssec-frontserver"&gt;Front-signing slaved data from legacy installations&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://doc.powerdns.com/dnssec-supported.html"&gt;http://doc.powerdns.com/dnssec-supported.html&lt;/a&gt; for more specifications.&lt;br /&gt;&lt;br /&gt;To join the fun, download the tarball and packages which can be found on the&amp;nbsp;sites above, and let us know how it works for you!&lt;br /&gt;&lt;br /&gt;To clarify, we do not recommend taking the current code snapshot into&amp;nbsp;heavy production, but we are getting close.&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;Bert&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-6684483986488954221?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/6684483986488954221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2011/01/powerdnssec-packages-available-ready.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6684483986488954221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6684483986488954221'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2011/01/powerdnssec-packages-available-ready.html' title='PowerDNSSEC: packages available, ready for light production use'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-800169436501240721</id><published>2010-12-03T00:33:00.000-08:00</published><updated>2010-12-03T00:33:32.395-08:00</updated><title type='text'>Linux or UNIX programmer? Go get The Linux Programming Interface: A Linux and UNIX System Programming Handbook</title><content type='html'>&lt;u&gt;&lt;a href="http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=sr_1_1?ie=UTF8"&gt;The Linux Programming Interface: A Linux and UNIX System Programming Handbook&lt;/a&gt;&lt;/u&gt;&lt;br /&gt;Are you a Linux or UNIX programmer? Get this book. Do you know a Linux or UNIX programmer and want to give him (her? ;-)) a gift? Get this book. I thought it was a stack of manpages, which would already have been great, but this book is the true successor to the historic Stevens works on UNIX. If you think you don't need this book since you know everything already, that's what I thought too, and I was wrong. Even if you won't read it, the 1552 pages will look really good on your desk.&lt;br /&gt;&lt;br /&gt;So go get the book already.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=sr_1_1?ie=UTF8"&gt;http://www.amazon.com/Linux-Programming-Interface-System-Handbook/dp/1593272200/ref=sr_1_1?ie=UTF8&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-800169436501240721?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/800169436501240721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/12/linux-or-unix-programmer-go-get-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/800169436501240721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/800169436501240721'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/12/linux-or-unix-programmer-go-get-linux.html' title='Linux or UNIX programmer? Go get The Linux Programming Interface: A Linux and UNIX System Programming Handbook'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-5663374381973858968</id><published>2010-11-14T13:47:00.000-08:00</published><updated>2010-11-14T13:47:32.897-08:00</updated><title type='text'>PowerDNS Recursor additional Lua hooks for IPv6 DNS64 and Renumbering</title><content type='html'>&lt;pre&gt;Dear PowerDNS Community,&lt;br /&gt;&lt;br /&gt;The PowerDNS Recursor is currently being extended with additional Lua hooks&lt;br /&gt;and extra infrastructure to support flexible DNS64 operations, plus perform&lt;br /&gt;on-the-fly IPv4 or IPv6 renumbering.&lt;br /&gt;&lt;br /&gt;DNS64 is described on &lt;a href="http://tools.ietf.org/html/draft-ietf-behave-dns64-11"&gt;http://tools.ietf.org/html/draft-ietf-behave-dns64-11&lt;/a&gt;&lt;br /&gt;and in brief: &lt;br /&gt;&lt;br /&gt;  "DNS64 is a mechanism for synthesizing AAAA records from A records.  DNS64&lt;br /&gt;   is used with an IPv6/IPv4 translator to enable client-server communication&lt;br /&gt;   between an IPv6-only client and an IPv4-only server, without requiring any&lt;br /&gt;   changes to either the IPv6 or the IPv4 node"&lt;br /&gt;&lt;br /&gt;Those of you with an interest in these features are invited to test out the&lt;br /&gt;following *pre-release*, specifically to let us know if the API is sufficient&lt;br /&gt;for your needs:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://svn.powerdns.com/snapshots/pdns-recursor-3.3-hooks.tar.bz2"&gt;http://svn.powerdns.com/snapshots/pdns-recursor-3.3-hooks.tar.bz2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It can be compiled like any other PowerDNS Recursor release. &lt;br /&gt;&lt;br /&gt;New in the version are the 'nodata()' and 'postresolve()' Lua hooks. Nodata&lt;br /&gt;functions just like nxdomain(), except that it gets called when a domain&lt;br /&gt;exists, but the requested type doesn't. This is where DNS64 happens.&lt;br /&gt;&lt;br /&gt;Postresolve() is different, and very powerful - it gets handed the complete&lt;br /&gt;DNS answer as it would be sent out, ready for modification from Lua. This is&lt;br /&gt;where one might for example perform on the fly IP address renumbering.&lt;br /&gt;&lt;br /&gt;In the release you can find powerdns-example-script.lua which contains a&lt;br /&gt;working sample for both of the new hooks. This script can also be viewed on&lt;br /&gt;&lt;a href="http://wiki.powerdns.com/trac/browser/branches/pdns-dns64/pdns/powerdns-example-script.lua"&gt;http://wiki.powerdns.com/trac/browser/branches/pdns-dns64/pdns/powerdns-example-script.lua&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note: DO NOT TAKE THIS SCRIPT INTO PRODUCTION - it blacks out important&lt;br /&gt;sites&lt;br /&gt;&lt;br /&gt;To get going without disturbing any existing nameservers on your computer,&lt;br /&gt;compile the PowerDNS Recursor, and start like this:&lt;br /&gt; $ ./pdns_recursor --local-address=0.0.0.0 --local-port=5300 --daemon=no&lt;br /&gt;   --socket-dir=./ --lua-dns-script=powerdns-example-script.lua &lt;br /&gt;&lt;br /&gt;Known defects are:&lt;br /&gt; postresolve() can't yet access the original dns rcode&lt;br /&gt; there is no way for nodata() to set the TTL to the SOA minimum value&lt;br /&gt;  as specified by draft-ietf-behave-dns64&lt;br /&gt;&lt;br /&gt;Please let us know your thoughts so we can make sure the API has everything&lt;br /&gt;needed for great DNS64 and renumbering operations!&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;&lt;br /&gt;Bert Hubert&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-5663374381973858968?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/5663374381973858968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/11/powerdns-recursor-additional-lua-hooks.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5663374381973858968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5663374381973858968'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/11/powerdns-recursor-additional-lua-hooks.html' title='PowerDNS Recursor additional Lua hooks for IPv6 DNS64 and Renumbering'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-95259790783800898</id><published>2010-10-02T12:28:00.000-07:00</published><updated>2010-10-03T10:01:09.364-07:00</updated><title type='text'>The "leaky abstraction" of the POSIX file interface</title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;Lately I've been looking into large scale database &amp;amp; key/value storage engine performance, and the results were not very good. Machines that should seemingly be able to load the full .COM zone with no problems turned out to have a very hard time to do so - even though COM zone and indexes all fit comfortably in RAM. Despite this, loads of disk i/o ensued.&lt;br /&gt;&lt;br /&gt;This led to some investigations on how Linux and the various storage engines interact. Through tweaking a lot of settings, decent performance was achieved, but this process did drive home the fact that your operating system might have a hard time guessing "what you want".&lt;br /&gt;&lt;br /&gt;Any decent operating system is fitted with an in-memory cache to speed up disk access. The difference in speed between a disk read and a memory read is so stunning (many orders of magnitude) that being disk bound or being memory bound can make or break a solution.&lt;br /&gt;&lt;br /&gt;Naively, we'd want the operating system to cache exactly the data we want it to cache. However, the operating system can't read our minds, and may decide to not dedicate all of the system memory to do exactly what you want.&lt;br /&gt;&lt;br /&gt;This issue is worth a blog post in its own right, because if you want dependable performance, it is not good if your kernel decides on Monday to do the right thing, and on Tuesday to take 2 days to finish a job that previously ran in 15 minutes - simply because something else has decided to use the cache in the meantime!&lt;br /&gt;&lt;br /&gt;While investigating how reads and writes actually hit the platter, I wrote the following little "exploit" that tickles most operating systems into a flurry of (at first thought) unexpected disk activity. Try to predict what this does:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;#include &amp;lt;sys/stat.h&amp;gt;&lt;br /&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;br /&gt;&lt;br /&gt;// $ dd if=/dev/zero of=blah bs=1024000 count=1000  # this creates a 1G empty file&lt;br /&gt;// $ sudo sysctl vm.drop_caches=3                   # this empties the caches&lt;br /&gt;// $ vmstat 1 &amp;amp; ./writerreader&lt;br /&gt;// and stand back in awe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;  int fd = open("./blah", O_WRONLY);&lt;br /&gt;  if(fd &amp;lt; 0) {&lt;br /&gt;    perror("open");&lt;br /&gt;    exit(0);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  char c[2];&lt;br /&gt;  for(int n=0; n &amp;lt; 128000; ++n) {&lt;br /&gt;    if(pwrite(fd, (void*)c, 2, (n+1)*8192 - 1) &amp;lt; 0) {   // write out 2 bytes&lt;br /&gt;      perror("pread");&lt;br /&gt;      exit(0);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  fsync(fd);&lt;br /&gt;  close(fd);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;Try adding up how much read &amp;amp; write activity was caused by writing out 128KB of data.&lt;br /&gt;&lt;b&gt;Please note that there is very little an OS can do to improve this! It is just a fact of life.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So why did I call this a '&lt;a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html"&gt;leaky abstraction&lt;/a&gt;' in the title of this post? &lt;a href="http://en.wikipedia.org/wiki/Joel_Spolsky"&gt;Joel Spolsky&lt;/a&gt;&amp;nbsp;(who has a blog, Joel on Software, which you should definitely read) invented this term to describe the situation where any kind of API, which supposedly hides underlying details from you, will from time to time confront you with results of said details.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And in this case, the details mean that writing 128KB of data leads to around 2G of I/O (1G of reads, 1G of writes).&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So why does this happen? At the very base, disks operate in terms of (mostly) 512 byte sectors. You can't perform any reads or writes smaller than a sector. In this case, it means that writing 2 bytes requires first reading the sector(s) which straddle the two bytes, adding the two bytes, and then writing them out again.&lt;br /&gt;&lt;br /&gt;To make matters worse, internally most operating systems don't think in terms of sectors, but in terms of blocks and pages - which are even larger. The sample program above is tuned to perform 2 byte writes which accurately straddle 2 pages - leading to 2 full pages to be read and written per 2 byte operation. And a page tends to be 4096 bytes!&lt;br /&gt;&lt;br /&gt;Getting back to the beginning of this post, the effect described above partially explains the really bad performance observed in some key/value storage engines, engines which perform millions of tiny little pwrites, leading to massive read i/o, where you did not expect it.&lt;br /&gt;&lt;br /&gt;In a follow-up post, I will probably delve into how to improve this situation, and perhaps by that time I will have gotten round to a solution that might be generic enough to help more projects than just mine to gain more control over how to optimize loads so that they do not cause more disk i/o than you'd want.&lt;br /&gt;&lt;br /&gt;In the meantime, I hope to have entertained you with some arcane knowledge!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-95259790783800898?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/95259790783800898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/10/leaky-abstraction-of-posix-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/95259790783800898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/95259790783800898'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/10/leaky-abstraction-of-posix-file.html' title='The &quot;leaky abstraction&quot; of the POSIX file interface'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-9034284502986085096</id><published>2010-09-23T23:39:00.000-07:00</published><updated>2010-09-23T23:39:36.230-07:00</updated><title type='text'>You can now own the house from which PowerDNS Recursor 3.3 was released!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_iPazR4XY0TQ/TIvFiUk2MKI/AAAAAAAAAdc/UFbyfcLgTXs/s1600/dscf1063.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_iPazR4XY0TQ/TIvFiUk2MKI/AAAAAAAAAdc/UFbyfcLgTXs/s320/dscf1063.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Yes, you too can live in the house from which PowerDNS Recursor 3.3 was released!&lt;br /&gt;&lt;br /&gt;Details are &lt;a href="http://www.funda.nl/koop/rijswijk-zh/appartement-47811257-lijsterbeslaan-88/"&gt;here&lt;/a&gt;! Special price for you ;-)&lt;br /&gt;&lt;br /&gt;Close to the city centers of The Hague and Delft!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_iPazR4XY0TQ/TJE7Bn4cQeI/AAAAAAAAAec/8NdmZTAwrsc/s1600/dscf1047.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="233" src="http://4.bp.blogspot.com/_iPazR4XY0TQ/TJE7Bn4cQeI/AAAAAAAAAec/8NdmZTAwrsc/s320/dscf1047.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_iPazR4XY0TQ/TJE5dzyhJkI/AAAAAAAAAeU/a2y4TJfq254/s1600/dscf1075.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_iPazR4XY0TQ/TJE5dzyhJkI/AAAAAAAAAeU/a2y4TJfq254/s320/dscf1075.jpg" width="233" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_iPazR4XY0TQ/TIuuiMgk_lI/AAAAAAAAAcU/eLQ4ulJBMjY/s1600/dscf1038.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_iPazR4XY0TQ/TIuuiMgk_lI/AAAAAAAAAcU/eLQ4ulJBMjY/s320/dscf1038.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-9034284502986085096?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/9034284502986085096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/09/you-can-now-own-house-from-which.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/9034284502986085096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/9034284502986085096'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/09/you-can-now-own-house-from-which.html' title='You can now own the house from which PowerDNS Recursor 3.3 was released!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_iPazR4XY0TQ/TIvFiUk2MKI/AAAAAAAAAdc/UFbyfcLgTXs/s72-c/dscf1063.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-6499751682934943478</id><published>2010-09-23T11:59:00.000-07:00</published><updated>2010-09-23T11:59:38.835-07:00</updated><title type='text'>PowerDNS Recursor 3.3 released!</title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;We're proud to announce the release of the PowerDNS Recursor 3.3!&lt;br /&gt;&lt;br /&gt;It can be downloaded from http://www.powerdns.com/&lt;br /&gt;&lt;br /&gt;Version 3.3 fixes a number of small but persistent issues,&lt;br /&gt;rounds off our IPv6 %link-level support and adds an important&lt;br /&gt;feature for many users of the Lua scripts.&lt;br /&gt;&lt;br /&gt;In addition, scalability on Solaris 10 is improved.&lt;br /&gt;&lt;br /&gt;Bug fixes:&lt;br /&gt;&lt;br /&gt;  * 'dist-recursor' script was not compatible with pure POSIX&lt;br /&gt;    /bin/sh, discovered by Simon Kirby. Fix in commit 1545.&lt;br /&gt;  * Simon Bedford, Brad Dameron and Laurient Papier discovered&lt;br /&gt;    relatively high TCP/IP loads could cause TCP/IP service to&lt;br /&gt;    shut down over time. Addressed in commits 1546, 1640, 1652,&lt;br /&gt;    1685, 1698. Additional information provided by Zwane&lt;br /&gt;    Mwaikambo, Nicholas Miell and Jeff Roberson. Testing by&lt;br /&gt;    Christian Hofstaedtler and Michael Renner.&lt;br /&gt;  * The PowerDNS Recursor could not read the 'root zone' (this&lt;br /&gt;    is something else than the root hints) because of an&lt;br /&gt;    unquoted TXT record. This has now been addressed, allowing&lt;br /&gt;    operators to hardcode the root zone. This can improve&lt;br /&gt;    security if the root zone used is kept up to date. Change&lt;br /&gt;    in commit 1547.&lt;br /&gt;  * A return of an old bug, when a domain gets new nameservers,&lt;br /&gt;    but the old nameservers continue to contain a copy of the&lt;br /&gt;    domain, PowerDNS could get 'stuck' with the old servers.&lt;br /&gt;    Fixed in commit 1548.&lt;br /&gt;  * Discovered &amp; reported by Alexander Gall of SWITCH, the&lt;br /&gt;    Recursor used to try to resolve 'AXFR' records over UDP.&lt;br /&gt;    Fix in commit 1619.&lt;br /&gt;  * The Recursor embedded authoritative server messed up&lt;br /&gt;    parsing a record like '@ IN MX 15 @'. Spotted by Aki Tuomi,&lt;br /&gt;    fix in commit 1621.&lt;br /&gt;  * The Recursor embedded authoritative server messed up&lt;br /&gt;    parsing really really long lines. Spotted by Marco Davids,&lt;br /&gt;    fix in commit 1624, commit 1625.&lt;br /&gt;  * Packet cache was not DNS class correct. Spotted by "Robin",&lt;br /&gt;    fix in commit 1688.&lt;br /&gt;  * The packet cache would cache some NXDOMAINS for too long.&lt;br /&gt;    Solving this bug exposed an underlying oddity where the&lt;br /&gt;    initial NXDOMAIN response had an overly long (untruncated)&lt;br /&gt;    TTL, whereas all the next ones would be ok. Solved in&lt;br /&gt;    commit 1679, closing ticket 281. Especially important for&lt;br /&gt;    RBL operators. Fixed after some nagging by Alex Broens&lt;br /&gt;    (thanks).&lt;br /&gt;&lt;br /&gt;Improvements:&lt;br /&gt;&lt;br /&gt;  * The priming of the root now uses more IPv6 addresses.&lt;br /&gt;    Change in commit 1550, closes ticket 287. Also, the IPv6&lt;br /&gt;    address of I.ROOT-SERVERS.NET was added in commit 1650.&lt;br /&gt;  * The rec_control dump-cache command now also dumps the&lt;br /&gt;    'negative query' cache. Code in commit 1713.&lt;br /&gt;  * PowerDNS Recursor can now bind to fe80 IPv6 space with&lt;br /&gt;    '%eth0' link selection. Suggested by Darren Gamble,&lt;br /&gt;    implemented with help from Niels Bakker. Change in commit&lt;br /&gt;    1620.&lt;br /&gt;  * Solaris on x86 has a long standing bug in port_getn(),&lt;br /&gt;    which we now work around. Spotted by 'Dirk' and 'AS'.&lt;br /&gt;    Solution suggested by the Apache runtime library, update in&lt;br /&gt;    commit 1622.&lt;br /&gt;  * New runtime statistic: 'tcp-clients' which lists the number&lt;br /&gt;    of currently active TCP/IP clients. Code in commit 1623.&lt;br /&gt;  * Deal better with UltraDNS style CNAME redirects containing&lt;br /&gt;    SOA records. Spotted by Andy Fletcher from UKDedicated in&lt;br /&gt;    ticket 303, fix in commit 1628.&lt;br /&gt;  * The packet cache, which has 'ready to use' packets&lt;br /&gt;    containing answers, now artificially ages the ready to use&lt;br /&gt;    packets. Code in commit 1630.&lt;br /&gt;  * Lua scripts can now indicate that certain queries will have&lt;br /&gt;    'variable' answers, which means that the packet cache will&lt;br /&gt;    not touch these answers. This is great for overriding some&lt;br /&gt;    domains for some users, but not all of them. Use&lt;br /&gt;    setvariable() in Lua to indicate such domains. Code in&lt;br /&gt;    commit 1636.&lt;br /&gt;  * Add query statistic called 'dont-outqueries', plus add IPv6&lt;br /&gt;    address :: and IPv4 address 0.0.0.0 to the default&lt;br /&gt;    "dont-query" set, preventing the Recursor from talking to&lt;br /&gt;    itself. Code in commit 1637.&lt;br /&gt;  * Work around a gcc 4.1 bug, still in wide use on common&lt;br /&gt;    platforms. Code in commit 1653.&lt;br /&gt;  * Add 'ARCHFLAGS' to PowerDNS Recursor Makefile, easing 64&lt;br /&gt;    bit compilation on mainly 32 bit platforms (and vice&lt;br /&gt;    versa).&lt;br /&gt;  * Under rare circumstances, querying the Recursor for&lt;br /&gt;    statistics under very high load could lead to a crash&lt;br /&gt;    (although this has never been observed). Bad code removed &amp;&lt;br /&gt;    good code unified in commit 1675.&lt;br /&gt;  * Spotted by Jeff Sipek, the rec_control manpage did not list&lt;br /&gt;    the new get-all command. commit 1677.&lt;br /&gt;  * On some platforms, it may be better to have PowerDNS itself&lt;br /&gt;    distribute queries over threads (instead of leaving it up&lt;br /&gt;    to the kernel). This experimental feature can be enabled&lt;br /&gt;    with the 'pdns-distributes-queries' setting. Code in commit&lt;br /&gt;    1678 and beyond. Speeds up Solaris measurably.&lt;br /&gt;  * Cache cleaning code was cleaned up, unified and expanded to&lt;br /&gt;    cover the 'negative cache', which used to be cleaned rather&lt;br /&gt;    bluntly. Code in commit 1702, further tweaks in commit&lt;br /&gt;    1712, spotted by Darren Gamble, Imre Gergely and Christian&lt;br /&gt;    Kovacic.&lt;br /&gt;&lt;br /&gt;Changes between RC1, RC2 and RC3.&lt;br /&gt;&lt;br /&gt;  * RC2: Fixed linking on RHEL5/CENTOS5, which both ship with a&lt;br /&gt;    gcc compiler that claims to support atomic operations, but&lt;br /&gt;    doesn't. Code in commit 1714. Spotted by 'Bas' and Imre&lt;br /&gt;    Gergely.&lt;br /&gt;  * RC2: Negative query cache was configured to grow too large,&lt;br /&gt;    and was not cleaned efficiently. Code in commit 1712,&lt;br /&gt;    spotted by Imre Gergely.&lt;br /&gt;  * RC3: Root failed to be renewed automatically, relied on&lt;br /&gt;    fallback to make this happen. Code in commit 1716, spotted&lt;br /&gt;    by Detlef Peeters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-6499751682934943478?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/6499751682934943478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/09/powerdns-recursor-33-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6499751682934943478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6499751682934943478'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/09/powerdns-recursor-33-released.html' title='PowerDNS Recursor 3.3 released!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-3239389433927651474</id><published>2010-08-28T01:20:00.000-07:00</published><updated>2010-08-29T02:59:26.690-07:00</updated><title type='text'>Some notes on Solaris 10 x86, 64 bit compilation, bugs and memory allocators</title><content type='html'>Over the past few months, I've spent a lot of time getting the PowerDNS Recursor to perform well on Solaris 10 on x86. Initially, I thought this could not be a lot of work since there are many happy Recursor users on UltraSPARC. "How hard could it be?"&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Turns out that Solaris x86 and Solaris UltraSPARC are different in important respects.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What follows is a rather long winded story of a mostly stranger in a somewhat strange land. I view the world through Linux glasses. Some of the pain described below can indubitably be ascribed to that. However, some of the bits below are plainly caused by Oracle not doing a good job maintaining Solaris on x86. This situation is not bound to improve, it appears.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before starting the rant in earnest, I'd like to thank one (so far) anonymous Sun/Oracle employee who helped me through the forest of Solaris bugtrackers, 'IDRs' and without whom this problem would definitely not have been solved. I'd also like to thank Ad, Bert, John, Martijn and Robin over at a big PowerDNS deployment for sticking through this whole adventure, and for pressuring Sun to actually fix the issues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here goes. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first thing we noticed was that , the 'Ports' event multiplexer failed to work on x86 applications, as described in long standing Solaris bug '&lt;a href="http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6268715"&gt;CR 6268715&lt;/a&gt; "library/libc port_getn(3C) and port_sendn(3C) not working on Solaris x86"'. Apache, libevent and PowerDNS all contain workarounds for this bug, but that workaround does come with performance implications. At the very least it is worrying.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Secondly, it turns out that Solaris 10 on x86 can't link 64 bits binaries as generated by system gcc compiler, at least, not those binaries using Thread Local Storage for objects at global scope. This is Solaris bug '&lt;a href="http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6354160"&gt;CR 6354160&lt;/a&gt;', aka&lt;span&gt;&lt;span&gt; 'Solaris linker includes more than one copy of code in binary when linking gnu object code', which we worked around by changing PowerDNS so it could be compiled as one big C++ file.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Times, serif; font-size: 14px; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;Using the native Sun Studio compiler failed, because it is not compliant enough with the C++ standard to compile PowerDNS, and the changes required were non-trivial.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Although both issues (ports_getn() and 64 bits linking) were known, and fixes were available in OpenSolaris, these had not made it into Solaris 10 production releases.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eventually, PowerDNS was able to work around both bugs, but in the case of 6268715 at a runtime performance cost (note: Sun has now shipped 'IDR145429-01' which fixes this).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Which brings us to performance. For some reason, even though the PowerDNS Recursor uses 'share nothing' threads, there was no scalability when using multiple threads on Solaris. In fact performance was rather dismal anyhow, even with only one thread.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Firstly, we discovered that having multiple threads try to wait on a single socket does not scale beyond a single thread. This was fixed by having only a single thread wait on the socket, and manually distributing queries over threads in a round-robin fashion.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This turned out to help slightly, but not decisively. We then discovered that the default Solaris x86 memory allocator ('malloc()') is effectively single-threaded (unlike the UltraSPARC variant, which is completely different!). Solaris ships with no less than two alternative mallocs, called -lmtmalloc and -lumem respectively. Using libumem helped for benchmarking.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, for Solaris, we had to bring back an old favorite, the 'fork-trick' which makes the whole PowerDNS Recursor fork itself into multiple processes, which helped bring Solaris performance up to par with our other major platform, Linux. We don't yet know why our 'share nothing' threads end up interfering with each other.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The resulting work was taken into production.. and crashed within 5 minutes of heavy load, indicating an out of memory error. With a 64 bit binary on an 8 gigabyte machine, this seemed doubtful.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After some further investigations, it was found that while libumem certainly was faster for multithreaded code, but that it also wastes memory on a prodigious scale. To be honest, this may be due to the fact that the g++ c++ runtime libraries are not making optimal use of the allocator, or our use of get/set/swap/makecontext(), but the amount of memory used was staggering. Think 450MB for storing 10MB of content.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We studied some of the articles available online, among which was '&lt;a href="http://developers.sun.com/solaris/articles/multiproc/multiproc.html"&gt;A Comparison of Memory Allocators&lt;/a&gt;' on the 'Oracle Sun Development Network'. This one indeed showed graphs of libumem using large amounts of memory, and a thing called ptmalloc using very little. Oddly enough, ptmalloc is (more or less) the default allocator for Linux too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We then built a PowerDNS with all the workarounds, plus ptmalloc linked in, and now finally have something that survives production use!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rounding this off:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Solaris x86 is remarkably different from Solaris UltraSPARC (different bugs, different allocators)&lt;/li&gt;&lt;li&gt;Do not have n&gt;1 threads wait on a single datagram socket filedescriptor, it does not scale&lt;/li&gt;&lt;li&gt;There now IS an IDR to get ports_getn() working, IDR145429-01, which should also speed up Apache and several other high-performance applications for Solaris&lt;/li&gt;&lt;li&gt;To build 64 bits binaries with thread local storage (__thread) at global scope, concatenate all your C++ into one big file, and compile that one&lt;/li&gt;&lt;li&gt;Be aware that the default allocator on Solaris 10 x86 is single-threaded&lt;/li&gt;&lt;li&gt;Be aware that both mtmalloc and libumem may use prohibitive amounts of memory for some programs&lt;/li&gt;&lt;li&gt;Consider ptmalloc3&lt;/li&gt;&lt;li&gt;We still have to investigate why fork() scales better than pthread_create()&lt;/li&gt;&lt;li&gt;Make sure that you have some friends within Sun engineering ;-)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;All in all, we still consider Solaris 10 x86 a 'supported platform' for the PowerDNS Recursor, but along the way we had some doubts.. Solaris 10 on UltraSPARC continues to work very well meanwhile!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;   Bert&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-3239389433927651474?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/3239389433927651474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/08/some-notes-on-solaris-10-x86-64-bit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3239389433927651474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3239389433927651474'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/08/some-notes-on-solaris-10-x86-64-bit.html' title='Some notes on Solaris 10 x86, 64 bit compilation, bugs and memory allocators'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-1408286793455119322</id><published>2010-06-13T12:28:00.000-07:00</published><updated>2010-06-13T13:43:03.182-07:00</updated><title type='text'>Better statistical regression tests: Release your inner German!</title><content type='html'>&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Hi everybody,&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The PowerDNS Recursor 3.2 release is holding up well for almost all users, but still some slight issues have crept up. One of the issues involved, where we needed to work around an &lt;a href="http://wiki.powerdns.com/trac/ticket/303"&gt;artefact/issue/quirk/oddity/bug in the UltraDNS servers&lt;/a&gt; (depending on who you talk to), turned out to be.. a faulty workaround.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The workaround looked like it should have caused a lot of problems in production, but apparently did not.  The PowerDNS Recursor is very well tested before each release (by replaying billions of anonymized packets donated by large scale Recursor users). Such testing catches large scale problems, but small scale problems can get lost in the noise of the internet - huge amounts of DNS queries produce failures not because of PowerDNS, but because the domains themselves are broken.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;To fix this, and also to determine the exact impact of the failed workaround, we now have an automated test tool that tries to resolve all 1 million domains which Alexa regards as the most important. There is a strong WWW bias in their domain names, but we can still be reasonably sure that any regression in PowerDNS that is important is sure to be reflected in the success of resolving these 1 million domains.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The testing tool we wrote, 'dnsbulktest' behaved as expected, and immediately uncovered bugs in our parallel packet sending/receiving infrastructure (part of the PowerDNS Authoritative Server prereleases). In addition, the amounts of traffic generated blew away several firewalls, leading to network downtime. Way to go!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;After those issues were addressed, the numbers from the regression tests turned out not to add up. To have any confidence in numbers produced, it helps if the number of timeouts plus the number of received packets eventually equals the number of packets sent. Getting everything to match up took quite some time, but again fixed some bugs here and there unrelated to the testing tool.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;And now, my "inner German" is satisfied, and all the numbers match up perfectly:&lt;img src="http://xs.powerdns.com/tmp/Screenshot.png" style="cursor:pointer; cursor:hand;width: 610px; height: 354px;" border="0" alt="" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In this case, all 1 million Alexa domains were queried once with 'www.' prepended, and once without. Quite a number of domains return 'No Data' without the 'www.'. The NXDOMAIN number is truly odd, but when 'dnsbulktest' is run against BIND, a similar number pops up. Apparently, quite a few of the 'one million most popular domain names' are unavailable after 24 hours. Makes you wonder.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Next up is scripting this tool so it will be run frequently and graphing the results, giving us a good indication of the state of the DNS as well as of the state of the PowerDNS Recursor!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Oh, and on a final note, fixing up the &lt;a href="http://wiki.powerdns.com/trac/changeset/1628"&gt;workaround mentioned earlier&lt;/a&gt; caused a repeatable 1.6% decrease in the number of 'errors'. So that fix has been applied, now with the feeling that it actually fixes more than a single 'broken domain'!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-1408286793455119322?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/1408286793455119322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/06/better-statistical-regression-tests.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/1408286793455119322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/1408286793455119322'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/06/better-statistical-regression-tests.html' title='Better statistical regression tests: Release your inner German!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-2999898681457770141</id><published>2010-04-22T00:17:00.000-07:00</published><updated>2010-04-22T00:18:37.650-07:00</updated><title type='text'>PowerDNSSEC Available For Testing!</title><content type='html'>&lt;div&gt;Dear PowerDNS people,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On &lt;a href="http://wiki.powerdns.com/trac/wiki/PDNSSEC"&gt;http://wiki.powerdns.com/trac/wiki/PDNSSEC&lt;/a&gt; you will find the newest&lt;/div&gt;&lt;div&gt;version of PowerDNS with DNSSEC support built in. This version is&lt;/div&gt;&lt;div&gt;tentatively called 'PowerDNS Authoritative Server 3.0-pre', to signify its&lt;/div&gt;&lt;div&gt;pre-release status, but also to make it clear that DNSSEC will be part of&lt;/div&gt;&lt;div&gt;the mainline PowerDNS.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The status of PowerDNSSEC is that it is interesting to look at, and&lt;/div&gt;&lt;div&gt;functional enough to experiment with. It is not suitable for production, nor&lt;/div&gt;&lt;div&gt;is PowerDNSSEC guaranteed to remain compatible with its current&lt;/div&gt;&lt;div&gt;configuration form.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, the good news is that signing a DNSSEC zone is now as simple as&lt;/div&gt;&lt;div&gt;entering 'pdnssec sign-zone powerdnssec.org'. Any changes to your zone are&lt;/div&gt;&lt;div&gt;automatically re-signed, there is no need to do anything by hand.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, please study &lt;a href="http://wiki.powerdns.com/trac/wiki/PDNSSEC"&gt;http://wiki.powerdns.com/trac/wiki/PDNSSEC&lt;/a&gt; for&lt;/div&gt;&lt;div&gt;cautions on what will work and what does not work right now!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Kind regards,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bert Hubert&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-2999898681457770141?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/2999898681457770141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/04/powerdnssec-available-for-testing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/2999898681457770141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/2999898681457770141'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/04/powerdnssec-available-for-testing.html' title='PowerDNSSEC Available For Testing!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-915296346420859196</id><published>2010-04-20T22:00:00.000-07:00</published><updated>2012-01-13T00:07:27.069-08:00</updated><title type='text'>A few notes on procurement</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Every once in a while I have to deal with a formal (public) procurement situation. And as a technical guy, this hurts. A lot. It is enough to make you want to pull out your hair and scream in pain.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;(dear customers &amp;amp; contacts, if you think this post is about you specifically, it is not - I am venting steam about all procurements I've been involved with. Also, I have come quite well out of several of these procedures. It is just that it hurts!)  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Procurement goes something like this. Somewhere in a company is a guy who needs a banana.  But, because of the scale of the company, or simply because they are like that, he can't simply go out and buy a banana.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;So, he has to involve the procurement department. This department is filled with legal people, and folks otherwise uninterested in the details of bananas. But they do want to do a good job, so they get down to work.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Questionnaires are drafted. What constitutes a good banana? Is a banana the only choice? Will the supply of bananas be guaranteed? How can we store them? For how long? If the banana fails to please, who is responsible? How will we deal with defective shipments? If the bananas are stolen in transport, but the invoice has already been sent, should it be paid? These are not trivial things.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Eventually, this process ends up with a REQUEST FOR PROPOSAL FOR SUPPLY AND DELIVERY OF SELF-CONTAINED AND PEELABLE NATURAL PRODUCT PROVIDING SUSTENANCE.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;In this Request for Proposal is a list of items the delivered product should comply with ('the compliance matrix'). It has such vital requirements as:  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product provides lasting sustenance &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must preferrably be yellow &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product should have limited variability in color&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product can be transported &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product will be delivered in a suitable vessel/container/ship/boat/car/train &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 1 hour&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 1 day &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 1 week &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 1 month &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 3 months &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 1 year &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product remains edible for 5 years &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product shall comply with RS232 standard for serial communications &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product shall not require specific temperature ranges for storage &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must comply with ISO-32423-2 humidity requirements &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must not cause allergic reactions &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must be peelable &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must be clearly identified with a sticker &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must have a non-edible peel &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Product must optionally be delivered in a bundle of products &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Vendor must describe shape and form of product, including typical curvature   ratios &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Vendor should provide guidance on disposal of product, including, but not   limited to possible slipperiness of peel &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Etc, etc  &lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;/span&gt;&lt;/ul&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Update: it happened for real! Thanks to Peter van Dijk for spotting this gem:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;a href="http://failblog.files.wordpress.com/2010/05/129175422191250368.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="239" src="http://failblog.files.wordpress.com/2010/05/129175422191250368.jpg" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="color: red; white-space: pre-wrap;"&gt;Update: And another one!&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;img alt="Because banana is too mainstream" src="http://d24w6bsrhbeh9d.cloudfront.net/photo/1740646_700b.jpg" /&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;This compliance matrix will often contain hundreds or even thousands of items. The matrix is affixed with a little note that informs the reader that the procurement process will favour 'lowest cost compliant solution'.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;This matrix is then mixed together with no less than 200 pages of general terms and conditions, vendor assessment forms, environmental statements, non-disclosure agreements, ethical statements, delivery and payment conditions.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;A variety of fruit vendors receive the Request For Proposals and some shrug their shoulders, but in other places bidding teams will be formed. Such teams often number dozens of people.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;These people wade through the hundreds of pages of legalese and requirements, and finally consult an actual farmer, relaying the demands of the procuring party.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;This poor guy is then asked if there is a fruit that complies with the requirements, and after a while he might figure out that a banana would suit the bill. Probably.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Then attention is turned to the compliance matrix, and the little note about the importance of full compliance.  Yes, the product remains edible for one hour, and usually 1 week, maybe a month, but definitely not 3 months.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Sad faces all round - so we are not compliant? Well says the farmer, if you take a banana off the tree real early, it might be edible after three months, but not for the first two. No matter says the bidding team, and enters 'COMPLIANT' for 3 months!  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Next up, how about a full year? No says the farmer, no way. Ah, but the legal eagle of the bidding team has discovered that the matrix does not provide for who the 'product' should be edible! Would a rat eat a one year old banana? Definitely! COMPLIANT!  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;But now.. 5 years? Dare we say it? This is where the farmer draws the line, but at a stroke of genius, the legal team okays a statement that says 'PARTIALLY COMPLIANT (*)' and adds wording that after five years of fermenting, bananas can stimulate the growth of nutrient-rich mushrooms!  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Next up are the really odd questions. RS232 compliance? Does the customer really want that? Or did he copy paste that in? Much soul searching ensues. The RFP document quite clearly states that the vendor may only contact the procurement department of the procuring party, and that any other contact will lead to disqualification. Clarification requests will delay the process, possibly to such an extent that the response is no longer admissable.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Finally the team cops out with a general statement that RS232 compliant connectors can optionally be supplied.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;And thus it continues - the bidding team navigates the ethical boundaries ('no allergic reactions?  put down COMPLIANT!'), and finally delivers an equally astounding 200 page response, including its own (competing &amp;amp; conflicting) general terms and conditions, delivery and payment instructions and whatnot.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Over at the customer, these responses are now marked by the procurement people who disregard all notes and other things, and simply count the number of 'COMPLIANT' requirements.  The most honest responses are immediately disqualified, since they mostly came in as non-compliant ('our banana remains edible for 3 weeks, tops').  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;Over a thousand pages of responses are now forwarded to the original guy asking for a banana.  The only thing he cared about is getting some really good bananas, and if he would need to pick them up himself.  Oddly enough, the document only asked for pricing per ton, does not specify if the bananas will be delivered, and while it contains a lot of wording on curvature ratios, the actual taste of bananas remains undiscussed.  &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;In the meantime, the farmer would really really just like to ship a crate of bananas as a sample and get down to business. &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="word-wrap: break-word;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;And the original guy?  He already works somewhere else, and in the end not a single banana was sold..&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-915296346420859196?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/915296346420859196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/04/few-notes-on-procurement.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/915296346420859196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/915296346420859196'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/04/few-notes-on-procurement.html' title='A few notes on procurement'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-5901995287141714947</id><published>2010-02-10T12:16:00.001-08:00</published><updated>2010-02-10T12:16:55.895-08:00</updated><title type='text'>PowerDNS Recursor 3.2 Release Candidate 1</title><content type='html'>&lt;pre&gt;Hi everybody,&lt;br /&gt;&lt;br /&gt;Please find below the release notes of the PowerDNS Recursor version 3.2,&lt;br /&gt;release candidate 1.&lt;br /&gt;&lt;br /&gt;RC1 is already deployed in a number of large places, and it appears to be&lt;br /&gt;holding up well. In addition, a number of future users have performed&lt;br /&gt;stringent testing and performance measurements, and it appears this version&lt;br /&gt;works satisfactorily.&lt;br /&gt;&lt;br /&gt;It is also observed that this release candidate provides for vastly improved&lt;br /&gt;performance compared to 3.1.7.*, even bringing us close to the very&lt;br /&gt;impressive numbers measured by users of the Nominum Vantio and Nominum CNS&lt;br /&gt;software.  On modern hardware, the PowerDNS Recursor may in fact be faster,&lt;br /&gt;and certainly better value for money. For more details, please see below.&lt;br /&gt;&lt;br /&gt;If you are looking forward to deploying PowerDNS Recursor version 3.2, now&lt;br /&gt;is a good time to testdrive RC1.&lt;br /&gt;&lt;br /&gt;We are very interested in hearing your experiences, and look forward to&lt;br /&gt;fixing any issues found before the final release is made. If nothing&lt;br /&gt;important pops up, this is expected to happen next week.&lt;br /&gt;&lt;br /&gt;Download from:&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://svn.powerdns.com/snapshots/rc1/"&gt;http://svn.powerdns.com/snapshots/rc1/&lt;/a&gt;&lt;br /&gt;  (tar.bz2, "universal" i386/x86 .rpm and .deb packages, .md5 and pgp&lt;br /&gt;   signatures)&lt;br /&gt;&lt;br /&gt;(Nominum, Nominum CNS &amp;amp; Nominum Vantio are trademarks owned by&lt;br /&gt;Nominum)&lt;br /&gt;&lt;br /&gt;Release notes&lt;br /&gt;- -------------&lt;br /&gt;Version with clickable links:&lt;br /&gt;&lt;a href="http://doc.powerdns.com/changelog.html#CHANGELOG-RECURSOR-3-2"&gt;http://doc.powerdns.com/changelog.html#CHANGELOG-RECURSOR-3-2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The 3.2 release is the first major release of the PowerDNS&lt;br /&gt;Recursor in a long time. Partly this is because 3.1.7.*&lt;br /&gt;functioned very well, and delivered satisfying performance,&lt;br /&gt;partly this is because in order to really move forward, some&lt;br /&gt;heavy lifting had to be done.&lt;br /&gt;&lt;br /&gt;As always, we are grateful for the large PowerDNS community&lt;br /&gt;that is actively involved in improving the quality of our&lt;br /&gt;software, be it by submitting patches, by testing development&lt;br /&gt;versions of our software or helping debug interesting issues.&lt;br /&gt;We specifically want to thank Stefan Schmidt and Florian&lt;br /&gt;Weimer, who both over the years have helped tremendously in&lt;br /&gt;keeping PowerDNS fast, stable and secure.&lt;br /&gt;&lt;br /&gt;This version of the PowerDNS Recursor contains a rather novel&lt;br /&gt;form of lock-free multithreading, a situation that comes close&lt;br /&gt;to the old '--fork' trick, but allows the Recursor to fully&lt;br /&gt;utilize multiple CPUs, while delivering unified statistics and&lt;br /&gt;operational control.&lt;br /&gt;&lt;br /&gt;In effect, this delivers the best of both worlds: near linear&lt;br /&gt;scaling, with almost no administrative overhead.&lt;br /&gt;&lt;br /&gt;Compared to 'regular multithreading', whereby threads cooperate&lt;br /&gt;more closely, more memory is used, since each thread maintains&lt;br /&gt;its own DNS cache. However, given the economics, and the&lt;br /&gt;relatively limited total amount of memory needed for high&lt;br /&gt;performance, this price is well worth it.&lt;br /&gt;&lt;br /&gt;In practical numbers, over 40,000 queries/second sustained&lt;br /&gt;performance has now been measured by a third party, with a&lt;br /&gt;100.0% packet response rate. This means that the needs of&lt;br /&gt;around 400,000 residential connections can now be met by a&lt;br /&gt;single commodity server.&lt;br /&gt;&lt;br /&gt;In addition to the above, the PowerDNS Recursor is now&lt;br /&gt;providing resolver service for many more Internet users than&lt;br /&gt;ever before. This has brought with it 24/7 Service Level&lt;br /&gt;Agreements, and 24/7 operational monitoring by networking&lt;br /&gt;personnel at some of the largest telecommunications companies&lt;br /&gt;in the world.&lt;br /&gt;&lt;br /&gt;In order to facilitate such operation, more statistics are now&lt;br /&gt;provided that allow the visual verification of proper PowerDNS&lt;br /&gt;Recursor operation. As an example of this there are now graphs&lt;br /&gt;that plot how many queries were dropped by the operating system&lt;br /&gt;because of a CPU overload, plus statistics that can be&lt;br /&gt;monitored to determine if the PowerDNS deployment is under a&lt;br /&gt;spoofing attack.&lt;br /&gt;&lt;br /&gt;All in all, this is a large and important PowerDNS Release,&lt;br /&gt;paving the way for further innovation.&lt;br /&gt;&lt;br /&gt;Note&lt;br /&gt;&lt;br /&gt;    This release removes support for the 'fork' multi-processor&lt;br /&gt;    option. In addition, the default is now to spawn two threads.&lt;br /&gt;    This has been done in such a way that total memory usage will&lt;br /&gt;    remain identical, so each thread will use half of the allocated&lt;br /&gt;    maximum number of cache entries.&lt;br /&gt;Improvements:&lt;br /&gt;&lt;br /&gt; * Multithreading, allowing near linear scaling to multiple&lt;br /&gt;   CPUs or cores. Configured using 'threads=' (many commits).&lt;br /&gt;   This also deprecates the '--fork' option.&lt;br /&gt; * Added ability to read a configuration item of a running&lt;br /&gt;   PowerDNS Recursor using 'rec_control get-all' (commit&lt;br /&gt;   1243), suggested by Wouter de Jong.&lt;br /&gt; * Speedups in packet generation (Commits 1258, 1259, 1262)&lt;br /&gt; * TCP deferred accept() filter is turned on again for slight&lt;br /&gt;   DoS protection. Code in commit 1414.&lt;br /&gt; * PowerDNS Recursor can now do TCP/IP queries to remote IPv6&lt;br /&gt;   addresses (commit 1412).&lt;br /&gt; * Solaris 9 '/dev/poll' support added, Solaris 8 now&lt;br /&gt;   deprecated. Changes in commit 1421, commit 1422, commit&lt;br /&gt;   1424, commit 1413.&lt;br /&gt; * Lua functions can now also see the address _to_ which a&lt;br /&gt;   question was sent, using getlocaladdress(). Implemented in&lt;br /&gt;   commit 1309 and commit 1315.&lt;br /&gt; * Maximum cache sizes now default to a sensible value.&lt;br /&gt;   Suggested by Roel van der Made, implemented in commit 1354.&lt;br /&gt; * Domains can now be forwarded to IPv6 addresses too, using&lt;br /&gt;   either ::1 syntax or [::1]:25. Thanks to Wijnand Modderman&lt;br /&gt;   for discovering this issue, fixed in commit 1349.&lt;br /&gt; * Lua scripts can now load libraries at runtime, for example&lt;br /&gt;   to calculate md5 hashes. Code by Winfried Angele in commit&lt;br /&gt;   1405.&lt;br /&gt; * Periodic statistics output now includes average queries per&lt;br /&gt;   second, as well as packet cache numbers (commit 1493).&lt;br /&gt; * New metrics are available for graphing (DOCUMENTATION&lt;br /&gt;   FORTHCOMING), plus added to the default graphs (commit&lt;br /&gt;   1495, commit 1498, commit 1503)&lt;br /&gt; * Fix errors/crashes on more recent versions of Solaris 10,&lt;br /&gt;   where the ports functions could return ENOENT under some&lt;br /&gt;   circumstances. Reported and debugged by Jan Gyselinck,&lt;br /&gt;   fixed in commit 1372.&lt;br /&gt;&lt;br /&gt;New features:&lt;br /&gt;&lt;br /&gt; * Add pdnslog() function for Lua scripts, so errors or other&lt;br /&gt;   messages can be logged properly.&lt;br /&gt; * rec_control now accepts a --timeout parameter, which can be&lt;br /&gt;   useful when reloading huge Lua scripts. Implemented in&lt;br /&gt;   commit 1366.&lt;br /&gt; * 'rec_control get-all' now retrieves all statistics in one&lt;br /&gt;   call (commit 1496).&lt;br /&gt; * Domains can now be forwarded with the 'recursion-desired'&lt;br /&gt;   bit on or off. Feature suggested by Darren Gamble,&lt;br /&gt;   implemented in commit 1451. DOCUMENTATION FORTHCOMING!&lt;br /&gt; * Access control lists can now be reloaded at runtime&lt;br /&gt;   (implemented in commit 1457).&lt;br /&gt; * PowerDNS Recursor can now use a pool of&lt;br /&gt;   query-local-addresses to further increase resilience&lt;br /&gt;   against spoofing. Suggested by Ad Spelt, implemented in&lt;br /&gt;   commit 1426. DOCUMENTATION FORTHCOMING!&lt;br /&gt; * PowerDNS Recursor now also has a packet cache, greatly&lt;br /&gt;   speeding up operations. Implemented in commit 1426, commit&lt;br /&gt;   1433 and further. DOCUMENTATION FORTHCOMING!&lt;br /&gt; * Cache can be limited in how long it stores records, for&lt;br /&gt;   BIND compatibility. Patch by Winfried Angele in commit&lt;br /&gt;   1438. DOCUMENTATION FORTHCOMING!&lt;br /&gt; * Cache cleaning turned out to be scanning more of the cache&lt;br /&gt;   than necessary for cache maintenance. In addition, far more&lt;br /&gt;   frequent but smaller cache cleanups improve responsiveness.&lt;br /&gt;   Thanks to Winfried Angele for discovering this issue.&lt;br /&gt;   (commits 1501, 1507)&lt;br /&gt; * Performance graphs enhanced with separate CPU load and&lt;br /&gt;   cache effectiveness plots, plus display of various overload&lt;br /&gt;   situations (commits 1503)&lt;br /&gt;&lt;br /&gt;Compiler/Operating system/Library updates:&lt;br /&gt;&lt;br /&gt; * PowerDNS Recursor can now compile against newer versions of&lt;br /&gt;   Boost. Reported &amp;amp; fixed by Darix in commit 1274. Further&lt;br /&gt;   fixes in commit 1275, commit 1276, commit 1277, commit&lt;br /&gt;   1283.&lt;br /&gt; * Fix compatibility with newer versions of GCC (closes ticket&lt;br /&gt;   ticket 227, spotted by Ruben Kerkhof, code in commit 1345,&lt;br /&gt;   more fixes in commit 1394, 1416, 1440).&lt;br /&gt; * Rrdtool update graph is now compatible with FreeBSD out of&lt;br /&gt;   the box. Thanks to Bryan Seitz (commit 1517).&lt;br /&gt; * Fix up Makefile for older versions of Make (commit 1229).&lt;br /&gt; * Solaris compilation improvements (out of the box, no&lt;br /&gt;   handwork needed).&lt;br /&gt; * Solaris 9 MTasker compilation fixes, as suggested by John&lt;br /&gt;   Levon. Changes in commit 1431.&lt;br /&gt;&lt;br /&gt;Bug fixes:&lt;br /&gt;&lt;br /&gt; * Under rare circumstances, the recursor could crash on 64&lt;br /&gt;   bit Linux systems running glibc 2.7, as found in Debian&lt;br /&gt;   Lenny. These circumstances became a lot less rare for the&lt;br /&gt;   3.2 release. Discovered by Andreas Jakum and debugged by&lt;br /&gt;   #powerdns, fix in commit 1519.&lt;br /&gt; * Configuration parser is now resistant against trailing tabs&lt;br /&gt;   and other whitespace (commit 1242)&lt;br /&gt; * Fix typo in a Lua error message. Close ticket 210, as&lt;br /&gt;   reported by Stefan Schmidt (commit 1319).&lt;br /&gt; * Profiled-build instructions were broken, discovered &amp;amp; fixes&lt;br /&gt;   suggested by Stefan Schmidt. ticket 239, fix in commit&lt;br /&gt;   1462.&lt;br /&gt; * Fix up duplicate SOA from a remote authoritative server&lt;br /&gt;   from showing up in our output (commit 1475).&lt;br /&gt; * All security fixes from 3.1.7.2 are included.&lt;br /&gt; * Under highly exceptional circumstances on FreeBSD the&lt;br /&gt;   PowerDNS Recursor could crash because of a TCP/IP error.&lt;br /&gt;   Reported and fixed by Andrei Poelov in ticket 192, fixed in&lt;br /&gt;   commit 1280.&lt;br /&gt; * PowerDNS Recursor can be a root-server again. Error spotted&lt;br /&gt;   by the ever vigilant Darren Gamble (t229), fix in commit&lt;br /&gt;   1458.&lt;br /&gt; * Rare TCP/IP errors no longer lead to PowerDNS Recursor&lt;br /&gt;   logging errors or becoming confused. Debugged by Josh Berry&lt;br /&gt;   of Plusnet PLC. Code in commit 1457.&lt;br /&gt; * Do not hammer parent servers in case child zones are&lt;br /&gt;   misconfigured, requery at most once every 10 seconds.&lt;br /&gt;   Reported &amp;amp; investigated by Stefan Schmidt and Andreas&lt;br /&gt;   Jakum, fixed in commit 1265.&lt;br /&gt; * Properly process answers from remote authoritative servers&lt;br /&gt;   that send error answers without including the original&lt;br /&gt;   question (commit 1329, commit 1327).&lt;br /&gt; * No longer spontaneously turn on 'export-etc-hosts' after&lt;br /&gt;   reloading zones. Discovered by Paul Cairney, reported in&lt;br /&gt;   ticket 225, addressed in commit 1348.&lt;br /&gt; * Very abrupt server failure of large numbers of high-volume&lt;br /&gt;   authoritative servers could trigger an out of memory&lt;br /&gt;   situation. Addressed in commit 1505.&lt;br /&gt; * Make timeouts for queries to remote authoritative servers&lt;br /&gt;   configurable with millisecond granularity. In addition, the&lt;br /&gt;   old code turned out to consider the timeout expired when&lt;br /&gt;   the integral number of seconds since 1970 increased by 1 -&lt;br /&gt;   which *on average* is after 500ms. This might have caused&lt;br /&gt;   spurious timeouts! New default timeout is 1500ms. Code in&lt;br /&gt;   commit 1402. DOCUMENTATION FORTHCOMING!&lt;br /&gt;-----BEGIN PGP SIGNATURE-----&lt;br /&gt;Version: GnuPG v1.4.9 (GNU/Linux)&lt;br /&gt;&lt;br /&gt;iEYEARECAAYFAktzEy0ACgkQHF7pkNLnFXX6NQCfWLjmCtB17I7/9a278LUvI9Ba&lt;br /&gt;YAoAoMeOq8nVZ+Q2/0NKCkryjV8LxTlk&lt;br /&gt;=v7eH&lt;br /&gt;-----END PGP SIGNATURE-----&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-5901995287141714947?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/5901995287141714947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/02/powerdns-recursor-32-release-candidate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5901995287141714947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5901995287141714947'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/02/powerdns-recursor-32-release-candidate.html' title='PowerDNS Recursor 3.2 Release Candidate 1'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-1558114202035644721</id><published>2010-01-06T07:26:00.000-08:00</published><updated>2010-01-06T07:28:00.960-08:00</updated><title type='text'>Critical PowerDNS Recursor Security Vulnerabilities: please upgrade ASAP to 3.1.7.2</title><content type='html'>Dear PowerDNS Users,&lt;br /&gt;&lt;br /&gt;Two major vulnerabilities have recently been discovered in the PowerDNS&lt;br /&gt;Recursor (all versions up to and including 3.1.7.1). Over the past two&lt;br /&gt;weeks, these vulnerabilities have been addressed, resulting in PowerDNS&lt;br /&gt;Recursor 3.1.7.2.&lt;br /&gt;&lt;br /&gt;Given the nature and magnitude of these vulnerabilities, ALL PowerDNS&lt;br /&gt;RECURSOR USERS ARE URGED TO UPGRADE AT THEIR EARLIEST CONVENIENCE. No&lt;br /&gt;versions of the PowerDNS Authoritative Server are affected.&lt;br /&gt;&lt;br /&gt;PowerDNS Recursor 3.1.7.2 as been thoroughly tested, and has in fact been in&lt;br /&gt;production for a week at some major sites already.  No problems have been  &lt;br /&gt;reported. 3.1.7.2 does not include anything other than security updates.   &lt;br /&gt;&lt;br /&gt;The two major vulnerabilities can lead to a FULL SYSTEM COMPROMISE, as well&lt;br /&gt;as cache poisoning, connecting your users to possibly malicious IP addresses.&lt;br /&gt;&lt;br /&gt;These vulnerabilities were discovered by a third party that for now prefers&lt;br /&gt;not to be named. PowerDNS is however very grateful for their help. More&lt;br /&gt;details are available on:&lt;br /&gt;http://doc.powerdns.com/powerdns-advisory-2010-01.html&lt;br /&gt;http://doc.powerdns.com/powerdns-advisory-2010-02.html&lt;br /&gt;&lt;br /&gt;Debian, FreeBSD, Gentoo and SuSE are processing the changed packages, and&lt;br /&gt;will be releasing security updates shortly. Ubuntu does not provide security&lt;br /&gt;updates for PowerDNS, so Ubuntu users must take immediate action and&lt;br /&gt;download our packages.&lt;br /&gt;&lt;br /&gt;RHEL4/5, CentOS packages are available (care of Kees Monshouwer) here:&lt;br /&gt;http://www.monshouwer.eu/download/3th_party/pdns-recursor/&lt;br /&gt;&lt;br /&gt;Updated packages for .deb based systems are available here:&lt;br /&gt;http://downloads.powerdns.com/releases/deb/pdns-recursor_3.1.7.2-1_i386.deb&lt;br /&gt;http://downloads.powerdns.com/releases/deb/pdns-recursor_3.1.7.2-1_amd64.deb&lt;br /&gt;&lt;br /&gt;Updated packages for .rpm based systems are available here:&lt;br /&gt;http://downloads.powerdns.com/releases/rpm/pdns-recursor-3.1.7.2-1.i386.rpm&lt;br /&gt;http://downloads.powerdns.com/releases/rpm/pdns-recursor-3.1.7.2-1.x86_64.rpm&lt;br /&gt;&lt;br /&gt;Source code is available here:&lt;br /&gt;http://downloads.powerdns.com/releases/pdns-recursor-3.1.7.2.tar.bz2&lt;br /&gt;&lt;br /&gt;Special 'upgrade option of last resort' (old systems)&lt;br /&gt;-----------------------------------------------------&lt;br /&gt;In addition, as a special service, we are also providing two precompiled&lt;br /&gt;fully static Linux binaries as an 'upgrade option of last resort':&lt;br /&gt;&lt;br /&gt;http://downloads.powerdns.com/releases/pdns_recursor-3.1.7.2.amd64.static.executable&lt;br /&gt;http://downloads.powerdns.com/releases/pdns_recursor-3.1.7.2.i386.static.executable&lt;br /&gt;&lt;br /&gt;These two binaries are suitable of our .deb or .rpm files somehow refuse to&lt;br /&gt;load (which happens on RHEL version 3, for example).&lt;br /&gt;&lt;br /&gt;Download the appropriate executable, rename to pdns_recursor, set the&lt;br /&gt;executable bit (chmod a+x pdns_recursor), and 'mv' the executable over&lt;br /&gt;/usr/sbin/pdns_recursor.&lt;br /&gt;&lt;br /&gt;If you need any help in upgrading, please do not hesitate to contact us.&lt;br /&gt;&lt;br /&gt;Kind regards,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bert Hubert&lt;br /&gt;&lt;br /&gt;        Bert&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-1558114202035644721?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/1558114202035644721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2010/01/critical-powerdns-recursor-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/1558114202035644721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/1558114202035644721'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2010/01/critical-powerdns-recursor-security.html' title='Critical PowerDNS Recursor Security Vulnerabilities: please upgrade ASAP to 3.1.7.2'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-8220471926207837676</id><published>2009-12-25T07:30:00.000-08:00</published><updated>2009-12-25T07:37:26.769-08:00</updated><title type='text'>Dit jaar wel studie- en afstudeerbegeleiding</title><content type='html'>A rare post in Dutch - if you know anyone in The Netherlands that really needs to graduate or otherwise finish their studies, this message is for them ;-)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_iPazR4XY0TQ/SzTb8rF4IiI/AAAAAAAAAUo/Xo3H7hm8_dU/s1600-h/tekening+bij+bumble_bee+swb+network.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 50px; height: 41px;" src="http://1.bp.blogspot.com/_iPazR4XY0TQ/SzTb8rF4IiI/AAAAAAAAAUo/Xo3H7hm8_dU/s400/tekening+bij+bumble_bee+swb+network.jpg" alt="" id="BLOGGER_PHOTO_ID_5419198087039558178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Met trots presenteer ik de website van het bedrijf van mijn vrouw Mirjam: &lt;a href="http://www.ditjaarwel.nl/"&gt;ditjaarwel.nl&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;Na het nodige proefdraaien met de eerste klanten is het bedrijf nu 'ready for business'. Dus als je iemand kent die dringend af moet studeren, of anderszins over een hobbel in de studie geholpen moet worden, wijs ze dan vooral op Dit Jaar Wel.nl! Ook erg geschikt voor ouders die vinden dat het nu wel mooi geweest is met de studie van zoon of dochterlief.&lt;br /&gt;&lt;br /&gt;PS: Leuk om te melden dat ik als 'officiele computernerd in huis' er niet in geslaagd was iets fatsoenlijks en betaalbaars te vinden om een website mee te maken. Mirjam kwam na een rondje googlen met Yola.com, wat precies is wat we zochten. Aanrader.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-8220471926207837676?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/8220471926207837676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/12/dit-jaar-wel-studie-en.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/8220471926207837676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/8220471926207837676'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/12/dit-jaar-wel-studie-en.html' title='Dit jaar wel studie- en afstudeerbegeleiding'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_iPazR4XY0TQ/SzTb8rF4IiI/AAAAAAAAAUo/Xo3H7hm8_dU/s72-c/tekening+bij+bumble_bee+swb+network.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-7772682211519766937</id><published>2009-12-10T15:24:00.000-08:00</published><updated>2009-12-10T15:38:53.236-08:00</updated><title type='text'>Addicted to the LHC</title><content type='html'>Over the past few weeks, the Large Hadron Collider (LHC), also known as the 'most puissant particle punisher that pounds the protons', has been starting up (again).&lt;br /&gt;&lt;br /&gt;The LHC is housed at CERN, and consists of a 27km long tunnel that is so big it needs two countries to contain it, France and Switzerland.&lt;br /&gt;&lt;br /&gt;It's goal in life is to smash protons and later lead ions together at stupendous energies.. to see what happens. I bet they have written a loftier description of their aims themselves, but this is what they do.&lt;br /&gt;&lt;br /&gt;At a cost that is hard to calculate, but surely more than €10 billion, it is cheaper than propping up a small bank.&lt;br /&gt;&lt;br /&gt;The scale of everything they do there is huge. The tunnel is lined with arrays of machines, each of which would be the the proud possession of any physics department in the world. And it all has to work to deliver the big goal: smashing particles together at hitherto unobtainable energies.&lt;br /&gt;&lt;br /&gt;Both because of "typos" in newspapers and because of the excitement this machine generates in the nerd crowd, the Large Hadron Collider has also been called the Large Hardon Collider. And it deserves the name.&lt;br /&gt;&lt;br /&gt;I'm going to stop gushing now, but it is a seriously impressive setup. I haven't even started about the computing grid that calculates what the collisions resulted in, and if new physics has been discovered.&lt;br /&gt;&lt;br /&gt;So, getting back to the title of this post, why am I addicted? In all their 'web 2.0' wisdom (they invented 'web 1.0' over at CERN, btw), the LHC people have decided to be incredibly open. With a little effort, you can find up to the second statistics of all their activities, down to a minute by minute logbook of operations.&lt;br /&gt;&lt;br /&gt;And for some reason or other, this makes the LHC like a reality series for me. There is even a form and a chat room to hang out and gossip!&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;So, to join the fun, head over to the (unofficial) &lt;a href="http://www.lhcportal.com/"&gt;LHC Portal&lt;/a&gt; which contains links to all the good stuff! The best page to start is &lt;a href="http://op-webtools.web.cern.ch/op-webtools/vistar/vistars.php?usr=LHC1"&gt;"Page 1"&lt;/a&gt; (which can also be found on the LHC Portal).&lt;br /&gt;&lt;br /&gt;Have fun!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-7772682211519766937?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/7772682211519766937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/12/addicted-to-lhc.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/7772682211519766937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/7772682211519766937'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/12/addicted-to-lhc.html' title='Addicted to the LHC'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-5362081448936762219</id><published>2009-11-11T11:28:00.000-08:00</published><updated>2009-11-11T12:25:40.585-08:00</updated><title type='text'>When DNS is cool and when it is not</title><content type='html'>Whenever massive query rates are desired for globally distributed data, with high redundancy and built in positive and negative caching, people think of DNS. Popular examples are of course our day to day use of the Domain Name System (which is a lot more than a protocol) to lookup IP addresses, but also include tremendous amounts of spam lookups (RBLs) to determine if an IP address is likely to be a source of spam.&lt;br /&gt;&lt;br /&gt;In addition, "ENUM" has been designed to share reachability information for phone numbers over DNS, telling one for example over which SIP identity the owner of a phone number could be reached using VoIP. This needs many of the aforementioned features of DNS, like high query rates, redundancy and caching.&lt;br /&gt;&lt;br /&gt;Periodically, people ponder storing other things in DNS, most often because they are attracted to the huge query rates, built in distribution, redundancy and caching. And indeed, these are things that make the DNS very attractive.&lt;br /&gt;&lt;br /&gt;In addition, DNS passes more firewalls by default than almost any other protocol, because the network's resolver acts as a sanctioned proxy.&lt;br /&gt;&lt;br /&gt;It turns out however that there are severe limits to what you can do within DNS while retaining the attractive bits.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;High query rates&lt;/span&gt;&lt;br /&gt;Even with a very limited investment, it is possible to build solutions based on DNS enabling one to ask and answer over a million queries per second. Building such functionality on top of a SQL database would be an order of magnitude more expensive (at least).&lt;br /&gt;&lt;br /&gt;Among the reasons why DNS can support such tremendous speeds is its use of the connectionless UDP protocol, which means that a question fits in a single packet, as does the answer. A TCP/IP session goes through at least 6 packets to achieve the same thing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Passing firewalls&lt;/span&gt;&lt;br /&gt;Almost all network environments have DNS connectivity to the outside world, often via the network's resolvers. In addition, these resolvers typically have an undisturbed view of UDP port 53 to the outside world. However, they often do not have such unfettered access to TCP or ICMP.&lt;br /&gt;&lt;br /&gt;This is important because UDP packets have severe constraints on their size, with 1500 being the maximum before stuff needs to happen. The stuff that needs to happen either entails sending fragments (which have a hard time passing firewalls), or moving to TCP (which is blocked far more often than UDP for DNS).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DNS has a lot of rules&lt;/span&gt;&lt;br /&gt;DNS was originally a replacement for the (then) famous HOSTS.TXT file, which contained IP addresses for host names that people wanted to share with the internet. This file was lovingly maintained by hand, and periodically downloaded by everybody.&lt;br /&gt;&lt;br /&gt;When this no longer proved to be sustainable, the DNS was created so everybody could administer their own names, and publish these in an automated fashion.&lt;br /&gt;&lt;br /&gt;Look closely however, and the DNS shows its HOSTS.TXT roots. Even though each 'top level domain' can have its own set of servers, in the end fundamentally, the DNS assumes it is actually one uniform list of records ('HOSTS.TXT'). This means that if the root says the nameserver for everything ending on NL are X, Y and Z, that if you ask any of X, Y and Z what the namservers for NL are it *has* to answer X, Y and Z (it may add U, V and W to the answers though).&lt;br /&gt;&lt;br /&gt;What it may NOT do is say 'oh, NL, I handed that over to servers A, B and C, ask them'. Because this would violate the 'HOSTS.TXT' view of the DNS, where everything in the root zone has to be identical to the stuff at the lower level.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DNS can only answer simple questions&lt;/span&gt;&lt;br /&gt;DNS basically knows only one question 'Do you have information of type X about name Y?'. And as an answer, you'll get all the information about Y of type X &lt;span style="font-weight: bold;"&gt;that fits in the answer packet&lt;/span&gt;. There is no way to say 'give me all names Y that have type X', for example. Nor is there a way to ask for all names that start with 'www'.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;You can't mirror the DNS&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The DNS is a fully distributed system, and one that can only answer simple questions (see above). There is no reliable way to make a complete copy of the DNS. This means that in order to use it, one has to rely on working network connectivity, and also has to trust &lt;span style="font-style: italic;"&gt;other people's systems&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Unlike, say, a SQL database, it is not possible to have a full copy that still works without network connectivity.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;So - what do these limitations mean?&lt;/span&gt;&lt;br /&gt;Summarising - we like DNS because it is really fast, easily distributed, well cached and passes firewalls easily. However, the above means that if we want to keep all these cool features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Responses to DNS queries must be small. Large answers mean UDP can't be used, which in turn means a significant slowdown because TCP needs so many more packets. In addition, TCP has a far harder time passing firewalls.&lt;br /&gt;Fundamentally, this means not storing photographs or other large things in DNS&lt;br /&gt;&lt;/li&gt;&lt;li&gt;We must only ask simple questions that have direct answers.&lt;/li&gt;&lt;li&gt;Our questions and data distribution must fit the DNS rules.&lt;br /&gt;This means we can't "redelegate". A practical problem that gets hit by this restriction is so called telephony number portability, where a phone number jumps outside of the hierarchy, and is suddenly served by a wholly different company.&lt;/li&gt;&lt;li&gt;We must accept that queries will leave our network, and that we can't have an 'offline copy'&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;All in all - this means that quite a lot of problems do not fit the constraints that DNS imposes.&lt;br /&gt;&lt;br /&gt;But anytime you have simple questions, with small answers and you dare to rely on other people's servers, plus do not desire 'redelegation', DNS may be your best bet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some alternatives&lt;/span&gt;&lt;br /&gt;Slightly more advanced than DNS is LDAP, which offers the possiblity of asking more complicated questions. Slightly *less* advanced than DNS is memcached, which does however share the very high performance and easy redundancy. It does not offer delegation though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-5362081448936762219?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/5362081448936762219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/11/when-dns-is-cool-and-when-it-is-not.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5362081448936762219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5362081448936762219'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/11/when-dns-is-cool-and-when-it-is-not.html' title='When DNS is cool and when it is not'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-8776283579463134656</id><published>2009-11-08T02:32:00.000-08:00</published><updated>2009-11-08T02:39:36.161-08:00</updated><title type='text'>xs.powerdns.com: PowerDNS Development &amp; Community Server @ xs4all!</title><content type='html'>Hi everybody,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Over the past few months, the PowerDNS Wiki and Subversion servers had a hard time and were no longer able to keep up with the growing amounts of traffic. Since these servers also routed my personal email, I had little choice but move the flood of spam to gmail. But no more!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We acquired a lovely &lt;a href="http://xs.powerdns.com"&gt;Dell PowerEdge R200&lt;/a&gt;, and found pioneering PowerDNS user &lt;a href="http://www.xs4all.nl"&gt;XS4ALL&lt;/a&gt; willing to host it! This explains the xs4all logos on wiki.powerdns.com and svn.powerdns.com ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;XS4ALL is what I'd like to call an 'old school internet service provider' - which is quite literally true since they were (almost) the first here in The Netherlands. Racking up xs.powerdns.com went without a hitch. For some reason, whenever I have to rack up a server, it turns out the wrong rails have been agreed upon, or the power is wrong or too much, or the IP addresses have not been arranged.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But this time round, we were done in 5 minutes. When I discovered a few days later that no IPv6 was provisioned, this was fixed within an hour. On Sunday.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;XS4ALL also was the 'launching customer' of the PowerDNS Recursor, funding the development process and field testing it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So many thanks to them for hosting xs.powerdns.com!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-8776283579463134656?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/8776283579463134656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/11/xspowerdnscom-powerdns-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/8776283579463134656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/8776283579463134656'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/11/xspowerdnscom-powerdns-development.html' title='xs.powerdns.com: PowerDNS Development &amp; Community Server @ xs4all!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-663943069112320560</id><published>2009-09-23T03:20:00.000-07:00</published><updated>2009-09-23T11:48:54.700-07:00</updated><title type='text'>PowerDNS competitor Nominum lauds its closed source credits!</title><content type='html'>This morning, I was unpleasantly surprised by an advertorial on ZDNET, where PowerDNS competitor Nominum stated that since they are closed source, their technology is inherently more secure. They also cleverly compared Open Source to malware. Nice.&lt;br /&gt;&lt;br /&gt;In addition, Nominum stated they have not had any security problems, "unlike the freeware legacy DNS", but this &lt;a href="https://lists.dns-oarc.net/pipermail/dns-operations/2009-September/004479.html"&gt;simply is not true&lt;/a&gt; as can be seen on their own webpage (which will probably be 'cleaned up' shortly).&lt;br /&gt;&lt;br /&gt;There are some true gems in the interview, cleverly titled "&lt;a href="http://news.zdnet.co.uk/itmanagement/0,1000000308,39760362,00.htm?s_cid=260"&gt;Why open-source DNS is 'internet's dirty little secret'&lt;/a&gt;".&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;Freeware legacy DNS is the internet's dirty little secret — and it's not even little, it's probably a big secret. Because if you think of all the places outside of where Nominum is today — whether it's the majority of enterprise accounts or some of the smaller ISPs — they all have essentially been running freeware up until now.          &lt;p&gt;Given all the nasty things that have happened this year, freeware is a recipe for problems, and it's just going to get worse.&lt;/p&gt;&lt;/blockquote&gt;Followed by:&lt;br /&gt;&lt;blockquote&gt;Correct. So, whether it's &lt;a title="Irish ISP Eircom hit by multiple attacks that restrict service for users - SC Magazine" href="http://www.scmagazineuk.com/Irish-ISP-Eircom-hit-by-multiple-attacks-that-restrict-service-for-users/article/140243/"&gt;&lt;/a&gt;Eircom in Ireland or a&lt;a title="Report Claims DNS Cache Poisoning Attack Against Brazilian Bank and ISP - eWeek" href="http://www.eweek.com/c/a/Security/Report-Claims-DNS-Cache-Poisoning-Attack-Against-Brazilian-Bank-and-ISP-761709/"&gt;&lt;/a&gt; Brazilian ISP that was attacked earlier this year, all of them were using some variant of freeware. &lt;span style="font-weight: bold;"&gt;Freeware is not akin to malware, but is opening up those customers to problems&lt;/span&gt;. So we've seen the majority of the world's top ISPs migrating away from freeware to a solution that is carrier-grade, commercial-grade and secure.&lt;/blockquote&gt;And the real screamer:&lt;br /&gt;&lt;blockquote&gt;Nominum software was written 100 percent from the ground up, and by having software with source code that is not open for everybody to look at, it is inherently more secure.&lt;br /&gt;&lt;/blockquote&gt;Way, way back when, Nominum employees successfully performed a denial of service attack on PowerDNS. I thought they had grown over this kind of behavior, but it appears they didn't.&lt;br /&gt;&lt;br /&gt;Nominum used to be a part of the DNS community, interacting with the IETF in the standards setting process. It may be harder for them to credibly contribute anymore if this is their stance on open cooperation..&lt;br /&gt;&lt;br /&gt;UPDATE: It is ironic to note that at the time of writing, one of the Nominum.com nameservers was actually running BIND ('freeware, not akin to malware'). In addition, both the webserver and the operating system for the Nominum webpages run on open source software (Apache, Linux).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-663943069112320560?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/663943069112320560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/09/powerdns-competitor-nominum-lauds-it.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/663943069112320560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/663943069112320560'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/09/powerdns-competitor-nominum-lauds-it.html' title='PowerDNS competitor Nominum lauds its closed source credits!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-165816619025004405</id><published>2009-09-23T02:37:00.000-07:00</published><updated>2009-09-23T03:20:22.158-07:00</updated><title type='text'>Guus Hubert has been born!</title><content type='html'>Mirjam and I are really happy to report that our lovely son Guus Hubert was born on the 14th of September! Mother and son are doing really well.&lt;br /&gt;&lt;br /&gt;Here is the official picture:&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://guus.hubertnet.nl/guus-kaartje-klein.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 100%" src="http://guus.hubertnet.nl/guus-kaartje-klein.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;You can see that Maurits eyes his new brother with a keen interest!&lt;br /&gt;Guus &amp; family can be congratulated on guus@hubertnet.nl !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-165816619025004405?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/165816619025004405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/09/guus-hubert-has-been-born.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/165816619025004405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/165816619025004405'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/09/guus-hubert-has-been-born.html' title='Guus Hubert has been born!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-7176879528615099499</id><published>2009-09-07T03:09:00.000-07:00</published><updated>2009-09-07T12:43:33.548-07:00</updated><title type='text'>PowerDNS &amp; PowerAdmin contributor Jorn Ekkelenkamp has passed away</title><content type='html'>I'm almost too hurt to type..&lt;br /&gt;&lt;br /&gt;Copy pasted from the PowerDNS mailing lists:&lt;br /&gt;&lt;br /&gt;Dear PowerDNS friends,&lt;br /&gt;&lt;br /&gt;I'm deeply saddened to have to report that Jorn Ekkelenkamp passed away yesterday, at the tender age of 26. He died battling Leukemia. Jorn was also known as Sjeemz on the #powerdns irc channel.&lt;br /&gt;&lt;br /&gt;At ISP Services (later known as Hubris) Jorn was perhaps the very first large scale user of PowerDNS, in addition to authoring the first PowerDNS web management solution, PowerAdmin.&lt;br /&gt;&lt;br /&gt;His belief in PowerDNS, and his subsequent deployment, paved the path for much of what we have achieved over the years. PowerAdmin also helped people use and migrate to PowerDNS. In addition, he frequently suggested, tested or even funded new PowerDNS features.&lt;br /&gt;&lt;br /&gt;Jorn will be missed very much. He was truly a PowerDNS man from the very first hour.&lt;br /&gt;&lt;br /&gt;His girlfriend and family were aware of Jorn's contributions to the open source world and the Internet. If PowerAdmin has made your life or work better, or if you've benefited from his other contributions to the PowerDNS community, please drop me a message, and I'll relay to his family, who will appreciate hearing about what Jorn meant for other people.&lt;br /&gt;&lt;br /&gt;In addition, there will be church service Saturday morning - I can relay the details if you want to attend.&lt;br /&gt;&lt;br /&gt;I wish his family and everyone who knew Jorn lots of strength in dealing with this tremendous loss.&lt;br /&gt;&lt;br /&gt;Bert Hubert&lt;br /&gt;PowerDNS.COM&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-7176879528615099499?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/7176879528615099499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/09/powerdns-poweradmin-contributor-jorn.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/7176879528615099499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/7176879528615099499'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/09/powerdns-poweradmin-contributor-jorn.html' title='PowerDNS &amp; PowerAdmin contributor Jorn Ekkelenkamp has passed away'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-813085531655593768</id><published>2009-08-16T13:44:00.001-07:00</published><updated>2009-08-17T06:52:37.884-07:00</updated><title type='text'>HAR2009 thoughts, returning back to earth..</title><content type='html'>I just got back from HAR2009, and am slowly returning to earth. HAR is the fifth installment (or sixth, depending on who you speak) of the 'HXX' series of hacker events here in The Netherlands. These usually attract in the order of 2000 of the best geeks of Europe (&amp;amp; beyond), and HAR2009 was no exception.&lt;br /&gt;&lt;br /&gt;Over 2200 people trekked to Vierhouten, to attend 106 presentations, many many parties, and have lots of fun. Most of them slept on-site in their tents or caravans.&lt;br /&gt;&lt;br /&gt;The event lasts four days, but many people arrived early, and some of them are staying late to help with cleanup.&lt;br /&gt;&lt;br /&gt;But for me it is over now, and like I said, I'm slowly returning back to earth. It was tremendous. Awesome to the point that I nearly got emotional when it really was time to go home.&lt;br /&gt;&lt;br /&gt;I have tried and failed to express in words why events like these are so wonderful (and why HAR2009 was the best yet), but it is not working. It is one of these 'You had to be there' things. Suffice it to say that if you are a geek at heart (and I am definitely one), this was the place to be.&lt;br /&gt;&lt;br /&gt;I did a presentation on "DNS Security in the Broadest Sense", here is a photo just before my presentation, while Niels helped me out because my HP #$@#$ 'netbook' failed to switch to the proper resolution, even though I had tested this on the projector a few hours earlier:&lt;br /&gt;&lt;img src="http://ds9a.nl/tmp/2252.jpg" border="0" /&gt;&lt;br /&gt;(image courtesy of security.nl)&lt;br /&gt;&lt;br /&gt;My presentation: &lt;a href="http://ds9a.nl/har-presentation-bert-hubert-3.pdf"&gt;pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Badly transcoded movie of the presentation, will be replaced at a later point with a better one:&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://ds9a.nl/player.swf" bgcolor="undefined" allowscriptaccess="always" allowfullscreen="true" flashvars="file=http://ds9a.nl/presentation-powerdns-har-2009.flv" height="320" width="470"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;My lovely son Maurits watching the live stream (this photo is NOT shopped!)&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;img src="http://ds9a.nl/maurits-bekijkt-stream-papa-klein.jpg" border="1" /&gt;&lt;br /&gt;&lt;br /&gt;(many thanks to my wife Mirjam, who is very pregnant, but insisted that I went to HAR, because she knew it meant so much to me!)&lt;br /&gt;&lt;br /&gt;A video Interview in Dutch about my presentation can be found on &lt;a href="http://security.nl/artikel/30640/1/HAR_Video_-_Dreigingen_voor_DNS.html"&gt;Security.nl&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update!&lt;/span&gt; Interview (in English) on HARFM can be found &lt;a href="http://ds9a.nl/bert-on-harfm.ogg"&gt;here&lt;/a&gt; (plays in Firefox 3.5, otherwise try &lt;a href="http://www.videolan.org/vlc/"&gt;VLC&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;All in all, it was a TREMENDOUS event, and I am told people liked my presentation. I'm also proud that PowerDNS powered the whole HAR2009 DNS infrastructure, and that it held up and was not compromised. A good thing at a hacker conference.&lt;br /&gt;&lt;br /&gt;I'm also proud that both PowerDNS and Fox-IT could play a part in this. Aldert, I don't believe you when you said HAR2009 would not have happened without us, but the thought is much appreciated! It must have been the good food at our BBQ :-)&lt;br /&gt;&lt;br /&gt;There are moments from HAR2009 that I will never, ever, forget again. Thanks to everyone that made it happen!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-813085531655593768?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/813085531655593768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/har2009-thoughts-returning-back-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/813085531655593768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/813085531655593768'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/har2009-thoughts-returning-back-to.html' title='HAR2009 thoughts, returning back to earth..'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-3103251209011641021</id><published>2009-08-11T01:51:00.000-07:00</published><updated>2009-08-11T01:55:05.983-07:00</updated><title type='text'>PowerDNS is The Hackers Choice!</title><content type='html'>Very brief note to let you know that I'm thrilled that PowerDNS will be serving the &lt;a href="http://www.har2009.org/"&gt;HAR 2009 &lt;/a&gt;visitors! It has previously also been used by the same people at CCC congresses.&lt;br /&gt;&lt;br /&gt;I'm very proud of this, and I hope the Recursor and Authoritative Server will continue to do well for such demanding users. And if there is any issue, the maintainers can rest secure in the knowledge that 24/7 on-site support is available.. from my tent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-3103251209011641021?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/3103251209011641021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/powerdns-recursor-is-hackers-choice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3103251209011641021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3103251209011641021'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/powerdns-recursor-is-hackers-choice.html' title='PowerDNS is The Hackers Choice!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-502719293470231626</id><published>2009-08-02T14:00:00.000-07:00</published><updated>2009-08-02T14:06:53.526-07:00</updated><title type='text'>PowerDNS Recursor 3.1.7.1 released!</title><content type='html'>I'm pretty proud of this release, or to state it better, proud of not having a real reason to do a release for over a year.&lt;br /&gt;&lt;br /&gt;Over the past year, the PowerDNS Recursor has gone places I never thought it would go, powering the majority of internet subscribers in some large countries.&lt;br /&gt;&lt;br /&gt;It is very rare for a project that services so many people, to exhibit so very little problems. I'm probably just lucky in this respect, but it still feels good.&lt;br /&gt;&lt;br /&gt;However, since the world moved on over the past year, version 3.1.7 became somewhat hard to compile on modern Linux and UNIX distributions. In addition, Solaris 10 changed its ABI slightly, causing Recursor to crash quickly under heavy load.&lt;br /&gt;&lt;br /&gt;So after a week of testing, 3.1.7.1 has been released today, with no new features, only bug fixes.&lt;br /&gt;&lt;br /&gt;For more details, please see &lt;a href="http://marc.info/?l=pdns-users&amp;amp;m=124924643502481&amp;amp;w=2"&gt;the announcement&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-502719293470231626?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/502719293470231626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/powerdns-recursor-3171-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/502719293470231626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/502719293470231626'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/powerdns-recursor-3171-released.html' title='PowerDNS Recursor 3.1.7.1 released!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-4634469376983185537</id><published>2009-08-02T12:01:00.000-07:00</published><updated>2009-08-02T12:27:43.871-07:00</updated><title type='text'>Moving closer to pizza perfection!</title><content type='html'>I truly love a good pizza, but it is a rare event to find one. So, I've long been baking my own pies, at first in a normal oven and later in a special &lt;a href="http://www.g3ferrarigroup.com/en/modello.asp?famiglia=2&amp;amp;categoria=65&amp;amp;modello=700&amp;amp;a=2"&gt;pizza oven&lt;/a&gt;. Although the "G3 Ferrari" looks impressive, mine is bright red, it is a decidedly weird machine.&lt;br /&gt;&lt;br /&gt;For example, it has four heat levels, 1, 2, 2.5 and 3. One has to wonder how that happened.&lt;br /&gt;&lt;br /&gt;I've read with great gusto the wonderful works by &lt;a href="http://www.amazon.com/Jeffrey-Steingarten/e/B000AQ78UY/ref=ntt_athr_dp_pel_1"&gt;Jeffrey Steingarten&lt;/a&gt; which cover with great precision how very good food is made, including pizza. Jeffrey's book emphasized the importance of high heat, and even mentions the very same "G3 Ferrari" oven I have.&lt;br /&gt;&lt;br /&gt;So, I've been using it to make pizzas of very varying quality - sometimes tremendously good, sometimes less so, and I never knew why. Like many aspiring &lt;span style="font-style: italic;"&gt;pizzaiolos&lt;/span&gt;, I blamed my flour, and I assumed the professionals were using special brands.&lt;br /&gt;&lt;br /&gt;Then I discovered the page of &lt;a href="http://www.varasanos.com/PizzaRecipe.htm"&gt;Jeff Varasano&lt;/a&gt;, who is a bigger pizza nut than I would've thought possible. It looks like he spent 10+ years figuring out how to do it, and from him I discovered the stunning secret: all pizza recipes I've ever seen in books, or online, are &lt;span style="font-style: italic;"&gt;wrong&lt;/span&gt;. So, I set out to follow his instructions to the letter, which indeed led to very good and elastic dough.. and still no good pizzas ensued from my oven!&lt;br /&gt;&lt;br /&gt;(in brief, any recipe which starts out by lumping all ingredients of the dough together and instruct to after mixing 'let it rest until it has doubled in size' is pretty far removed from reality. For more information, see Jeff's page)&lt;br /&gt;&lt;br /&gt;Several months passed, and this weekend I found myself with some time off (since our son Maurits was spending time with his grandparents), and I decided to try again, this time  using &lt;a href="http://store.xkcd.com/xkcd/#StandBackScience"&gt;&lt;span style="font-weight: bold;"&gt;science&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Recall the Italian pizza oven with heat level '2.5'? It turns out the thermostat of this oven is a lying through its teeth! With the aid of a high-heat thermometer, I discovered the awful truth that the temperature of the oven has very little to do with the settings of the thermostat.&lt;br /&gt;&lt;br /&gt;It turns out that the "G3 Ferrari" only reaches the required temperatures (400+C, around 750F) when the grill is red hot and has been on non-stop for quite some time, no matter what the thermostat may say.&lt;br /&gt;&lt;br /&gt;So today, using my trusty thermometer, I timed it such that the oven reached this stunning temperature just when my pizza was ready.&lt;br /&gt;&lt;br /&gt;And lo, it was wonderful!&lt;br /&gt;&lt;br /&gt;To the non-pizza-enthusiast, this may not sound like a big thing - but this is an important step in my ongoing quest: be able to entertain large amounts of guests with mouth watering pizzas.&lt;br /&gt;&lt;br /&gt;To be continued...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-4634469376983185537?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/4634469376983185537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/moving-closer-to-pizza-perfection.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/4634469376983185537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/4634469376983185537'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/08/moving-closer-to-pizza-perfection.html' title='Moving closer to pizza perfection!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-3646560976419811975</id><published>2009-07-27T14:17:00.000-07:00</published><updated>2009-07-27T14:28:42.818-07:00</updated><title type='text'>Some quick notes on RSA1024 signing performance</title><content type='html'>Just so this does not get lost - I've been doing some RSA1024 signing experiments because of my &lt;a href="http://www.powerdnssec.org"&gt;'DNSSEC on PowerDNS' experiment&lt;/a&gt;, and the results were at first confusing.&lt;br /&gt;&lt;br /&gt;For starters, friends of mine with Apple OS X reported very low numbers from the version of OpenSSL that ships with OS X (intel). The command to have OpenSSL perform speed tests is: 'openssl speed rsa1024'. Numbers were around half those reported on identical machines running a 32-bit Ubuntu.&lt;br /&gt;&lt;br /&gt;Much investigations ensued, and conclusions are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Apple ships a version of OpenSSL that misses certain optimizations. If you need performance for your applications, investigate which OpenSSL library they link against, and possibly investigate how to recompile or relink.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Go 64-bit, in a hurry. Twice as many bits appear to deliver over twice as much performance.&lt;/li&gt;&lt;li&gt;A modern Core2 based CPU running 64 bits code maxes out at about 1500 RSA1024 signatures/second/core, based on OpenSSL 1.0 beta 3, or Botan linked against GnuMP 4&lt;/li&gt;&lt;li&gt;Non-beta OpenSSLs are quite a bit slower, but not dramatically so&lt;br /&gt;&lt;/li&gt;&lt;li&gt;More naive code, that is not as highly optimized (like the otherwise excellent &lt;a href="http://www.polarssl.org"&gt;PolarSSL&lt;/a&gt;), will deliver around 1200 RSA1024 signatures/second/core (64 bits)&lt;/li&gt;&lt;li&gt;These numbers scale linearly with the number of cores involved - my 600 euro PC delivers 6000 signatures/second ('0.10 euro/signature/second').&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;It also looks like no worthwhile general purpose RSA hardware accelerators are available for use from Linux - Sun ships one, but its performance is not stellar (a lot more than 0.10 euro/signature/second), but it is not cheap, plus it is only officially supported on Sun hardware. If anyone has better ideas, please let me know!&lt;br /&gt;&lt;br /&gt;PS: Why RSA1024? Because this is what DNSSEC is about for the foreseeable future..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-3646560976419811975?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/3646560976419811975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/07/some-quick-notes-on-rsa1024-signing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3646560976419811975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/3646560976419811975'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/07/some-quick-notes-on-rsa1024-signing.html' title='Some quick notes on RSA1024 signing performance'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-6592318930577022484</id><published>2009-07-14T11:53:00.000-07:00</published><updated>2009-07-14T11:58:43.159-07:00</updated><title type='text'>So, why did I move my blog?</title><content type='html'>Aesthetically, I liked my old blog. The design was clean, it was 100% under my control, but that last part also turned out to be a problem. When spammers discovered blog.netherlabs.nl, they filled it with junk. Junk which was sometimes filtered out, sometimes not, but in any case clogged my poor server. We are talking gigabytes of spam here, literally.&lt;br /&gt;&lt;br /&gt;So eventually I caved. If Linus Torvalds can host his blog on blogger.com, it must surely be good enough for me.&lt;br /&gt;&lt;br /&gt;The old blog postings are still available here: &lt;a href="http://blog.netherlabs.nl/index.html"&gt;http://blog.netherlabs.nl/index.html&lt;/a&gt;&lt;br /&gt;Be sure to add the '/index.html', because shortly, blog.netherlabs.nl without it will forward you to this site.&lt;br /&gt;&lt;br /&gt;So, welcome back dear readers,  and I hope to entertain you with things I can't bring myself to shut up about.&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-6592318930577022484?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/6592318930577022484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/07/so-why-did-i-move-my-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6592318930577022484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/6592318930577022484'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/07/so-why-did-i-move-my-blog.html' title='So, why did I move my blog?'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6270591920582469905.post-5117337390203725118</id><published>2009-07-14T11:45:00.001-07:00</published><updated>2009-07-14T12:00:53.986-07:00</updated><title type='text'>This is the new location of Bert Hubert's blog!</title><content type='html'>This is the new location of Bert Hubert's blog!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6270591920582469905-5117337390203725118?l=bert-hubert.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bert-hubert.blogspot.com/feeds/5117337390203725118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bert-hubert.blogspot.com/2009/07/blog-has-moved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5117337390203725118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6270591920582469905/posts/default/5117337390203725118'/><link rel='alternate' type='text/html' href='http://bert-hubert.blogspot.com/2009/07/blog-has-moved.html' title='This is the new location of Bert Hubert&apos;s blog!'/><author><name>bert hubert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
