Author: atsushi
Date: 2007-01-11 03:38:26 -0500 (Thu, 11 Jan 2007)
New Revision: 70837

Modified:
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/AsymmetricSecurityBindingElement.cs
   trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/MessageSecurityBindingSupport.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecureMessageGenerator.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelFactory.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelListener.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityOutputChannel.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestChannel.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestContext.cs
   
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SymmetricSecurityBindingElement.cs
Log:
2007-01-11  Atsushi Enomoto  <[EMAIL PROTECTED]>

        * MessageSecurityBindingSupport.cs : more refactoring.
          Made it abstract and added Initiator- and Recipient- classes.
          Several members were moved to those derived types.
        * AsymmetricSecurityBindingElement.cs, 
          SymmetricSecurityBindingElement.cs
          SecurityChannelFactory.cs, SecurityChannelListener.cs,
          SecurityRequestChannel.cs, SecurityOutputChannel.cs,
          SecurityRequestContext.cs, SecureMessageGenerator.cs :
          All dependent changes by above. Removed ISecurityChannelSource
          which became useless.



Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/AsymmetricSecurityBindingElement.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/AsymmetricSecurityBindingElement.cs
      2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/AsymmetricSecurityBindingElement.cs
      2007-01-11 08:38:26 UTC (rev 70837)
@@ -140,7 +140,7 @@
                                
context.BindingParameters.Find<ChannelProtectionRequirements> ();
 
                        return new SecurityChannelFactory<TChannel> (
-                               context.BuildInnerChannelFactory<TChannel> (), 
new MessageSecurityBindingSupport (this, manager, requirements));
+                               context.BuildInnerChannelFactory<TChannel> (), 
new InitiatorMessageSecurityBindingSupport (new 
AsymmetricSecurityBindingElementSupport (this), manager, requirements));
                }
 
                [MonoTODO]
@@ -165,7 +165,7 @@
                                
context.BindingParameters.Find<ChannelProtectionRequirements> ();
 
                        return new SecurityChannelListener<TChannel> (
-                               context.BuildInnerChannelListener<TChannel> (), 
new MessageSecurityBindingSupport (this, manager, requirements));
+                               context.BuildInnerChannelListener<TChannel> (), 
new RecipientMessageSecurityBindingSupport (new 
AsymmetricSecurityBindingElementSupport (this), manager, requirements));
                }
 
                public override BindingElement Clone ()

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog    
    2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog    
    2007-01-11 08:38:26 UTC (rev 70837)
@@ -1,5 +1,18 @@
 2007-01-11  Atsushi Enomoto  <[EMAIL PROTECTED]>
 
+       * MessageSecurityBindingSupport.cs : more refactoring.
+         Made it abstract and added Initiator- and Recipient- classes.
+         Several members were moved to those derived types.
+       * AsymmetricSecurityBindingElement.cs, 
+         SymmetricSecurityBindingElement.cs
+         SecurityChannelFactory.cs, SecurityChannelListener.cs,
+         SecurityRequestChannel.cs, SecurityOutputChannel.cs,
+         SecurityRequestContext.cs, SecureMessageGenerator.cs :
+         All dependent changes by above. Removed ISecurityChannelSource
+         which became useless.
+
+2007-01-11  Atsushi Enomoto  <[EMAIL PROTECTED]>
+
        * SecureMessageGenerator.cs : encryption parts should exist too.
        * AsymmetricSecurityBindingElement.cs
          SymmetricSecurityBindingElement.cs,

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/MessageSecurityBindingSupport.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/MessageSecurityBindingSupport.cs
 2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/MessageSecurityBindingSupport.cs
 2007-01-11 08:38:26 UTC (rev 70837)
@@ -66,39 +66,28 @@
                }
        }
 
-       internal class MessageSecurityBindingSupport
+       internal abstract class MessageSecurityBindingSupport
        {
                SecurityTokenManager manager;
                ChannelProtectionRequirements requirements;
                SecurityTokenSerializer serializer;
+               SecurityBindingElementSupport element_support;
 
                // only filled at prepared state.
-               SecurityToken encryption_token;
-               SecurityToken signing_token;
-               SecurityTokenAuthenticator authenticator;
-               SecurityTokenResolver auth_token_resolver;
-               ChannelFactoryBase factory; // only for client
-               ChannelListenerBase listener; // only for service
-               SecurityBindingElementSupport element_support;
+               internal SecurityToken encryption_token;
+               internal SecurityToken signing_token;
+               internal SecurityTokenAuthenticator authenticator;
+               internal SecurityTokenResolver auth_token_resolver;
 
-               public MessageSecurityBindingSupport (
-                       AsymmetricSecurityBindingElement element,
+               protected MessageSecurityBindingSupport (
+                       SecurityBindingElementSupport elementSupport,
                        SecurityTokenManager manager,
                        ChannelProtectionRequirements requirements)
                {
-                       element_support = new 
AsymmetricSecurityBindingElementSupport (element);
+                       element_support = elementSupport;
                        Initialize (manager, requirements);
                }
 
-               public MessageSecurityBindingSupport (
-                       SymmetricSecurityBindingElement element,
-                       SecurityTokenManager manager,
-                       ChannelProtectionRequirements requirements)
-               {
-                       element_support = new 
SymmetricSecurityBindingElementSupport (element);
-                       Initialize (manager, requirements);
-               }
-
                public void Initialize (SecurityTokenManager manager,
                        ChannelProtectionRequirements requirements)
                {
@@ -181,9 +170,22 @@
                {
                        return manager.CreateSecurityTokenAuthenticator 
(requirement, out resolver);
                }
+       }
 
-               public void ClientPrepare (ChannelFactoryBase factory, 
EndpointAddress address)
+       internal class InitiatorMessageSecurityBindingSupport : 
MessageSecurityBindingSupport
+       {
+               ChannelFactoryBase factory;
+
+               public InitiatorMessageSecurityBindingSupport (
+                       SecurityBindingElementSupport elementSupport,
+                       SecurityTokenManager manager,
+                       ChannelProtectionRequirements requirements)
+                       : base (elementSupport, manager, requirements)
                {
+               }
+
+               public void Prepare (ChannelFactoryBase factory, 
EndpointAddress address)
+               {
                        this.factory = factory;
 
                        SecurityTokenRequirement r = new 
RecipientServiceModelSecurityTokenRequirement ();
@@ -195,7 +197,7 @@
                        signing_token = GetSigningToken (address, 
InitiatorParameters);
                }
 
-               public void ClientRelease ()
+               public void Release ()
                {
                        authenticator = null;
 
@@ -271,36 +273,6 @@
                        }
                }
 
-               public void ServicePrepare (Uri listenUri, ChannelListenerBase 
listener)
-               {
-                       this.listener = listener;
-
-                       SecurityTokenRequirement r = new 
RecipientServiceModelSecurityTokenRequirement ();
-                       
RecipientParameters.CallInitializeSecurityTokenRequirement (r);
-
-                       authenticator = CreateTokenAuthenticator (r, out 
auth_token_resolver);
-
-                       encryption_token = GetEncryptionToken (listenUri, 
InitiatorParameters);
-                       signing_token = GetSigningToken (listenUri, 
RecipientParameters);
-               }
-
-               public void ServiceRelease ()
-               {
-                       authenticator = null;
-
-                       IDisposable disposable = signing_token as IDisposable;
-                       if (disposable != null)
-                               disposable.Dispose ();
-                       signing_token = null;
-
-                       disposable = encryption_token as IDisposable;
-                       if (disposable != null)
-                               disposable.Dispose ();
-                       encryption_token = null;
-
-                       this.listener = null;
-               }
-
                public SupportingTokenInfoCollection 
CollectInitiatorSupportingTokens (
                        string action,
                        EndpointAddress to)
@@ -335,7 +307,50 @@
                        foreach (SecurityTokenParameters p in s.SignedEncrypted)
                                l.Add (new SupportingTokenInfo 
(GetEncryptionToken (to, p), SecurityTokenAttachmentMode.SignedEncrypted, 
required));
                }
+       }
 
+       class RecipientMessageSecurityBindingSupport : 
MessageSecurityBindingSupport
+       {
+               ChannelListenerBase listener;
+
+               public RecipientMessageSecurityBindingSupport (
+                       SecurityBindingElementSupport elementSupport,
+                       SecurityTokenManager manager,
+                       ChannelProtectionRequirements requirements)
+                       : base (elementSupport, manager, requirements)
+               {
+               }
+
+               public void Prepare (Uri listenUri, ChannelListenerBase 
listener)
+               {
+                       this.listener = listener;
+
+                       SecurityTokenRequirement r = new 
RecipientServiceModelSecurityTokenRequirement ();
+                       
RecipientParameters.CallInitializeSecurityTokenRequirement (r);
+
+                       authenticator = CreateTokenAuthenticator (r, out 
auth_token_resolver);
+
+                       encryption_token = GetEncryptionToken (listenUri, 
InitiatorParameters);
+                       signing_token = GetSigningToken (listenUri, 
RecipientParameters);
+               }
+
+               public void Release ()
+               {
+                       authenticator = null;
+
+                       IDisposable disposable = signing_token as IDisposable;
+                       if (disposable != null)
+                               disposable.Dispose ();
+                       signing_token = null;
+
+                       disposable = encryption_token as IDisposable;
+                       if (disposable != null)
+                               disposable.Dispose ();
+                       encryption_token = null;
+
+                       this.listener = null;
+               }
+
                public SupportingTokenInfoCollection 
CollectRecipientSupportingTokens (
                        string action,
                        Uri listenUri)

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecureMessageGenerator.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecureMessageGenerator.cs
        2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecureMessageGenerator.cs
        2007-01-11 08:38:26 UTC (rev 70837)
@@ -52,18 +52,11 @@
        internal class InitiatorMessageSecurityGenerator : 
MessageSecurityGenerator
        {
                EndpointAddress message_to;
+               InitiatorMessageSecurityBindingSupport security;
 
                public InitiatorMessageSecurityGenerator (
                        Message msg,
-                       ISecurityChannelSource securitySource,
-                       EndpointAddress remoteAddress)
-                       : this (msg, securitySource.Support, remoteAddress)
-               {
-               }
-
-               public InitiatorMessageSecurityGenerator (
-                       Message msg,
-                       MessageSecurityBindingSupport security,
+                       InitiatorMessageSecurityBindingSupport security,
                        EndpointAddress messageTo)
                        : base (msg, security)
                {
@@ -72,6 +65,7 @@
                        if 
(!security.InitiatorParameters.InternalHasAsymmetricKey)
                                throw new InvalidOperationException ("Wrong 
security token parameters: it must have an asymmetric key (HasAsymmetricKey). 
There is likely a misconfiguration in the custom security binding element.");
 
+                       this.security = security;
                        this.message_to = messageTo;
                }
 
@@ -107,20 +101,22 @@
 
                public override SupportingTokenInfoCollection 
CollectInitiatorSupportingTokens ()
                {
-                       return Security.CollectInitiatorSupportingTokens 
(GetAction (), MessageTo);
+                       return security.CollectInitiatorSupportingTokens 
(GetAction (), MessageTo);
                }
        }
 
        internal class RecipientMessageSecurityGenerator : 
MessageSecurityGenerator
        {
+               RecipientMessageSecurityBindingSupport security;
                Uri listen_uri;
 
                public RecipientMessageSecurityGenerator (
                        Message msg,
-                       MessageSecurityBindingSupport security,
+                       RecipientMessageSecurityBindingSupport security,
                        Uri listenUri)
                        : base (msg, security)
                {
+                       this.security = security;
                        this.listen_uri = listenUri;
                }
 
@@ -156,7 +152,7 @@
 
                public override SupportingTokenInfoCollection 
CollectInitiatorSupportingTokens ()
                {
-                       return Security.CollectRecipientSupportingTokens 
(GetAction (), listen_uri);
+                       return security.CollectRecipientSupportingTokens 
(GetAction (), listen_uri);
                }
        }
 

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelFactory.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelFactory.cs
        2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelFactory.cs
        2007-01-11 08:38:26 UTC (rev 70837)
@@ -50,17 +50,17 @@
        internal class SecurityChannelFactory<TChannel> : 
ChannelFactoryBase<TChannel>
        {
                IChannelFactory<TChannel> inner;
-               MessageSecurityBindingSupport security;
+               InitiatorMessageSecurityBindingSupport security;
 
                public SecurityChannelFactory (
                        IChannelFactory<TChannel> innerFactory, 
-                       MessageSecurityBindingSupport security)
+                       InitiatorMessageSecurityBindingSupport security)
                {
                        this.inner = innerFactory;
                        this.security = security;
                }
 
-               public MessageSecurityBindingSupport SecuritySupport {
+               public InitiatorMessageSecurityBindingSupport SecuritySupport {
                        get { return security; }
                }
 

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelListener.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelListener.cs
       2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityChannelListener.cs
       2007-01-11 08:38:26 UTC (rev 70837)
@@ -42,17 +42,17 @@
                  where TChannel : class, IChannel
        {
                IChannelListener<TChannel> inner;
-               MessageSecurityBindingSupport security;
+               RecipientMessageSecurityBindingSupport security;
 
                public SecurityChannelListener (
                        IChannelListener<TChannel> innerListener, 
-                       MessageSecurityBindingSupport security)
+                       RecipientMessageSecurityBindingSupport security)
                {
                        inner = innerListener;
                        this.security = security;
                }
 
-               public MessageSecurityBindingSupport SecuritySupport {
+               public RecipientMessageSecurityBindingSupport SecuritySupport {
                        get { return security; }
                }
 
@@ -65,12 +65,12 @@
 
                void AcquireTokens ()
                {
-                       security.ServicePrepare (inner.Uri, this);
+                       security.Prepare (inner.Uri, this);
                }
 
                void ReleaseTokens ()
                {
-                       security.ServiceRelease ();
+                       security.Release ();
                }
 
                // ChannelListenerBase

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityOutputChannel.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityOutputChannel.cs
 2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityOutputChannel.cs
 2007-01-11 08:38:26 UTC (rev 70837)
@@ -47,7 +47,7 @@
 
 namespace System.ServiceModel.Channels
 {
-       class SecurityOutputChannel : SecurityOutputChannelBase, 
ISecurityChannelSource
+       class SecurityOutputChannel : SecurityOutputChannelBase
        {
                SecurityChannelFactory<IOutputChannel> source;
 
@@ -55,19 +55,15 @@
                        : base (innerChannel)
                {
                        this.source = source;
-                       InitializeSecurityFunctionality (this);
+                       InitializeSecurityFunctionality 
(source.SecuritySupport);
                }
 
                public override ChannelFactoryBase Factory {
                        get { return source; }
                }
-
-               public MessageSecurityBindingSupport Support {
-                       get { return source.SecuritySupport; }
-               }
        }
 
-       class SecurityOutputSessionChannel : SecurityOutputChannelBase, 
ISecurityChannelSource
+       class SecurityOutputSessionChannel : SecurityOutputChannelBase
        {
                SecurityChannelFactory<IOutputSessionChannel> source;
 
@@ -75,21 +71,17 @@
                        : base (innerChannel)
                {
                        this.source = source;
-                       InitializeSecurityFunctionality (this);
+                       InitializeSecurityFunctionality 
(source.SecuritySupport);
                }
 
                public override ChannelFactoryBase Factory {
                        get { return source; }
                }
-
-               public MessageSecurityBindingSupport Support {
-                       get { return source.SecuritySupport; }
-               }
        }
 
        abstract class SecurityOutputChannelBase : LayeredOutputChannel
        {
-               ISecurityChannelSource security;
+               InitiatorMessageSecurityBindingSupport security;
 
                protected SecurityOutputChannelBase (IOutputChannel 
innerChannel)
                        : base (innerChannel)
@@ -98,9 +90,9 @@
                        Closing += new EventHandler (ReleaseSecurityKey);
                }
 
-               protected void InitializeSecurityFunctionality 
(ISecurityChannelSource source)
+               protected void InitializeSecurityFunctionality 
(InitiatorMessageSecurityBindingSupport security)
                {
-                       this.security = source;
+                       this.security = security;
                }
 
                protected override IAsyncResult OnBeginSend (Message message, 
TimeSpan timeout, AsyncCallback callback, object state)
@@ -128,12 +120,12 @@
 
                void AcquireSecurityKey (object o, EventArgs e)
                {
-                       security.Support.ClientPrepare (Factory, RemoteAddress);
+                       security.Prepare (Factory, RemoteAddress);
                }
 
                void ReleaseSecurityKey (object o, EventArgs e)
                {
-                       security.Support.ClientRelease ();
+                       security.Release ();
                }
        }
 }

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestChannel.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestChannel.cs
        2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestChannel.cs
        2007-01-11 08:38:26 UTC (rev 70837)
@@ -52,7 +52,7 @@
                MessageSecurityBindingSupport Support { get; }
        }
 
-       class SecurityRequestChannel : SecurityRequestChannelBase, 
ISecurityChannelSource
+       class SecurityRequestChannel : SecurityRequestChannelBase
        {
                SecurityChannelFactory<IRequestChannel> source;
 
@@ -60,19 +60,15 @@
                        : base (innerChannel)
                {
                        this.source = source;
-                       InitializeSecurityFunctionality (this);
+                       InitializeSecurityFunctionality 
(source.SecuritySupport);
                }
 
                public override ChannelFactoryBase Factory {
                        get { return source; }
                }
-
-               public MessageSecurityBindingSupport Support {
-                       get { return source.SecuritySupport; }
-               }
        }
 
-       class SecurityRequestSessionChannel : SecurityRequestChannelBase, 
ISecurityChannelSource
+       class SecurityRequestSessionChannel : SecurityRequestChannelBase
        {
                SecurityChannelFactory<IRequestSessionChannel> source;
 
@@ -80,21 +76,17 @@
                        : base (innerChannel)
                {
                        this.source = source;
-                       InitializeSecurityFunctionality (this);
+                       InitializeSecurityFunctionality 
(source.SecuritySupport);
                }
 
                public override ChannelFactoryBase Factory {
                        get { return source; }
                }
-
-               public MessageSecurityBindingSupport Support {
-                       get { return source.SecuritySupport; }
-               }
        }
 
        abstract class SecurityRequestChannelBase : LayeredRequestChannel
        {
-               ISecurityChannelSource security;
+               InitiatorMessageSecurityBindingSupport security;
 
                protected SecurityRequestChannelBase (IRequestChannel 
innerChannel)
                        : base (innerChannel)
@@ -103,9 +95,9 @@
                        Closing += new EventHandler (ReleaseSecurityKey);
                }
 
-               protected void InitializeSecurityFunctionality 
(ISecurityChannelSource source)
+               protected void InitializeSecurityFunctionality 
(InitiatorMessageSecurityBindingSupport security)
                {
-                       this.security = source;
+                       this.security = security;
                }
 
                protected override IAsyncResult OnBeginRequest (Message 
message, TimeSpan timeout, AsyncCallback callback, object state)
@@ -137,17 +129,17 @@
                {
                        // FIXME: provide correct parameters
                        return MessageSecurityUtility.DecryptMessage (
-                               message, security.Support);
+                               message, security);
                }
 
                void AcquireSecurityKey (object o, EventArgs e)
                {
-                       security.Support.ClientPrepare (Factory, RemoteAddress);
+                       security.Prepare (Factory, RemoteAddress);
                }
 
                void ReleaseSecurityKey (object o, EventArgs e)
                {
-                       security.Support.ClientRelease ();
+                       security.Release ();
                }
        }
 }

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestContext.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestContext.cs
        2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SecurityRequestContext.cs
        2007-01-11 08:38:26 UTC (rev 70837)
@@ -45,7 +45,7 @@
 {
        internal class SecurityRequestContext : RequestContext
        {
-               MessageSecurityBindingSupport security;
+               RecipientMessageSecurityBindingSupport security;
                SecurityReplyChannel channel;
                RequestContext source;
                Message msg;

Modified: 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SymmetricSecurityBindingElement.cs
===================================================================
--- 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SymmetricSecurityBindingElement.cs
       2007-01-11 07:59:44 UTC (rev 70836)
+++ 
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/SymmetricSecurityBindingElement.cs
       2007-01-11 08:38:26 UTC (rev 70837)
@@ -118,7 +118,7 @@
                                
context.BindingParameters.Find<ChannelProtectionRequirements> ();
 
                        return new SecurityChannelFactory<TChannel> (
-                               context.BuildInnerChannelFactory<TChannel> (), 
new MessageSecurityBindingSupport (this, manager, requirements));
+                               context.BuildInnerChannelFactory<TChannel> (), 
new InitiatorMessageSecurityBindingSupport (new 
SymmetricSecurityBindingElementSupport (this), manager, requirements));
                }
 
                [MonoTODO]
@@ -140,7 +140,7 @@
                                
context.BindingParameters.Find<ChannelProtectionRequirements> ();
 
                        return new SecurityChannelListener<TChannel> (
-                               context.BuildInnerChannelListener<TChannel> (), 
new MessageSecurityBindingSupport (this, manager, requirements));
+                               context.BuildInnerChannelListener<TChannel> (), 
new RecipientMessageSecurityBindingSupport (new 
SymmetricSecurityBindingElementSupport (this), manager, requirements));
                }
 
                public override BindingElement Clone ()

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to