perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Moseley" <moseleym...@gmail.com>
Subject Re: Settings $r->connection->remote_ip doesn't change $r->connection->remote_addr
Date Mon, 05 Jan 2009 23:44:32 GMT
On Thu, Dec 18, 2008 at 10:56 AM, Mark Moseley <moseleymark@gmail.com> wrote:
> I've been banging my head against a wall about a particular issue, but
> I'm at something of a loss.
>...


For the benefit of anyone trying to solve this same problem after
switching to mp2, there's a C module called mod_rpaf that does this.

If anyone has any info on doing this in a purely perl way, I'm all
ears. Having to use a C module means losing a lot of the flexibility
of being able to do it in perl -- mainly to support multiple possible
"real IP" headers and to do my own access checks -- mod_rpaf will
limit to certain source IPs which is good but not nearly as nice as
doing it in perl.

This was support in mp1 as of mp 1.23, though perhaps the new API
makes it quite hard to pull off in perl. According to
apache2_structures.map, remote_addr is a read-only at the moment but
todo/api_status mentions it as a candidate for making read-write.

Anybody have any pointers on how to make (safely) it read-write? The
docs for Apache2::compat have a compatible routine for remote_addr but
if you try to use it, you get the same 'Can't locate object method
"ip_set" via package "APR::SockAddr"' error. The Changes for mp2
mention ip_set being removed in 1.99_12 but don't mention why.

For any of you folks on the modperl-dev list, let me know if this
would be more appropriate to post there (i.e. not sure if that's a
developer-only list).

Mime
View raw message