From f4fa70a2803a735a8315d7c56da352dba0bc082e Mon Sep 17 00:00:00 2001 From: Tal Aloni Date: Sat, 4 Mar 2017 11:09:33 +0200 Subject: [PATCH] SMBServer: Moved socket parameters to the Start method --- SMBLibrary/Server/SMBServer.cs | 30 +++++++++++++++--------------- SMBServer/ServerUI.cs | 5 ++--- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/SMBLibrary/Server/SMBServer.cs b/SMBLibrary/Server/SMBServer.cs index 717fa99..d2178ac 100644 --- a/SMBLibrary/Server/SMBServer.cs +++ b/SMBLibrary/Server/SMBServer.cs @@ -27,43 +27,43 @@ namespace SMBLibrary.Server private ShareCollection m_shares; // e.g. Shared folders private GSSProvider m_securityProvider; private NamedPipeShare m_services; // Named pipes + private Guid m_serverGuid; + private IPAddress m_serverAddress; private SMBTransportType m_transport; private bool m_enableSMB1; private bool m_enableSMB2; - private Socket m_listenerSocket; private bool m_listening; - private Guid m_serverGuid; private DateTime m_serverStartTime; public event EventHandler OnLogEntry; - public SMBServer(ShareCollection shares, GSSProvider securityProvider, IPAddress serverAddress, SMBTransportType transport) : this(shares, securityProvider, serverAddress, transport, true, true) - { - } - - public SMBServer(ShareCollection shares, GSSProvider securityProvider, IPAddress serverAddress, SMBTransportType transport, bool enableSMB1, bool enableSMB2) + public SMBServer(ShareCollection shares, GSSProvider securityProvider) { m_shares = shares; m_securityProvider = securityProvider; - m_serverAddress = serverAddress; - m_serverGuid = Guid.NewGuid(); - m_serverStartTime = DateTime.Now; - m_transport = transport; - m_enableSMB1 = enableSMB1; - m_enableSMB2 = enableSMB2; - m_services = new NamedPipeShare(shares.ListShares()); + m_serverGuid = Guid.NewGuid(); + } + + public void Start(IPAddress serverAddress, SMBTransportType transport) + { + Start(serverAddress, transport, true, true); } /// - public void Start() + public void Start(IPAddress serverAddress, SMBTransportType transport, bool enableSMB1, bool enableSMB2) { if (!m_listening) { Log(Severity.Information, "Starting server"); + m_serverAddress = serverAddress; + m_transport = transport; + m_enableSMB1 = enableSMB1; + m_enableSMB2 = enableSMB2; m_listening = true; + m_serverStartTime = DateTime.Now; m_listenerSocket = new Socket(m_serverAddress.AddressFamily, SocketType.Stream, ProtocolType.Tcp); int port = (m_transport == SMBTransportType.DirectTCPTransport ? DirectTCPPort : NetBiosOverTCPPort); diff --git a/SMBServer/ServerUI.cs b/SMBServer/ServerUI.cs index f11f784..97768ae 100644 --- a/SMBServer/ServerUI.cs +++ b/SMBServer/ServerUI.cs @@ -84,7 +84,6 @@ namespace SMBServer authenticationMechanism = new IndependentNTLMAuthenticationProvider(users.GetUserPassword); } - ShareCollection shares; try { @@ -97,12 +96,12 @@ namespace SMBServer } GSSProvider securityProvider = new GSSProvider(authenticationMechanism); - m_server = new SMBLibrary.Server.SMBServer(shares, securityProvider, serverAddress, transportType, chkSMB1.Checked, chkSMB2.Checked); + m_server = new SMBLibrary.Server.SMBServer(shares, securityProvider); m_server.OnLogEntry += new EventHandler(Server_OnLogEntry); try { - m_server.Start(); + m_server.Start(serverAddress, transportType, chkSMB1.Checked, chkSMB2.Checked); if (transportType == SMBTransportType.NetBiosOverTCP) { if (serverAddress.AddressFamily == AddressFamily.InterNetwork && !IPAddress.Equals(serverAddress, IPAddress.Any))