summaryrefslogtreecommitdiff
path: root/FS/FS/domain_record.pm
diff options
context:
space:
mode:
authorkhoff <khoff>2005-04-15 20:29:38 +0000
committerkhoff <khoff>2005-04-15 20:29:38 +0000
commitdaf0d492e029527b6e355cea3720dcb7622ae7a1 (patch)
treebdbf01b6444929fe117db42c4266cd20e22fb620 /FS/FS/domain_record.pm
parentd33015393db77e9bc8e0deeb1a39500b3b5a49eb (diff)
Added support for TXT records.
Diffstat (limited to 'FS/FS/domain_record.pm')
-rw-r--r--FS/FS/domain_record.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/FS/FS/domain_record.pm b/FS/FS/domain_record.pm
index 7b67f66..f052f83 100644
--- a/FS/FS/domain_record.pm
+++ b/FS/FS/domain_record.pm
@@ -257,8 +257,8 @@ sub check {
$self->recaf =~ /^(IN)$/ or return "Illegal recaf: ". $self->recaf;
$self->recaf($1);
- $self->rectype =~ /^(SOA|NS|MX|A|PTR|CNAME|_mstr)$/
- or return "Illegal rectype (only SOA NS MX A PTR CNAME recognized): ".
+ $self->rectype =~ /^(SOA|NS|MX|A|PTR|CNAME|TXT|_mstr)$/
+ or return "Illegal rectype (only SOA NS MX A PTR CNAME TXT recognized): ".
$self->rectype;
$self->rectype($1);
@@ -291,6 +291,10 @@ sub check {
$self->recdata =~ /^([a-z0-9\.\-]+|\@)$/i
or return "Illegal data for CNAME record: ". $self->recdata;
$self->recdata($1);
+ } elsif ( $self->rectype eq 'TXT' ) {
+ $self->recdata =~ /^((?:\S+)|(?:"[[:ascii:]]+"))$/
+ or return "Illegal data for TXT record: ". $self->recdata;
+ $self->recdata($1);
} elsif ( $self->rectype eq '_mstr' ) {
$self->recdata =~ /^((\d{1,3}\.){3}\d{1,3})$/
or return "Illegal data for _master pseudo-record: ". $self->recdata;