This patch fixes behavior of ipa-dns-install, which does not
exit when an invalid configuration of /etc/hosts is detected.

https://fedorahosted.org/freeipa/ticket/736

>From 0c75da337003e0660679534928a70b6b7317c3e8 Mon Sep 17 00:00:00 2001
From: Martin Kosek <mko...@redhat.com>
Date: Thu, 10 Feb 2011 14:18:57 +0100
Subject: [PATCH] ipa-dns-install does not exit on error

This patch fixes behavior of ipa-dns-install, which does not
exit when an invalid configuration of /etc/hosts is detected.

https://fedorahosted.org/freeipa/ticket/736
---
 install/tools/ipa-dns-install |   28 ++++++++++++++++------------
 1 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/install/tools/ipa-dns-install b/install/tools/ipa-dns-install
index 66cdaffd8a18b1ba3771f14cf17e61edc021f1e0..35d225537aec919cd3d379cace6ca5cc0c41e3ad 100755
--- a/install/tools/ipa-dns-install
+++ b/install/tools/ipa-dns-install
@@ -67,19 +67,23 @@ def resolve_host(host_name):
     try:
         addrinfos = socket.getaddrinfo(host_name, None,
                                        socket.AF_UNSPEC, socket.SOCK_DGRAM)
-        for ai in addrinfos:
-            ip = ai[4][0]
-            if ip == "127.0.0.1" or ip == "::1":
-                print "The hostname resolves to the localhost address (127.0.0.1/::1)"
-                print "Please change your /etc/hosts file so that the hostname"
-                print "resolves to the ip address of your network interface."
-                print ""
-                print "Please fix your /etc/hosts file and restart the setup program"
-                return None
-
-        ip = addrinfos[0][4][0]
     except:
         print "Unable to lookup the IP address of the provided host"
+        return None
+
+    for ai in addrinfos:
+        ip = ai[4][0]
+        if ip == "127.0.0.1" or ip == "::1":
+            print "The hostname resolves to the localhost address (127.0.0.1/::1)"
+            print "Please change your /etc/hosts file so that the hostname"
+            print "resolves to the ip address of your network interface."
+            print ""
+            print "Please fix your /etc/hosts file and restart the setup program."
+            print ""
+            sys.exit("Aborting installation.")
+
+    ip = addrinfos[0][4][0]
+
     return ip
 
 def main():
@@ -108,7 +112,7 @@ def main():
 
     # Check bind packages are installed
     if not bindinstance.check_inst(options.unattended):
-        sys.exit("Aborting installation")
+        sys.exit("Aborting installation.")
 
     # Initialize the ipalib api
     cfg = dict(
-- 
1.7.4

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to