SMBServer: Moved socket parameters to the Start method

This commit is contained in:
Tal Aloni 2017-03-04 11:09:33 +02:00
parent c93bb66152
commit f4fa70a280
2 changed files with 17 additions and 18 deletions

View file

@ -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<LogEntry> 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);
}
/// <exception cref="System.Net.Sockets.SocketException"></exception>
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);

View file

@ -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<LogEntry>(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))