On Saturday, June 27, 2015 08:44:53 AM Thomas Eckardt wrote:
>
> - $! shows the error reported by the OS to Perl - my output on linux is:
> 
> linux:~ # perl ipv6_test.pl
> error: Address already in use
> SOCKET6 = IO::Socket::INET6=GLOB(0x82e6b54)
> SOCKET4 =
> 
> Now - where is the BUG in Perl or a Perl module , if the OS says 'I can't
> do what you want' - "Address already in use"

Again that is that perl module in how its trying to bring up port 6666 on 
0.0.0.0 and 
[::]. It is how that module is coded that it gets that error.

If your implying that the Linux kernel cannot listen on both IPv4 and IPv6 
wildcards, and 
the Linux kernel is preventing this you are very wrong. 
For example, the following shows numerous services listening on both IPv4 and 
IPv6.

You can also see IPv6 addresses in use by ASSP, because the perl module does 
work if 
you use IPv6 address just not wildcards. Which again shows the error in the 
module.

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
1636/sshd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      
24579/perl          
tcp        0      0 0.0.0.0:2525            0.0.0.0:*               LISTEN      
24579/perl          
tcp        0      0 0.0.0.0:125             0.0.0.0:*               LISTEN      
23335/tcpserver        
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      
1431/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      
1431/dovecot       
tcp       11      0 0.0.0.0:587             0.0.0.0:*               LISTEN      
24579/perl          
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      
1486/rpcbind        
tcp        0      0 0.0.0.0:655             0.0.0.0:*               LISTEN      
1113/tincd          
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      
24579/perl          
tcp6       0      0 :::22                   :::*                    LISTEN      
1636/sshd           
tcp6       0      0 2600:3c02::f03c:91ff:25 :::*                    LISTEN      
24579/perl          
tcp6       0      0 fdxx:xxxx:xxxx::51:25   :::*                    LISTEN      
24579/perl          
tcp6       0      0 2600:3c02::f03c:91:2525 :::*                    LISTEN      
24579/perl          
tcp6       0      0 fdxx:xxxx:xxxx::51:2525 :::*                    LISTEN      
24579/perl          
tcp6       0      0 :::993                  :::*                    LISTEN      
1431/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      
1431/dovecot        
tcp6       0      0 2600:3c02::f03c:91f:587 :::*                    LISTEN      
24579/perl          
tcp6       0      0 fdxx:xxxx:xxxx::51:587  :::*                    LISTEN      
24579/perl          
tcp6       0      0 :::111                  :::*                    LISTEN      
1486/rpcbind        
tcp6       0      0 :::655                  :::*                    LISTEN      
1113/tincd          
tcp6       0      0 2600:3c02::f03c:91f:465 :::*                    LISTEN      
24579/perl          
tcp6       0      0 fdxx:xxxx:xxxx::51:465  :::*                    LISTEN      
24579/perl         
udp        0      0 0.0.0.0:111             0.0.0.0:*                           
1486/rpcbind        
udp        0      0 0.0.0.0:655             0.0.0.0:*                           
1113/tincd         
udp        0      0 0.0.0.0:813             0.0.0.0:*                           
1486/rpcbind        
udp6       0      0 :::111                  :::*                                
1486/rpcbind        
udp6       0      0 :::655                  :::*                                
1113/tincd          
udp6       0      0 :::813                  :::*                                
1486/rpcbind    

> The OS is answering to both IPv4 and IPv6 at port 6666.

Where is your netstat? Is it listening on both IPv4 and IPv6? Again you are 
likely getting 
a response from the IPv6 port to IPv4 via IPv4 in IPv6. It is NOT the same as 
IPv4 
connecting to a IPv4 port.

If you do netstat its only listening on one port. You have just confirmed that 
the issue 
is Linux specific and how the perl module operates on Linux. It has a bug, thus 
it gets 
the message "Address already in use" because of how that module is coded.

Do the same thing with Perl 5.14 IO::Socket::IP and see the difference for 
yourself. 
Then you can see how the different Perl modules operate/function differently on 
the 
same OS.


-- 
William L. Thomson Jr.
Obsidian-Studios, Inc.
http://www.obsidian-studios.com
------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
Assp-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/assp-user

Reply via email to