From daf0d492e029527b6e355cea3720dcb7622ae7a1 Mon Sep 17 00:00:00 2001 From: khoff Date: Fri, 15 Apr 2005 20:29:38 +0000 Subject: [PATCH] Added support for TXT records. --- FS/FS/Conf.pm | 2 +- FS/FS/domain_record.pm | 8 ++++++-- FS/FS/svc_domain.pm | 1 + httemplate/view/svc_domain.cgi | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index fa5d3c1b4..703b32129 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -647,7 +647,7 @@ httemplate/docs/config.html 'editlist_parts' => [ { type=>'text' }, { type=>'immutable', value=>'IN' }, { type=>'select', - select_enum=>{ map { $_=>$_ } qw(A CNAME MX NS)} }, + select_enum=>{ map { $_=>$_ } qw(A CNAME MX NS TXT)} }, { type=> 'text' }, ], }, 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; diff --git a/FS/FS/svc_domain.pm b/FS/FS/svc_domain.pm index 2642146ea..6d5435718 100644 --- a/FS/FS/svc_domain.pm +++ b/FS/FS/svc_domain.pm @@ -369,6 +369,7 @@ sub domain_record { MX => 3, CNAME => 4, A => 5, + TXT => 6, ); sort { $order{$a->rectype} <=> $order{$b->rectype} } diff --git a/httemplate/view/svc_domain.cgi b/httemplate/view/svc_domain.cgi index cd9f79d36..057b15788 100755 --- a/httemplate/view/svc_domain.cgi +++ b/httemplate/view/svc_domain.cgi @@ -87,7 +87,7 @@ Service #<%= $svcnum %> IN -- 2.11.0