]> git.pld-linux.org Git - packages/apache-mod_rpaf.git/blobdiff - apache-mod_rpaf-apache24.patch
- build with apache 2.4
[packages/apache-mod_rpaf.git] / apache-mod_rpaf-apache24.patch
diff --git a/apache-mod_rpaf-apache24.patch b/apache-mod_rpaf-apache24.patch
new file mode 100644 (file)
index 0000000..11a2cba
--- /dev/null
@@ -0,0 +1,37 @@
+--- mod_rpaf-0.6/mod_rpaf.c.orig       2013-05-05 21:59:10.551469220 +0200
++++ mod_rpaf-0.6/mod_rpaf.c    2013-05-05 22:00:23.974802023 +0200
+@@ -147,8 +147,8 @@
+ static apr_status_t rpaf_cleanup(void *data) {
+     rpaf_cleanup_rec *rcr = (rpaf_cleanup_rec *)data;
+-    rcr->r->connection->remote_ip   = apr_pstrdup(rcr->r->connection->pool, rcr->old_ip);
+-    rcr->r->connection->remote_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(rcr->r->connection->remote_ip);
++    rcr->r->connection->client_ip   = apr_pstrdup(rcr->r->connection->pool, rcr->old_ip);
++    rcr->r->useragent_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(rcr->r->connection->client_ip);
+     return APR_SUCCESS;
+ }
+@@ -171,7 +171,7 @@
+     if (!cfg->enable)
+         return DECLINED;
+-    if (is_in_array(r->connection->remote_ip, cfg->proxy_ips) == 1) {
++    if (is_in_array(r->connection->client_ip, cfg->proxy_ips) == 1) {
+         /* check if cfg->headername is set and if it is use
+            that instead of X-Forwarded-For by default */
+         if (cfg->headername && (fwdvalue = apr_table_get(r->headers_in, cfg->headername))) {
+@@ -190,11 +190,11 @@
+                 if (*fwdvalue != '\0')
+                     ++fwdvalue;
+             }
+-            rcr->old_ip = apr_pstrdup(r->connection->pool, r->connection->remote_ip);
++            rcr->old_ip = apr_pstrdup(r->connection->pool, r->connection->client_ip);
+             rcr->r = r;
+             apr_pool_cleanup_register(r->pool, (void *)rcr, rpaf_cleanup, apr_pool_cleanup_null);
+-            r->connection->remote_ip = apr_pstrdup(r->connection->pool, last_not_in_array(arr, cfg->proxy_ips));
+-            r->connection->remote_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(r->connection->remote_ip);
++            r->connection->client_ip = apr_pstrdup(r->connection->pool, last_not_in_array(arr, cfg->proxy_ips));
++            r->useragent_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(r->connection->client_ip);
+             if (cfg->sethostname) {
+                 const char *hostvalue;
+                 if (hostvalue = apr_table_get(r->headers_in, "X-Forwarded-Host")) {
This page took 0.061197 seconds and 4 git commands to generate.