mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Add support for editing header_checks and mime_header_checks separately https://github.com/webmin/webmin/issues/1880
This commit is contained in:
@@ -20,21 +20,30 @@ print &ui_table_start($text{'header_title'}, "width=100%", 2);
|
||||
|
||||
&option_mapfield("header_checks", 60);
|
||||
|
||||
&option_mapfield("mime_header_checks", 60);
|
||||
|
||||
print &ui_table_end();
|
||||
print &ui_form_end([ [ undef, $text{'opts_save'} ] ]);
|
||||
|
||||
# Header map contents
|
||||
print &ui_hr();
|
||||
if (&get_current_value("header_checks") eq "")
|
||||
{
|
||||
print $text{'no_map'},"<p>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (&get_real_value("header_checks") eq "") {
|
||||
print $text{'opts_header_checks_no_map'},"<p>\n";
|
||||
} else {
|
||||
&generate_map_edit("header_checks", $text{'map_click'}." ".
|
||||
&hlink($text{'help_map_format'}, "header"), 1,
|
||||
$text{'header_name'}, $text{'header_value'});
|
||||
}
|
||||
|
||||
# MIME header map contents
|
||||
print &ui_hr();
|
||||
if (&get_real_value("mime_header_checks") eq "") {
|
||||
print $text{'opts_mime_header_checks_no_map'},"<p>\n";
|
||||
} else {
|
||||
&generate_map_edit("mime_header_checks", $text{'map_click'}." ".
|
||||
&hlink($text{'help_map_format'}, "header"), 1,
|
||||
$text{'header_name'}, $text{'header_value'});
|
||||
}
|
||||
|
||||
&ui_print_footer("", $text{'index_return'});
|
||||
|
||||
|
||||
@@ -639,7 +639,10 @@ searchq_none=No queued messages found.
|
||||
header_title=Header Checks
|
||||
header_ecannot=You are not allowed to edit header checks
|
||||
header_eregexp=The header checks map must be in the format <tt>regexp:</tt><i>filename</i>
|
||||
opts_header_checks=MIME header checking tables
|
||||
opts_header_checks=Header checking tables
|
||||
opts_mime_header_checks=MIME header checking tables
|
||||
opts_header_checks_no_map=(No header checking map is currently defined. Define a map first, then you can edit it)
|
||||
opts_mime_header_checks_no_map=(No MIME header checking map is currently defined. Define a map first, then you can edit it)
|
||||
header_name=Regular expression
|
||||
header_value=Action for matches
|
||||
header_discard=Discard (with log message..)
|
||||
|
||||
@@ -694,6 +694,12 @@ sub regenerate_header_table
|
||||
®enerate_any_table("header_checks");
|
||||
}
|
||||
|
||||
# regenerate_mime_header_table()
|
||||
sub regenerate_mime_header_table
|
||||
{
|
||||
®enerate_any_table("mime_header_checks");
|
||||
}
|
||||
|
||||
# regenerate_body_table()
|
||||
sub regenerate_body_table
|
||||
{
|
||||
@@ -1617,6 +1623,24 @@ if ($_[1]->{'value'}) {
|
||||
return $rv;
|
||||
}
|
||||
|
||||
# Functions for editing the mime_header_checks map nicely
|
||||
sub edit_name_mime_header_checks
|
||||
{
|
||||
return &edit_name_header_checks(@_);
|
||||
}
|
||||
sub parse_name_mime_header_checks
|
||||
{
|
||||
return &parse_name_header_checks(@_);
|
||||
}
|
||||
sub edit_value_mime_header_checks
|
||||
{
|
||||
return &edit_value_header_checks(@_);
|
||||
}
|
||||
sub parse_value_mime_header_checks
|
||||
{
|
||||
return &parse_value_header_checks(@_);
|
||||
}
|
||||
|
||||
# Functions for editing the body_checks map (same as header_checks)
|
||||
sub edit_name_body_checks
|
||||
{
|
||||
|
||||
@@ -19,15 +19,20 @@ $access{'header'} || &error($text{'header_ecannot'});
|
||||
|
||||
&lock_postfix_files();
|
||||
&before_save();
|
||||
$in{'header_checks_def'} ||
|
||||
$in{'header_checks'} =~ /^(regexp|pcre):\/\S+$/ ||
|
||||
&error($text{'header_eregexp'});
|
||||
$in{'mime_header_checks_def'} ||
|
||||
$in{'mime_header_checks'} =~ /^(regexp|pcre):\/\S+$/ ||
|
||||
&error($text{'header_eregexp'});
|
||||
&save_options(\%in);
|
||||
&ensure_map("header_checks");
|
||||
&ensure_map("mime_header_checks");
|
||||
&after_save();
|
||||
&unlock_postfix_files();
|
||||
|
||||
|
||||
®enerate_header_table();
|
||||
®enerate_mime_header_table();
|
||||
|
||||
$err = &reload_postfix();
|
||||
&error($err) if ($err);
|
||||
|
||||
Reference in New Issue
Block a user