Bug 1492760
Summary: | IO::Socket::IP->new() fails to listen on unspecified local address | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Petr Pisar <ppisar> | ||||||
Component: | perl-IO-Socket-IP | Assignee: | perl-maint-list | ||||||
Status: | CLOSED ERRATA | QA Contact: | Martin Kyral <mkyral> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 7.4 | CC: | bnater, djez, dkochuka, jkejda, jorton, mkyral, ppisar | ||||||
Target Milestone: | rc | Keywords: | Patch | ||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | perl-IO-Socket-IP-0.21-5.el7 | Doc Type: | No Doc Update | ||||||
Doc Text: |
undefined
|
Story Points: | --- | ||||||
Clone Of: | 1413065 | Environment: | |||||||
Last Closed: | 2018-04-10 08:41:10 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 1413065, 1465904 | ||||||||
Attachments: |
|
Description
Petr Pisar
2017-09-18 15:06:11 UTC
Created attachment 1327541 [details]
First part of the upstream fix
Created attachment 1327542 [details]
Second part of the upstream fix
How to test: (1) Create a listening socket using IO::Socket::IP without specifying local address to bind: $ perl -MIO::Socket::IP -e '$a=IO::Socket::IP->new(Proto=>q{tcp}, Listen=>1) or die qq{Error: $@}; print `ss -tnlp`' Before: The program dies with an (empty) exception and no socket is created: Error: at -e line 1. After: The call succeeds and the "ss" command reports a listing socket (IPv6 one if your system support IPv6): State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:875 *:* [...] LISTEN 0 1 :::38121 :::* users:(("perl",pid=4675,fd=3)) Here the the last line is the socket created by the perl program. (2) You can check LocalAddr argument is still correctly honored: $ perl -Ilib -MIO::Socket::IP -e '$a=IO::Socket::IP->new(Proto=>q{tcp}, Listen=>1, LocalAddr=>q{::1}) or die qq{Error: $@}; print `ss -tnlp`' State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:875 *:* [...] LISTEN 0 1 ::1:56255 :::* users:(("perl",pid=4677,fd=3)) Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0665 |