Bug 785187

Summary: IPv6 literals enclosed in square brackets is not accepted by qpid-perftest
Product: Red Hat Enterprise MRG Reporter: Zdenek Kraus <zkraus>
Component: qpid-toolsAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED NOTABUG QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 2.1CC: astitcher
Target Milestone: 2.2   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-27 19:37:03 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Zdenek Kraus 2012-01-27 15:10:02 UTC
Description of problem:
All example clients and tool for qpid accepts IPv6 addresses for brokers only in square brackets, example: [::1], but qpid-perftest, does not.

Version-Release number of selected component (if applicable):
qpid-tools-0.14-1.el5


How reproducible:
100%

Steps to Reproduce:
1. qpidd --auth=no &
2. qpid-perftest --count 1 -b [::1]

  
Actual results:
Cannot resolve [::1]:5672: Name or service not known (qpid/sys/posix/SocketAddress.cpp:140)


Expected results:
perftest should connect via IPv6 and do main function

Additional info:
You can supply some existing IPv6 address instead of localhost [::1]

Comment 1 Andrew Stitcher 2012-01-27 19:37:03 UTC
This is a confusing issue -

The -b parameter for perftest takes only an address/hostname and not a URL.

Therefore you don't use the square brackets for this parameter.

so "qpid-perftest -b ::1" is the correct way to give a literal IPv6 address in this case.

The bracket syntax is part of the standard URL parsing logic and so is only used there.

This probably needs documentation to explain the differences; or perhaps to change qpid-perftest to use a URL; or perhaps depracation of qpid-perftest as it uses the old client API in any case.