Revision: 82
http://svn.sourceforge.net/nmailserver/?rev=82&view=rev
Author: tmyroadctfig
Date: 2006-11-11 01:38:54 -0800 (Sat, 11 Nov 2006)
Log Message:
-----------
Work on TCP remoting security.
Modified Paths:
--------------
NMail/branches/luke-dev/NMail.Administration.Web/Global.asax
NMail/branches/luke-dev/NMail.Administration.Web/Login.aspx.cs
NMail/branches/luke-dev/NMail.Server/NMail.Server.csproj
NMail/branches/luke-dev/NMail.Server/RemoteAdministration.cs
Modified: NMail/branches/luke-dev/NMail.Administration.Web/Global.asax
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/Global.asax 2006-11-11 09:37:34 UTC (rev 81)
+++ NMail/branches/luke-dev/NMail.Administration.Web/Global.asax 2006-11-11 09:38:54 UTC (rev 82)
@@ -4,6 +4,9 @@
void Application_Start(object sender, EventArgs e)
{
+ Hashtable properties = new Hashtable();
+ properties.Add("secure", true);
+ System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(new System.Runtime.Remoting.Channels.Tcp.TcpClientChannel(properties, null), false);
}
void Application_End(object sender, EventArgs e)
Modified: NMail/branches/luke-dev/NMail.Administration.Web/Login.aspx.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Administration.Web/Login.aspx.cs 2006-11-11 09:37:34 UTC (rev 81)
+++ NMail/branches/luke-dev/NMail.Administration.Web/Login.aspx.cs 2006-11-11 09:38:54 UTC (rev 82)
@@ -5,6 +5,7 @@
using System.Net.Security;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
+using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Lifetime;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
@@ -28,7 +29,7 @@
protected void Login_Authenticate(object sender, AuthenticateEventArgs e)
{
System.Web.UI.WebControls.Login login = (System.Web.UI.WebControls.Login)this.LoginView.FindControl("Login");
-
+
RemoteAdministration ra = (RemoteAdministration)Activator.GetObject(typeof(RemoteAdministration), "tcp://localhost:7877/RemoteAdministration.rem");
IAuthenticationToken authToken = ra.NMailServer.AuthenticationProvider.Authenticate(login.UserName, login.Password);
Modified: NMail/branches/luke-dev/NMail.Server/NMail.Server.csproj
===================================================================
--- NMail/branches/luke-dev/NMail.Server/NMail.Server.csproj 2006-11-11 09:37:34 UTC (rev 81)
+++ NMail/branches/luke-dev/NMail.Server/NMail.Server.csproj 2006-11-11 09:38:54 UTC (rev 82)
@@ -108,6 +108,7 @@
<Compile Include="NMailServer.cs">
<SubType>Code</SubType>
</Compile>
+ <Compile Include="RemoteAdminAuthorisation.cs" />
<Compile Include="RemoteAdministration.cs">
<SubType>Code</SubType>
</Compile>
Modified: NMail/branches/luke-dev/NMail.Server/RemoteAdministration.cs
===================================================================
--- NMail/branches/luke-dev/NMail.Server/RemoteAdministration.cs 2006-11-11 09:37:34 UTC (rev 81)
+++ NMail/branches/luke-dev/NMail.Server/RemoteAdministration.cs 2006-11-11 09:38:54 UTC (rev 82)
@@ -49,7 +49,7 @@
}
}
- private static TcpChannel channel;
+ private static TcpServerChannel channel;
public static void ShutdownChannel() {
if (channel != null) {
@@ -70,7 +70,8 @@
// Setup the remoting channel
IDictionary props = new Hashtable();
props["port"] = "7877";
- channel = new TcpChannel(props, null, provider);
+ props["secure"] = true;
+ channel = new TcpServerChannel(props, provider, new RemoteAdminAuthorisation());
ChannelServices.RegisterChannel(channel, false);
// Register our remote administration interface
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|