From d42c0a0fd88a14a13fa29cccbdc3c014bbfac639 Mon Sep 17 00:00:00 2001
From: Evan Broder <broder@mit.edu>
Date: Fri, 31 Oct 2008 21:00:18 -0400
Subject: [PATCH] Fix the DNS server hanging on what should have been
 NXDOMAINs

svn path=/trunk/packages/invirt-dns/; revision=1463
---
 debian/changelog          |    6 ++++++
 files/usr/sbin/invirt-dns |    2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 9ab344f..6f52ce3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+invirt-dns (0.0.3) unstable; urgency=low
+
+  * Don't hang on NXDOMAINs
+
+ -- Evan Broder <broder@mit.edu>  Fri, 31 Oct 2008 20:54:01 -0400
+
 invirt-dns (0.0.2) unstable; urgency=low
 
   * Standardize on "Invirt project"
diff --git a/files/usr/sbin/invirt-dns b/files/usr/sbin/invirt-dns
index bbabebf..3d95965 100755
--- a/files/usr/sbin/invirt-dns
+++ b/files/usr/sbin/invirt-dns
@@ -109,7 +109,7 @@ class DatabaseAuthority(common.ResolverBase):
                         [dns.RRHeader(name, dns.CNAME, dns.IN, ttl, record, auth=True)],
                         [], []))
 
-                value = invirt.database.Machine.query().filter_by(name=host).one()
+                value = invirt.database.Machine.query().filter_by(name=host).first()
                 if value is None or not value.nics:
                     return defer.fail(failure.Failure(dns.AuthoritativeDomainError(name)))
                 ip = value.nics[0].ip
-- 
1.7.9.5