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

Gordon Sim updated QPID-1896:
-----------------------------

    Attachment: windows-sasl-noauth.patch

This patch adds PLAIN to the advertised list of mechanisms when auth=no. It is 
not a bug for the broker to reject mechs it hasn't advertised (anything but 
ANONYMOUS for current case of auth=no). This patch would however align it with 
the linux broker. Its not really that useful to advertise other mechs if you 
aren't authenticating, its only used in linux for automated acl testing.

> No-auth Windows broker fails client connection with "Selected mechanism not 
> supported"
> --------------------------------------------------------------------------------------
>
>                 Key: QPID-1896
>                 URL: https://issues.apache.org/jira/browse/QPID-1896
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>         Environment: Windows XP SP 3, VC++ 9.0
>            Reporter: Pete MacKinnon
>         Attachments: windows-sasl-noauth.patch
>
>
> If a client offers any non-empty auth mechanism (e.g., "PLAIN"), the windows 
> C++ broker will fail to start/tune the connection with "Selected mechanism 
> not supported" eventhough it has authorization disabled ("--auth=no").
> void ConnectionHandler::start(const FieldTable& /*serverProps*/, const Array& 
> mechanisms, const Array& /*locales*/)
> {
>     checkState(NOT_STARTED, INVALID_STATE_START);
>     setState(NEGOTIATING);
>     sasl = SaslFactory::getInstance().create(*this);
>     std::string mechlist;
>     bool chosenMechanismSupported = mechanism.empty();
>     for (Array::const_iterator i = mechanisms.begin(); i != mechanisms.end(); 
> ++i) {
>         if (!mechanism.empty() && mechanism == (*i)->get<std::string>()) {
>             chosenMechanismSupported = true;
>             mechlist = (*i)->get<std::string>() + SPACE + mechlist;
>         } else {
>             if (i != mechanisms.begin()) mechlist += SPACE;
>             mechlist += (*i)->get<std::string>();
>         }
>     }
>     if (!chosenMechanismSupported) {
>         fail("Selected mechanism not supported: " + mechanism);
>     }

-- 
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:[email protected]

Reply via email to