$proxysettings{'ENABLE_FILTER'} = 'off';
$proxysettings{'ENABLE_UPDXLRATOR'} = 'off';
$proxysettings{'ENABLE_CLAMAV'} = 'off';
-$proxysettings{'CHILDREN'} = '10';
$ncsa_buttontext = $Lang::tr{'advproxy NCSA create user'};
$errormessage = $Lang::tr{'proxy errmsg filedescriptors'};
goto ERROR;
}
- if (!($proxysettings{'CACHE_MEM'} =~ /^\d+/) ||
- ($proxysettings{'CACHE_MEM'} < 1))
+ if (!($proxysettings{'CACHE_MEM'} =~ /^\d+/))
{
$errormessage = $Lang::tr{'advproxy errmsg mem cache size'};
goto ERROR;
{
$errormessage = $Lang::tr{'invalid maximum incoming size'};
goto ERROR;
- }
- if (!($proxysettings{'CHILDREN'} =~ /^\d+$/) || ($proxysettings{'CHILDREN'} < 1))
- {
- $errormessage = $Lang::tr{'advproxy invalid num of children'};
- goto ERROR;
}
if ($proxysettings{'ENABLE_BROWSER_CHECK'} eq 'on')
{
</table>
<hr size='1'>
<table width='100%'>
-<tr><td class='base' colspan='4'><b>$Lang::tr{'advproxy redirector children'}</b></td></tr>
-<tr><td class='base' >$Lang::tr{'processes'}: <img src='/blob.gif' alt='*' /><input type='text' name='CHILDREN' value='$proxysettings{'CHILDREN'}' size='5' /></td>
END
;
-my $count = `ip n| wc -l`;
-if ( $count < 1 ){$count = 1;}
if ( -e "/usr/bin/squidclamav" ) {
print "<td class='base'><b>".$Lang::tr{'advproxy squidclamav'}."</b><br />";
if ( ! -e "/var/run/clamav/clamd.pid" ){
}
else {
print $Lang::tr{'advproxy enabled'}."<input type='checkbox' name='ENABLE_CLAMAV' ".$checked{'ENABLE_CLAMAV'}{'on'}." /><br />";
- print "+ ".int(( $count**(1/3)) * 8);}
+}
print "</td>";
} else {
print "<td></td>";
}
print "<td class='base'><a href='/cgi-bin/urlfilter.cgi'><b>".$Lang::tr{'advproxy url filter'}."</a></b><br />";
print $Lang::tr{'advproxy enabled'}."<input type='checkbox' name='ENABLE_FILTER' ".$checked{'ENABLE_FILTER'}{'on'}." /><br />";
-print "+ ".int(($count**(1/3)) * 6);
print "</td>";
print "<td class='base'><a href='/cgi-bin/updatexlrator.cgi'><b>".$Lang::tr{'advproxy update accelerator'}."</a></b><br />";
print $Lang::tr{'advproxy enabled'}."<input type='checkbox' name='ENABLE_UPDXLRATOR' ".$checked{'ENABLE_UPDXLRATOR'}{'on'}." /><br />";
-print "+ ".int(($count**(1/3)) * 5);
print "</td></tr>";
print <<END
</table>
}
}
- if ($proxysettings{'CACHE_SIZE'} > 0)
+ if (($proxysettings{'CACHE_SIZE'} > 0) || ($proxysettings{'CACHE_MEM'} > 0))
{
print FILE "\n";
END
;
} else {
- print FILE "cache deny all\n\n";
+ if ($proxysettings{'CACHE_MEM'} > 0) {
+ # always 2% of CACHE_MEM defined as max object size
+ print FILE "maximum_object_size_in_memory " . int($proxysettings{'CACHE_MEM'} * 1024 * 0.02) . " KB\n\n";
+ } else {
+ print FILE "cache deny all\n\n";
+ }
}
print FILE <<END
my $ntlm_auth_group = $proxysettings{'NTLM_AUTH_GROUP'};
$ntlm_auth_group =~ s/\\/\+/;
- print FILE " --require-membership-of=\"$ntlm_auth_group\"";
+ print FILE " --require-membership-of=$ntlm_auth_group";
}
print FILE "\n";
my $ntlm_auth_group = $proxysettings{'NTLM_AUTH_GROUP'};
$ntlm_auth_group =~ s/\\/\+/;
- print FILE " --require-membership-of=\"$ntlm_auth_group\"";
+ print FILE " --require-membership-of=$ntlm_auth_group";
}
print FILE "\n";
print FILE "auth_param basic children 10\n";
if (($proxysettings{'ENABLE_FILTER'} eq 'on') || ($proxysettings{'ENABLE_UPDXLRATOR'} eq 'on') || ($proxysettings{'ENABLE_CLAMAV'} eq 'on'))
{
print FILE "url_rewrite_program /usr/sbin/redirect_wrapper\n";
- print FILE "url_rewrite_children $proxysettings{'CHILDREN'}\n\n";
+ print FILE "url_rewrite_children ", &General::number_cpu_cores();
+ print FILE " startup=", &General::number_cpu_cores();
+ print FILE " idle=", &General::number_cpu_cores();
+ print FILE " queue-size=", &General::number_cpu_cores() * 32, "\n\n";
}
# Include file with user defined settings.