summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2012-02-03 10:01:27 +0100
committerMartin Kosek <mkosek@redhat.com>2012-02-03 16:25:05 +0100
commit8f17a9ff975a20ad5c8691b11815a45dd11f4707 (patch)
treeb959454ea6ded93916132e94b6e3f67a3488026e /ipalib
parent16d17f48dfc81f47d91696d8678699f88f10ae4c (diff)
downloadfreeipa.git-8f17a9ff975a20ad5c8691b11815a45dd11f4707.tar.gz
freeipa.git-8f17a9ff975a20ad5c8691b11815a45dd11f4707.tar.xz
freeipa.git-8f17a9ff975a20ad5c8691b11815a45dd11f4707.zip
Fix TXT record parsing
TXT record validation fails to parse the record if it contains spaces. Standard DNS part parser uses a space to divide record parts. A special parser thus need to be implemented for this RR type. https://fedorahosted.org/freeipa/ticket/2306
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/plugins/dns.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py
index da4934fc..d51c2c30 100644
--- a/ipalib/plugins/dns.py
+++ b/ipalib/plugins/dns.py
@@ -1003,6 +1003,10 @@ class TXTRecord(DNSRecord):
),
)
+ def _get_part_values(self, value):
+ # ignore any space in TXT record
+ return (value,)
+
_dns_records = (
ARecord(),
AAAARecord(),
@@ -1536,6 +1540,8 @@ class dnsrecord(LDAPObject):
u'dnsdata' : dnsvalue
}
values = param._get_part_values(dnsvalue)
+ if values is None:
+ continue
for val_id, val in enumerate(values):
if val is not None:
dnsentry[parts_params[val_id].name] = val