You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "michael j. goulish (JIRA)" <ji...@apache.org> on 2011/04/05 22:31:05 UTC

[jira] [Created] (QPID-3188) CyrusSasl ctor logic change for callback storage

CyrusSasl ctor logic change for callback storage
------------------------------------------------

                 Key: QPID-3188
                 URL: https://issues.apache.org/jira/browse/QPID-3188
             Project: Qpid
          Issue Type: Bug
          Components: C++ Broker, C++ Client
            Reporter: michael j. goulish
            Assignee: michael j. goulish


The logic that stores callbacks in the CyrusSasl ctor should be changed to make the c++ client behave similarly to other language clients.

If there is no username, then do nothing with either NAME or PASSWD callbacks.
If there is a name but no passwd, then explicitly store an empty PASSWD callback.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3188) CyrusSasl ctor logic change for callback storage

Posted by "michael j. goulish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13016105#comment-13016105 ] 

michael j. goulish commented on QPID-3188:
------------------------------------------

Here is gsim's patch for this issue:

Index: cpp/src/qpid/SaslFactory.cpp
===================================================================
--- cpp/src/qpid/SaslFactory.cpp        (revision 1088930)
+++ cpp/src/qpid/SaslFactory.cpp        (working copy)
@@ -182,17 +182,18 @@
         callbacks[i].id = SASL_CB_AUTHNAME;
         callbacks[i].proc = (CallbackProc*) &getUserFromSettings;
         callbacks[i++].context = &settings;
-    }

-    callbacks[i].id = SASL_CB_PASS;
-    if (settings.password.empty()) {
-        callbacks[i].proc = 0;
-        callbacks[i++].context = 0;        
-    } else {
-        callbacks[i].proc = (CallbackProc*) &getPasswordFromSettings;
-        callbacks[i++].context = &settings;
+        callbacks[i].id = SASL_CB_PASS;
+        if (settings.password.empty()) {
+            callbacks[i].proc = 0;
+            callbacks[i++].context = 0;        
+        } else {
+            callbacks[i].proc = (CallbackProc*) &getPasswordFromSettings;
+            callbacks[i++].context = &settings;
+        }
     }

+
     callbacks[i].id = SASL_CB_LIST_END;
     callbacks[i].proc = 0;
     callbacks[i++].context = 0;


> CyrusSasl ctor logic change for callback storage
> ------------------------------------------------
>
>                 Key: QPID-3188
>                 URL: https://issues.apache.org/jira/browse/QPID-3188
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>            Reporter: michael j. goulish
>            Assignee: michael j. goulish
>
> The logic that stores callbacks in the CyrusSasl ctor should be changed to make the c++ client behave similarly to other language clients.
> If there is no username, then do nothing with either NAME or PASSWD callbacks.
> If there is a name but no passwd, then explicitly store an empty PASSWD callback.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Resolved] (QPID-3188) CyrusSasl ctor logic change for callback storage

Posted by "michael j. goulish (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

michael j. goulish resolved QPID-3188.
--------------------------------------

    Resolution: Fixed

gsim's patch applied in rev 1089294.

> CyrusSasl ctor logic change for callback storage
> ------------------------------------------------
>
>                 Key: QPID-3188
>                 URL: https://issues.apache.org/jira/browse/QPID-3188
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker, C++ Client
>            Reporter: michael j. goulish
>            Assignee: michael j. goulish
>
> The logic that stores callbacks in the CyrusSasl ctor should be changed to make the c++ client behave similarly to other language clients.
> If there is no username, then do nothing with either NAME or PASSWD callbacks.
> If there is a name but no passwd, then explicitly store an empty PASSWD callback.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org