You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ar...@apache.org on 2008/09/26 13:12:43 UTC
svn commit: r699274 - in
/incubator/qpid/trunk/qpid/dotnet/client-010/client: client/Client.cs
client/ClientConnectionDelegate.cs transport/ConnectionDelegate.cs
Author: arnaudsimon
Date: Fri Sep 26 04:12:43 2008
New Revision: 699274
URL: http://svn.apache.org/viewvc?rev=699274&view=rev
Log:
qpid-1277: Implemented SASSL PLAIN authentication
Modified:
incubator/qpid/trunk/qpid/dotnet/client-010/client/client/Client.cs
incubator/qpid/trunk/qpid/dotnet/client-010/client/client/ClientConnectionDelegate.cs
incubator/qpid/trunk/qpid/dotnet/client-010/client/transport/ConnectionDelegate.cs
Modified: incubator/qpid/trunk/qpid/dotnet/client-010/client/client/Client.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/client-010/client/client/Client.cs?rev=699274&r1=699273&r2=699274&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/client-010/client/client/Client.cs (original)
+++ incubator/qpid/trunk/qpid/dotnet/client-010/client/client/Client.cs Fri Sep 26 04:12:43 2008
@@ -57,7 +57,7 @@
{
_log.debug(String.Format("Client Connecting to host {0}; port {1}; virtualHost {2}; username {3}", host,
port, virtualHost, username));
- ConnectionDelegate connectionDelegate = new ClientConnectionDelegate(this);
+ ConnectionDelegate connectionDelegate = new ClientConnectionDelegate(this, username, password);
ManualResetEvent negotiationComplete = new ManualResetEvent(false);
connectionDelegate.setCondition(negotiationComplete);
connectionDelegate.VirtualHost = virtualHost;
Modified: incubator/qpid/trunk/qpid/dotnet/client-010/client/client/ClientConnectionDelegate.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/client-010/client/client/ClientConnectionDelegate.cs?rev=699274&r1=699273&r2=699274&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/client-010/client/client/ClientConnectionDelegate.cs (original)
+++ incubator/qpid/trunk/qpid/dotnet/client-010/client/client/ClientConnectionDelegate.cs Fri Sep 26 04:12:43 2008
@@ -18,6 +18,9 @@
*/
using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
using System.Threading;
using org.apache.qpid.transport;
using org.apache.qpid.transport.util;
@@ -28,10 +31,14 @@
{
private static readonly Logger log = Logger.get(typeof (ClientConnectionDelegate));
private readonly Client _client;
+ private string _username;
+ private string _password;
- public ClientConnectionDelegate(Client client)
+ public ClientConnectionDelegate(Client client, string username, string pasword)
{
_client = client;
+ _username = username;
+ _password = pasword;
}
public override SessionDelegate getSessionDelegate()
@@ -44,6 +51,20 @@
throw t;
}
+ public override void connectionStart(Channel context, ConnectionStart mystruct)
+ {
+ const string mechanism = "PLAIN";
+ MemoryStream stResponse = new MemoryStream();
+ byte[] part = Encoding.UTF8.GetBytes(_username);
+ stResponse.WriteByte(0);
+ stResponse.Write(part, 0, part.Length);
+ stResponse.WriteByte(0);
+ part = Encoding.UTF8.GetBytes(_password);
+ stResponse.Write(part, 0, part.Length);
+ Dictionary<String, Object> props = new Dictionary<String, Object>();
+ context.connectionStartOk(props, mechanism, stResponse.ToArray(), "utf8");
+ }
+
public override void closed()
{
log.debug("Delegate closed");
@@ -61,7 +82,7 @@
}
}
- public new void connectionClose(Channel context, ConnectionClose connectionClose)
+ public override void connectionClose(Channel context, ConnectionClose connectionClose)
{
base.connectionClose(context, connectionClose);
ErrorCode errorCode = ErrorCode.getErrorCode((int) connectionClose.getReplyCode());
Modified: incubator/qpid/trunk/qpid/dotnet/client-010/client/transport/ConnectionDelegate.cs
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/dotnet/client-010/client/transport/ConnectionDelegate.cs?rev=699274&r1=699273&r2=699274&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/dotnet/client-010/client/transport/ConnectionDelegate.cs (original)
+++ incubator/qpid/trunk/qpid/dotnet/client-010/client/transport/ConnectionDelegate.cs Fri Sep 26 04:12:43 2008
@@ -68,8 +68,7 @@
// Client side
//-----------------------------------------------
public override void connectionStart(Channel context, ConnectionStart mstruct)
- {
- // todo SASL
+ {
Dictionary<String, Object> props = new Dictionary<String, Object>();
context.connectionStartOk(props, null, null, "utf8");
}