mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 16:50:24 +00:00
Don't show obsolete directives unless set
This commit is contained in:
@@ -34,54 +34,61 @@ if (&supports_dnssec_client() == 2) {
|
||||
$text{'default'}, undef);
|
||||
}
|
||||
|
||||
print &ui_table_hr();
|
||||
|
||||
# Trusted DLVs
|
||||
my @dtable = ( );
|
||||
my $i = 0;
|
||||
foreach my $d (@dlv, { 'values' => [ '.' ] }) {
|
||||
my $dlv = $d->{'values'}->[0];
|
||||
$dlv = "" if ($dlv eq ".");
|
||||
push(@dtable, [ &ui_opt_textbox("anchor_$i", $d->{'values'}->[2],
|
||||
# Trusted DLVs (obsolete)
|
||||
if (@dlv) {
|
||||
my @dtable = ( );
|
||||
my $i = 0;
|
||||
foreach my $d (@dlv, { 'values' => [ '.' ] }) {
|
||||
my $dlv = $d->{'values'}->[0];
|
||||
$dlv = "" if ($dlv eq ".");
|
||||
push(@dtable, [
|
||||
&ui_opt_textbox("anchor_$i", $d->{'values'}->[2],
|
||||
30, $text{'trusted_none'}),
|
||||
&ui_opt_textbox("dlv_$i", $dlv, 20,
|
||||
$text{'trusted_root'}) ]);
|
||||
$i++;
|
||||
}
|
||||
print &ui_table_row($text{'trusted_dlvs'},
|
||||
&ui_radio("dlv_auto",
|
||||
$i++;
|
||||
}
|
||||
print &ui_table_row($text{'trusted_dlvs'},
|
||||
&ui_radio("dlv_auto",
|
||||
@dlv == 0 ? 2 :
|
||||
@dlv == 1 && $dlv[0]->{'values'}->[0] eq 'auto' ? 1 : 0,
|
||||
[ [ 1, $text{'trusted_dlvs1'} ],
|
||||
[ 2, $text{'trusted_dlvs2'} ],
|
||||
[ 0, $text{'trusted_dlvs0'} ] ])."<br>\n".
|
||||
&ui_columns_table([ $text{'trusted_anchor'}, $text{'trusted_dlv'} ],
|
||||
undef,
|
||||
\@dtable), 3);
|
||||
&ui_columns_table([ $text{'trusted_anchor'},
|
||||
$text{'trusted_dlv'} ],
|
||||
undef,
|
||||
\@dtable), 3);
|
||||
}
|
||||
|
||||
# Trusted keys
|
||||
my @ktable = ( );
|
||||
$i = 0;
|
||||
foreach my $k (@{$tkeys->{'members'}}, { 'values' => [ ] }) {
|
||||
my @v = @{$k->{'values'}};
|
||||
my @wrapped = ( );
|
||||
while(length($v[3]) > 30) {
|
||||
push(@wrapped, substr($v[3], 0, 30));
|
||||
$v[3] = substr($v[3], 30);
|
||||
}
|
||||
push(@wrapped, $v[3]);
|
||||
push(@ktable, [ &ui_opt_textbox("zone_$i", $k->{'name'}, 20,
|
||||
if (@{$tkeys->{'members'}}) {
|
||||
my @ktable = ( );
|
||||
my $i = 0;
|
||||
foreach my $k (@{$tkeys->{'members'}}, { 'values' => [ ] }) {
|
||||
my @v = @{$k->{'values'}};
|
||||
my @wrapped = ( );
|
||||
while(length($v[3]) > 30) {
|
||||
push(@wrapped, substr($v[3], 0, 30));
|
||||
$v[3] = substr($v[3], 30);
|
||||
}
|
||||
push(@wrapped, $v[3]);
|
||||
push(@ktable, [
|
||||
&ui_opt_textbox("zone_$i", $k->{'name'}, 20,
|
||||
$text{'trusted_none'}),
|
||||
&ui_textbox("flags_$i", $v[0], 6),
|
||||
&ui_textbox("proto_$i", $v[1], 6),
|
||||
&ui_textbox("alg_$i", $v[2], 6),
|
||||
&ui_textbox("flags_$i", $v[0], 6),
|
||||
&ui_textbox("proto_$i", $v[1], 6),
|
||||
&ui_textbox("alg_$i", $v[2], 6),
|
||||
&ui_textarea("key_$i", join("\n", @wrapped), 4, 32) ]);
|
||||
$i++;
|
||||
$i++;
|
||||
}
|
||||
print &ui_table_row($text{'trusted_keys'},
|
||||
&ui_columns_table([
|
||||
$text{'trusted_zone'}, $text{'trusted_flags'},
|
||||
$text{'trusted_proto'}, $text{'trusted_alg'},
|
||||
$text{'trusted_key'} ],
|
||||
undef, \@ktable), 3);
|
||||
}
|
||||
print &ui_table_row($text{'trusted_keys'},
|
||||
&ui_columns_table([ $text{'trusted_zone'}, $text{'trusted_flags'},
|
||||
$text{'trusted_proto'}, $text{'trusted_alg'},
|
||||
$text{'trusted_key'} ],
|
||||
undef,
|
||||
\@ktable), 3);
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'save'} ] ]);
|
||||
|
||||
@@ -1254,6 +1254,7 @@ trusted_auto=Yes (automatic mode)
|
||||
trusted_dlvs=Additional trust anchors
|
||||
trusted_dlvs1=Determine automatically
|
||||
trusted_dlvs0=Listed below ...
|
||||
trusted_dlvs2=None
|
||||
trusted_anchor=Anchor zone
|
||||
trusted_dlv=Real zone
|
||||
trusted_keys=Additional trusted keys
|
||||
|
||||
@@ -21,67 +21,78 @@ if (&supports_dnssec_client() == 2) {
|
||||
}
|
||||
|
||||
# Save DLV zones
|
||||
my @dlvs = ( );
|
||||
if ($in{'dlv_auto'}) {
|
||||
# Automatic mode
|
||||
push(@dlvs, { 'name' => 'dnssec-lookaside',
|
||||
'values' => [ 'auto' ] });
|
||||
}
|
||||
else {
|
||||
# Listed zones
|
||||
my $dlv;
|
||||
for(my $i=0; defined($in{"anchor_$i"}); $i++) {
|
||||
if (!$in{"anchor_${i}_def"}) {
|
||||
$in{"anchor_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_eanchor', $i+1));
|
||||
$in{"anchor_$i"} .= "." if ($in{"anchor_$i"} !~ /\.$/);
|
||||
if ($in{"dlv_${i}_def"}) {
|
||||
$dlv = ".";
|
||||
if (defined($in{'dlv_auto'})) {
|
||||
my @dlvs = ( );
|
||||
if ($in{'dlv_auto'} == 1) {
|
||||
# Automatic mode
|
||||
push(@dlvs, { 'name' => 'dnssec-lookaside',
|
||||
'values' => [ 'auto' ] });
|
||||
}
|
||||
elsif ($in{'dlv_auto'} == 0) {
|
||||
# Listed zones
|
||||
my $dlv;
|
||||
for(my $i=0; defined($in{"anchor_$i"}); $i++) {
|
||||
if (!$in{"anchor_${i}_def"}) {
|
||||
$in{"anchor_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_eanchor', $i+1));
|
||||
$in{"anchor_$i"} .= "."
|
||||
if ($in{"anchor_$i"} !~ /\.$/);
|
||||
if ($in{"dlv_${i}_def"}) {
|
||||
$dlv = ".";
|
||||
}
|
||||
else {
|
||||
$in{"dlv_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_edlv', $i+1));
|
||||
$dlv = $in{"dlv_$i"};
|
||||
$dlv .= "." if ($dlv !~ /\.$/);
|
||||
}
|
||||
push(@dlvs, { 'name' => 'dnssec-lookaside',
|
||||
'values' => [
|
||||
$dlv, "trust-anchor",
|
||||
$in{"anchor_$i"} ] });
|
||||
}
|
||||
else {
|
||||
$in{"dlv_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_edlv', $i+1));
|
||||
$dlv = $in{"dlv_$i"};
|
||||
$dlv .= "." if ($dlv !~ /\.$/);
|
||||
}
|
||||
push(@dlvs, { 'name' => 'dnssec-lookaside',
|
||||
'values' => [ $dlv, "trust-anchor",
|
||||
$in{"anchor_$i"} ] });
|
||||
}
|
||||
}
|
||||
elsif ($in{'dlv_auto'} == 2) {
|
||||
# None
|
||||
@dlvs = ( );
|
||||
}
|
||||
&save_directive($options, "dnssec-lookaside", \@dlvs, 1);
|
||||
}
|
||||
&save_directive($options, "dnssec-lookaside", \@dlvs, 1);
|
||||
|
||||
# Save trusted keys
|
||||
my @keys = ( );
|
||||
my $trusted = &find("trusted-keys", $conf);
|
||||
for(my $i=0; defined($in{"zone_$i"}); $i++) {
|
||||
next if ($in{"zone_${i}_def"});
|
||||
$in{"zone_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_ezone', $i+1));
|
||||
$in{"zone_$i"} .= "." if ($in{"zone_$i"} !~ /\.$/);
|
||||
$in{"flags_$i"} =~ /^\d+$/ ||
|
||||
&error(&text('trusted_eflags', $i+1));
|
||||
$in{"proto_$i"} =~ /^\d+$/ ||
|
||||
&error(&text('trusted_eproto', $i+1));
|
||||
$in{"alg_$i"} =~ /^\d+$/ ||
|
||||
&error(&text('trusted_ealg', $i+1));
|
||||
$in{"key_$i"} =~ s/\s//g;
|
||||
$in{"key_$i"} || &error(&text('trusted_ekey', $i+1));
|
||||
push(@keys, { 'name' => $in{"zone_$i"},
|
||||
'values' => [ $in{"flags_$i"}, $in{"proto_$i"},
|
||||
$in{"alg_$i"}, '"'.$in{"key_$i"}.'"' ],
|
||||
});
|
||||
if (defined($in{'zone_0'})) {
|
||||
my @keys = ( );
|
||||
my $trusted = &find("trusted-keys", $conf);
|
||||
for(my $i=0; defined($in{"zone_$i"}); $i++) {
|
||||
next if ($in{"zone_${i}_def"});
|
||||
$in{"zone_$i"} =~ /^[a-z0-9\.\-\_]+$/ ||
|
||||
&error(&text('trusted_ezone', $i+1));
|
||||
$in{"zone_$i"} .= "." if ($in{"zone_$i"} !~ /\.$/);
|
||||
$in{"flags_$i"} =~ /^\d+$/ ||
|
||||
&error(&text('trusted_eflags', $i+1));
|
||||
$in{"proto_$i"} =~ /^\d+$/ ||
|
||||
&error(&text('trusted_eproto', $i+1));
|
||||
$in{"alg_$i"} =~ /^\d+$/ ||
|
||||
&error(&text('trusted_ealg', $i+1));
|
||||
$in{"key_$i"} =~ s/\s//g;
|
||||
$in{"key_$i"} || &error(&text('trusted_ekey', $i+1));
|
||||
push(@keys, { 'name' => $in{"zone_$i"},
|
||||
'values' => [ $in{"flags_$i"}, $in{"proto_$i"},
|
||||
$in{"alg_$i"},
|
||||
'"'.$in{"key_$i"}.'"' ],
|
||||
});
|
||||
}
|
||||
if (!$trusted && @keys) {
|
||||
# Need to create block
|
||||
$trusted = { 'name' => 'trusted-keys',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
&save_directive($parent, "trusted-keys", [ $trusted ]);
|
||||
}
|
||||
my @oldkeys = @{$trusted->{'members'}};
|
||||
&save_directive($trusted, \@oldkeys, \@keys, 1);
|
||||
}
|
||||
if (!$trusted && @keys) {
|
||||
# Need to create block
|
||||
$trusted = { 'name' => 'trusted-keys',
|
||||
'type' => 1,
|
||||
'members' => [ ] };
|
||||
&save_directive($parent, "trusted-keys", [ $trusted ]);
|
||||
}
|
||||
my @oldkeys = @{$trusted->{'members'}};
|
||||
&save_directive($trusted, \@oldkeys, \@keys, 1);
|
||||
|
||||
&flush_file_lines();
|
||||
&unlock_file(&make_chroot($config{'named_conf'}));
|
||||
|
||||
Reference in New Issue
Block a user