[Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::EXDEV: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::_SC_TZNAME_MAX: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::EIDRM: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::VINTR: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::O_RDWR: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::_PC_MAX_CANON: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::DBL_MIN_10_EXP: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::VEOL: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::ENOSTR: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::B19200: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::ECANCELED: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::S_IROTH: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::IXON: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::CS7: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::ECHOE: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::ECONNRESET: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. [Sat Nov 21 14:13:05 2015] Tools.pm: Prototype mismatch: sub Want::Tools::CSIZE: none vs () at /srv/www/site.net/www/cgi-bin/admin/Want/Tools.pm line 506. #### #!/usr/bin/perl use lib '/srv/www/site.net/www/cgi-bin/admin'; use Links::mod_perl; use Apache2::Connection (); use Apache2::RequestRec (); use APR::Table (); use POSIX; use CGI::Carp; use LWP::Simple; use GeoIP2::WebService::Client; # Automatically fix up the REMOTE_IP environment variable. sub My::ProxyRemoteAddr ($) { # ------------------------------------------------ my $r = shift; my $c = $r->connection(); my $ip = $c->remote_ip; unless ($ip eq '127.0.0.1') { return OK; } # Select last value in the chain -- ip from most recent proxy (to prevent fake ip injection) if (my ($ip) = $r->headers_in->{'HTTP_X_REAL_IP'} =~ /([^,\s]+)$/) { $r->connection->remote_ip($ip); } return OK; } 1;