Files
webmin/sendmail/save_ffile.cgi
Jamie Cameron 58d6308589
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
Properly check allowed directory paths
2026-03-24 21:20:36 -07:00

28 lines
849 B
Perl
Executable File

#!/usr/local/bin/perl
# save_ffile.cgi
# Save a filter file
require (-r 'sendmail-lib.pl' ? './sendmail-lib.pl' :
-r 'qmail-lib.pl' ? './qmail-lib.pl' :
'./postfix-lib.pl');
&ReadParseMime();
&error_setup($text{'ffile_err'});
if (!&is_under_directory($access{'apath'}, $in{'file'})) {
&error(&text('ffile_efile', $in{'file'}));
}
for($i=0; defined($in{"field_$i"}); $i++) {
next if (!$in{"field_$i"});
$in{"match_$i"} || &error($text{'ffile_ematch'});
$in{"action_$i"} || &error($text{'ffile_eaction'});
push(@filter, $in{"what_$i"}." ".$in{"action_$i"}." ".
$in{"field_$i"}." ".$in{"match_$i"}."\n");
}
push(@filter, "2 ".$in{'other'}."\n") if ($in{'other'});
&open_lock_tempfile(FILE, ">$in{'file'}");
&print_tempfile(FILE, @filter);
&close_tempfile(FILE);
&redirect("edit_alias.cgi?num=$in{'num'}&name=$in{'name'}");