return "Unknown svcnum (in svc_domain)"
unless qsearchs('svc_domain', { 'svcnum' => $self->svcnum } );
- $self->reczone =~ /^(@|[a-z0-9\.\-]+)$/i
+ $self->reczone =~ /^(@|[a-z0-9\.\-\*]+)$/i
or return "Illegal reczone: ". $self->reczone;
$self->reczone($1);
$self->recaf =~ /^(IN)$/ or return "Illegal recaf: ". $self->recaf;
$self->recaf($1);
- $self->rectype =~ /^(SOA|NS|MX|A|PTR|CNAME)$/
+ $self->rectype =~ /^(SOA|NS|MX|A|PTR|CNAME|_mstr)$/
or return "Illegal rectype (only SOA NS MX A PTR CNAME recognized): ".
$self->rectype;
$self->rectype($1);
+ return "Illegal reczone for ". $self->rectype. ": ". $self->reczone
+ if $self->rectype !~ /^MX$/i && $self->reczone =~ /\*/;
+
if ( $self->rectype eq 'SOA' ) {
my $recdata = $self->recdata;
$recdata =~ s/\s+/ /g;
$self->recdata =~ /^([a-z0-9\.\-]+)$/i
or return "Illegal data for CNAME 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;
} else {
die "ack!";
}
=head1 VERSION
-$Id: domain_record.pm,v 1.5 2002-04-20 10:12:26 ivan Exp $
+$Id: domain_record.pm,v 1.7 2002-04-20 11:57:35 ivan Exp $
=head1 BUGS