Hi All,

I have written a POP3 protocol-handler which uses the=20
PerlProcessConnectionHandler. The solution worked fine under=20
Apache 2.0 and ModPerl 2.0, but after an upgrade to=20
Apache 2.2 and Mod_Perl 2.0.2 it doesn't work correctly.=20
(We upgraded from Ubuntu-Dapper to Ubuntu-Gutsy).

Specifically the problem is that the "sub handler" gets called=20
only after the client sends a linefeed. In the old situation=20
the handler started directly. The POP3 protocol needs a "+OK" response
after the connection has been established.

I have tried to make a minimal routine that only responds "hello"
(see below), but it has the same problem.

Looking on the Internet I have found one (and only one) similar problem:
http://grokbase.com/topic/2006/11/17...7c3qhX5O7g0=20
(check the last reply).

I am out of options. Does anyone have an idea?


Thanks,
Dirk

Below is our Apache configuration and the module to return "Hello".

The virtual Apache configuration:


Order Deny,Allow
Allow from all

PerlModule ewise::EwisePop3Login
PerlProcessConnectionHandler ewise::EwisePop3Login
CustomLog /data/logs/EwisePop3Login.log combined


The package:
package ewise::EwisePop3Login;

BEGIN {
=09unshift @INC, "/data/EWISE/lib";
}
use strict;
use warnings FATAL =3D> 'all';
use Apache2::Connection ();
use APR::Socket ();
use Apache2::Const -compile =3D> 'OK';
use APR::Const -compile =3D> 'SO_NONBLOCK';

use constant BUFF_LEN =3D> 1024;
use constant REMOTE_IP=3D>'84.53.99.250';

sub handler {
=09my $c =3D shift;
=09my $sock =3D $c->client_socket;
=09my $userName;
=09$sock->send("Hello\n");
=09Apache2::Const::OK;
}

1;