Timeline


and

4/5/2008:

06:22 Changeset [2848] by lowjoel

    Delete the tests and samples folder.

    06:18 Changeset [2847] by lowjoel

      Added the SharpZip? binary.

      06:17 Changeset [2846] by lowjoel

        Delete the tests and samples folder.

        05:45 Changeset [2845] by lowjoel

          -Removed the "test suites" for the projects.
          -Replaced the System.Windows.Form.CueBannerTextBox?.sln file with just CueBannerTextBox?.sln
          -Replace Rand with ISAAC
          -Removed jRand

          05:39 Changeset [2844] by lowjoel

            Removed local files.

            05:37 Changeset [2843] by lowjoel

              Added SharpZip? to the trunk folder.

              05:36 Changeset [2842] by lowjoel

                Tagged 0.85.4

                05:34 Changeset [2841] by lowjoel

                  Imported SharpZip? 0.85.4

                  02:35 Changeset [2840] by lowjoel

                    Version the BevelLine? binary.

                    4/2/2008:

                    22:49 Changeset [353] by lowjoel
                    • branches/eraser6/Manager/Language.cs

                    There we go - fixed header.

                    14:56 Changeset [352] by lowjoel
                    • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                    • branches/eraser6/DefaultPlugins/Languages
                    • branches/eraser6/DefaultPlugins/Languages/DefaultPlugins.pot
                    • branches/eraser6/Eraser/Eraser.csproj
                    • branches/eraser6/Eraser/Languages/EN.po
                    • branches/eraser6/Eraser/Languages/Eraser.pot
                    • branches/eraser6/Eraser/Languages/NL.po
                    • branches/eraser6/gettext.bat

                    -Moved the translation post build event to a batch file so code doesn't have to be copied and pasted
                    -Enabled the translation commands to be used on DefaultPlugins? as well
                    -Added the latest translations

                    14:54 Changeset [351] by lowjoel
                    • branches/eraser6/TODO.txt

                    Updated TODO list. Is it me or is it getting longer?

                    14:54 Changeset [350] by lowjoel
                    • branches/eraser6/Util/File.cs

                    Use Win32Exception where it applies.

                    14:07 Changeset [349] by lowjoel
                    • branches/eraser6/Eraser/AboutForm.Designer.cs
                    • branches/eraser6/Eraser/AboutForm.cs
                    • branches/eraser6/Eraser/BasePanel.Designer.cs
                    • branches/eraser6/Eraser/BasePanel.cs
                    • branches/eraser6/Eraser/LightGroup.Designer.cs
                    • branches/eraser6/Eraser/LightGroup.cs
                    • branches/eraser6/Eraser/LogForm.Designer.cs
                    • branches/eraser6/Eraser/LogForm.cs
                    • branches/eraser6/Eraser/MainForm.Designer.cs
                    • branches/eraser6/Eraser/MainForm.cs
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/ProgressForm.Designer.cs
                    • branches/eraser6/Eraser/ProgressForm.cs
                    • branches/eraser6/Eraser/Properties/AssemblyInfo.cs
                    • branches/eraser6/Eraser/Properties/Resources.Designer.cs
                    • branches/eraser6/Eraser/Properties/Settings.Designer.cs
                    • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
                    • branches/eraser6/Eraser/SchedulerPanel.cs
                    • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
                    • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                    • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
                    • branches/eraser6/Eraser/TaskPropertiesForm.cs
                    • branches/eraser6/Eraser/ToolBar.Designer.cs
                    • branches/eraser6/Eraser/ToolBar.cs

                    Added the copyright headers to all the source files.

                    14:05 Changeset [348] by lowjoel
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
                    • branches/eraser6/DefaultPlugins/EraseCustom.cs
                    • branches/eraser6/DefaultPlugins/EraseDoD.cs
                    • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
                    • branches/eraser6/DefaultPlugins/EraseGutmann.cs
                    • branches/eraser6/DefaultPlugins/EraseRandom.cs
                    • branches/eraser6/DefaultPlugins/EraseSchneier.cs
                    • branches/eraser6/DefaultPlugins/Plugin.cs
                    • branches/eraser6/DefaultPlugins/RNGCrypto.cs
                    • branches/eraser6/DefaultPlugins/RNGISAAC.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.cs
                    • branches/eraser6/Manager/DirectExecutor.cs
                    • branches/eraser6/Manager/Executor.cs
                    • branches/eraser6/Manager/Language.cs
                    • branches/eraser6/Manager/Logger.cs
                    • branches/eraser6/Manager/Manager.cs
                    • branches/eraser6/Manager/Method.cs
                    • branches/eraser6/Manager/PRNG.cs
                    • branches/eraser6/Manager/Plugins.cs
                    • branches/eraser6/Manager/Schedule.cs
                    • branches/eraser6/Manager/Settings.cs
                    • branches/eraser6/Manager/Task.cs
                    • branches/eraser6/Util/CryptAPI.cs
                    • branches/eraser6/Util/Drive.cs
                    • branches/eraser6/Util/File.cs
                    • branches/eraser6/Util/GetText.cs
                    • branches/eraser6/Util/KernelAPI.cs
                    • branches/eraser6/Util/NTAPI.cs
                    • branches/eraser6/Util/NetAPI.cs
                    • branches/eraser6/Util/Permissions.cs
                    • branches/eraser6/Util/StreamInfo.cs
                    • branches/eraser6/Util/UserAPI.cs

                    Embarrassing - Left one reference to Foobar untouched...

                    13:58 Changesets [345-347] by lowjoel
                    • branches/eraser6/Util/CryptAPI.cs
                    • branches/eraser6/Util/Drive.cs
                    • branches/eraser6/Util/File.cs
                    • branches/eraser6/Util/GetText.cs
                    • branches/eraser6/Util/KernelAPI.cs
                    • branches/eraser6/Util/NTAPI.cs
                    • branches/eraser6/Util/NetAPI.cs
                    • branches/eraser6/Util/Permissions.cs
                    • branches/eraser6/Util/Properties/AssemblyInfo.cs
                    • branches/eraser6/Util/StreamInfo.cs
                    • branches/eraser6/Util/UserAPI.cs
                    • branches/eraser6/Manager/DirectExecutor.cs
                    • branches/eraser6/Manager/Executor.cs
                    • branches/eraser6/Manager/Logger.cs
                    • branches/eraser6/Manager/Manager.cs
                    • branches/eraser6/Manager/Method.cs
                    • branches/eraser6/Manager/PRNG.cs
                    • branches/eraser6/Manager/Plugins.cs
                    • branches/eraser6/Manager/Properties/AssemblyInfo.cs
                    • branches/eraser6/Manager/Schedule.cs
                    • branches/eraser6/Manager/Settings.cs
                    • branches/eraser6/Manager/Task.cs
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
                    • branches/eraser6/DefaultPlugins/EraseCustom.cs
                    • branches/eraser6/DefaultPlugins/EraseDoD.cs
                    • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
                    • branches/eraser6/DefaultPlugins/EraseGutmann.cs
                    • branches/eraser6/DefaultPlugins/EraseRandom.cs
                    • branches/eraser6/DefaultPlugins/EraseSchneier.cs
                    • branches/eraser6/DefaultPlugins/Plugin.cs
                    • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
                    • branches/eraser6/DefaultPlugins/RNGCrypto.cs
                    • branches/eraser6/DefaultPlugins/RNGISAAC.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.cs

                    Added the copyright headers to all the source files.

                    13:52 Changeset [344] by lowjoel
                    • branches/eraser6/DefaultPlugins/SettingsForm.cs

                    Fixed exception.

                    13:36 Changeset [343] by lowjoel
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
                    • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.resx
                    • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                    • branches/eraser6/DefaultPlugins/EraseCustom.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.cs
                    • branches/eraser6/Manager/Method.cs

                    First part to implementation of user-defined pass-based erasure methods.
                    -Added UI code for pass editor as well as DefaultPlugins? settings form
                    -Made the ErasureMethod?.Pass structure to be a class, and change access specifier to public from protected
                    -Define the WriteConstant? and WriteRandom? PassFunction? delegates for use by external code
                    -Use the term "constant" to refer to the pass data if constants are being written
                    -Added the EraseCustom? class

                    4/1/2008:

                    13:39 Changeset [342] by lowjoel
                    • branches/eraser6/Eraser/LogForm.Designer.cs
                    • branches/eraser6/Eraser/LogForm.cs
                    • branches/eraser6/Eraser/ProgressForm.Designer.cs
                    • branches/eraser6/Eraser/ProgressForm.cs
                    • branches/eraser6/Eraser/SchedulerPanel.cs

                    -Display our own text when queueing a task for execution
                    -Replace the event disconnections from the destructor to the form close event (which is more predictable)

                    13:26 Changeset [341] by lowjoel
                    • branches/eraser6/TODO.txt

                    Updated TODO list.

                    13:24 Changeset [340] by lowjoel
                    • branches/eraser6/Manager/Method.cs

                    Use new object[0] if an empty array is required. (Different from C++!)

                    13:24 Changeset [339] by lowjoel
                    • branches/eraser6/Eraser/LogForm.Designer.cs
                    • branches/eraser6/Eraser/LogForm.cs

                    Group tasks by session.

                    13:23 Changeset [338] by lowjoel
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Eraser/SettingsPanel.resx
                    • branches/eraser6/Manager/DirectExecutor.cs
                    • branches/eraser6/Manager/Manager.csproj
                    • branches/eraser6/Manager/Settings.cs

                    Use Overwriter's suggestion that plausible deniability files should be specified by the user, not randomly picked from the filesystem.

                    12:08 Changeset [337] by lowjoel
                    • branches/eraser6/Manager/Method.cs

                    Doc update.

                    12:06 Changeset [336] by lowjoel
                    • branches/eraser6/Manager/Method.cs

                    Allow parameters to be bound to the constructor. This allows for more types of erasure methods to be erased (most notably run-time created ones.)

                    11:53 Changeset [335] by lowjoel
                    • branches/eraser6/Manager/DirectExecutor.cs

                    Don't give up if we end up traversing into a directory which is locked or blocked to us.

                    11:51 Changeset [334] by lowjoel
                    • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
                    • branches/eraser6/DefaultPlugins/Plugin.cs
                    • branches/eraser6/Manager/Method.cs

                    Changed the way erasure methods work. Since they are customizable, instances should be created when one is required instead of getting the plugin to create one for us. This allows for settings to persist across a use of the method. This mainly fixes problems with the FL16KB method where users may change the erasure method used when a task is executing.

                    11:11 Changeset [333] by lowjoel
                    • branches/eraser6/Eraser/Eraser.csproj

                    Fixed accidental -j in the first xgettext call.

                    11:11 Changeset [332] by lowjoel
                    • branches/eraser6/Eraser/Program.cs

                    Updated Manager interface. The Constructor of the library instance now wants a Settings object, which makes sense since settings are read immediately.

                    11:10 Changeset [331] by lowjoel
                    • branches/eraser6/Eraser/Languages/EN.po
                    • branches/eraser6/Eraser/Languages/Eraser.pot
                    • branches/eraser6/Eraser/Languages/NL.po

                    Updated translations.

                    11:05 Changeset [330] by lowjoel
                    • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                    • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.cs
                    • branches/eraser6/DefaultPlugins/SettingsForm.resx

                    Draft Default Plugins settings dialog.

                    11:04 Changeset [329] by lowjoel
                    • branches/eraser6/DefaultPlugins/Plugin.cs

                    Implemented the updated IPlugin interface. Now settings dialogs can be called and settings will be stored/retrieved from the Manager settings manager.

                    11:03 Changeset [328] by lowjoel
                    • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs

                    The FirstLast? 16KB erasure method now allows explicit setting of the erasure method to use, since the FL16kb method is merely a filter. This is held across tasks for as long a task is running.

                    11:02 Changeset [327] by lowjoel
                    • branches/eraser6/TODO.txt

                    Shell Context Menu is Kaz's stuff.

                    11:01 Changesets [325-326] by lowjoel
                    • branches/eraser6/Eraser/AboutForm.cs
                    • branches/eraser6/Eraser/LightGroup.cs
                    • branches/eraser6/Eraser/MainForm.cs
                    • branches/eraser6/Eraser/ProgressForm.cs
                    • branches/eraser6/Eraser/SchedulerPanel.cs
                    • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                    • branches/eraser6/Eraser/TaskPropertiesForm.cs
                    • branches/eraser6/Util/GetText.cs

                    Added TranslateControl? to the Gettext utilities class. The function finds every control on the provided control and translates the control's strings. Specializations for Menus and ContextMenus? provided. Specializations for ListView? groups and columns also provided.
                    Menus may need to be translated explicitly though, since they may not be associated with any control on the control to be translated.

                    10:59 Changeset [324] by lowjoel
                    • branches/eraser6/Manager/Manager.cs
                    • branches/eraser6/Manager/Plugins.cs
                    • branches/eraser6/Manager/Settings.cs

                    -Properly implement the ManagerLibrary?.Dispose function. Now the plugins are unloaded, and the settings are explicitly saved
                    -Define a Settings.Save function so that settings can be stored into persistent storage on-demand, not just on destruction, which is unpredictable
                    -Define the Plugin host Dispose function

                    10:58 Changeset [323] by lowjoel
                    • branches/eraser6/DefaultPlugins/EraseDoD.cs
                    • branches/eraser6/DefaultPlugins/EraseGutmann.cs
                    • branches/eraser6/DefaultPlugins/EraseRandom.cs
                    • branches/eraser6/DefaultPlugins/EraseSchneier.cs
                    • branches/eraser6/DefaultPlugins/RNGCrypto.cs
                    • branches/eraser6/DefaultPlugins/RNGISAAC.cs

                    Added Gettext calls to the DefaultPlugins? project.

                    3/31/2008:

                    11:56 Changeset [322] by lowjoel
                    • branches/eraser6/TODO.txt

                    More TODOs as suggested in the forum.

                    00:29 Changeset [321] by lowjoel
                    • branches/eraser6/Eraser/Languages/EN.po

                    Merge the POT file into the English po.

                    00:26 Changeset [320] by lowjoel
                    • branches/eraser6/TODO.txt

                    -i18n is done for themost part, just need refining
                    -Add other tasks: context menu in shell, system notification area

                    00:12 Changeset [319] by lowjoel
                    • branches/eraser6/Eraser/Languages/Eraser.pot
                    • branches/eraser6/Eraser/Languages/NL.po

                    First Dutch Translation (thanks Dennis!)

                    3/30/2008:

                    15:46 Changeset [318] by lowjoel
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Manager/Language.cs
                    • branches/eraser6/Util/GetText.cs

                    -Added helper functions in the Manager.Util.S class to get translations for whole controls. The test subject is the SettingsPanel? class.
                    -Define a Language class in Manager. This class deals with language-related information from the CultureInfo? class.

                    15:45 Changeset [317] by lowjoel
                    • branches/eraser6/Eraser/LightGroup.cs

                    Make the Text property work as a synonym for the Label property; like most Controls would act.

                    15:44 Changeset [316] by lowjoel
                    • branches/eraser6/Eraser/Eraser.csproj

                    For the designer forms... just extract every string.

                    14:00 Changeset [315] by lowjoel
                    • branches/eraser6/Eraser/Eraser.csproj
                    • branches/eraser6/Eraser/Program.cs

                    -Slightly faster approach to calling xgettext
                    -Fixed an English string issue

                    13:29 Changeset [314] by lowjoel
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/ProgressForm.cs
                    • branches/eraser6/Eraser/SchedulerPanel.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                    • branches/eraser6/Eraser/TaskPropertiesForm.cs

                    Internationalize the Eraser main project source files. Designer files haven't been internationalized, though.

                    13:23 Changeset [313] by lowjoel
                    • branches/eraser6/Util/GetText.cs

                    Document, document, document.

                    13:22 Changeset [312] by lowjoel
                    • branches/eraser6/Eraser/Eraser.csproj

                    Fixed the generation of the pot file.

                    06:39 Changeset [311] by lowjoel
                    • branches/eraser6/Eraser/Eraser.csproj

                    Fixed a typo.

                    3/29/2008:

                    14:56 Changeset [310] by lowjoel
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Manager/Language.cs
                    • branches/eraser6/Manager/Settings.cs
                    • branches/eraser6/Util/GetText.cs
                    • branches/eraser6/Util/Util.csproj

                    Allow runtime changing of UI languages.

                    14:20 Changeset [309] by lowjoel
                    • branches/eraser6/Eraser/Eraser.csproj
                    • branches/eraser6/Eraser/Languages
                    • branches/eraser6/Eraser/Languages/EN.po
                    • branches/eraser6/Eraser/Languages/Eraser.pot
                    • branches/eraser6/Eraser/MainForm.Designer.cs
                    • branches/eraser6/Eraser/MainForm.cs
                    • branches/eraser6/Util/Util.csproj

                    -Added the S._ shortcut for getting gettext translated strings.
                    -Added the Languages folder which holds pot templates and po translations

                    05:52 Changeset [308] by lowjoel
                    • branches/eraser6/Manager/Logger.cs

                    Broadcast the new session event.

                    03:54 Changeset [307] by lowjoel
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Manager/Language.cs
                    • branches/eraser6/Manager/Manager.cd
                    • branches/eraser6/Manager/Manager.cs
                    • branches/eraser6/Manager/Manager.csproj
                    • branches/eraser6/Manager/Settings.cs

                    Added the UI and the API for language plugins.

                    03:08 Changeset [306] by lowjoel
                    • branches/eraser6/TODO.txt

                    Updated the TODO list.

                    03:07 Changeset [305] by lowjoel
                    • branches/eraser6/Eraser/SettingsPanel.cs

                    Assume the unlikely possibility that even the Default plugin does not exist.

                    02:52 Changeset [304] by lowjoel
                    • branches/eraser6/Eraser/LogForm.cs
                    • branches/eraser6/Eraser/ProgressForm.cs
                    • branches/eraser6/Eraser/SchedulerPanel.cs
                    • branches/eraser6/Manager/DirectExecutor.cs
                    • branches/eraser6/Manager/Logger.cs
                    • branches/eraser6/Manager/Task.cs

                    Move all the Task log functions to the Logger class
                    -The Logger class has a notion of Sessions, which allow log entries to be separated by session such that log entries can be examined session-by-session by the program to determine if the previous run finished with errors.

                    01:57 Changeset [303] by lowjoel
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Eraser/SettingsPanel.resx
                    • branches/eraser6/Manager/Manager.csproj
                    • branches/eraser6/Manager/Plugins.cs
                    • branches/eraser6/Manager/Settings.cs

                    Allow plugins to store their own settings and allow them to display a dialog to edit those settings.

                    01:03 Changeset [302] by lowjoel
                    • branches/eraser6/Manager/Manager.cd
                    • branches/eraser6/Manager/Manager.csproj

                    Add the class diagram to the project.

                    01:02 Changeset [301] by lowjoel
                    • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                    • branches/eraser6/Eraser/Program.cs
                    • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                    • branches/eraser6/Eraser/SettingsPanel.cs
                    • branches/eraser6/Manager/DirectExecutor.cs
                    • branches/eraser6/Manager/PRNG.cs
                    • branches/eraser6/Manager/Settings.cs

                    Implemented plausible deniability code
                    -Replaced GetRandomFileName? with GenerateRandomFileName? for randomly-generated file names
                    -GetRandomFileName? now finds a file on the provided folder
                    -Added methods to the PRNG class. It now implements more Next overloads and the Sample function

                    Factorise the file system record erasure code out

                    00:38 Changesets [2838-2839] by lowjoel
                      00:28 Changeset [300] by lowjoel
                      • branches/eraser6/Util/StreamInfo.cs

                      Fixed a crash.

                      00:27 Changeset [299] by lowjoel
                      • branches/eraser6/Resources/EraserPlugin.jpg
                      • branches/eraser6/Resources/EraserSetup.ico
                      • branches/eraser6/Resources/EraserSetup.jpg

                      Dennis' draft icons for the plugins and the setup program.

                      00:26 Changeset [298] by lowjoel
                      • branches/eraser6/Dialog Designs
                      • branches/eraser6/Dialog Designs/About Dialog.psd
                      • branches/eraser6/Dialog Designs/Main Dialog Background.psd
                      • branches/eraser6/Dialog Designs/Main_Dialog.psd
                      • branches/eraser6/Dialog Designs/Recycle Bin.psd
                      • branches/eraser6/Dialog Designs/Tray.psd

                      Added Dennis' dialog designs.

                      00:24 Changeset [297] by lowjoel
                      • branches/eraser6/Eraser.sln
                      • branches/eraser6/TODO.txt

                      Decided that the Todo list should be added.

                      3/25/2008:

                      12:56 Changeset [296] by lowjoel
                      • branches/eraser6/Manager/Settings.cs

                      Instance variables should be private.

                      12:52 Changeset [295] by lowjoel
                      • branches/eraser6/Manager/PRNG.cs

                      -Replaced all Drive.GetFreeSpace? calls with DriveInfo?.TotalAvailableSpace?
                      -There isn't a need for overloading long and IntPtr? (and whatnots). These all can be converted to the generic function where T is struct

                      12:49 Changeset [294] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Util/Drive.cs

                      Replaced all Drive.GetFreeSpace? calls with DriveInfo?.TotalAvailableSpace?

                      12:39 Changeset [293] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                      • branches/eraser6/Util/File.cs

                      When calling File.GetFileDescription? or File.GetFileIcon?, the path provided must end with a trailing \ if the path is a directory or volume.

                      3/20/2008:

                      13:51 Changeset [292] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Task.cs
                      • branches/eraser6/Util/File.cs
                      • branches/eraser6/Util/StreamInfo.cs
                      • branches/eraser6/Util/Util.csproj

                      Implemented (quite completely, I believe) ADS support
                      -Cluster tips of ADSes are erased too, this is an improvement over v5
                      -File times of ADSes are not changed. TODO: Is there a need to?
                      -Restore the Read only flag after the erase procedure is done
                      -Implemented the stream equivalent for FileInfo?: StreamInfo?. It lacks many of the features of FileInfo? like ACLs and encryption/decryption, but is complex enough to work as a FileInfo? drop-in in most cases

                      13:47 Changeset [291] by lowjoel
                      • branches/eraser6/Util/File.cs
                      • branches/eraser6/Util/NetAPI.cs
                      • branches/eraser6/Util/Util.csproj

                      -Removed the requirement of the unsafe keyword in the Utils project.
                      -Fixed getting drive descriptions under XP - SHGetFileInfo wants the trailing \

                      3/19/2008:

                      14:04 Changeset [290] by lowjoel
                      • branches/eraser6/Eraser/Resources/ToolbarArrow.png
                      • branches/eraser6/Eraser/ToolBar.cs

                      Fixed the sizing and placement of the Toolbar menu arrow. It used to be hard to hit it because it was oversized.

                      12:52 Changeset [289] by lowjoel
                      • branches/eraser6/Eraser/Program.cs

                      Better defaults.

                      3/17/2008:

                      10:57 Changeset [288] by lowjoel
                      • branches/eraser6/Eraser/Program.cs

                      Fixed defaults when the program is started for the first time.

                      3/16/2008:

                      12:58 Changeset [287] by lowjoel
                      • trunk/SystemTray.cpp

                      Fixed an assert when logging back on after a screen size change - there's no need for the task back icon to be re-installed

                      12:04 Changeset [286] by lowjoel
                      • trunk/Eraser.cpp
                      • trunk/EraserDlg.cpp
                      • trunk/EraserDll/CustomMethodEdit.cpp
                      • trunk/EraserDll/Eraser.cpp
                      • trunk/EraserDll/File.cpp
                      • trunk/EraserDll/Random.h
                      • trunk/EraserDll/ReportDialog.cpp
                      • trunk/EraserDoc.cpp
                      • trunk/EraserUI/EraserUI.vcproj
                      • trunk/EraserView.cpp
                      • trunk/Erasext/ErasextMenu.cpp
                      • trunk/Erasext/WipeProgDlg.cpp
                      • trunk/Launcher/Launcher.cpp
                      • trunk/Launcher/LauncherDlg.cpp
                      • trunk/SchedulerView.cpp

                      Silenced quite a few warnings generated when compiling for x64. Mostly due to the use of wrong datatypes.

                      11:39 Changeset [285] by lowjoel
                      • trunk/EraserUI/AlphaImageList.cpp
                      • trunk/shared/Shared.vcproj

                      -CRT_SECURE_NO_DEPRECATE for the Shared project
                      -Constant truncation warning fix (the win32api does it deliberately)

                      3/15/2008:

                      14:26 Changeset [284] by lowjoel
                      • branches/eraser6/Eraser/Program.cs

                      Handle Serialization exceptions when loading the task list.

                      13:40 Changeset [283] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Task.cs

                      Make cluster tips erasure optional when running unused space erasures.

                      13:26 Changeset [282] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      When erasing unused space, use using clauses to close the file stream after we are done with them.

                      13:06 Changesets [280-281] by lowjoel
                      • branches/eraser6/Manager/Plugins.cs
                      • branches/eraser6/DefaultPlugins/EraseDoD.cs
                      • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
                      • branches/eraser6/DefaultPlugins/RNGCrypto.cs
                      • branches/eraser6/DefaultPlugins/RNGISAAC.cs
                      • branches/eraser6/Eraser/Program.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/PRNG.cs

                      Replace the Globals static class with the ManagerLibrary? class which is a singleton-like class.

                      13:05 Changeset [279] by lowjoel
                      • branches/eraser6/Util/CryptAPI.cs

                      Fixed crash on shutdown

                      13:04 Changeset [278] by lowjoel
                      • branches/eraser6/Manager/Manager.cs

                      Replace the Globals static class with the ManagerLibrary? class which is a singleton-like class. This allows us to allocate and deallocate memory based on the client requirements.

                      12:18 Changeset [277] by lowjoel
                      • branches/eraser6/Manager/PRNG.cs

                      Added a very small subset of the SlowPoll? function in v5. I've done away with the registry code and the ToolHelp? code since the NtQuerySystemInformation? function returns quite a bit of information. Disk statistics have also been disabled temporarily because I believe it would have a performance impact

                      12:13 Changeset [276] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Code formatting.

                      12:12 Changeset [275] by lowjoel
                      • branches/eraser6/Util/CryptAPI.cs
                      • branches/eraser6/Util/KernelAPI.cs
                      • branches/eraser6/Util/NTAPI.cs
                      • branches/eraser6/Util/NetAPI.cs
                      • branches/eraser6/Util/UserAPI.cs
                      • branches/eraser6/Util/Util.csproj

                      Added direct APIs. These are just ports of the native code declarations to use P/Invoke. Such functions have classes which end with API.

                      12:11 Changeset [274] by lowjoel
                      • branches/eraser6/Util/Permissions.cs

                      Oh no - forgot to add the Permissions utility class.

                      10:40 Changeset [273] by lowjoel
                      • branches/eraser6/Manager/Manager.csproj
                      • branches/eraser6/Manager/PRNG.cs

                      Created the EntropyThread? class which helps gather entropy for use by the PRNGs. Partial port: only fastpoll from v5 has been ported.

                      02:12 Changeset [272] by lowjoel
                      • branches/eraser6/DefaultPlugins/RNGISAAC.cs

                      Warning fix.

                      02:12 Changeset [271] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Move the IsAdministrator? function to the Utils DLL

                      02:11 Changeset [270] by lowjoel
                      • branches/eraser6/Util/Drive.cs
                      • branches/eraser6/Util/File.cs
                      • branches/eraser6/Util/Kernel.cs
                      • branches/eraser6/Util/Util.csproj

                      -Standardize the format of the Util classes - functions on top, Windows APIs below
                      -Declare MarshalAttribute?.SetLastError? to be true for functions which have a GetLastError? extended error code
                      -Return BOOL functions as bool

                      01:15 Changeset [269] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Util/Drive.cs

                      -Implemented a few preliminary checks before running the unused disk space pass

                      -Quotas
                      -Elevation

                      -Fixed a few locked file errors. Use using clauses liberally!
                      -Replaced a few try-catch blocks with proper file/folder testing methods. Exceptions are meant to be exceptions and not expected things!

                      3/12/2008:

                      08:09 Changeset [268] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Implemented unused space erase, cluster tips erase.
                      BUT did not implement permissions checks, the disabling of the low space warning, and clearing the directory entries.

                      07:28 Changeset [267] by lowjoel
                      • branches/eraser6/Manager/Method.cs

                      More intuitive callback function parameter name.

                      07:27 Changeset [266] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      -Restore the Executor property of tasks when they are loaded
                      -Define the GetFileArea? function to calculate the physical size of the file on-disk

                      07:24 Changeset [265] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.Designer.cs
                      • branches/eraser6/Eraser/ProgressForm.cs

                      Double the height of the Item label so two lines can be shown.

                      07:20 Changeset [264] by lowjoel
                      • branches/eraser6/Manager/Method.cs

                      Replace the callback function from erasure methods to simply pass the amount of data written in the interim between now at the previous callback.

                      07:20 Changeset [263] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.Designer.cs

                      Removed placeholder values.

                      07:19 Changeset [262] by lowjoel
                      • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs

                      -Missed out the Passes factor when calculating the amount of data to remove when executing a first/last 16kb erase
                      -Use the default method when computing everything!

                      05:36 Changeset [261] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs

                      Compilo.

                      05:34 Changeset [260] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      -Change the RemoveFile? and RemoveFolder? functions to be static since they don't need the this reference
                      -Factor the random filename generator code out to a separate function
                      -Guard all MoveTo? files with an exception handler since antivirus programs may lock the file temporally

                      05:32 Changeset [259] by lowjoel
                      • branches/eraser6/Manager/Method.cs

                      Call the callback function only if it is not null.

                      05:31 Changeset [258] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs

                      Use the DriveInfo? class to replace GetDriveType?

                      05:30 Changeset [257] by lowjoel
                      • branches/eraser6/Util/Drive.cs
                      • branches/eraser6/Util/File.cs
                      • branches/eraser6/Util/Kernel.cs
                      • branches/eraser6/Util/Util.csproj

                      -Move GetLastError? to the Kernel static class
                      -Added the full declaration for CreateFile?
                      -Use the DriveInfo? class to replace GetDriveType?

                      05:19 Changeset [256] by lowjoel
                      • branches/eraser6/Util/File.cs
                      • branches/eraser6/Util/Util.csproj

                      -Less use of UIntPtr, since people seem to be generally using IntPtr? for HANDLEs
                      -Added IsProtectedSystemFile? (SfcIsFileProtected?)
                      -Added GetLastError?()
                      -Added IsCompressed? and SetCompression? (FSCTL_{GET|SET}_COMPRESSION)

                      05:17 Changeset [255] by lowjoel
                      • branches/eraser6/Util/Drive.cs

                      Added an implementation of getting drive free space.

                      01:46 Changeset [254] by lowjoel
                      • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs

                      Slight mistake in data size calculation.

                      01:45 Changeset [253] by lowjoel
                      • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                      • branches/eraser6/DefaultPlugins/Plugin.cs

                      Register the first/last 16kb erasure method.

                      01:45 Changeset [252] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs

                      Various UI improvements
                      -The progress dialog won't say pass x of y if y is zero, as can be the case of the First/last 2kb pass
                      -Allow users to select an unused space erasure method only if the method can erase unused space!

                      01:37 Changeset [251] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      More accurate computation of data required to erase the stream.

                      01:36 Changeset [250] by lowjoel
                      • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
                      • branches/eraser6/Manager/Method.cs

                      -Updated the ErasureMethod? class to be a little more generic. Added an API to calculate the amount of data which will be written to stream for more accurate computation of total data written.
                      -Have a specialized UnusedSpaceErasureMethod? class for methods which can erase unused disk space
                      -Make PassBasedErasureMethod? inherit UnusedSpaceErasureMethod? since pass-based methods can erase unused space

                      3/11/2008:

                      15:07 Changeset [249] by lowjoel
                      • branches/eraser6/Manager/Schedule.cs

                      Use separate strings for singular and plural forms. This is more translatable.

                      15:07 Changeset [248] by lowjoel
                      • branches/eraser6/Manager/Method.cs

                      Implement the PassBasedErasureMethod? class. The majority of erasure methods do a full file overwrite using a predefined set of passes. The PassBasedErasureMethod? implements majority of the functionality, save the passes to run. This helps keep the code compact and concise. We all hate copy and pastes.

                      15:06 Changeset [247] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs

                      The method names seem to be growing excessively long.

                      15:05 Changeset [246] by lowjoel
                      • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                      • branches/eraser6/DefaultPlugins/RNGISAAC.cs

                      Likewise for the PRNGs.

                      15:05 Changeset [245] by lowjoel
                      • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                      • branches/eraser6/DefaultPlugins/EraseDoD.cs
                      • branches/eraser6/DefaultPlugins/EraseGutmann.cs
                      • branches/eraser6/DefaultPlugins/EraseRandom.cs
                      • branches/eraser6/DefaultPlugins/EraseSchneier.cs
                      • branches/eraser6/DefaultPlugins/Plugin.cs

                      -Added the remaining passes from Eraser v5
                      -Renamed Gutmann.cs to EraseGutmann?.cs to group all the erase passes together.

                      14:26 Changeset [244] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs

                      Show the plugin version.

                      14:19 Changeset [243] by lowjoel
                      • branches/eraser6/Eraser/Eraser.csproj
                      • branches/eraser6/Eraser/LogForm.Designer.cs
                      • branches/eraser6/Eraser/LogForm.cs
                      • branches/eraser6/Eraser/LogForm.resx
                      • branches/eraser6/Eraser/SchedulerPanel.cs
                      • branches/eraser6/Manager/Task.cs

                      Added a task Log Viewer, and added live log broadcast events in the Task object.

                      14:18 Changeset [242] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Restore the log IDs after the tasks have been loaded to ensure the uniqueness of new IDs generated.

                      13:40 Changeset [241] by lowjoel
                      • branches/eraser6/Eraser/SchedulerPanel.cs
                      • branches/eraser6/Manager/Schedule.cs

                      -Immediately-run tasks should have no UIText - their NextRun? state depends on the Queued property, not visible to the Schedule object
                      -Refactor the DisplayTask? function even more
                      -Update the list view when the user clicks OK to a task edit request

                      13:39 Changeset [240] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Reschedule the task before saying that it is complete.

                      13:38 Changeset [239] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs

                      Check the correct erasure target.

                      13:38 Changeset [238] by lowjoel
                      • branches/eraser6/Eraser/Program.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs

                      -Check for --restart before running those run-on-restart tasks
                      -Moved the Settings initialization to the Program startup code instead in the SettingsPanel? constructor

                      13:10 Changeset [237] by lowjoel
                      • branches/eraser6/Manager/Manager.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/PRNG.cs
                      • branches/eraser6/Manager/Plugins.cs
                      • branches/eraser6/Manager/Settings.cs

                      Combine all the partial class definitions of the Manager.Globals class into one definition in Manager.cs. This allows me to specify the initialization order of the managers so that plugins can load without crashing.

                      12:48 Changeset [236] by lowjoel
                      • branches/eraser6/Eraser/Program.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs

                      Do run those Erase on Restart tasks.

                      12:36 Changeset [235] by lowjoel
                      • branches/eraser6/Util/File.cs

                      Better size fitting algorithm - the first guess may be a good match.

                      12:35 Changeset [234] by lowjoel
                      • branches/eraser6/Eraser/Program.cs
                      • branches/eraser6/Eraser/SchedulerPanel.cs

                      Implemented task list saving/loading

                      12:35 Changeset [233] by lowjoel
                      • branches/eraser6/Manager/Logger.cs
                      • branches/eraser6/Manager/Schedule.cs
                      • branches/eraser6/Manager/Task.cs

                      Made the following classes serializable:
                      -LogEntry?
                      -Schedule, RunNowSchedule?, RunOnRestartSchedule?, RecurringSchedule?
                      -Task, Task.ErasureTarget?, Task.FilesystemObject?, Task.UnusedSpace?, Task.File, Task.Folder

                      12:32 Changeset [232] by lowjoel
                      • branches/eraser6/Eraser/TaskPropertiesForm.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs

                      -Replaced Task.Entries with Task.Targets since that is a more intuitive name
                      -Added LoadTaskList?, SaveTaskList? and GetTasks? to the Executor class. This allows for task lists to be saved and loaded from stream.

                      10:15 Changeset [231] by lowjoel
                      • branches/eraser6/Eraser/SchedulerPanel.cs
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                      • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
                      • branches/eraser6/Eraser/TaskPropertiesForm.cs

                      Implemented task editing.

                      10:15 Changeset [230] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.Designer.cs
                      • branches/eraser6/Eraser/ProgressForm.cs
                      • branches/eraser6/Util/File.cs
                      • branches/eraser6/Util/Util.csproj

                      Use the PathCompactPathEx? function to code a GetCompactPath? function for use with the progress dialog.

                      08:33 Changeset [229] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs

                      Added the ReplaceTask? API to get unexecuted tasks replaced with new parameters.

                      08:32 Changeset [228] by lowjoel
                      • branches/eraser6/Manager/Schedule.cs

                      Fixed an infinite recursion.

                      07:54 Changeset [227] by lowjoel
                      • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
                      • branches/eraser6/Eraser/SchedulerPanel.cs
                      • branches/eraser6/Eraser/SchedulerPanel.resx

                      Implemented a context menu for the Scheduler.
                      -Allow users to run immediate tasks
                      -Allow users to cancel running and queued tasks
                      -Allow users to delete tasks

                      07:53 Changeset [226] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs
                      • branches/eraser6/Manager/Task.cs

                      -Allow Executor.QueueTask? to queue any sort of tasks - queueing means that the task needs to be executed when the thread is no longer busy
                      -Allow CancelTask? to cancel queued tasks as well
                      -Added Task.Queued to allow clients to see if a task is being queued on top of whether it is being executed

                      06:19 Changeset [225] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs

                      Define a QueueTask? function for immediate tasks to be executed repeatedly.

                      06:18 Changeset [224] by lowjoel
                      • branches/eraser6/Eraser/SchedulerPanel.Designer.cs

                      Slightly better immediate tasks group header.

                      06:13 Changeset [223] by lowjoel
                      • branches/eraser6/Eraser/Program.cs

                      Allow the program to quit.

                      06:10 Changeset [222] by lowjoel
                      • branches/eraser6/Eraser/MainForm.Designer.cs
                      • branches/eraser6/Eraser/MainForm.cs
                      • branches/eraser6/Eraser/Program.cs
                      • branches/eraser6/Eraser/SchedulerPanel.cs

                      Move the Eraser Client object to the Program class for client access. Consequently move the task addition job to the SchedulerPanel?.

                      06:06 Changeset [221] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs
                      • branches/eraser6/Manager/Task.cs

                      Added code to allow tasks to be cancelled if they are being executed.

                      06:04 Changeset [220] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.Designer.cs
                      • branches/eraser6/Eraser/ProgressForm.cs

                      Separate the time remaining to a different label.

                      05:32 Changeset [219] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/Task.cs

                      Implemented time left for erasures.

                      05:30 Changeset [218] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs

                      Hasten the erasure of short files by generating a buffer of the required size and not more

                      04:31 Changeset [217] by lowjoel
                      • branches/eraser6/DefaultPlugins/ISAAC.cs

                      Optimized copy algorithm.

                      03:03 Changeset [216] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs

                      More intuitive behaviour.

                      03:03 Changeset [215] by lowjoel
                      • branches/eraser6/Manager/Plugins.cs
                      • branches/eraser6/Manager/Task.cs

                      Don't use Invoke since that will only call one handler.

                      03:02 Changeset [214] by lowjoel
                      • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                      • branches/eraser6/Eraser/Eraser.csproj

                      Set the Unsafe flag for release builds, too.

                      02:53 Changeset [213] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Task.cs

                      -Define the Task start and completion events
                      -Added the UIText property. This was a copy from the GenerateTaskName? function in the Scheduler panel earlier
                      -Added the TaskEventArgs? base class to allow for other simpler events (mainly start and finish events)
                      -Added the current erasure target for erase tasks.

                      02:51 Changeset [212] by lowjoel
                      • branches/eraser6/Eraser/ProgressForm.Designer.cs
                      • branches/eraser6/Eraser/ProgressForm.cs
                      • branches/eraser6/Eraser/ProgressForm.resx

                      Implemented the ProgressForm? properly with code. It now works, except the stop button.

                      02:49 Changeset [211] by lowjoel
                      • branches/eraser6/Eraser/MainForm.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Manager/Schedule.cs

                      -Warning fixes
                      -Removed unnecessary this references

                      02:48 Changeset [210] by lowjoel
                      • branches/eraser6/Eraser/Eraser.csproj
                      • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
                      • branches/eraser6/Eraser/SchedulerPanel.cs

                      Implemented progress statuses in the Scheduler window.

                      02:47 Changeset [209] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs

                      Pass numbers are always positive integers.

                      01:24 Changeset [208] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Implemented secure folder removal.

                      01:23 Changeset [207] by lowjoel
                      • branches/eraser6/Eraser/ToolBar.cs

                      Removed unused declaration

                      00:23 Changeset [206] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs
                      • branches/eraser6/DefaultPlugins/ISAAC.cs
                      • branches/eraser6/Eraser/TaskPropertiesForm.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/Schedule.cs
                      • branches/eraser6/Manager/Task.cs

                      Don't be overparanoid with the use of uint.

                      00:10 Changeset [205] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Manager/Settings.cs

                      -Slightly more intuitive names for the settings regarding locked file erasures
                      -Implemented our own Settings class which implements registry setting retrieval and commit

                      3/10/2008:

                      14:07 Changeset [204] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.cs

                      Instead of just warning the user, use naive defaults. TODO: Implement this at a higher level?

                      14:06 Changeset [203] by lowjoel
                      • branches/eraser6/Manager/Task.cs

                      Missed out the files if they did not have an exclusion mask.

                      13:47 Changeset [202] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs
                      • branches/eraser6/Eraser/SchedulerPanel.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Method.cs

                      Reimplement the erasure method progress calculation to use floating point instead of fixed point, since floating point allows for significant figures, which is what's more important currently.

                      13:30 Changeset [201] by lowjoel
                      • branches/eraser6/Eraser/MainForm.cs
                      • branches/eraser6/Eraser/SchedulerPanel.cs
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Task.cs

                      Implemented progress update callbacks.

                      13:29 Changeset [200] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs

                      Fixed the progress calculation for the Gutmann algorithm.

                      12:28 Changeset [199] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs

                      Gutmann 35-pass wipe.

                      12:28 Changeset [198] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Manager.csproj

                      -Round up the stream size to the cluster size so cluster tips are erased.
                      -Rename the file 7 times to erase the MFT record

                      12:26 Changeset [197] by lowjoel
                      • branches/eraser6/Manager/Method.cs

                      Implemented the Method helper functions allowing a memory buffer to be filled with random data or a selected pattern.

                      12:26 Changeset [196] by lowjoel
                      • branches/eraser6/Util/Volume.cs

                      An implementation of GetDriveClusterSize? used for rounding up file sizes to the cluster size to remove cluster tips.

                      12:25 Changeset [195] by lowjoel
                      • branches/eraser6/Manager/PRNG.cs

                      Warning fix.

                      12:24 Changeset [194] by lowjoel
                      • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                      • branches/eraser6/DefaultPlugins/ISAAC.cs

                      Implement NextBytes? properly for ISAAC.

                      09:30 Changeset [193] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Method.cs

                      Don't directly utilize the DefaultMethod? variable.

                      09:22 Changeset [192] by lowjoel
                      • branches/eraser6/Manager/Method.cs

                      Compilo.

                      09:21 Changeset [191] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs

                      Handle FatalExceptions? in the DirectExecutor? thread.

                      09:21 Changeset [190] by lowjoel
                      • branches/eraser6/Manager/Manager.cs
                      • branches/eraser6/Manager/Manager.csproj

                      Added Manage.cs, a local utility class declaration file.

                      09:20 Changeset [189] by lowjoel
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/PRNG.cs

                      -Added GetInstance? to both the ErasureMethodManager? and PRNGManager classes to retrieve the algorithm by GUID.
                      -If the GUID was not found, it is a FatalException?.

                      09:12 Changeset [188] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Eraser/SettingsPanel.resx

                      Added error checking when saving settings to the Manager.

                      09:05 Changeset [187] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Manager/Settings.cs

                      Added a combobox for the user to select the acting PRNG used for randomness.

                      09:05 Changeset [186] by lowjoel
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                      • branches/eraser6/Manager/Method.cs

                      Replaced GetMethods? with GetAll?

                      09:04 Changeset [185] by lowjoel
                      • branches/eraser6/DefaultPlugins/ISAAC.cs
                      • branches/eraser6/DefaultPlugins/RNGCrypto.cs
                      • branches/eraser6/Manager/PRNG.cs

                      Added the GUID field to the PRNG class since it too is plugin based.

                      08:49 Changeset [184] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs

                      Removed the Executor.GetIterator? function since it's rather... weird.

                      08:49 Changeset [183] by lowjoel
                      • branches/eraser6/Manager/Manager.csproj
                      • branches/eraser6/Manager/Settings.cs

                      Added a Settings Manager class.

                      08:48 Changeset [182] by lowjoel
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                      • branches/eraser6/Eraser/SettingsPanel.cs
                      • branches/eraser6/Manager/Task.cs

                      -Replaced Free Space with Unused Space
                      -Added a Save Settings button to the SettingsPanel?
                      -Implemented some logic for the SettingsPanel?

                      08:47 Changeset [181] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/PRNG.cs

                      -Don't register the default erase function as a erasure method, since it is merely a placeholder
                      -Add a GUID to the Erasure method class since that's how we're gunna identify methods
                      -Make the Manager.Settings class global, and make its members internal instead

                      08:09 Changeset [180] by lowjoel
                      • branches/eraser6/Manager/DirectExecutor.cs
                      • branches/eraser6/Manager/Executor.cs
                      • branches/eraser6/Manager/PRNG.cs

                      -For the DirectExecutor?, implemented FilesystemObject? erasures
                      -Implemented the number of file rename passes to remove the file name from the MFT

                      06:54 Changeset [179] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/Task.cs

                      -Modify the ErasureMethod? class to include the Passes property
                      -Add a callback function for callers to get progress on the erasure
                      -Create the TaskProgressEventArgs? class for full information about the progress of an erasure

                      06:11 Changeset [178] by lowjoel
                      • branches/eraser6/Manager/Logger.cs
                      • branches/eraser6/Manager/Manager.csproj
                      • branches/eraser6/Manager/Task.cs

                      Implemented a simple logger structure holding details about a log entry and fitted it into the Task class.

                      00:39 Changeset [177] by lowjoel
                      • branches/eraser6/Manager/Task.cs

                      Implemented the GetPaths? function for the Folder task type.

                      00:38 Changeset [176] by lowjoel
                      • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
                      • branches/eraser6/DefaultPlugins/ISAAC.cs
                      • branches/eraser6/DefaultPlugins/Plugin.cs
                      • branches/eraser6/DefaultPlugins/RNGCrypto.cs

                      Added the ISAAC and RNGCryptoServiceProvider CSPRNGs.

                      00:36 Changeset [175] by lowjoel
                      • branches/eraser6/DefaultPlugins/Gutmann.cs
                      • branches/eraser6/Eraser/SettingsPanel.Designer.cs
                      • branches/eraser6/Eraser/TaskDataSelectionForm.cs
                      • branches/eraser6/Manager/Method.cs
                      • branches/eraser6/Manager/PRNG.cs
                      • branches/eraser6/Manager/Plugins.cs

                      -Replace IErasureMethod with ErasureMethod?, since we don't need an interface and we have a few members we want to override at the class level
                      -More Erase Method => Erasure Method changes
                      -Declare the PRNG class and the PRNGManager class

                      Note: See TracTimeline for information about the timeline view.