d75e1e
From 9a33838407f244e481523fe643bc0626874e8b1a Mon Sep 17 00:00:00 2001
d75e1e
From: Rafael Guterres Jeffman <rjeffman@redhat.com>
d75e1e
Date: Mon, 19 Dec 2022 14:57:03 -0300
d75e1e
Subject: [PATCH] Revert "DNSResolver: Fix use of nameservers with ports"
d75e1e
d75e1e
This reverts commit 5e2e4664aec641886923c2bec61ce25b96edb62a.
d75e1e
---
d75e1e
 ipapython/dnsutil.py                    | 41 -------------------------
d75e1e
 ipatests/test_ipapython/test_dnsutil.py | 40 ------------------------
d75e1e
 2 files changed, 81 deletions(-)
d75e1e
d75e1e
diff --git a/ipapython/dnsutil.py b/ipapython/dnsutil.py
d75e1e
index 58de365ab..4baeaf8cc 100644
d75e1e
--- a/ipapython/dnsutil.py
d75e1e
+++ b/ipapython/dnsutil.py
d75e1e
@@ -144,47 +144,6 @@ class DNSResolver(dns.resolver.Resolver):
d75e1e
             nameservers.remove(ipv4_loopback)
d75e1e
         self.nameservers = nameservers
d75e1e
 
d75e1e
-    @dns.resolver.Resolver.nameservers.setter
d75e1e
-    def nameservers(self, nameservers):
d75e1e
-        """
d75e1e
-        *nameservers*, a ``list`` of nameservers with optional ports:
d75e1e
-            "SERVER_IP port PORT_NUMBER".
d75e1e
-
d75e1e
-        Overloads dns.resolver.Resolver.nameservers setter to split off ports
d75e1e
-        into nameserver_ports after setting nameservers successfully with the
d75e1e
-        setter in dns.resolver.Resolver.
d75e1e
-        """
d75e1e
-        # Get nameserver_ports if it is already set
d75e1e
-        if hasattr(self, "nameserver_ports"):
d75e1e
-            nameserver_ports = self.nameserver_ports
d75e1e
-        else:
d75e1e
-            nameserver_ports = {}
d75e1e
-
d75e1e
-        # Check nameserver items in list and split out converted port number
d75e1e
-        # into nameserver_ports: { nameserver: port }
d75e1e
-        if isinstance(nameservers, list):
d75e1e
-            _nameservers = []
d75e1e
-            for nameserver in nameservers:
d75e1e
-                splits = nameserver.split()
d75e1e
-                if len(splits) == 3 and splits[1] == "port":
d75e1e
-                    nameserver = splits[0]
d75e1e
-                    try:
d75e1e
-                        port = int(splits[2])
d75e1e
-                        if port < 0 or port > 65535:
d75e1e
-                            raise ValueError()
d75e1e
-                    except ValueError:
d75e1e
-                        raise ValueError(
d75e1e
-                            "invalid nameserver: %s is not a valid port" %
d75e1e
-                            splits[2])
d75e1e
-                    nameserver_ports[nameserver] = port
d75e1e
-                _nameservers.append(nameserver)
d75e1e
-            nameservers = _nameservers
d75e1e
-
d75e1e
-        # Call dns.resolver.Resolver.nameservers setter
d75e1e
-        dns.resolver.Resolver.nameservers.__set__(self, nameservers)
d75e1e
-        # Set nameserver_ports after successfull call to setter
d75e1e
-        self.nameserver_ports = nameserver_ports
d75e1e
-
d75e1e
 
d75e1e
 class DNSZoneAlreadyExists(dns.exception.DNSException):
d75e1e
     supp_kwargs = {'zone', 'ns'}
d75e1e
diff --git a/ipatests/test_ipapython/test_dnsutil.py b/ipatests/test_ipapython/test_dnsutil.py
d75e1e
index 09463c69d..5e7a46197 100644
d75e1e
--- a/ipatests/test_ipapython/test_dnsutil.py
d75e1e
+++ b/ipatests/test_ipapython/test_dnsutil.py
d75e1e
@@ -101,43 +101,3 @@ class TestSortURI:
d75e1e
         assert dnsutil.sort_prio_weight([h3, h2, h1]) == [h1, h2, h3]
d75e1e
         assert dnsutil.sort_prio_weight([h3, h3, h3]) == [h3]
d75e1e
         assert dnsutil.sort_prio_weight([h2, h2, h1, h1]) == [h1, h2]
d75e1e
-
d75e1e
-
d75e1e
-class TestDNSResolver:
d75e1e
-    def test_nameservers(self):
d75e1e
-        res = dnsutil.DNSResolver()
d75e1e
-        res.nameservers = ["4.4.4.4", "8.8.8.8"]
d75e1e
-        assert res.nameservers == ["4.4.4.4", "8.8.8.8"]
d75e1e
-
d75e1e
-    def test_nameservers_with_ports(self):
d75e1e
-        res = dnsutil.DNSResolver()
d75e1e
-        res.nameservers = ["4.4.4.4 port 53", "8.8.8.8 port 8053"]
d75e1e
-        assert res.nameservers == ["4.4.4.4", "8.8.8.8"]
d75e1e
-        assert res.nameserver_ports == {"4.4.4.4": 53, "8.8.8.8": 8053}
d75e1e
-
d75e1e
-        res.nameservers = ["4.4.4.4 port 53", "8.8.8.8  port  8053"]
d75e1e
-        assert res.nameservers == ["4.4.4.4", "8.8.8.8"]
d75e1e
-        assert res.nameserver_ports == {"4.4.4.4": 53, "8.8.8.8": 8053}
d75e1e
-
d75e1e
-    def test_nameservers_with_bad_ports(self):
d75e1e
-        res = dnsutil.DNSResolver()
d75e1e
-        try:
d75e1e
-            res.nameservers = ["4.4.4.4 port a"]
d75e1e
-        except ValueError:
d75e1e
-            pass
d75e1e
-        else:
d75e1e
-            pytest.fail("No fail on bad port a")
d75e1e
-
d75e1e
-        try:
d75e1e
-            res.nameservers = ["4.4.4.4 port -1"]
d75e1e
-        except ValueError:
d75e1e
-            pass
d75e1e
-        else:
d75e1e
-            pytest.fail("No fail on bad port -1")
d75e1e
-
d75e1e
-        try:
d75e1e
-            res.nameservers = ["4.4.4.4 port 65536"]
d75e1e
-        except ValueError:
d75e1e
-            pass
d75e1e
-        else:
d75e1e
-            pytest.fail("No fail on bad port 65536")
d75e1e
-- 
d75e1e
2.38.1
d75e1e