Timeline


and

11/30/2008:

23:39 Changeset [653] by cjax
  • branches/eraser6/DefaultPlugins/EraseDoD.cs

The name of the algorithms was too long for Eraser Interactive shell. So I have changed an 'and' with '&'.

23:33 Ticket #79 (Code path optomisation) created by cjax
If you walk through the current code it will be observed that we create a …
22:23 Changeset [652] by cjax
  • branches/eraser6/Eraser/AboutForm.cs

Change my status to what agreed with Garrett

16:00 Milestone Eraser Website completed
Get the v6 Website up and working!
13:39 Changeset [651] by lowjoel
  • branches/eraser6/Util/KernelAPI.cs

64-bit fix.

12:52 Changeset [650] by cjax
  • branches/eraser6/Eraser/AboutForm.cs

Change my status to what agreed with Garrett

12:41 Ticket #77 (Explorer context menu to be in a submenu) closed by Joel
fixed
12:32 Ticket #68 (Task:: Eraser Files and Directories) closed by Joel
invalid
11:00 WikiStart edited by Joel
Add an InstallingBetas placeholder (diff)
10:50 Changeset [649] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.rc
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Version.cs

Version bump.

10:34 CompilingEraser edited by Joel
Forgot to include the step to create the installer archive. (diff)
10:28 Changeset [648] by lowjoel
  • branches/website/download.php

Download thingy so we can list downloads as popular or something.

10:22 Changeset [647] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs

Progress text to the wrong label (oops)

10:09 Changeset [646] by lowjoel
  • branches/website/updates/index.php

Okay, I finally tested the code.

09:38 Changeset [645] by lowjoel
  • branches/website/downloads/.htaccess
  • branches/website/updates/index.php

Updated the schema a little.

09:33 Changeset [644] by lowjoel
  • branches/website/scripts
  • branches/website/scripts/.htaccess

Folder holding all the server side stuff.

09:32 Changeset [643] by lowjoel
  • branches/website/updates
  • branches/website/updates/index.php

Moved the Database file to the Scripts folder, for which access is non-accessible to the public.

09:30 Changeset [642] by lowjoel
  • branches/website/contributing.html
  • branches/website/reviews.html

Fixed the hover image paths for the navigation bar

09:17 Ticket #32 (Default Settings) closed by Joel
fixed
09:15 Ticket #78 (Erase whole drive) created by rocko
Keep track of files already present, move them using the Defrag APIs, then …
09:14 Ticket #77 (Explorer context menu to be in a submenu) created by Overwriter
http://eraser.wiki.sourceforge.net/Eraser+v6
09:13 Ticket #76 (Recycle bin context menu to be in submenu) created by Joel
http://eraser.wiki.sourceforge.net/Eraser+v6
09:13 Ticket #75 (User-based erasure control) created by OGG
Allow administrators to define certain tasks system-wide and allow users …
09:13 Ticket #74 (Pause erasures) created by OGG
http://eraser.wiki.sourceforge.net/Eraser+v6
09:12 Ticket #73 (Parallel erasures of different physical drives) created by Overwriter
http://eraser.wiki.sourceforge.net/Eraser+v6
09:12 Ticket #72 (Block the use of Empty Recycle Bin so that users can only securely erase ...) created by Overwriter
http://eraser.wiki.sourceforge.net/Eraser+v6
09:11 Ticket #71 (Clean up of drives in Windows) created by Joel
(think DBAN, but in Windows) …
09:11 Ticket #70 (Cleaning up of privacy leaks) created by Joel
temporary internet files, etc. Think open-source CCleaner From …
09:10 Ticket #69 (Erasure of old MFT records on demand) created by Overwriter
From http://eraser.wiki.sourceforge.net/Eraser+v6
08:23 Changeset [641] by lowjoel
  • branches/eraser6/Manager/Plugins.cs

Actually verify the X509 certificate if the assembly contains one.

08:22 Changeset [640] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp

Compilo.

07:49 Changeset [639] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.vcproj

-Run the bootstrapper as administrator
-Don't sign the bootstrapper, it will be damaged after adding the installer 7zip

07:48 Changeset [638] by lowjoel
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Installer/SignBin.bat

Sign the Language resources too

07:43 Changeset [637] by lowjoel
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

I've rewrote the packaging code to support Authenticode signing; the setup files are stored as Resources instead of just appending to stream which will be corrupted by the Authenticode process.

03:48 Changeset [636] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.resx
  • branches/eraser6/Manager/Plugins.cs

Display a Key icon next to authenticode-signed binaries

03:24 Changeset [635] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.vcproj

Forgot to commit the vcproj

03:23 Changeset [634] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs

Don't assume that plugins are loaded when their context menu is opened. This fixes a crash.

03:23 Changeset [633] by lowjoel
  • branches/eraser6
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Installer/Installer.wixproj
  • branches/eraser6/Installer/SignBin.bat
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Util/Util.csproj

Following the discussion that Authenticode should also be used when verifying plugins on first load, I've now changed the Compiling Eraser instructions http://eraser.heidi.ie/trac/wiki/CompilingEraser?version=4 so that a Strong Name Key file is used without password protection by default; Authenticode keys will be assumed to be in the Solution root folder, and the release binaries will be signed before the installer is compiled. Bootstrapper will be signed after linking.

03:18 CompilingEraser edited by Joel
Strong Name signing procedure change: enforce the fact that the projects … (diff)

11/29/2008:

14:04 Ticket #68 (Task:: Eraser Files and Directories) created by cjax
For shell extension the user might drag files and directories for erasure. …
13:10 Changeset [632] by lowjoel
  • branches/eraser6/EraserL

Old folder.

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

Create the Client and Library instances before the Console class is given control.

11:22 Changeset [630] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Support null return values.

11:13 Changeset [629] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

-RemoteHeader? is more aptly named RemoteRequest?
-Documented a few of the classes and functions

10:59 Changeset [628] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

-Removed the Run function from the RemoteExecutor? classes since they are for DirectExecutor? to know when things are running and therefore should be called by the local instance, never remotely.
-Transfer bytes across the pipe, not the streams
-Make the RemoteHeader? constructor take a function and a byte array, should save a few lines of code
-Fixed the pesky End of Stream Reached before deserialisation was complete error

09:02 Changeset [627] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

-Removed all the async pipe operations: they're adding unnecessary complexity which brings benefits but we aren't using
-Hoisted the RemoteHeader? class and Function enum to the Manager namespace since it is used by both client and server

08:47 Changeset [626] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Got the RemoteExecutor? instances to talk to each other.

08:37 Ticket #63 (Write plugin searching/dynamic retrieval code for website.) closed by Joel
fixed: Completed in r621
08:36 Ticket #64 (Comandline) closed by Joel
fixed: Implemented in r625.
08:35 Changeset [625] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Completed the command line frontend to Eraser. Yay!

08:32 Changeset [624] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Extracted the Command* functions to the CommandLineProgram? class, since it really is starting to have many functions and helper classes associated with it.

06:51 Changeset [623] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs

Eraser v6 updates will be at http://eraser.heidi.ie, like the rest of the Eraser website.

06:43 WikiStart edited by Joel
Link to the main page (diff)
04:20 Changeset [622] by lowjoel
  • branches/website/updates/index.php

Added the updates Web interface.

03:42 Changeset [621] by lowjoel
  • branches/website/updates

The updater server-side code.

03:41 Changeset [620] by lowjoel
  • branches/website/Templates
  • branches/website/announcements
  • branches/website/contributing.html
  • branches/website/downloads
  • branches/website/images
  • branches/website/images/banner.jpg
  • branches/website/images/bg.gif
  • branches/website/images/btn_download.gif
  • branches/website/images/btn_download_hov.gif
  • branches/website/images/btn_eraser.gif
  • branches/website/images/btn_eraser_hov.gif
  • branches/website/images/btn_forum.gif
  • branches/website/images/btn_forum_hov.gif
  • branches/website/images/btn_home.gif
  • branches/website/images/btn_home_hov.gif
  • branches/website/images/btn_methods.gif
  • branches/website/images/btn_methods_hov.gif
  • branches/website/images/feed.png
  • branches/website/images/footer_bg.jpg
  • branches/website/images/h3_bg.gif
  • branches/website/images/header_bg.jpg
  • branches/website/images/ico_download.gif
  • branches/website/images/intro_bg.gif
  • branches/website/images/intro_h3.gif
  • branches/website/images/links_bg.gif
  • branches/website/images/links_h3.gif
  • branches/website/images/nav_bg.gif
  • branches/website/images/nav_h3.gif
  • branches/website/images/news_bg.gif
  • branches/website/images/news_h3.gif
  • branches/website/images/paypal.jpg
  • branches/website/images/template_v1.jpg
  • branches/website/images/template_v2.jpg
  • branches/website/images/usr_admin.gif
  • branches/website/images/usr_designer.gif
  • branches/website/images/usr_developer.gif
  • branches/website/nbproject
  • branches/website/nbproject/project.properties
  • branches/website/nbproject/project.xml
  • branches/website/reviews.html
  • branches/website/scripts.js
  • branches/website/style.css

Initial commit of the website.

02:52 Changeset [619] by cjax
  • branches/eraser6/Manager/RemoteExecutor.cs

Latest version

01:59 Changeset [618] by lowjoel
  • branches/website

Created a versioning directory for the new Eraser Website

11/28/2008:

13:00 Ticket #41 (Eraser problem with long filenames) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
12:42 Changeset [617] by lowjoel
  • branches/eraser6/Eraser/Program.cs

-Don't ask for users to press a key to continue if the user specified Quiet mode
-List the installed GUIDs of erasure methods when querymethods is used

12:27 Changeset [616] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Allow the user to specify that he wants a quiet session.

11/24/2008:

02:49 Ticket #67 (Delete Session Directory Names) created by cjax
Currently in case of system failures or bugs within Eraser the …

11/23/2008:

23:51 Changeset [615] by cjax
  • branches/eraser6/Manager/RemoteExecutor.cs

Still Client could not connect to the server, however, the back bone is there.

23:45 Changeset [614] by cjax
  • branches/eraser6/EraserL/Properties/AssemblyInfo.cs
23:44 Changeset [613] by cjax
  • branches/eraser6/EraserL
  • branches/eraser6/EraserL/EraserL.csproj
  • branches/eraser6/EraserL/Program.cs
  • branches/eraser6/EraserL/Properties
  • branches/eraser6/EraserL/Properties/AssemblyInfo.cs

Added EraserL for remoting

11/22/2008:

01:33 Changeset [612] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Util/KernelAPI.cs

Allow Eraser to run as a command line application (create our own console window). Define three actions: addtask, help and querymethods. Currently, help text and parameter parsing is implemented.

01:13 Changeset [611] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/Strings.Designer.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Language.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Util/File.cs

Kaz's last name has got a double S.

00:57 Changeset [610] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/RemoteExecutor.cs

Added the Copyright Header and added RemoteExecutor?.cs to the Manager project.

00:52 Changeset [609] by cjax
  • branches/eraser6/Manager/RemoteExecutor.cs

11/21/2008:

12:53 Changeset [608] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Implemented a branch at Main so that the same Eraser.exe can run both command line and GUI tasks

12:45 Changeset [607] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Strings.en.resx

Make Executor subclasses implement IDisposable.

12:39 Changeset [606] by lowjoel
  • branches/eraser6/Manager/Task.cs

Don't fail if the ADSes can't be enumerated because access was denied; handle it gracefully.

12:32 Ticket #66 (Internationalise Manager code.) closed by Joel
fixed: Implemented in r605
12:32 Changeset [605] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx
  • branches/eraser6/Manager/Task.cs

Internationalise the Manager code. Fixes #66

12:01 Ticket #65 (Recyclebin UI) closed by Joel
fixed: Implemented in r603.
12:00 Ticket #66 (Internationalise Manager code.) created by Joel
The Eraser Manager assembly doesn't have most of its strings …
12:00 Changeset [604] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Installer/Localisations.wxs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

Added internationalisation support for Eraser Manager. The strings need to be marked for translation, though.

11:58 Changeset [603] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.en.resx
  • branches/eraser6/Eraser/TaskDataSelectionForm.resx
  • branches/eraser6/Manager/Task.cs

Added UI for the Recycle Bin erasure target. Implements #65

10:07 Ticket #65 (Recyclebin UI) created by cjax
Write a UI to allow for recyclebin task.
10:07 Ticket #64 (Comandline) created by cjax
A command line syntax where Eraser's internal operations could be mapped …
09:22 Changeset [602] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Fixed an access denied error when setting the file times.

04:23 Ticket #63 (Write plugin searching/dynamic retrieval code for website.) created by Joel

11/20/2008:

17:59 Ticket #62 (Eraser Logo on Trac Pages) created by Overwriter
The tiniest of bugs but the Eraser logo on the top left of the Eraser Trac …

11/19/2008:

13:00 Changeset [601] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseGutmann.cs
  • branches/eraser6/DefaultPlugins/EraseRandom.cs
  • branches/eraser6/DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/Manager/Settings.cs

Unoptimized default settings code. Defaults can only be declared and will be read only if the assembly is signed by the same key used to sign Manager.
Svante thinks that the code needs to be optimized, but my use cases show that the overhead is negligible (currently). Perhaps this is for a future extension?
This properly implements #32, just that it isn't the most optimised.

12:53 Changeset [600] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs

Add a slight distance between the version number and the Eraser title.

12:51 Changeset [599] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Fixed a regression where selected UI languages aren't applied.

10:01 Changeset [598] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Util/VolumeInfo.cs

Do not assume that the list of volumes enumerated will all be mounted: unmounted drives will now be ignored when listing the drives eligible for unused space erasures.

09:55 Changeset [597] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Null settings will just delete the registry value now, instead of throwing an exception.

08:33 Changeset [596] by lowjoel
  • branches/eraser6/Version.cs

I think the File and Assembly versions should be identical.

08:20 Changeset [595] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Version.binc
  • branches/eraser6/Version.cs

I've released build 594

08:17 Changeset [594] by lowjoel
  • branches/eraser6/Eraser/Program.cs

The Task list should be stored together with other Eraser settings.

08:07 Changeset [593] by lowjoel
  • branches/eraser6/Version.binc
  • branches/eraser6/Version.cs

Make the file version (which is user-visible) the Repository version instead (which is more useful than the build count.)

08:05 Changeset [592] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/Properties/AssemblyInfo.cs
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/Util/Properties/AssemblyInfo.cs
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Version.binc
  • branches/eraser6/Version.cs

Moved the version information into Version.cs, which will be managed by the build tool BuildInc?.

05:25 Changeset [591] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Installer/Eraser.wxs

-Define the preprocessor constant with our version string
-Prevent installations where an installed version is newer than the current version
-Upgrade installations lower than the current installer version
-I've reset the upgradecode to be the same as the first installer

03:53 Changeset [590] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Installer/Installer.wixproj
  • branches/eraser6/Installer/Localisations.wxs

-OK, always maintain the upgrade code, but change the product ID. This way, old versions of the 6x line will be replaced with the new binaries at every install
-Also, move the localisation Features and Components to Localisations.wxs

03:15 Changeset [589] by lowjoel
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Installer/Installer.wixproj
  • branches/eraser6/Installer/UserInterface.wxs

Broke the large wxs file up into smaller, managable parts.

03:05 Changeset [588] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Eraser.wxs

I can't follow what the WiX tutorial says about updates: it's rather unpredictable IMO. So, what we will do now (which probably is dangerous, but leaves me no choice) is to do a complete reinstall for every update. Replace the Package ID and the UpgradeCode? at every installer build. If anyone has a better way of doing this that can be easily implemented, let me know. Based on my observations, TSVN *seems* to be doing the same thing (so I guess there must be some reason?). Well, this needs to be fixed eventually, though.

I've also set the minimum .NET version required to be 3.5.

02:05 Ticket #27 (Allow runtime Plugin Load) closed by Joel
wontfix: Looking at the new plugin code, I will close this as wontfix since we have …
01:56 Ticket #39 (Add a general section to the Forum) closed by Joel
fixed: Garrett did this last night.
01:55 Changeset [587] by lowjoel
  • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.resx
  • branches/eraser6/DefaultPlugins/Strings.en.resx

-Fixed the use case when a new erasure method is defined and immediately deleted
-Reorganised the settings dialog into tabs - it seems neater that way

01:45 Changeset [586] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp

Currently Eraser only runs on .NET 3.5

01:44 Changeset [585] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.resx
  • branches/eraser6/DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • branches/eraser6/DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/DefaultPlugins/CustomMethodPassEditor.resx
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/Strings.en.resx
  • branches/eraser6/DefaultPlugins/Strings.nl.resx
  • branches/eraser6/DefaultPlugins/Strings.resx

Fully implemented the Custom method editor and its associated error handling code

11/19/08:

01:12 Changeset [584] by lowjoel
  • branches/eraser6/Manager/EntropySource.cs

I mean uint.MaxValue?, not anything else when casting -1 to uint.

01:02 Changeset [583] by lowjoel
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Manager/Settings.cs

Fixed a compilo, a portion of the previous commit was grouped with my other changelist.

00:58 Changeset [582] by lowjoel
  • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.resx
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Util/MsCorEEAPI.cs
  • branches/eraser6/Util/Util.csproj

-Added the attribute for a Core plugin, which will only be checked for if the assembly is signed by the same signature used for the Manager assembly. Core plugins cannot be disabled (hence Core)
-Plugins can now be disabled, and unsigned plugins are not loaded by default (users must enable it in settings)

00:49 Changeset [581] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Util/Localisation.cs

Added a shorthand S._ which takes variable number of arguments for string formatting, so string.Format need not be called explicitly.

00:29 Changeset [580] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Fixed r579. That version was a no-op.

11/16/08:

14:22 Changeset [579] by cjax
  • branches/eraser6/Manager/DirectExecutor.cs

On RemoveFile? has a bug which potentially could have lead to infinite loop; simple but sorted now.

11/15/08:

17:08 Changesets [577-578] by cjax
  • branches/erasershellext/cpp/EraserCtxMenu_i.c
  • branches/erasershellext/cpp/EraserCtxMenu_i.h
  • branches/erasershellext/cpp/EraserCtxMenu_p.c
  • branches/erasershellext/cpp/SecureMove1.h
  • branches/erasershellext/cpp/SecureMove1.h
  • branches/erasershellext/out.txt
17:05 Changeset [576] by cjax
  • branches/erasershellext/cpp/CtxMenu.cpp
  • branches/erasershellext/cpp/CtxMenu.h
  • branches/erasershellext/cpp/EraserCtxMenu.vcproj
  • branches/erasershellext/cpp/EraserCtxMenu_i.c
  • branches/erasershellext/cpp/EraserCtxMenu_i.h
  • branches/erasershellext/cpp/EraserCtxMenu_p.c
  • branches/erasershellext/cpp/SecureMove1.cpp
  • branches/erasershellext/cpp/SecureMove1.h
  • branches/erasershellext/cpp/SecureMove1.resx

Some functions

01:09 Changeset [575] by lowjoel
  • branches/eraser6/Eraser/Properties/AssemblyInfo.cs
  • branches/eraser6/Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/Util/Properties/AssemblyInfo.cs

Bump the Version numbers.

01:08 Changeset [574] by lowjoel
  • branches/eraser6
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Util/Util.csproj

Require .NET 3.5 and require all assemblies to be signed. (Ignored files: *.pfx in root.)

00:29 Changeset [573] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Store all settings in the same registry key for all future v6 releases.

11/14/08:

23:56 Changeset [572] by lowjoel
  • branches/eraser6/Resources/Source/Banners
  • branches/eraser6/Resources/Source/Banners/120x160.psd
  • branches/eraser6/Resources/Source/Banners/120x60.psd
  • branches/eraser6/Resources/Source/Banners/120x600.psd
  • branches/eraser6/Resources/Source/Banners/125x125.psd
  • branches/eraser6/Resources/Source/Banners/160x600.psd
  • branches/eraser6/Resources/Source/Banners/180x150.psd
  • branches/eraser6/Resources/Source/Banners/250x250.psd
  • branches/eraser6/Resources/Source/Banners/300x250.psd
  • branches/eraser6/Resources/Source/Banners/468x60.psd
  • branches/eraser6/Resources/Source/Banners/500x500.psd
  • branches/eraser6/Resources/Source/Banners/720x300.psd
  • branches/eraser6/Resources/Source/Banners/728x90.psd
  • branches/eraser6/Resources/Source/Dialogs
  • branches/eraser6/Resources/Source/Dialogs/About Dialog.psd
  • branches/eraser6/Resources/Source/Dialogs/Eraser Update.psd
  • branches/eraser6/Resources/Source/Dialogs/Install Dialog.psd
  • branches/eraser6/Resources/Source/Dialogs/Main Dialog.psd
  • branches/eraser6/Resources/Source/Dialogs/Progress Dialog 2.psd
  • branches/eraser6/Resources/Source/Dialogs/Progress Dialog.psd
  • branches/eraser6/Resources/Source/Dialogs/Recycle Bin.psd
  • branches/eraser6/Resources/Source/Dialogs/Tray Dialog.psd
  • branches/eraser6/Resources/Source/Icons
  • branches/eraser6/Resources/Source/Icons/Nuke (16px).psd
  • branches/eraser6/Resources/Source/Icons/Nuke (256px).psd
  • branches/eraser6/Resources/Source/Icons/Nuke (32px).psd
  • branches/eraser6/Resources/Source/Icons/Nuke (48px).psd
  • branches/eraser6/Resources/Source/Icons/Nuke Animation.psd
  • branches/eraser6/Resources/Source/box.psd
  • branches/eraser6/Resources/Source/box2.psd
  • branches/eraser6/Resources/Source/box3.psd
  • branches/eraser6/Resources/Source/install_big.psd
  • branches/eraser6/Resources/Source/install_big_2.psd
  • branches/eraser6/Resources/Source/nuke_128.psd
  • branches/eraser6/Resources/Source/nuke_16.psd
  • branches/eraser6/Resources/Source/nuke_24.psd
  • branches/eraser6/Resources/Source/nuke_256.psd
  • branches/eraser6/Resources/Source/nuke_32.psd
  • branches/eraser6/Resources/Source/nuke_48.psd
  • branches/eraser6/Resources/Source/nuke_64.psd
  • branches/eraser6/Resources/Source/nuke_96.psd

The whole stash of Dennis' PSDs. Thanks!

14:32 Changeset [571] by lowjoel
  • branches/eraser6/Manager/Plugins.cs

Don't dispose plugins that were never loaded.

14:31 Changeset [570] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs

Save the settings for those which don't fail first.

14:14 Changeset [569] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Settings.cs

Tighten the plugin loading criteria:
-Plugins are first loaded reflection-only, checking for the presence of the IPlugin interface being implemented. If it is not implemented, the DLL is skipped.
-The plugins are then checked for a public key. If the public key is different from the executing assembly, it is not trusted and therefore is foreign.
-Foreign plugins must be approved by the user explicitly before they are loaded.

The SettingsPanel? and the ManagerSettings? classes have therefore been updated.

14:09 Changeset [568] by lowjoel
  • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/Manager/Properties/AssemblyInfo.cs

We're officially *The* Eraser Project.

11/14/2008:

12:40 Changeset [567] by lowjoel
  • branches/eraser6/Dependencies/BevelLine.dll
  • branches/eraser6/Dependencies/ISAAC.dll

Added signed versions of the dependant DLLs (signed by me)

12:39 Changeset [566] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs

Added a few metadata changes

12:39 Changeset [565] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs

Don't use unsafe in this context.

11:54 CompilingEraser edited by Joel
More bold filenames and move the WiX section to the installer dependencies (diff)
11:13 WikiStart edited by Joel
Link to the CompilingEraser page (diff)
11:12 CompilingEraser edited by Joel
Bold the file names (diff)
11:11 CompilingEraser created by Joel
First draft of the installation instructions
10:44 Ticket #32 (Default Settings) reopened by Joel
Svante has proposed a new method to this problem, the patch is pending.
10:33 Changeset [564] by lowjoel
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Plugins.cs

Two-step plugin loading.

09:05 Changeset [563] by lowjoel
  • branches/eraser6/Manager/PRNG.cs

Remove the inheritance from Random, PRNG is separate.

08:44 Ticket #32 (Default Settings) closed by Joel
fixed: Implemented in r562.
08:43 Changeset [562] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Settings.cs

-The EraserSettings? class should belong in Program.cs
-Defined a few defaults:

-File erasure method: Gutmann (35)
-Unused space: Pseudorandom (1)
-PRNG: RNGCryptoServiceProvider
-UI language: whatever the current UI culture is

08:20 Changeset [561] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Settings.cs

Part one to fixing #32: replace the Dictionary object with the Settings object for plugin settings; The old Settings class is now the SettingsManager? class.
Also, since we are now using a generic Object, I've implemented a few helper class (XXSettings) classes to allow for the concrete setting + type to be retrieved.

07:10 Changeset [560] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Compilo, my bad.

07:00 Ticket #18 (Support directory junctions and symlinks) closed by Joel
fixed: Fixed in r559. The behaviour of Eraser when dealing with such files …
06:57 Changeset [559] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Fixed #18

06:44 Ticket #59 (Launching Eraser without Program Files Working Dir results in Crash) closed by Joel
fixed: Fixed in r558.
06:44 Changeset [558] by lowjoel
  • branches/eraser6/Manager/Plugins.cs

Fixed #59

06:24 Changeset [557] by lowjoel
  • branches/eraser6/Manager/Manager.cs

Compilo.

06:19 Changeset [556] by lowjoel
  • branches/eraser6/Util/StreamInfo.cs

Research shows I should not be using the
?\ convention, see #41 for discussion.

05:11 Changeset [555] by lowjoel
  • branches/eraser6/Eraser.sln

Removed the old TODO.

05:09 Ticket #13 (Create update checker) closed by Joel
fixed: Implemented as integral part of Eraser. Relevant revisions: r513
04:32 Changeset [554] by lowjoel
  • branches/eraser6/Manager/Manager.cs

Fixed the language manager

04:31 Changeset [553] by lowjoel
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Manager.csproj

Added svn:keywords

00:28 Changeset [552] by cjax
  • branches/erasershellext/cpp/Eraser.Manager.h
  • branches/erasershellext/cpp/Eraser.Util.h
  • branches/erasershellext/cpp/Eraser.h
  • branches/erasershellext/cpp/EraserShell.cpp
  • branches/erasershellext/cpp/EraserShell.h
  • branches/erasershellext/cpp/SecureMove.h

Some modifications, soon the managed API would be ready

00:25 Changeset [551] by cjax
  • branches/eraser6/Manager/EntropySource.cs

okay this is the last commit for these files.

00:18 Changeset [550] by cjax
  • branches/eraser6/Manager/EntropySource.cs

oops forgotten this file

00:17 Changeset [549] by cjax
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/PRNG.cs

Additional entropy source management

11/13/2008:

23:25 Changeset [548] by lowjoel
  • branches/eraser6/Resources/Source/box.psd
  • branches/eraser6/Resources/Source/box2.psd
  • branches/eraser6/Resources/Source/box3.psd
  • branches/eraser6/Resources/Source/install_big.psd
  • branches/eraser6/Resources/Source/install_big_2.psd

And his sources.

23:22 Changeset [547] by lowjoel
  • branches/eraser6/Installer/Resources/Banner.bmp
  • branches/eraser6/Installer/Resources/Dialog.bmp
  • branches/eraser6/Resources/EraserSetup.ico

Dennis' new Setup icons.

20:39 Ticket #61 (Html files and folders association.) created by Overwriter
When a html file is deleted with the V6 Beta Eraser doesn’t also delete …
18:39 Ticket #60 (Eraser Secure Cut.) created by Overwriter
With Eraser V5 there was an option to right click a file and choose …
15:08 Changeset [546] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Hide the Eraser bootstrapper progress screen after .NET has been installed, since the centrepiece should be the Eraser installer.

14:33 Ticket #59 (Launching Eraser without Program Files Working Dir results in Crash) created by Joel
Self explanatory.
14:30 Changeset [545] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h

-The release binary is now exactly 160kb, increase the offset
-Fixed a File not Found error when .NET isn't installed

14:19 Changeset [544] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp
  • branches/eraser6/Installer/Bootstrapper/stdafx.h

Implemented the final bit of the installer where the data is appended to the bootstrapper. Use --integrate (source 7z) and --out (installer)

12:32 Changeset [543] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Added a self-scoping Handle class; fixed a few memory leaks.

12:20 Changeset [542] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.vcproj
  • branches/eraser6/Installer/Bootstrapper/Main.cpp
  • branches/eraser6/Installer/Bootstrapper/stdafx.h

Handle the Cancel button clicks.

11:32 Changeset [541] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Move SetWindowFont? to the MainWindow? class.

11:30 Changeset [540] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Implemented MainWindow::SetMessage?

11:26 Changeset [539] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Further extend the Application class.

11:06 Changeset [538] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Reshuffle all the global functions into classes. It is way neater now.

10:54 Changeset [537] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

-Fixed Yield
-Fixed the TempDir? destructor
-Added exception handlers to Main, since it can't throw
-Few warning fixes

10:27 Changeset [536] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Implemented .NET framework and Eraser installation steps.

09:56 Changeset [535] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

-Calculate the progress of the extraction
-Added functions to handle the progress updates on-screen

09:35 Changeset [534] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h

Pass the temporary directory into the ExtractTempFiles? function, since the "scope" of the directory is beyond the function and pretty much the process lifetime.

09:34 Changeset [533] by lowjoel
  • branches/eraser6/Installer/Bootstrapper/Main.cpp

Moved all main-local functions to an anonymous namespace.

09:15 Changeset [532] by lowjoel
  • branches/eraser6
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Installer/Bootstrapper
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.h
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.rc
  • branches/eraser6/Installer/Bootstrapper/Bootstrapper.vcproj
  • branches/eraser6/Installer/Bootstrapper/Main.cpp
  • branches/eraser6/Installer/Bootstrapper/Resource.h
  • branches/eraser6/Installer/Bootstrapper/stdafx.cpp
  • branches/eraser6/Installer/Bootstrapper/stdafx.h

Added a really preliminary half-baked version of an installer bootstrapper. I'll be writing the CompilingEraser wiki article soon, Eraser's starting to be so componentised (okay, new noun => verb thing, but hey!) that it's no longer straightforward to compile.

04:41 Changeset [531] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Installer/Installer.wixproj

Added the Run Eraser checkbox on the exit page.

03:22 Changeset [530] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs

Added properties.

03:20 Changeset [529] by lowjoel
  • branches/eraser6/Installer/Eraser.wxs

-Fixed warnings
-Allow 64 bit installers

02:17 Changeset [528] by lowjoel
  • branches/eraser6/Eraser.sln

Added an x64 target architecture.

02:16 Changeset [527] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

Implemented Cancel buttons on cancel-able stages.

02:15 Changeset [526] by lowjoel
  • branches/eraser6/Installer/Installer.wixproj

Define x64 builds.

01:52 Changeset [525] by lowjoel
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

Implemented operation cancelling.

01:35 Changeset [524] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx
  • branches/eraser6/Util/File.cs

Updater UI Enhancements
-Follow Dennis' UI sketches
-Show the busy cursor when dialogs which aren't cancel-able are shown
-Scale filesizes to the appropriate unit (See Util.File.GetHumanReadableFilesize?)

11/12/2008:

16:15 Changeset [523] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Remove implicit property.

16:08 Changeset [522] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/Installer
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Installer/Installer.wixproj
  • branches/eraser6/Installer/Resources/Banner.bmp
  • branches/eraser6/Installer/Resources/Dialog.bmp
15:21 Changeset [521] by lowjoel
  • branches/eraser6/Installer/License.rtf

Remove duplicate bullets.

09:12 Changeset [520] by lowjoel
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Installer
  • branches/eraser6/Installer/Eraser.wxs
  • branches/eraser6/Installer/Installer.wixproj
  • branches/eraser6/Installer/License.rtf
  • branches/eraser6/Installer/Resources
  • branches/eraser6/Installer/Resources/Exclamation.ico
  • branches/eraser6/Installer/Resources/Information.ico
  • branches/eraser6/Installer/Resources/New Folder.ico

Added a WiX project for Eraser's installer.

07:08 Changeset [519] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

Just close the updater dialog if no updates were selected for download and install.

06:55 Changeset [518] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

-Disable the close button when an operation is in progress
-Fixed a miscalculation of overall progress after a download is completed

06:37 Changeset [517] by lowjoel
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

-Fixed a mirror parsing bug
-Allow the selection of mirrors by the user

05:54 Changeset [516] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

-Have error messages persist throughout the update session
-Have a Dictionary mapping the UpdateManager?.Update object to the various data: ListViewItem? and Exception
-Fixed a progress calculation bug when a WebException? is thrown and caught during downloading

05:22 Changeset [515] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/UpdateForm.cs

Handle errors that arise during the download of updates

04:43 Changeset [514] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx
  • branches/eraser6/Resources/Downloading.png
  • branches/eraser6/Resources/Error.png
  • branches/eraser6/Resources/Installed.png
  • branches/eraser6/Resources/Installing.png

-Allow errors to be passed from the BackgroundWorker? to the main thread for some form of display (the UI can be improved, it's quite bad now)
-Slightly more flexible progress event handling
-Break up the Download and Install phases of the UpdateManager?

02:45 Ticket #58 (Eraser Watched Folder) created by cjax
We could set Eraser to watch specific folders, and erase them according to …
02:28 Changeset [513] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/UpdateForm.Designer.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/UpdateForm.resx

Added a really rudimentary implementation of our Eraser Updater. (mirrors not implemented, server/file identity information not checked, error handling absent)

11/11/2008:

13:55 Changeset [512] by lowjoel
  • branches/eraser6/Util/KernelAPI.cs

Add the ProcessorArchitecture? enum for the KernelAPI.SYSTEM_INFO structure (don't hardcode constants)

10:13 Changeset [511] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Patch from Kaz:
-If filling the last bits of space of a volume throws IO exceptions, reduce the filesize by one cluster at a time
-When erasing file cluster tips handle everything in try-finally block

My change:
-Catch exceptions in the main task handler, too. This may occur when a target doesn't exist.

10:06 Ticket #57 (Convert Win32 Error codes into .NET exceptions) closed by Joel
invalid: Actually looking through the Util functions I don't see much else which we …
10:02 Ticket #52 (Implement custom method editor) closed by Joel
fixed: Implemented in r508 and r510. Complements to Kaz for the doing the …
10:01 Changeset [510] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.resx
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.resx
  • branches/eraser6/Eraser/SettingsPanel.cs

-Allow the DefaultPlugins? UIs to be localisable as well
-Implemented custom erasure method deletion

09:59 Changeset [509] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

-Fixed the wrapping for the USAF credit
-Sami's role is probably better stated as "Mentor/Initiator?" as per SourceForge? Project page

09:41 Changeset [508] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.Designer.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Manager/Method.cs

Heavily modified patch by Kaz to implement custom erasure methods.

-Resized the default plugins dialogs to be a little smaller
-Implemented the editing of implemented custom erasure methods
-Pass constants, by default, display themselves as hexadecimal strings. This is so that they remain lossless when saved. Converting non-UTF8 bytes to UTF8 is lossy and so is avoided
-Newly added passes are added before the selected item; appended if none are selected
-Multiple passes can be selected now for group deletion

01:53 Ticket #57 (Convert Win32 Error codes into .NET exceptions) created by Joel
Currently all Win32 Errors are thrown as Win32Exceptions. We should remove …
01:52 Changeset [507] by lowjoel
  • branches/eraser6/Util/VolumeInfo.cs

Throw specific exceptions when we have a Win32 error code.

01:51 Changeset [506] by lowjoel
  • branches/eraser6/Util/Localisation.cs

Apply the Replace fix to Unescape too.

00:53 Changeset [505] by lowjoel
  • branches/eraser6/Manager/Task.cs

Missing doc (Thanks Kaz!)

00:41 Changeset [504] by lowjoel
  • branches/eraser6/Resources/EraserTrac.png

Added the Trac header image.

00:13 Changeset [503] by cjax
  • branches/eraser6/Eraser/MainForm.Designer.cs

Make changes in MainForm?.Designer.cs to make it double buffered (sometimes it flickers)

00:04 Changeset [502] by cjax
  • branches/eraser6/Manager/PRNG.cs

Poller/Source? dilemma

11/10/2008:

14:08 Changeset [501] by lowjoel
  • branches/eraser6/Util/Localisation.cs

str.Replace has no effect on the operand, it returns the modified string.

14:08 Changeset [500] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Fixed the About Text internationalisation.

13:40 Changeset [499] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Updated the String resources.

13:23 Ticket #56 (Language Change) closed by Joel
fixed: Fixed in r498.
13:23 Changeset [498] by lowjoel
  • branches/eraser6/Eraser/LightGroup.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.nl.resx
  • branches/eraser6/Eraser/SettingsPanel.resx

-Fixed #56
-The Settings panel light groups did not have its strings localised because of a mistake on my part
-So I've relocalised the strings now!

12:57 Changeset [497] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Fixed access violations when exiting the program without terminating running erasures.

12:57 Changeset [496] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.resx

Increase the size of the bevel line separating the diagram and the rest of the dialog.

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

-Defer the starting of the execution thread until the application event loop is about to start (so initialisation of the variables in the UI can take place)
-Scheduled tasks can also be queued

12:07 Ticket #56 (Language Change) created by Le Marquis
When changing language! Show popup that Eraser has be be restarted…
11:50 Ticket #53 (Missed task rescheduling) closed by Joel
fixed: Implemented in r494.
11:50 Changeset [494] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.resx
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Schedule.cs

-Fixed a mistake in the UnusedIdsList? population when loading a task list. The ID should be postincremented rather than preincremented
-Implemented #53

11:48 Changeset [493] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs

-Fixed a few typos in comments
-Don't overuse NotImplementedException?: use it only if we plan to implement it in future.

10:05 Changeset [492] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs

This seems to be working already, remove the todo.

10:01 Ticket #37 (Eraser should not allow system to hibernate or standby when running) closed by Joel
fixed: Fixed in r491.
10:01 Changeset [491] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Util/KernelAPI.cs

Implemented #37: don't let the system go to sleep while executing a task.

09:41 Ticket #25 (Finish multi-target implementation) closed by Joel
fixed: Progress Indicator was fixed in r482 and r488. Deletion of task targets …
09:40 Changeset [490] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.resx

Implemented task data removal.

09:22 Changeset [489] by lowjoel
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/VolumeInfo.cs

-In FAT32, the driver doesn't know FSCTL_GET_COMPRESSION so it'll just return zero.
-In FAT32, finding the volume from the mountpoint may fail with a GetLastError? value of 1

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

The ETA calculation has been moved to the ProgressManager? class

09:16 Changeset [487] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/ProgressForm.nl.resx
  • branches/eraser6/Eraser/ProgressForm.resx

Use the shiny new icon.

09:03 Changeset [486] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/Task.cs

-The ErasureTarget?.Method property should always return a valid Erasure method. Therefore, to check if the user specified to use defaults, I've added the MethodDefined? property
-Fixed the Task data selection form: the erasure method was not set even if it was defined

00:38 CodingConventions edited by Joel
A note about getter/setter functions. (diff)
00:38 CodingConventions edited by Joel
Class Variable declaration modification. (diff)
00:27 Changeset [485] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Implemented Recycle Bin erasure: modified patch by cjax (Kasra Nassiri)

00:24 Changeset [484] by lowjoel
  • branches/eraser6/Eraser/Properties/AssemblyInfo.cs

We're Eraser v6.

00:12 Ticket #28 (Resolve locked files on restart) closed by Joel
duplicate: This is related to #14, actually. I'll lump them together.
00:11 Ticket #40 (Form a documentation team) closed by Joel
fixed

11/9/2008:

15:02 Changeset [483] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs

New About text.

14:41 Ticket #33 (Progress calculation when cluster tip erasure is disabled) closed by Joel
fixed: Fixed in r482.
14:40 Changeset [482] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/ProgressForm.resx
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SchedulerPanel.nl.resx
  • branches/eraser6/Eraser/SchedulerPanel.resx
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

-Rewrote the progress calculation architecture to work slightly better for multi target tasks.
-Progress values are now decimals of type float. This allows for larger number of significant figures (and scalable to double, if necessary)

12:27 Changeset [481] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/Eraser/Properties/Resources.resx
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

New shiny icons.

12:25 Changeset [480] by lowjoel
  • branches/eraser6/Eraser/Resources/BackgroundLogo.png
  • branches/eraser6/Eraser/Resources/NotifyIcon1.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon10.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon2.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon3.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon4.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon5.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon6.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon7.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon8.ico
  • branches/eraser6/Eraser/Resources/NotifyIcon9.ico
  • branches/eraser6/Resources/Eraser.ico
  • branches/eraser6/Resources/EraserSetup.ico
  • branches/eraser6/Resources/EraserSetup.jpg

Added Dennis' new shiny Eraser icon.

11:54 Ticket #55 (Implement Custom Erasure Methods) closed by Joel
duplicate: Duplicate of #52
11:50 Ticket #55 (Implement Custom Erasure Methods) created by Joel
Custom Erasure methods are now usable, with two conditions: - …
10:04 Changeset [479] by lowjoel
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Util/Unsafe.cs
  • branches/eraser6/Util/Util.csproj

Fixed Kaz's implementation, and implemented his proposal of using EntropySources? to allow extensibility in future to hardware entropy sources, etc.

08:54 Changeset [478] by lowjoel
  • branches/eraser6/Manager/PRNG.cs

Reapplied my changes and reorganisations after Kaz accidentally removed them.

08:47 Changeset [477] by cjax
  • branches/eraser6/Util/Unsafe.cs

Added functions

08:04 Changeset [476] by cjax
  • branches/eraser6/Manager/PRNG.cs

11/7/2008:

08:48 Changeset [475] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Fixed a logic error in my task deletion code.

08:43 Changeset [474] by lowjoel
  • branches/eraser6/Eraser/AboutForm.Designer.cs
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/AboutForm.resx

Added links to the Eraser project page and donation pages.

08:27 Changeset [473] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Use tabs to separate our roles from our names.

08:12 Changeset [472] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Make the About Text translatable.

08:09 Changeset [471] by lowjoel
  • branches/eraser6/Eraser/AboutForm.Designer.cs
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/AboutForm.resx

Hail optimisation! this version doesn't eat memory up like it's free and has significant less CPU usage. And silly me forgot to check the docs, MeasureString? and DrawString? can do wrapping for me.

07:02 Changeset [470] by lowjoel
  • branches/eraser6/Eraser/AboutForm.Designer.cs
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/AboutForm.resx
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Resources/AboutDialog.png
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

First (unoptimised) implementation of the fading + scrolling about box.

11/6/2008:

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

Fixed crash when recompiled under VS08

12:11 Changeset [468] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Util/Util.csproj

Upgrade project files to VS2008.

12:09 Changeset [467] by lowjoel
  • branches/eraser6/Eraser/BasePanel.resx
  • branches/eraser6/Eraser/SchedulerPanel.nl.resx
  • branches/eraser6/Eraser/SchedulerPanel.resx
  • branches/eraser6/Eraser/SettingsPanel.nl.resx
  • branches/eraser6/Eraser/SettingsPanel.resx

Use Segoe UI 18pt for panel titles for Dutch.

11:56 Changeset [466] by lowjoel
  • branches/eraser6/Util/VolumeInfo.cs

Don't worry about drives which aren't mounted when checking for quotas.

11:55 Changeset [465] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs

Place the base class of the SettingsPanel? on the Designer file.

11:26 Changeset [464] by lowjoel
  • branches/eraser6/Manager/PRNG.cs

Extra Modified By field for whoever's going to modify next.

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

Further improve r448: include the selected items as part of the decision on whether to remove the plausible deniability files.

11:05 Changeset [462] by lowjoel
  • branches/eraser6/Manager/PRNG.cs

Cleaned up r443.

10:16 Changeset [461] by lowjoel
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/UserAPI.cs
  • branches/eraser6/Util/VolumeInfo.cs

Cherry picked changes from r436-447. Most changes have been rejected (except a few which were valid).

I'm saving the ERROR enum for future versions when we DO have many error codes. Currently just comment them with /*ERROR_WHATEVER_MESSAGE*/, next time, just regex search (/\*ERROR_)

09:34 Changeset [460] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.Designer.cs
  • branches/eraser6/Eraser/ProgressForm.nl.resx
  • branches/eraser6/Eraser/ProgressForm.resx
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.resx
  • branches/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.nl.resx
  • branches/eraser6/Eraser/TaskDataSelectionForm.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.nl.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.resx

Reverted r444: most of the changes there really broke things or were unnecessary. Those UI changes were unnecessary since Dennis approved the older version.

Note: See TracTimeline for information about the timeline view.