Bug 1078936 - "csharp.example.server" cannot read connection options
Summary: "csharp.example.server" cannot read connection options
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: Unspecified
OS: Windows
Target Milestone: 3.1
: ---
Assignee: Chuck Rolke
QA Contact: Petra Svobodová
Depends On:
TreeView+ depends on / blocked
Reported: 2014-03-20 14:58 UTC by Petra Svobodová
Modified: 2015-04-14 13:47 UTC (History)
1 user (show)

Fixed In Version: qpid-cpp-0.30-2
Doc Type: Bug Fix
Doc Text:
An issue with how the `csharp.map.receiver` example application command line processing code looked for arguments prevented users from getting the correct result for argument two. The code has been improved so the program argument list is now parsed correctly, which allows users to pass values to argument two correctly.
Clone Of:
Last Closed: 2015-04-14 13:47:39 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Apache JIRA QPID-5840 None None None Never
Red Hat Product Errata RHEA-2015:0805 normal SHIPPED_LIVE Red Hat Enterprise MRG Messaging 3.1 Release 2015-04-14 17:45:54 UTC

Description Petra Svobodová 2014-03-20 14:58:49 UTC
Description of problem:
Example application "csharp.example.server" has two optional arguments "url" (as the first) and "connectionOptions" (as the third). The second argument is omitted (it is reserved for an address and it is not used in this example). 

But when the example is started, the "connectionOptions" argument is not read without some senseless argument on the second position.

Current part of csharp.example.spout.cs:
static int Main(string[] args) {
            string url = "amqp:tcp:";
            string connectionOptions = "";

            if (args.Length > 0)
                url = args[0];
            // address args[1] is not used in this example
            if (args.Length > 2)
                connectionOptions = args[2];

Should be:
static int Main(string[] args) {
            string url = "amqp:tcp:";
            string connectionOptions = "";

            if (args.Length > 0)
                url = args[0];
            // address is not used in this example
            if (args.Length > 1)
                connectionOptions = args[1];

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Unpack the qpid-cpp-win package and build C# examples.
2. Run a qpid broker with authentication requirement.
3. Try to run the server example: csharp.example.server.exe <broker_hostname> "{sasl-mechanisms:PLAIN,username:<user>,password:<password>}"

Actual results:
csharp.server.example cannot connect to the broker due authentication failure (the connection options are ignored).

Expected results:
csharp.server.example should be able to connect the broker.

Comment 1 Chuck Rolke 2014-06-24 15:40:23 UTC
Fixed upstream at commit r1605112.

Comment 3 Petra Svobodová 2014-11-03 14:36:09 UTC
Now the "csharp.example.server" client is able to accept the broker url and connection options.

Verified on qpid-cpp-win- on WindowsXP-x86, Windows7-x86 and x64, Windows Server2003-x86, x64 and Windows Server2008-x86, x64 and R2.


Comment 5 errata-xmlrpc 2015-04-14 13:47:39 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.