X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fproxy.cgi;h=6aa14e15a70a28f40c895b208ffaaa8b18be79ba;hb=d49f6fdca9e4a52ad32bf45033ec0d6afd7d460b;hp=c4cff478928133814504953c403274c7801f46ec;hpb=153cf6406ccff186696926d3ad84103a4b496ba8;p=ipfire-2.x.git diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index c4cff47892..6aa14e15a7 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -27,6 +27,7 @@ # use strict; +use Apache::Htpasswd; # enable only the following on debugging purpose #use warnings; @@ -172,6 +173,8 @@ unless (-e $acl_include) { system("touch $acl_include"); } unless (-e $browserdb) { system("touch $browserdb"); } unless (-e $mimetypes) { system("touch $mimetypes"); } +my $HAVE_NTLM_AUTH = (-e "/usr/bin/ntlm_auth"); + open FILE, $browserdb; @useragentlist = sort { reverse(substr(reverse(substr($a,index($a,',')+1)),index(reverse(substr($a,index($a,','))),',')+1)) cmp reverse(substr(reverse(substr($b,index($b,',')+1)),index(reverse(substr($b,index($b,','))),',')+1))} grep !/(^$)|(^\s*#)/,; close(FILE); @@ -264,6 +267,8 @@ $proxysettings{'LDAP_PORT'} = '389'; $proxysettings{'LDAP_BINDDN_USER'} = ''; $proxysettings{'LDAP_BINDDN_PASS'} = ''; $proxysettings{'LDAP_GROUP'} = ''; +$proxysettings{'NTLM_AUTH_GROUP'} = ''; +$proxysettings{'NTLM_AUTH_BASIC'} = 'off'; $proxysettings{'NTLM_DOMAIN'} = ''; $proxysettings{'NTLM_PDC'} = ''; $proxysettings{'NTLM_BDC'} = ''; @@ -354,7 +359,7 @@ if (($proxysettings{'ACTION'} eq $Lang::tr{'save'}) || ($proxysettings{'ACTION'} $errormessage = $Lang::tr{'advproxy errmsg cache'}." ".$proxysettings{'CACHE_MEM'}." > ".$proxysettings{'CACHE_SIZE'}; goto ERROR; } - + if (!(&General::validport($proxysettings{'PROXY_PORT'}))) { $errormessage = $Lang::tr{'advproxy errmsg invalid proxy port'}; @@ -690,7 +695,7 @@ ERROR: system ('/usr/bin/touch', "${General::swroot}/proxy/transparent_blue"); } if ($proxysettings{'ACTION'} eq $Lang::tr{'advproxy save and restart'}) { system('/usr/local/bin/squidctrl restart >/dev/null 2>&1'); } - if ($proxysettings{'ACTION'} eq $Lang::tr{'proxy reconfigure'}) { system('/usr/local/bin/squidctrl reconfigure >/dev/null 2>&1'); } + if ($proxysettings{'ACTION'} eq $Lang::tr{'proxy reconfigure'}) { system('/usr/local/bin/squidctrl reconfigure >/dev/null 2>&1'); } } } @@ -860,6 +865,7 @@ $checked{'AUTH_METHOD'}{'ncsa'} = ''; $checked{'AUTH_METHOD'}{'ident'} = ''; $checked{'AUTH_METHOD'}{'ldap'} = ''; $checked{'AUTH_METHOD'}{'ntlm'} = ''; +$checked{'AUTH_METHOD'}{'ntlm-auth'} = ''; $checked{'AUTH_METHOD'}{'radius'} = ''; $checked{'AUTH_METHOD'}{$proxysettings{'AUTH_METHOD'}} = "checked='checked'"; @@ -891,6 +897,10 @@ $checked{'NTLM_USER_ACL'}{'positive'} = ''; $checked{'NTLM_USER_ACL'}{'negative'} = ''; $checked{'NTLM_USER_ACL'}{$proxysettings{'NTLM_USER_ACL'}} = "checked='checked'"; +$checked{'NTLM_AUTH_BASIC'}{'on'} = ''; +$checked{'NTLM_AUTH_BASIC'}{'off'} = ''; +$checked{'NTLM_AUTH_BASIC'}{$proxysettings{'NTLM_AUTH_BASIC'}} = "checked='checked'"; + $checked{'RADIUS_ENABLE_ACL'}{'off'} = ''; $checked{'RADIUS_ENABLE_ACL'}{'on'} = ''; $checked{'RADIUS_ENABLE_ACL'}{$proxysettings{'RADIUS_ENABLE_ACL'}} = "checked='checked'"; @@ -960,13 +970,13 @@ print < $Lang::tr{'advproxy enabled on'} Green: - $Lang::tr{'advproxy proxy port'}: + $Lang::tr{'advproxy proxy port'}: * $Lang::tr{'advproxy transparent on'} Green: - $Lang::tr{'advproxy proxy port transparent'}: + $Lang::tr{'advproxy proxy port transparent'}: * @@ -979,7 +989,7 @@ if ($netsettings{'BLUE_DEV'}) { print " "; } print <$Lang::tr{'advproxy visible hostname'}: * + $Lang::tr{'advproxy visible hostname'}: @@ -1026,7 +1036,7 @@ print < - + END ; my $count = `ip n| wc -l`; @@ -1044,11 +1054,11 @@ if ( -e "/usr/bin/squidclamav" ) { } else { print ""; } -print ""; -print ""; @@ -1062,19 +1072,19 @@ print < - + - + - + @@ -1108,30 +1118,30 @@ print <$Lang::tr{'advproxy cache management'} - + - + - + - + - + - + - + - + @@ -1149,7 +1159,7 @@ print < - + @@ -1209,8 +1219,8 @@ print < - - + +
$Lang::tr{'advproxy redirector children'}
$Lang::tr{'processes'}
$Lang::tr{'processes'}: *".$Lang::tr{'advproxy url filter'}."
"; +print "
".$Lang::tr{'advproxy url filter'}."
"; print $Lang::tr{'advproxy enabled'}."
"; print "+ ".int(($count**(1/3)) * 6); print "
".$Lang::tr{'advproxy update accelerator'}."
"; +print "
".$Lang::tr{'advproxy update accelerator'}."
"; print $Lang::tr{'advproxy enabled'}."
"; print "+ ".int(($count**(1/3)) * 5); print "
$Lang::tr{'advproxy via forwarding'}: $Lang::tr{'advproxy upstream proxy host:port'} *$Lang::tr{'advproxy upstream proxy host:port'}:
$Lang::tr{'advproxy client IP forwarding'}: $Lang::tr{'advproxy upstream username'}: *$Lang::tr{'advproxy upstream username'}:
$Lang::tr{'advproxy username forwarding'}: $Lang::tr{'advproxy upstream password'}: *$Lang::tr{'advproxy upstream password'}:
$Lang::tr{'proxy cachemgr'}:$Lang::tr{'proxy cachemgr'}: $Lang::tr{'advproxy admin mail'}: *$Lang::tr{'advproxy admin mail'}:
$Lang::tr{'proxy filedescriptors'}:$Lang::tr{'proxy filedescriptors'}: * $Lang::tr{'proxy admin password'}: *$Lang::tr{'proxy admin password'}:
$Lang::tr{'advproxy ram cache size'}:$Lang::tr{'advproxy ram cache size'}: * $Lang::tr{'advproxy hdd cache size'}:$Lang::tr{'advproxy hdd cache size'}: *
$Lang::tr{'advproxy min size'}:$Lang::tr{'advproxy min size'}: * $Lang::tr{'advproxy max size'}:$Lang::tr{'advproxy max size'}: *
$Lang::tr{'advproxy no cache sites'}: *$Lang::tr{'advproxy no cache sites'}:
$Lang::tr{'advproxy standard ports'}:$Lang::tr{'advproxy ssl ports'}:$Lang::tr{'advproxy standard ports'}: *$Lang::tr{'advproxy ssl ports'}: *