Timeline


and

4/11/2008:

14:10 CodingConventions edited by Joel
Don't create links out of identifier names! (diff)
14:09 CodingConventions created by Joel
First draft of the Eraser v6 Coding conventions
14:05 WikiStart edited by Joel
Make a nice home page for our Trac. (diff)
13:59 Changeset [354] by lowjoel
  • branches/eraser6/TODO.txt

Move the TODO onto Trac.

13:57 Ticket #33 (Progress calculation when cluster tip erasure is disabled) created by Joel
The values are skewed (by 10%)
13:57 Ticket #32 (Default Settings) created by Joel
Have a more intelligent default settings selection for settings in v6. …
13:55 Ticket #31 (Fix internationalized code) created by Joel
GUI elements may run into each other after resizing. Any suggestions on …
13:55 Ticket #30 (Encrypted page file) created by Joel
Allow users to specify that they want their page file to be encrypted …
13:54 Ticket #29 (Allow Eraser to be minimized to the system tray) created by Joel
Implemented in r431.
13:53 Ticket #28 (Resolve locked files on restart) created by Joel
13:53 Ticket #27 (Allow runtime Plugin Load) created by Joel
13:52 Ticket #26 (Custom erasure methods) created by Joel
-Code implemented to define and add new methods -Implement saving to the …

04/11/08:

13:51 Ticket #25 (Finish multi-target implementation) created by Joel
-Progress indicator is skewed. Very badly. -Allow deletion and …
13:50 Ticket #24 (Next Scheduled run) created by Joel
The next scheduled run time calculator code isn't fully functional. …
13:43 Ticket #23 (Make ghost MFT-records more empty) created by Shredder
I think Eraser should make ghost MFT-records which it leaves behind more …
13:40 Ticket #22 (MFT and Directory Entries erasure) created by Overwriter
So a user can frequently just clean the MFT at will, not destroy it. …
13:39 Ticket #21 (Create Verify) created by Joel
No equivalent of Verify has been made for V6.
13:33 Ticket #20 (Attached Drive Total Wipe) created by Overwriter
Could you introduce a feature to completely wipe an attached drive using …
13:25 Ticket #19 (Log events into the v6 log) created by Joel
This should allow for better diagnostics in the event of error, and gives …
13:23 Ticket #18 (Support directory junctions and symlinks) created by Joel
Eraser needs to have proper support for both symbolic links as well as …
13:21 Ticket #17 (Allow custom erasure methods to be exported) created by Joel
Self-explanatory title.
13:18 Ticket #16 (Recycle Bin Catch All) created by Overwriter
Could Eraser have a feature so when a user deletes a file to the recycle …
13:16 Ticket #15 (Simultaneous Erasing) created by Overwriter
I would like to see a feature in Eraser where two or more files / disks / …
13:15 Ticket #14 (Runtime unlocking of files) created by Joel
WRT http://bbs.heidi.ie/viewtopic.php?t=2409. This is a very useful …
13:14 Ticket #13 (Create update checker) created by Joel
Update checking as a plugin for v6?
13:10 Ticket #12 (Create explorer extension) created by Joel
Eraser needs to have a context menu extension as in v5. However a few …
13:00 Ticket #11 (Eraser 5.86 in Vista Home) created by hans29
Hi, I tried to erase the unsed space in my partition D under Vista Home …
12:56 Ticket #10 (thumbs.db) created by thedeerhunter270
Eraser keeps hanging when wiping thumbs.db. I've tried erasing these …
12:17 Ticket #9 (Eraser Freezes while erasing) created by aircraft
Hello. I use the latest downloadable version of Eraser. I'd really love …
12:11 Ticket #8 (Verify fail in Vista?) created by AmazingRando
Hi fellow users I just installed Eraser 5.8 under Vista Beta 2 (build …
12:09 Ticket #7 (Recycle Bin Menu Remains after Uninstall) created by Smeg
I have re/un-installed several times and the Menu in the recycle bin …
12:08 Ticket #6 (Incorrect "when finished" option) created by Dedalus
I create a new task. I set the option "when finished" to shutdown system. …
12:03 Ticket #5 (Scheduler wont Un - schedule) created by Andy
Hi I set up some files to be erased at re boot which I now Don't want …
12:01 Ticket #4 (Failed: There is not enough space on the disk) created by jw113
I've been using Eraser since at least 5.80, and never had a problem -- …
12:00 Ticket #3 (Scheduler exits on Main Frame Close) created by Joel
Counterintuitive behaviour.
11:54 Ticket #2 (Erase Failure to erase) created by dogdog
I have a new Dell PC with Vista Ultimate. I have installed Eraser v 5.84. …
11:25 Ticket #1 (Recycle bin erasure failures) created by mdvbilt
I have two .lnk files that failed to delete when I did a 1-pass erasure of …

04/10/08:

15:25 WikiFormatting created by trac
15:25 TracQuery created by trac
15:25 TracReports created by trac
15:25 TracRevisionLog created by trac
15:25 TracRoadmap created by trac
15:25 TracRss created by trac
15:25 TracSearch created by trac
15:25 TracStandalone created by trac
15:25 TracSupport created by trac
15:25 TracSyntaxColoring created by trac
15:25 TracTickets created by trac
15:25 TracTicketsCustomFields created by trac
15:25 TracTimeline created by trac
15:25 TracUnicode created by trac
15:25 TracUpgrade created by trac
15:25 TracWiki created by trac
15:25 TracWikiMacros created by trac
15:25 TracWorkflow created by trac
15:25 WikiDeletePage created by trac
15:25 WikiHtml created by trac
15:25 WikiNewPage created by trac
15:25 WikiPageNames created by trac
15:25 WikiProcessors created by trac
15:25 WikiRestructuredText created by trac
15:25 WikiRestructuredTextLinks created by trac
15:25 WikiStart created by trac
15:25 InterMapTxt created by trac
15:25 InterTrac created by trac
15:25 TracCgi created by trac
15:25 TracChangeset created by trac
15:25 TracEnvironment created by trac
15:25 TracFastCgi created by trac
15:25 TracFineGrainedPermissions created by trac
15:25 TracIni created by trac
15:25 TracPlugins created by trac
15:25 CamelCase created by trac
15:25 InterWiki created by trac
15:25 PageTemplates created by trac
15:25 RecentChanges created by trac
15:25 SandBox created by trac
15:25 TitleIndex created by trac
15:25 TracAccessibility created by trac
15:25 TracAdmin created by trac
15:25 TracBackup created by trac
15:25 TracBrowser created by trac
15:25 TracGuide created by trac
15:25 TracImport created by trac
15:25 TracInstall created by trac
15:25 TracInterfaceCustomization created by trac
15:25 TracLinks created by trac
15:25 TracLogging created by trac
15:25 TracModPython created by trac
15:25 TracNavigation created by trac
15:25 TracNotification created by trac
15:25 TracPermissions created by trac

04/05/08:

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.

                    04/02/08:

                    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

                    04/01/08:

                    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.

                    03/31/08:

                    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!)

                    03/30/08:

                    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.

                    03/29/08:

                    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.

                      03/25/08:

                      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.

                      03/20/08:

                      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 \

                      03/19/08:

                      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.

                      03/17/08:

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

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

                      03/16/08:

                      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)

                      03/15/08:

                      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!

                      03/12/08:

                      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

                      Note: See TracTimeline for information about the timeline view.