private void TestIt() { try { if (comboBoxSelectAlternative.SelectedIndex >= 0 && comboBoxSelectAlternative.SelectedIndex < m_Configuration.Count) { ConfigurationAlternative alternative = m_Configuration[comboBoxSelectAlternative.SelectedIndex]; TFTPServer.ConfigurationAlternative filter = alternative.IsRegularExpression ? TFTPServer.ConfigurationAlternative.CreateRegex(alternative.Filter) : TFTPServer.ConfigurationAlternative.CreateWildcard(alternative.Filter); if (filter.Match(textBoxTestString.Text)) { buttonMatchResult.Text = "Match!"; buttonMatchResult.BackColor = Color.LightGreen; } else { buttonMatchResult.Text = "Does not match"; buttonMatchResult.BackColor = Color.Red; } } else { buttonMatchResult.Text = ""; buttonMatchResult.BackColor = SystemColors.Control; } } catch (Exception e) { buttonMatchResult.Text = "Invalid filter"; buttonMatchResult.BackColor = Color.Red; } }
private void Resurrect() { lock (m_Lock) { if (!m_Disposed) { try { m_Server = new TFTPServer(); m_Server.Name = m_Config.Name; m_Server.EndPoint = m_Config.EndPoint; m_Server.SinglePort = m_Config.SinglePort; m_Server.Ttl = (short)m_Config.Ttl; m_Server.DontFragment = m_Config.DontFragment; m_Server.RootPath = m_Config.RootPath; m_Server.AutoCreateDirectories = m_Config.AutoCreateDirectories; m_Server.AllowRead = m_Config.AllowRead; m_Server.AllowWrite = m_Config.AllowWrite; m_Server.ResponseTimeout = m_Config.Timeout; m_Server.Retries = m_Config.Retries; m_Server.ConvertPathSeparator = m_Config.ConvertPathSeparator; m_Server.WindowSize = m_Config.WindowSize; foreach (var alt in m_Config.Alternatives) { TFTPServer.ConfigurationAlternative tftpAlt = alt.IsRegularExpression ? TFTPServer.ConfigurationAlternative.CreateRegex(alt.Filter) : TFTPServer.ConfigurationAlternative.CreateWildcard(alt.Filter); tftpAlt.WindowSize = alt.WindowSize; m_Server.ConfigurationAlternatives.Add(tftpAlt); } m_Server.OnStatusChange += server_OnStatusChange; m_Server.OnTrace += server_OnTrace; m_Server.Start(); } catch (Exception) { CleanupAndRetry(); } } } }