Codebase list libapache2-mod-rpaf / 0f36730
Adapt 011_apache2.4.patch (client_ip -> useragent_ip) Jessie's version has a regression (REMOTE_ADDR keep proxy's ip) Sergey B Kirpichev 8 years ago
1 changed file(s) with 8 addition(s) and 8 deletion(s). Raw diff Collapse all Expand all
1313 rpaf_cleanup_rec *rcr = (rpaf_cleanup_rec *)data;
1414 - rcr->r->connection->remote_ip = apr_pstrdup(rcr->r->connection->pool, rcr->old_ip);
1515 - rcr->r->connection->remote_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(rcr->r->connection->remote_ip);
16 + rcr->r->connection->client_ip = apr_pstrdup(rcr->r->connection->pool, rcr->old_ip);
17 + rcr->r->connection->client_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(rcr->r->connection->client_ip);
16 + rcr->r->useragent_ip = apr_pstrdup(rcr->r->connection->pool, rcr->old_ip);
17 + rcr->r->useragent_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(rcr->r->useragent_ip);
1818 return APR_SUCCESS;
1919 }
2020
2323 return DECLINED;
2424
2525 - if (is_in_array(r->connection->remote_ip, cfg->proxy_ips) == 1) {
26 + if (is_in_array(r->connection->client_ip, cfg->proxy_ips) == 1) {
26 + if (is_in_array(r->useragent_ip, cfg->proxy_ips) == 1) {
2727 /* check if cfg->headername is set and if it is use
2828 that instead of X-Forwarded-For by default */
2929 if (cfg->headername && (fwdvalue = apr_table_get(r->headers_in, cfg->headername))) {
3232 ++fwdvalue;
3333 }
3434 - rcr->old_ip = apr_pstrdup(r->connection->pool, r->connection->remote_ip);
35 + rcr->old_ip = apr_pstrdup(r->connection->pool, r->connection->client_ip);
35 + rcr->old_ip = apr_pstrdup(r->connection->pool, r->useragent_ip);
3636 rcr->r = r;
3737 apr_pool_cleanup_register(r->pool, (void *)rcr, rpaf_cleanup, apr_pool_cleanup_null);
3838 - r->connection->remote_ip = apr_pstrdup(r->connection->pool, last_not_in_array(arr, cfg->proxy_ips));
3939 - r->connection->remote_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(r->connection->remote_ip);
40 + r->connection->client_ip = apr_pstrdup(r->connection->pool, last_not_in_array(arr, cfg->proxy_ips));
41 + r->connection->client_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(r->connection->client_ip);
40 + r->useragent_ip = apr_pstrdup(r->connection->pool, last_not_in_array(arr, cfg->proxy_ips));
41 + r->useragent_addr->sa.sin.sin_addr.s_addr = apr_inet_addr(r->useragent_ip);
4242 apr_sockaddr_t *tmpsa;
4343 - int ret = apr_sockaddr_info_get(&tmpsa, r->connection->remote_ip, APR_UNSPEC, r->connection->remote_addr->port, 0, r->connection->remote_addr->pool);
44 + int ret = apr_sockaddr_info_get(&tmpsa, r->connection->client_ip, APR_UNSPEC, r->connection->client_addr->port, 0, r->connection->client_addr->pool);
44 + int ret = apr_sockaddr_info_get(&tmpsa, r->useragent_ip, APR_UNSPEC, r->useragent_addr->port, 0, r->useragent_addr->pool);
4545 if (ret == APR_SUCCESS)
4646 - memcpy(r->connection->remote_addr, tmpsa, sizeof(apr_sockaddr_t));
47 + memcpy(r->connection->client_addr, tmpsa, sizeof(apr_sockaddr_t));
47 + memcpy(r->useragent_addr, tmpsa, sizeof(apr_sockaddr_t));
4848 if (cfg->sethostname) {
4949 const char *hostvalue;
5050 if (hostvalue = apr_table_get(r->headers_in, "X-Forwarded-Host")) {