12 my $types = PMG
::Config
::Base-
>lookup_types;
14 my $single_section = shift;
27 rejectunknownsender
=> 1,
36 conn_count_limit
=> 1,
38 message_rate_limit
=> 1,
40 before_queue_filtering
=> 1,
67 dkim_sign_all_mail
=> 1,
72 # verify if we document all mail settings
73 my $plugin = PMG
::Config
::Base-
>lookup('mail');
74 my $schema = $plugin->updateSchema(1);
75 my $properties = $schema->{properties
};
77 my $found_mail_keys = {};
78 foreach my $group (keys %$key_groups) {
79 my ($sec, $hash) = @{$key_groups->{$group}};
80 next if $sec ne 'mail';
81 foreach my $k (keys %$hash) {
82 if (!defined($properties->{$k})) {
83 warn "\n WARNING: unknown key '$k'";
86 $found_mail_keys->{$k} = 1;
89 foreach my $k (keys %$properties) {
90 next if $skiped_keys->{$k};
91 next if $k =~ m/^max_(filters|policy|smtpd_in|smtpd_out)$/;
93 if (!defined($found_mail_keys->{$k})) {
94 die "undocumented key '$k'" if !$ENV{PMG_DOCS_IGNORE_MISSING_KEY
};
95 warn "WARNING: undocumented key '$k'\n";
103 if ($single_section) {
104 if (my $a = $key_groups->{$single_section}) {
105 my ($sec, $hash) = @$a;
106 $single_section = $sec;
107 $select_keys = $hash;
112 foreach my $section (@$types) {
113 my $plugin = PMG
::Config
::Base-
>lookup($section);
114 my $schema = $plugin->updateSchema(1);
115 my $properties = $schema->{properties
};
117 if (defined($single_section)) {
118 next if $section ne $single_section;
120 print ".Section '$section'\n\n";
126 my ($key, $phash) = @_;
127 return 1 if $skiped_keys->{$key};
128 return 1 if $select_keys && !$select_keys->{$key};
132 print PVE
::RESTHandler
::dump_properties
(
133 $properties, 'asciidoc', 'config', $filter);
136 if (defined($single_section)) {
137 die "no such section '$single_section'" if !$found;