A noob playing with: Divert sockets, Linux and Perl.

V

vivek.m1234

Hi, I use 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&group_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.

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??
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top