perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Kalu┼ża <jkal...@redhat.com>
Subject mod_perl and httpd-2.4
Date Wed, 11 Apr 2012 06:44:19 GMT
Hi,

I've talked with Torsten about the mod_perl and httpd-2.4 compatibility 
and he advised me to start discussion about this problem.

Attached patch against httpd24 branch fixes the compilation with 
httpd-2.4. I was not able to generate xs using "make source_scan", so 
I've changed them manually. Should source_scan.pl work...?

Except the source_scan.pl issue, there is one issue which has to be 
addressed too.

conn_rec->remote_ip and conn_rec->remote_addr have been removed and 
replaced by request_rec->useragent_ip, request_rec->useragent_addr and 
conn_rec->client_ip, conn_rec->client_addr. See [1] to read about the 
differences between them.

There are two ways how to address this issue:

1. Break the compatibility with older mod_perl versions. The advantage 
is that mod_perl will stay consistent with httpd and mod_perl developers 
would not have to maintain the compatibility layer.

The disadvantage is that if there are projects using mod_perl and 
remote_ip/remote_addr, they would have to be fixed too. However, it's 
the very same situation like with httpd-2.4, where all the modules using 
remote_ip/remote_addr have to be fixed too.

2. Introduce the compatibility layer. I'm not Perl expert, but I think 
with the way how mod_perl is built currently it's not doable out-of-box 
(I can be wrong of course).

Interesting thing is also that most modules I've ported to httpd-2.4 use 
remote_ip/remote_addr in the meaning of useragent_ip/useragent_addr. In 
http-2.4 these two pairs are members of different structs (conn_rec and 
request_rec). I think I can't imagine how would we map 
conn_rec->remote_ip to request_rec->useragent_ip...


Personally I would vote for the number 1 and bumping mod_perl version.

I'm not Perl developer, I just co-maintain mod_perl in Fedora and in the 
development version httpd has been updated to 2.4, so mod_perl is not 
building there anymore.

Regards,
Jan Kaluza

Mime
View raw message