%define mod_name geoip
-%define apxs %{_sbindir}/apxs
+%define pxs %{_sbindir}/apxs
Summary: GeoIP module for the Apache HTTP Server
Name: apache-mod_%{mod_name}
Version: 1.2.7
-Release: 1
+Release: 2
License: ASL 1.1
Group: Daemons
URL: https://www.maxmind.com/app/mod_geoip
Source0: http://www.maxmind.com/download/geoip/api/mod_geoip2/mod_%{mod_name}2_%{version}.tar.gz
# Source0-md5: 76514ad0e8adb8cd8231c5e3646d03fd
Source1: apache.conf
+Patch0: mod_geoip-apache24.patch
BuildRequires: %{apxs}
BuildRequires: GeoIP-devel >= 1.4.8
BuildRequires: apache-devel >= 2.2
%prep
%setup -q -n mod_geoip2_%{version}
+%patch0 -p0
%build
%{apxs} -Wc,"%{rpmcppflags} %{rpmcflags}" -Wl,"-lGeoIP %{rpmldflags}" -c mod_geoip.c
--- /dev/null
+--- mod_geoip.c.geoip
++++ mod_geoip.c
+@@ -66,6 +66,7 @@
+ #include "http_config.h"
+ #include "http_protocol.h"
+ #include "http_log.h"
++#include "util_script.h"
+ #include "ap_config.h"
+ #include "apr_strings.h"
+ #include <GeoIP.h>
+@@ -320,7 +321,11 @@
+ return DECLINED;
+
+ if (!cfg->scanProxyHeaders) {
++#if AP_MODULE_MAGIC_AT_LEAST(20111130,0)
++ ipaddr = r->useragent_ip;
++#else
+ ipaddr = r->connection->remote_ip;
++#endif
+ }
+ else {
+ ap_add_common_vars(r);
+@@ -338,7 +343,11 @@
+ }
+ if (!ipaddr_ptr) {
+ ap_log_error(APLOG_MARK, APLOG_DEBUG | APLOG_NOERRNO, 0, r->server, "[mod_geoip]: Error while getting ipaddr from proxy headers. Using REMOTE_ADDR.");
+- ipaddr = r->connection->remote_ip;
++#if AP_MODULE_MAGIC_AT_LEAST(20111130,0)
++ ipaddr = r->useragent_ip;
++#else
++ ipaddr = r->connection->remote_ip;
++#endif
+ }
+ else {
+ ap_log_error(APLOG_MARK, APLOG_DEBUG | APLOG_NOERRNO, 0, r->server, "[mod_geoip]: IPADDR_PTR: %s", ipaddr_ptr);