Bug 1578026
| Summary: | Can't call method "sockhostname" without a package or object reference at /usr/share/perl5/vendor_perl/HTTP/Daemon.pm line 64. | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | OwN <own3mall> | ||||||
| Component: | perl-HTTP-Daemon | Assignee: | Petr Pisar <ppisar> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | Martin Kyral <mkyral> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 7.5 | CC: | jorton, jplesnik, lmiksik, mkyral, own3mall, ppisar, shug | ||||||
| Target Milestone: | rc | Keywords: | Patch, Regression | ||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | perl-HTTP-Daemon-6.01-8.el7 | Doc Type: | No Doc Update | ||||||
| Doc Text: |
undefined
|
Story Points: | --- | ||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2018-10-30 11:36:29 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: | |||||||||
| Attachments: |
|
||||||||
|
Description
OwN
2018-05-14 16:21:41 UTC
Created attachment 1436772 [details]
Proposed fix
Thank you for taking the time to report this issue to us. We appreciate the feedback and use reports such as this one to guide our efforts at improving our products. That being said, this bug tracking system is not a mechanism for requesting support, and we are not able to guarantee the timeliness or suitability of a resolution.
If this issue is critical or in any way time sensitive, please raise a ticket through the regular Red Hat support channels to ensure it receives the proper attention and prioritization to assure a timely resolution.
For information on how to contact the Red Hat production support team, please visit:
https://www.redhat.com/support/process/production/#howto
perl-HTTP-Daemon-6.01-5.el7 works, perl-HTTP-Daemon-6.01-7.el7 is broken. This is an regression.
How to test:
(1) Install perl(HTTP::Daemon)
(2) Execute: perl -MHTTP::Daemon -e '$d=HTTP::Daemon->new(LocalAddr=>q{127.0.0.2}) or die; print $d->url, qq{\n}'
Before: The program dies with an error:
Can't call method "sockhostname" without a package or object reference at /usr/share/perl5/vendor_perl/HTTP/Daemon.pm line 64.
After: The program prints URL. Exact URL value depends on /etc/nsswitch.conf. Having myhostname in hosts option, a hostname is embedded into the URL:
http://rhel-7-6:52130/
Otherwise a numerical value is printed:
http://127.0.0.2:42112/
But there is another bug in the same code path: An unresolvable IPv6 address is misformatted:
$ perl -Ilib -MHTTP::Daemon -e '$d=HTTP::Daemon->new(LocalAddr=>q{fe80::250:54ff:fe00:a76%eth0}) or die; print $d->url, qq{\n}'
http://fe80::250:54ff:fe00:a76%eth0:54917/
Correct response is:
http://[fe80::250:54ff:fe00:a76%eth0]:54917/
This will be addressed with a more elaborate patch.
(In reply to Petr Pisar from comment #4) > Correct response is: > > http://[fe80::250:54ff:fe00:a76%eth0]:54917/ > RFC 6874 highlights that IPv6 zone identifier delimiter must be quoted. Thus correct response should be: http://[fe80::250:54ff:fe00:a76%25eth0]:54917/ Created attachment 1440977 [details]
Proposed fix
This patch fixes the crash as well as misformatting some IPv6 addresses.
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:3265 |