Fixes for DMARC record editing

This commit is contained in:
Jamie Cameron
2015-01-18 22:39:39 -08:00
parent 754248f6af
commit 889d7d2ea0
4 changed files with 29 additions and 16 deletions

View File

@@ -27,21 +27,28 @@ if (!$access{'ro'} && $type eq 'master' && $in{'type'} ne 'ALL') {
$shown_create_form = 1;
}
# Show search form
print &ui_form_start("edit_recs.cgi");
print &ui_hidden("zone", $in{'zone'}),"\n";
print &ui_hidden("view", $in{'view'}),"\n";
print &ui_hidden("type", $in{'type'}),"\n";
print "<b>$text{'recs_find'}</b>\n";
print &ui_textbox("search", $in{'search'}, 20),"\n";
print &ui_submit($text{'recs_search'}),"<p>\n";
print &ui_form_end();
$form++;
if (!$config{'largezones'} || $in{'search'}) {
# Get all records
@allrecs = grep { !$_->{'generate'} && !$_->{'defttl'} }
&read_zone_file($file, $dom);
$nosearch = 1 if (!@allrecs);
}
if (!$nosearch) {
# Show search form
print &ui_form_start("edit_recs.cgi");
print &ui_hidden("zone", $in{'zone'}),"\n";
print &ui_hidden("view", $in{'view'}),"\n";
print &ui_hidden("type", $in{'type'}),"\n";
print "<b>$text{'recs_find'}</b>\n";
print &ui_textbox("search", $in{'search'}, 20),"\n";
print &ui_submit($text{'recs_search'}),"<p>\n";
print &ui_form_end();
$form++;
}
if (!$config{'largezones'} || $in{'search'}) {
# Get all records
if ($in{'search'}) {
# Limit to records matching some search
foreach $r (@allrecs) {

View File

@@ -296,6 +296,8 @@ edit_espfexp='$1' is a valid record name for a rejection message
edit_ensec3value2=Missing or non-numeric number of iterations
edit_ensec3value2=Missing or non-base64 salt
edit_edmarcpct=Percentage of messages must be an integer between 0 and 100
edit_edmarcrua=Missing aggregate feedback address
edit_edmarcruf=Missing forensic information address
text_title=Edit Records File
text_title2=View Records File

View File

@@ -770,7 +770,7 @@ if ($txt =~ /^v=dmarc1/i) {
foreach my $w (@w) {
$w = lc($w);
if ($w =~ /^(v|pct|ruf|rua|p|sp|adkim|aspf)=(\S+)$/i) {
push(@{$dmarc->{$1}}, $2);
$dmarc->{$1} = $2;
}
else {
push(@{$dmarc->{'other'}}, $w);

View File

@@ -362,8 +362,10 @@ else {
delete($dmarc->{'rua'});
}
else {
$in{'dmarcrua'} =~ /^\S+$/ || &error($text{'edit_edmarcrua'});
$in{'dmarcrua'} = 'mailto:' if ($in{'dmarcrua'} !~ /^[a-z]+:/i);
$in{'dmarcrua'} =~ /^\S+$/ ||
&error($text{'edit_edmarcrua'});
$in{'dmarcrua'} = 'mailto:'.$in{'dmarcrua'}
if ($in{'dmarcrua'} !~ /^[a-z]+:/i);
$dmarc->{'rua'} = $in{'dmarcrua'};
}
@@ -371,8 +373,10 @@ else {
delete($dmarc->{'ruf'});
}
else {
$in{'dmarcruf'} =~ /^\S+$/ || &error($text{'edit_edmarcruf'});
$in{'dmarcruf'} = 'mailto:' if ($in{'dmarcruf'} !~ /^[a-z]+:/i);
$in{'dmarcruf'} =~ /^\S+$/ ||
&error($text{'edit_edmarcruf'});
$in{'dmarcruf'} = 'mailto:'.$in{'dmarcruf'}
if ($in{'dmarcruf'} !~ /^[a-z]+:/i);
$dmarc->{'ruf'} = $in{'dmarcruf'};
}