36 lines
980 B
Diff
36 lines
980 B
Diff
--- 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);
|