X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fdomain_record.pm;h=f052f83ac9c94c5ed7a27e82f80ea54ffe8cb52b;hb=f441bdef352ddd432e305da35e80813ca30e517f;hp=7b67f666d7f7bd67b1ed6f58a60011cc258fabd9;hpb=02f0f4ce6f01b9f6d67c44b8884320e6204a95a1;p=freeside.git diff --git a/FS/FS/domain_record.pm b/FS/FS/domain_record.pm index 7b67f666d..f052f83ac 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;