mirror of
https://git.proxmox.com/git/pmg-docs
synced 2025-05-24 23:00:37 +00:00
gen-pmg.conf.5-opts.pl: verify that we document all mail settings
This commit is contained in:
parent
e3d778e0c9
commit
cbb2b879c3
@ -14,6 +14,11 @@ my $types = PMG::Config::Base->lookup_types;
|
|||||||
my $single_section = shift;
|
my $single_section = shift;
|
||||||
my $found = 0;
|
my $found = 0;
|
||||||
|
|
||||||
|
my $skiped_keys = {
|
||||||
|
'delete' => 1,
|
||||||
|
digest => 1,
|
||||||
|
};
|
||||||
|
|
||||||
my $key_groups = {
|
my $key_groups = {
|
||||||
'mail-options' => [
|
'mail-options' => [
|
||||||
'mail' , {
|
'mail' , {
|
||||||
@ -32,6 +37,12 @@ my $key_groups = {
|
|||||||
message_rate_limit => 1,
|
message_rate_limit => 1,
|
||||||
banner => 1,
|
banner => 1,
|
||||||
}],
|
}],
|
||||||
|
'mail-tls' => [
|
||||||
|
'mail' , {
|
||||||
|
tls => 1,
|
||||||
|
tlsheader => 1,
|
||||||
|
tlslog => 1,
|
||||||
|
}],
|
||||||
'mail-ports' => [
|
'mail-ports' => [
|
||||||
'mail' , {
|
'mail' , {
|
||||||
int_port => 1,
|
int_port => 1,
|
||||||
@ -46,6 +57,29 @@ my $key_groups = {
|
|||||||
}],
|
}],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (1) {
|
||||||
|
# verify if we document all mail settings
|
||||||
|
my $plugin = PMG::Config::Base->lookup('mail');
|
||||||
|
my $schema = $plugin->updateSchema(1);
|
||||||
|
my $properties = $schema->{properties};
|
||||||
|
|
||||||
|
my $found_mail_keys = {};
|
||||||
|
foreach my $group (keys %$key_groups) {
|
||||||
|
my ($sec, $hash) = @{$key_groups->{$group}};
|
||||||
|
next if $sec ne 'mail';
|
||||||
|
foreach my $k (keys %$hash) {
|
||||||
|
die "unknown key '$k'" if !defined($properties->{$k});
|
||||||
|
$found_mail_keys->{$k} = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach my $k (keys %$properties) {
|
||||||
|
next if $skiped_keys->{$k};
|
||||||
|
next if $k =~ m/^max_(filters|policy|smtpd_in|smtpd_out)$/;
|
||||||
|
die "undocumented key '$k'" if !defined($found_mail_keys->{$k});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
my $select_keys;
|
my $select_keys;
|
||||||
|
|
||||||
if ($single_section) {
|
if ($single_section) {
|
||||||
@ -72,8 +106,7 @@ foreach my $section (@$types) {
|
|||||||
|
|
||||||
my $filter = sub {
|
my $filter = sub {
|
||||||
my ($key, $phash) = @_;
|
my ($key, $phash) = @_;
|
||||||
return 1 if $key eq 'digest';
|
return 1 if $skiped_keys->{$key};
|
||||||
return 1 if $key eq 'delete';
|
|
||||||
return 1 if $select_keys && !$select_keys->{$key};
|
return 1 if $select_keys && !$select_keys->{$key};
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user