You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by sh...@apache.org on 2009/03/16 22:21:56 UTC
svn commit: r755008 - in /qpid/trunk/qpid/cpp/src: Makefile.am broker.vcproj
client.vcproj common.vcproj qmfconsole.vcproj qpid.sln qpid/client/windows/
qpid/client/windows/SaslFactory.cpp qpidbroker.vcproj
Author: shuston
Date: Mon Mar 16 21:21:54 2009
New Revision: 755008
URL: http://svn.apache.org/viewvc?rev=755008&view=rev
Log:
Add PLAIN auth client handling for Windows; fixes QPID-1733
Added:
qpid/trunk/qpid/cpp/src/qpid/client/windows/
qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp (with props)
Modified:
qpid/trunk/qpid/cpp/src/Makefile.am
qpid/trunk/qpid/cpp/src/broker.vcproj
qpid/trunk/qpid/cpp/src/client.vcproj
qpid/trunk/qpid/cpp/src/common.vcproj
qpid/trunk/qpid/cpp/src/qmfconsole.vcproj
qpid/trunk/qpid/cpp/src/qpid.sln
qpid/trunk/qpid/cpp/src/qpidbroker.vcproj
Modified: qpid/trunk/qpid/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/Makefile.am?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/src/Makefile.am Mon Mar 16 21:21:54 2009
@@ -29,6 +29,7 @@
client.vcproj \
qmfconsole.vcproj \
protocol_gen.mak \
+ qpid/client/windows/SaslFactory.cpp \
qpid/log/windows/SinkOptions.cpp \
qpid/log/windows/SinkOptions.h \
qpid/sys/windows/check.h \
Modified: qpid/trunk/qpid/cpp/src/broker.vcproj
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/broker.vcproj?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/broker.vcproj (original)
+++ qpid/trunk/qpid/cpp/src/broker.vcproj Mon Mar 16 21:21:54 2009
@@ -24,7 +24,7 @@
ProjectType="Visual C++"
Version="9.00"
Name="broker"
- ProjectGUID="{09613D48-FECA-1BAD-9D20-8C378F43FDD9}"
+ ProjectGUID="{09613D48-FECA-1BAD-9D20-8C374564ADCF}"
RootNamespace="broker"
Keyword="Win32Proj"
SignManifests="true"
Modified: qpid/trunk/qpid/cpp/src/client.vcproj
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/client.vcproj?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/client.vcproj (original)
+++ qpid/trunk/qpid/cpp/src/client.vcproj Mon Mar 16 21:21:54 2009
@@ -24,7 +24,7 @@
ProjectType="Visual C++"
Version="9.00"
Name="client"
- ProjectGUID="{6961DBA3-FECA-1BAD-F396-8C398F43FDD9}"
+ ProjectGUID="{6961DBA3-FECA-1BAD-F396-8C394564ADCF}"
RootNamespace="client"
Keyword="Win32Proj"
SignManifests="true"
@@ -456,9 +456,6 @@
RelativePath="qpid\client\Results.cpp">
</File>
<File
- RelativePath="qpid\client\SaslFactory.cpp">
- </File>
- <File
RelativePath="qpid\client\SessionBase_0_10.cpp">
</File>
<File
@@ -482,6 +479,9 @@
<File
RelativePath="qpid\client\SubscriptionManager.cpp">
</File>
+ <File
+ RelativePath="qpid\client\windows\SaslFactory.cpp">
+ </File>
</Filter>
<Filter
Name="Header Files"
Modified: qpid/trunk/qpid/cpp/src/common.vcproj
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/common.vcproj?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/common.vcproj (original)
+++ qpid/trunk/qpid/cpp/src/common.vcproj Mon Mar 16 21:21:54 2009
@@ -24,7 +24,7 @@
ProjectType="Visual C++"
Version="9.00"
Name="common"
- ProjectGUID="{C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}"
+ ProjectGUID="{C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}"
RootNamespace="common"
Keyword="Win32Proj"
SignManifests="true"
Modified: qpid/trunk/qpid/cpp/src/qmfconsole.vcproj
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qmfconsole.vcproj?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qmfconsole.vcproj (original)
+++ qpid/trunk/qpid/cpp/src/qmfconsole.vcproj Mon Mar 16 21:21:54 2009
@@ -24,7 +24,7 @@
ProjectType="Visual C++"
Version="9.00"
Name="qmfconsole"
- ProjectGUID="{C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}"
+ ProjectGUID="{C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}"
RootNamespace="qmfconsole"
Keyword="Win32Proj"
SignManifests="true"
Modified: qpid/trunk/qpid/cpp/src/qpid.sln
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid.sln?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid.sln (original)
+++ qpid/trunk/qpid/cpp/src/qpid.sln Mon Mar 16 21:21:54 2009
@@ -8,27 +8,27 @@
#
# MPC Command:
# C:\ace\MPC\mwc.pl -type vc9 -features boost=1 qpid.mwc
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broker", "broker.vcproj", "{09613D48-FECA-1BAD-9D20-8C378F43FDD9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broker", "broker.vcproj", "{09613D48-FECA-1BAD-9D20-8C374564ADCF}"
ProjectSection(ProjectDependencies) = postProject
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9} = {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF} = {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client", "client.vcproj", "{6961DBA3-FECA-1BAD-F396-8C398F43FDD9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "client", "client.vcproj", "{6961DBA3-FECA-1BAD-F396-8C394564ADCF}"
ProjectSection(ProjectDependencies) = postProject
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9} = {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF} = {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common.vcproj", "{C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common.vcproj", "{C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qmfconsole", "qmfconsole.vcproj", "{C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qmfconsole", "qmfconsole.vcproj", "{C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}"
ProjectSection(ProjectDependencies) = postProject
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9} = {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF} = {6961DBA3-FECA-1BAD-F396-8C394564ADCF}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qpidbroker", "qpidbroker.vcproj", "{66213D3E-FECA-1BAD-9D20-8C378F43FDD9}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qpidbroker", "qpidbroker.vcproj", "{66213D3E-FECA-1BAD-9D20-8C374564ADCF}"
ProjectSection(ProjectDependencies) = postProject
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9} = {09613D48-FECA-1BAD-9D20-8C378F43FDD9}
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9} = {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF} = {09613D48-FECA-1BAD-9D20-8C374564ADCF}
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF} = {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}
EndProjectSection
EndProject
Global
@@ -39,46 +39,46 @@
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Debug|Win32.ActiveCfg = Debug|Win32
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Debug|Win32.Build.0 = Debug|Win32
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Debug|x64.ActiveCfg = Debug|x64
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Debug|x64.Build.0 = Debug|x64
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Release|Win32.ActiveCfg = Release|Win32
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Release|Win32.Build.0 = Release|Win32
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Release|x64.ActiveCfg = Release|x64
- {09613D48-FECA-1BAD-9D20-8C378F43FDD9}.Release|x64.Build.0 = Release|x64
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Debug|Win32.ActiveCfg = Debug|Win32
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Debug|Win32.Build.0 = Debug|Win32
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Debug|x64.ActiveCfg = Debug|x64
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Debug|x64.Build.0 = Debug|x64
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Release|Win32.ActiveCfg = Release|Win32
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Release|Win32.Build.0 = Release|Win32
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Release|x64.ActiveCfg = Release|x64
- {6961DBA3-FECA-1BAD-F396-8C398F43FDD9}.Release|x64.Build.0 = Release|x64
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Debug|Win32.ActiveCfg = Debug|Win32
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Debug|Win32.Build.0 = Debug|Win32
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Debug|x64.ActiveCfg = Debug|x64
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Debug|x64.Build.0 = Debug|x64
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Release|Win32.ActiveCfg = Release|Win32
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Release|Win32.Build.0 = Release|Win32
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Release|x64.ActiveCfg = Release|x64
- {C961EF23-FECA-1BAD-BB9C-8C3A8F43FDD9}.Release|x64.Build.0 = Release|x64
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Debug|Win32.ActiveCfg = Debug|Win32
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Debug|Win32.Build.0 = Debug|Win32
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Debug|x64.ActiveCfg = Debug|x64
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Debug|x64.Build.0 = Debug|x64
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Release|Win32.ActiveCfg = Release|Win32
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Release|Win32.Build.0 = Release|Win32
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Release|x64.ActiveCfg = Release|x64
- {C95DE177-FECA-1BAD-5EDC-8FFA8F43FDD9}.Release|x64.Build.0 = Release|x64
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Debug|Win32.ActiveCfg = Debug|Win32
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Debug|Win32.Build.0 = Debug|Win32
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Debug|x64.ActiveCfg = Debug|x64
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Debug|x64.Build.0 = Debug|x64
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Release|Win32.ActiveCfg = Release|Win32
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Release|Win32.Build.0 = Release|Win32
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Release|x64.ActiveCfg = Release|x64
- {66213D3E-FECA-1BAD-9D20-8C378F43FDD9}.Release|x64.Build.0 = Release|x64
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Debug|Win32.Build.0 = Debug|Win32
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Debug|x64.ActiveCfg = Debug|x64
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Debug|x64.Build.0 = Debug|x64
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Release|Win32.ActiveCfg = Release|Win32
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Release|Win32.Build.0 = Release|Win32
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Release|x64.ActiveCfg = Release|x64
+ {09613D48-FECA-1BAD-9D20-8C374564ADCF}.Release|x64.Build.0 = Release|x64
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Debug|Win32.Build.0 = Debug|Win32
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Debug|x64.ActiveCfg = Debug|x64
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Debug|x64.Build.0 = Debug|x64
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Release|Win32.ActiveCfg = Release|Win32
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Release|Win32.Build.0 = Release|Win32
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Release|x64.ActiveCfg = Release|x64
+ {6961DBA3-FECA-1BAD-F396-8C394564ADCF}.Release|x64.Build.0 = Release|x64
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Debug|Win32.Build.0 = Debug|Win32
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Debug|x64.ActiveCfg = Debug|x64
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Debug|x64.Build.0 = Debug|x64
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Release|Win32.ActiveCfg = Release|Win32
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Release|Win32.Build.0 = Release|Win32
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Release|x64.ActiveCfg = Release|x64
+ {C961EF23-FECA-1BAD-BB9C-8C3A4564ADCF}.Release|x64.Build.0 = Release|x64
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Debug|Win32.Build.0 = Debug|Win32
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Debug|x64.ActiveCfg = Debug|x64
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Debug|x64.Build.0 = Debug|x64
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Release|Win32.ActiveCfg = Release|Win32
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Release|Win32.Build.0 = Release|Win32
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Release|x64.ActiveCfg = Release|x64
+ {C95DE177-FECA-1BAD-5EDC-8FFA4564ADCF}.Release|x64.Build.0 = Release|x64
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Debug|Win32.Build.0 = Debug|Win32
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Debug|x64.ActiveCfg = Debug|x64
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Debug|x64.Build.0 = Debug|x64
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Release|Win32.ActiveCfg = Release|Win32
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Release|Win32.Build.0 = Release|Win32
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Release|x64.ActiveCfg = Release|x64
+ {66213D3E-FECA-1BAD-9D20-8C374564ADCF}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Added: qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp?rev=755008&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp (added)
+++ qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp Mon Mar 16 21:21:54 2009
@@ -0,0 +1,139 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+#include "qpid/client/SaslFactory.h"
+#include "qpid/client/ConnectionSettings.h"
+
+#include "qpid/Exception.h"
+#include "qpid/framing/reply_exceptions.h"
+#include "qpid/sys/SecurityLayer.h"
+#include "qpid/log/Statement.h"
+
+#include "boost/tokenizer.hpp"
+
+namespace qpid {
+namespace client {
+
+using qpid::sys::SecurityLayer;
+using qpid::framing::InternalErrorException;
+
+class WindowsSasl : public Sasl
+{
+ public:
+ WindowsSasl(const ConnectionSettings&);
+ ~WindowsSasl();
+ std::string start(const std::string& mechanisms);
+ std::string step(const std::string& challenge);
+ std::string getMechanism();
+ std::auto_ptr<SecurityLayer> getSecurityLayer(uint16_t maxFrameSize);
+ private:
+ ConnectionSettings settings;
+ std::string mechanism;
+};
+
+qpid::sys::Mutex SaslFactory::lock;
+std::auto_ptr<SaslFactory> SaslFactory::instance;
+
+SaslFactory::SaslFactory()
+{
+}
+
+SaslFactory::~SaslFactory()
+{
+}
+
+SaslFactory& SaslFactory::getInstance()
+{
+ qpid::sys::Mutex::ScopedLock l(lock);
+ if (!instance.get()) {
+ instance = std::auto_ptr<SaslFactory>(new SaslFactory());
+ }
+ return *instance;
+}
+
+std::auto_ptr<Sasl> SaslFactory::create(const ConnectionSettings& settings)
+{
+ std::auto_ptr<Sasl> sasl(new WindowsSasl(settings));
+ return sasl;
+}
+
+namespace {
+ const std::string ANONYMOUS = "ANONYMOUS";
+ const std::string PLAIN = "PLAIN";
+}
+
+WindowsSasl::WindowsSasl(const ConnectionSettings& s)
+ : settings(s)
+{
+}
+
+WindowsSasl::~WindowsSasl()
+{
+}
+
+std::string WindowsSasl::start(const std::string& mechanisms)
+{
+ QPID_LOG(debug, "WindowsSasl::start(" << mechanisms << ")");
+
+ typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
+ boost::char_separator<char> sep(" ");
+ bool havePlain = false;
+ bool haveAnon = false;
+ tokenizer mechs(mechanisms, sep);
+ for (tokenizer::iterator mech = mechs.begin();
+ mech != mechs.end();
+ ++mech) {
+ if (*mech == ANONYMOUS)
+ haveAnon = true;
+ else if (*mech == PLAIN)
+ havePlain = true;
+ }
+ if (!haveAnon && !havePlain)
+ throw InternalErrorException(QPID_MSG("Sasl error: no common mechanism"));
+
+ std::string resp = "";
+ if (havePlain) {
+ mechanism = PLAIN;
+ resp = ((char)0) + settings.username + ((char)0) + settings.password;
+ }
+ else {
+ mechanism = ANONYMOUS;
+ }
+ return resp;
+}
+
+std::string WindowsSasl::step(const std::string& challenge)
+{
+ // Shouldn't get this for PLAIN...
+ throw InternalErrorException(QPID_MSG("Sasl step error"));
+}
+
+std::string WindowsSasl::getMechanism()
+{
+ return mechanism;
+}
+
+std::auto_ptr<SecurityLayer> WindowsSasl::getSecurityLayer(uint16_t maxFrameSize)
+{
+ return std::auto_ptr<SecurityLayer>(0);
+}
+
+}} // namespace qpid::client
Propchange: qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: qpid/trunk/qpid/cpp/src/qpid/client/windows/SaslFactory.cpp
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: qpid/trunk/qpid/cpp/src/qpidbroker.vcproj
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpidbroker.vcproj?rev=755008&r1=755007&r2=755008&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpidbroker.vcproj (original)
+++ qpid/trunk/qpid/cpp/src/qpidbroker.vcproj Mon Mar 16 21:21:54 2009
@@ -3,7 +3,7 @@
ProjectType="Visual C++"
Version="9.00"
Name="qpidbroker"
- ProjectGUID="{66213D3E-FECA-1BAD-9D20-8C378F43FDD9}"
+ ProjectGUID="{66213D3E-FECA-1BAD-9D20-8C374564ADCF}"
RootNamespace="qpidbroker"
Keyword="Win32Proj"
SignManifests="true"
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org