X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fproxy.cgi;h=a0aa1acd34e3d8f5981a3de84f7b7bf3feec02fa;hb=57ba1e9023b0f1f3499cc888f66827a81574bb41;hp=38500190993b48545c250a3429acc3719c89f2e5;hpb=d9f2cfa419c9c85dd3df6cbca15e70580587253e;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/html/cgi-bin/proxy.cgi b/html/cgi-bin/proxy.cgi index 3850019099..a0aa1acd34 100644 --- a/html/cgi-bin/proxy.cgi +++ b/html/cgi-bin/proxy.cgi @@ -1,9 +1,8 @@ - #!/usr/bin/perl ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2009 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007-2011 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -83,7 +82,6 @@ my @templist=(); my $cachemem=0; my $proxy1=''; my $proxy2=''; -my $replybodymaxsize=0; my $browser_regexp=''; my $needhup = 0; my $errormessage=''; @@ -181,6 +179,12 @@ close(FILE); &General::readhash("${General::swroot}/ethernet/settings", \%netsettings); &General::readhash("${General::swroot}/main/settings", \%mainsettings); +my $green_cidr = &General::ipcidr("$netsettings{'GREEN_NETADDRESS'}\/$netsettings{'GREEN_NETMASK'}"); +my $blue_cidr = "# Blue not defined"; +if ($netsettings{'BLUE_DEV'}) { + $blue_cidr = &General::ipcidr("$netsettings{'BLUE_NETADDRESS'}\/$netsettings{'BLUE_NETMASK'}"); +} + &Header::showhttpheaders(); $proxysettings{'ACTION'} = ''; @@ -984,8 +988,13 @@ my $count = `arp -a | wc -l`; if ( $count < 1 ){$count = 1;} if ( -e "/usr/bin/squidclamav" ) { print "".$Lang::tr{'advproxy squidclamav'}."
"; - print $Lang::tr{'advproxy enabled'}."
"; - print "+ ".int(( $count**(1/3)) * 8); + if ( ! -e "/var/run/clamav/clamd.pid" ){ + print "clamav not running

"; + $proxysettings{'ENABLE_CLAMAV'} = 'off'; + } + else { + print $Lang::tr{'advproxy enabled'}."
"; + print "+ ".int(( $count**(1/3)) * 8);} print ""; } else { print ""; @@ -1189,10 +1198,10 @@ END if (!$proxysettings{'SRC_SUBNETS'}) { - print "$netsettings{'GREEN_NETADDRESS'}\/$netsettings{'GREEN_NETMASK'}\n"; + print "$green_cidr\n"; if ($netsettings{'BLUE_DEV'}) { - print "$netsettings{'BLUE_NETADDRESS'}\/$netsettings{'BLUE_NETMASK'}\n"; + print "$blue_cidr\n"; } } else { print $proxysettings{'SRC_SUBNETS'}; } @@ -1781,9 +1790,9 @@ print <) { $_ =~ s/__GREEN_IP__/$netsettings{'GREEN_ADDRESS'}/; - $_ =~ s/__GREEN_NET__/$netsettings{'GREEN_NETADDRESS'}\/$netsettings{'GREEN_NETMASK'}/; + $_ =~ s/__GREEN_NET__/$green_cidr/; $_ =~ s/__BLUE_IP__/$blue_ip/; $_ =~ s/__BLUE_NET__/$blue_net/; $_ =~ s/__PROXY_PORT__/$proxysettings{'PROXY_PORT'}/; @@ -3807,19 +3808,23 @@ END if ($proxysettings{'FORWARD_IPADDRESS'} eq 'off') { - print FILE "header_access X-Forwarded-For deny all\n"; + print FILE "request_header_access X-Forwarded-For deny all\n"; + print FILE "reply_header_access X-Forwarded-For deny all\n"; } if ($proxysettings{'FORWARD_VIA'} eq 'off') { - print FILE "header_access Via deny all\n"; + print FILE "request_header_access Via deny all\n"; + print FILE "reply_header_access Via deny all\n"; } if (!($proxysettings{'FAKE_USERAGENT'} eq '')) { - print FILE "header_access User-Agent deny all\n"; + print FILE "request_header_access User-Agent deny all\n"; + print FILE "reply_header_access User-Agent deny all\n"; } if (!($proxysettings{'FAKE_REFERER'} eq '')) { - print FILE "header_access Referer deny all\n"; + print FILE "request_header_access Referer deny all\n"; + print FILE "reply_header_access Referer deny all\n"; } print FILE "\n"; @@ -3865,16 +3870,19 @@ END request_body_max_size $proxysettings{'MAX_OUTGOING_SIZE'} KB END ; - $replybodymaxsize = 1024 * $proxysettings{'MAX_INCOMING_SIZE'}; if ($proxysettings{'MAX_INCOMING_SIZE'} > 0) { - if (!-z $acl_src_unrestricted_ip) { print FILE "reply_body_max_size 0 deny IPFire_unrestricted_ips\n"; } - if (!-z $acl_src_unrestricted_mac) { print FILE "reply_body_max_size 0 deny IPFire_unrestricted_mac\n"; } + if (!-z $acl_src_unrestricted_ip) { print FILE "reply_body_max_size none IPFire_unrestricted_ips\n"; } + if (!-z $acl_src_unrestricted_mac) { print FILE "reply_body_max_size none IPFire_unrestricted_mac\n"; } if ($proxysettings{'AUTH_METHOD'} eq 'ncsa') { - if (!-z $extgrp) { print FILE "reply_body_max_size 0 deny for_extended_users\n"; } + if (!-z $extgrp) { print FILE "reply_body_max_size none for_extended_users\n"; } } } - print FILE "reply_body_max_size $replybodymaxsize deny all\n\n"; + + if ( $proxysettings{'MAX_INCOMING_SIZE'} != '0' ) + { + print FILE "reply_body_max_size $proxysettings{'MAX_INCOMING_SIZE'} KB all\n\n"; + } print FILE "visible_hostname"; if ($proxysettings{'VISIBLE_HOSTNAME'} eq '') @@ -3997,4 +4005,4 @@ sub writecachemgr return; } -# ------------------------------------------------------------------- \ No newline at end of file +# -------------------------------------------------------------------