Difference Between Revision 2 and Apache:Modules / apache2-mod_rpaf
[-] | Changed | apache2-mod_rpaf.spec |
x 1
2 Source0: http://stderr.net/apache/rpaf/download/%{modname}-%{version}.tar.gz 3 Source1: mod_rpaf.conf 4 Patch0: mod_rpaf-ipv6.patch 5 +Patch1: apache24.patch 6 BuildRoot: %{_tmppath}/%{name}-%{version}-build 7 8 %description 9
10 %prep 11 %setup -n %{modname}-%{version} 12 %patch0 -p1 13 +%patch1 -p1 14 15 %build 16 %{apxs} -a -n %{modname}.so -c %{modname}-2.0.c 17 |
||
[+] | Added | apache24.patch ^ |
@@ -0,0 +1,37 @@ +--- mod_rpaf-0.6/mod_rpaf-2.0.c.orig 2013-07-28 11:12:54.858051897 +0200 ++++ mod_rpaf-0.6/mod_rpaf-2.0.c 2013-07-28 11:15:08.621436640 +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->connection->client_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(rcr->r->connection->client_ip); + return APR_SUCCESS; + } + +@@ -161,7 +161,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))) { +@@ -180,11 +180,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, ((char **)arr->elts)[((arr->nelts)-1)]); +- 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, ((char **)arr->elts)[((arr->nelts)-1)]); ++ r->connection->client_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")) { |