Пример #1
0
        /*
         * Method called once per run, used to check log paths to
         * clean up any old logs.  Called from MainWindow.cs - Load().
         *
         * Logs are retained for however long the user requests (default is 5 days)
         */
        public static void cleanLogs()
        {
            if (OptionsDisplay.gSettings == null)
            {
                OptionsDisplay.LoadGeneralConfig();
            }

            try
            {
                //
                // first clean up the /Log/ folder
                //
                string folder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                folder = folder + Path.DirectorySeparatorChar + "firebwall";
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                folder = folder + Path.DirectorySeparatorChar + "Log";
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                string filepath = folder;

                if (Directory.Exists(filepath))
                {
                    // grab all the logs in the directory
                    string[] files = Directory.GetFiles(filepath);

                    // iterate through them all looking for any that are old (>5)
                    foreach (string s in files)
                    {
                        // grab the log date from file path name and
                        // convert to DateTime for day check
                        string logdate = s.Substring(s.LastIndexOf("_") + 1,
                                                     (s.LastIndexOf(".") - s.LastIndexOf("_")) - 1);

                        DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
                        dtfi.ShortDatePattern = "MM-dd-yyyy";
                        dtfi.DateSeparator    = "-";
                        DateTime logDate = Convert.ToDateTime(logdate, dtfi);

                        // if it's old, get rid of it
                        if ((DateTime.Now - logDate).Days > OptionsDisplay.gSettings.max_logs)
                        {
                            if (isFileLocked(new FileInfo(s)))
                            {
                                continue;
                            }

                            File.Delete(s);
                        }
                    }
                }

                //
                // Now clean up the pcap logs folder
                //
                folder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
                folder = folder + Path.DirectorySeparatorChar + "firebwall";
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                folder = folder + Path.DirectorySeparatorChar + "pcapLogs";
                if (!Directory.Exists(folder))
                {
                    Directory.CreateDirectory(folder);
                }
                filepath = folder;

                if (Directory.Exists(filepath))
                {
                    string[] files = Directory.GetFiles(filepath);

                    if (files.Length > OptionsDisplay.gSettings.max_pcap_logs)
                    {
                        // hack off the number of files found in Settings (default should be 25), starting
                        // from the oldest
                        for (int i = 0; i < (files.Length - OptionsDisplay.gSettings.max_pcap_logs); ++i)
                        {
                            // if it's not accessible, skip it for next time
                            if (isFileLocked(new FileInfo(files[i])))
                            {
                                continue;
                            }

                            File.Delete(files[i]);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                LogCenter.WriteErrorLog(e);
            }
        }
Пример #2
0
			private void MainWindow_Load(object sender, EventArgs e) 
            {
                ColorScheme.SetColorScheme(this);
                //optionsTab.ItemSize = new Size((this.Width / 4) - 6, optionsTab.ItemSize.Height);
                System.Reflection.Assembly target = System.Reflection.Assembly.GetExecutingAssembly();
                this.Icon = new System.Drawing.Icon(target.GetManifestResourceStream("PassThru.Resources.newIcon.ico"));
                LogCenter.ti = new TrayIcon();
                Program.uc = new UpdateChecker();
                Program.uc.Updater();
                PassThru.Tabs.DownloadCenter.Instance.Width = 800;
                PassThru.Tabs.DownloadCenter.Instance.Height = 600;
                PassThru.Tabs.DownloadCenter.Instance.Show();
                PassThru.Tabs.DownloadCenter.Instance.Hide();
                // call the log purger
                LogCenter.cleanLogs();

                log = new Tabs.LogDisplay();
                log.Dock = DockStyle.Fill;
                ColorScheme.SetColorScheme(log);
                LogCenter.PushLogEvent += new LogCenter.NewLogEvent(log.Instance_PushLogEvent);
                splitContainer1.Panel2.Controls.Add(log);

                // load up the adapter control handler
				ac = new AdapterControl();
                ColorScheme.SetColorScheme(ac);
				ac.Dock = DockStyle.Fill;
				//tabPage3.Controls.Add(ac);

                // load up the options tab handler
                od = new OptionsDisplay();
                ColorScheme.SetColorScheme(od);
                od.Dock = DockStyle.Fill;
                //tabPage2.Controls.Add(od);

                // load up the options tab handler
                help = new Help();
                ColorScheme.SetColorScheme(help);
                help.Dock = DockStyle.Fill;
                //tabPage4.Controls.Add(help);

                ColorScheme.ThemeChanged += new System.Threading.ThreadStart(ColorScheme_ThemeChanged);

                switch (LanguageConfig.GetCurrentLanguage())
                {
                    case LanguageConfig.Language.NONE:
                    case LanguageConfig.Language.ENGLISH:
                        tabPage1.Text = "Log";
                        tabPage2.Text = "Options";
                        tabPage3.Text = "Adapters";
                        break;
                    case LanguageConfig.Language.CHINESE:
                        tabPage1.Text = "登录";
                        tabPage2.Text = "选项";
                        tabPage3.Text = "适配器";
                        break;
                    case LanguageConfig.Language.GERMAN:
                        tabPage1.Text = "Log";
                        tabPage2.Text = "Optionen";
                        tabPage3.Text = "Adapter";
                        break;
                    case LanguageConfig.Language.RUSSIAN:
                        tabPage1.Text = "журнал";
                        tabPage2.Text = "опции";
                        tabPage3.Text = "Адаптеры";
                        break;
                    case LanguageConfig.Language.SPANISH:
                        tabPage1.Text = "log";
                        tabPage2.Text = "opciones";
                        tabPage3.Text = "adaptadores";
                        break;
                    case LanguageConfig.Language.PORTUGUESE:
                        tabPage1.Text = "Entrar";
                        tabPage2.Text = "opções";
                        tabPage3.Text = "adaptadores";
                        break;
                }
                MainWindow_Resize(null, null);
                if (TrayIcon.StartMinimized)
                {
                    this.WindowState = FormWindowState.Minimized;
                }
                ColorScheme_ThemeChanged();
			}
Пример #3
0
        private void MainWindow_Load(object sender, EventArgs e)
        {
            ColorScheme.SetColorScheme(this);
            //optionsTab.ItemSize = new Size((this.Width / 4) - 6, optionsTab.ItemSize.Height);
            System.Reflection.Assembly target = System.Reflection.Assembly.GetExecutingAssembly();
            this.Icon    = new System.Drawing.Icon(target.GetManifestResourceStream("PassThru.Resources.newIcon.ico"));
            LogCenter.ti = new TrayIcon();
            Program.uc   = new UpdateChecker();
            Program.uc.Updater();
            PassThru.Tabs.DownloadCenter.Instance.Width  = 800;
            PassThru.Tabs.DownloadCenter.Instance.Height = 600;
            PassThru.Tabs.DownloadCenter.Instance.Show();
            PassThru.Tabs.DownloadCenter.Instance.Hide();
            // call the log purger
            LogCenter.cleanLogs();

            log      = new Tabs.LogDisplay();
            log.Dock = DockStyle.Fill;
            ColorScheme.SetColorScheme(log);
            LogCenter.PushLogEvent += new LogCenter.NewLogEvent(log.Instance_PushLogEvent);
            splitContainer1.Panel2.Controls.Add(log);

            // load up the adapter control handler
            ac = new AdapterControl();
            ColorScheme.SetColorScheme(ac);
            ac.Dock = DockStyle.Fill;
            //tabPage3.Controls.Add(ac);

            // load up the options tab handler
            od = new OptionsDisplay();
            ColorScheme.SetColorScheme(od);
            od.Dock = DockStyle.Fill;
            //tabPage2.Controls.Add(od);

            // load up the options tab handler
            help = new Help();
            ColorScheme.SetColorScheme(help);
            help.Dock = DockStyle.Fill;
            //tabPage4.Controls.Add(help);

            ColorScheme.ThemeChanged += new System.Threading.ThreadStart(ColorScheme_ThemeChanged);

            switch (LanguageConfig.GetCurrentLanguage())
            {
            case LanguageConfig.Language.NONE:
            case LanguageConfig.Language.ENGLISH:
                tabPage1.Text = "Log";
                tabPage2.Text = "Options";
                tabPage3.Text = "Adapters";
                break;

            case LanguageConfig.Language.CHINESE:
                tabPage1.Text = "登录";
                tabPage2.Text = "选项";
                tabPage3.Text = "适配器";
                break;

            case LanguageConfig.Language.GERMAN:
                tabPage1.Text = "Log";
                tabPage2.Text = "Optionen";
                tabPage3.Text = "Adapter";
                break;

            case LanguageConfig.Language.RUSSIAN:
                tabPage1.Text = "журнал";
                tabPage2.Text = "опции";
                tabPage3.Text = "Адаптеры";
                break;

            case LanguageConfig.Language.SPANISH:
                tabPage1.Text = "log";
                tabPage2.Text = "opciones";
                tabPage3.Text = "adaptadores";
                break;

            case LanguageConfig.Language.PORTUGUESE:
                tabPage1.Text = "Entrar";
                tabPage2.Text = "opções";
                tabPage3.Text = "adaptadores";
                break;
            }
            MainWindow_Resize(null, null);
            if (TrayIcon.StartMinimized)
            {
                this.WindowState = FormWindowState.Minimized;
            }
            ColorScheme_ThemeChanged();
        }