\n"; # If config didn't exist before, remove any list and racl lines # to disable default greylisting if (!$before && $ok) { print &text('ratelimit_clearing'),"\n"; &lock_file(&get_ratelimit_config_file()); $conf = &get_ratelimit_config(); @copy = @$conf; # Make a copy because deleting changes $conf foreach my $c (@copy) { if ($c->{'name'} eq 'list' || $c->{'name'} eq 'racl' && $c->{'values'}->[1] ne 'default'|| $c->{'name'} eq 'acl' && $c->{'values'}->[1] ne 'default') { &save_ratelimit_directive($conf, $c, undef); } } ($nospf) = grep { $_->{'name'} eq 'nospf' } @$conf; if (!$nospf) { &save_ratelimit_directive($conf, undef, { 'name' => 'nospf', 'values' => [] }); } ($noauth) = grep { $_->{'name'} eq 'noauth' } @$conf; if (!$noauth) { &save_ratelimit_directive($conf, undef, { 'name' => 'noauth', 'values' => [] }); } &flush_file_lines(); &unlock_file(&get_ratelimit_config_file()); &$second_print($text{'setup_done'}); } &webmin_log("install", "ratelimit"); &ui_print_footer("ratelimit.cgi", $text{'ratelimit_return'});