[ 
https://issues.apache.org/jira/browse/DISPATCH-926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomofumi Hayashi updated DISPATCH-926:
--------------------------------------
    Description: 
In OASIS AMQP 1.0 document, offered-capabilities should be type symbol[], 
symbol array as following: 
[http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open]

But in case of "saslMechanisms: ANONYMOUS" (listener section of 
qdrouterd.conf), qdrouterd sends it as 'symbol' (!= symbol[]).

I am just a beginner of AMQP, so it might be my misunderstood.... Could you 
please double check?

Candidate fix code:
{noformat}
diff --git a/src/server.c b/src/server.c
index 4dff133e..5cc7cf01 100644
--- a/src/server.c
+++ b/src/server.c
@@ -429,6 +429,8 @@ static void decorate_connection(qd_server_t *qd_server, 
pn_connection_t *conn, c
     //
     // Offer ANONYMOUS_RELAY capability
     //
+    pn_data_put_array(pn_connection_offered_capabilities(conn), false, 
PN_SYMBOL);
+    pn_data_enter(pn_connection_offered_capabilities(conn));
     pn_data_put_symbol(pn_connection_offered_capabilities(conn), 
pn_bytes(clen, (char*) QD_CAPABILITY_ANONYMOUS_RELAY));
 
     //
{noformat}


  was:
In OASIS AMQP 1.0 document, offered-capabilities should be type symbol[], 
symbol array as following: 
[http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open]

But in case of "saslMechanisms: ANONYMOUS" (listener section of 
qdrouterd.conf), qdrouterd sends it as 'symbol' (!= symbol[]).


Candidate fix code:
{noformat}
diff --git a/src/server.c b/src/server.c
index 4dff133e..5cc7cf01 100644
--- a/src/server.c
+++ b/src/server.c
@@ -429,6 +429,8 @@ static void decorate_connection(qd_server_t *qd_server, 
pn_connection_t *conn, c
     //
     // Offer ANONYMOUS_RELAY capability
     //
+    pn_data_put_array(pn_connection_offered_capabilities(conn), false, 
PN_SYMBOL);
+    pn_data_enter(pn_connection_offered_capabilities(conn));
     pn_data_put_symbol(pn_connection_offered_capabilities(conn), 
pn_bytes(clen, (char*) QD_CAPABILITY_ANONYMOUS_RELAY));
 
     //
{noformat}



> offered-capabilities is not compliant with OASIS AMQP 1.0 in case of 
> QD_CAPABILITY_ANONYMOUS_RELAY
> --------------------------------------------------------------------------------------------------
>
>                 Key: DISPATCH-926
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-926
>             Project: Qpid Dispatch
>          Issue Type: Bug
>            Reporter: Tomofumi Hayashi
>            Priority: Major
>
> In OASIS AMQP 1.0 document, offered-capabilities should be type symbol[], 
> symbol array as following: 
> [http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open]
> But in case of "saslMechanisms: ANONYMOUS" (listener section of 
> qdrouterd.conf), qdrouterd sends it as 'symbol' (!= symbol[]).
> I am just a beginner of AMQP, so it might be my misunderstood.... Could you 
> please double check?
> Candidate fix code:
> {noformat}
> diff --git a/src/server.c b/src/server.c
> index 4dff133e..5cc7cf01 100644
> --- a/src/server.c
> +++ b/src/server.c
> @@ -429,6 +429,8 @@ static void decorate_connection(qd_server_t *qd_server, 
> pn_connection_t *conn, c
>      //
>      // Offer ANONYMOUS_RELAY capability
>      //
> +    pn_data_put_array(pn_connection_offered_capabilities(conn), false, 
> PN_SYMBOL);
> +    pn_data_enter(pn_connection_offered_capabilities(conn));
>      pn_data_put_symbol(pn_connection_offered_capabilities(conn), 
> pn_bytes(clen, (char*) QD_CAPABILITY_ANONYMOUS_RELAY));
>  
>      //
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to