Newbie to programming, Net::Divert, Linux-Debian, autoflush error

Newbie to programming, Net::Divert, Linux-Debian, autoflush error

am 24.04.2008 18:46:23 von vivek.m1234

Hi, I use Linux Debian Etch. Since Divert sockets is not available on
the
2.6.18-5-686 kernel, i compiled a 2.6.12.3 kernel and iptables 1.3.1,
with the required divert socket patches and installed it.

I then used the C code from here (scroll to the bottom):
http://sourceforge.net/docman/display_doc.php?docid=15319&gr oup_id=63197
with the following iptables rule:
iptables -A INPUT -p ICMP -j DIVERT --div-port xxx
to test and see if divert sockets was working.
It worked great.

My problem is that the Perl Net::Divert module refused to work with
the sample code in perldoc Net::Divert. I'm sure it's not the iptables
rule modified for -p tcp that's causing the problem because I tested
with the C code and it works.

The error i got in perl was:
Can't call method "autoflush" on an undefined value at /usr/local/
share/perl/5.8.8/Net/Divert.pm line 115.

So i checked the Divert.pm module and commented line 115 because
perldoc IO::Socket::INET says:
"As of VERSION 1.18 all IO::Socket objects have autoflush turned on
by default. This was not the case with earlier releases."

After the commenting out, my script runs without any errors but it
does absolutely nothing. It just sits...

Could someone suggest what I could do to resolve this problem? Seems
to me that the 'divert' parameter being passed in IO::Socket::INET is
being ignored??