Timeline


and

3/21/2012:

18:11 Build of Eraser 6 [2565] on Windows completed
18:05 Build of Eraser 6.2 [2568] on Windows completed
14:09 TestingBuilds created by Joel
Create page.
14:09 WikiStart edited by Joel
Add link to new wiki article on testing Eraser (diff)
11:49 Changeset [2568] by lowjoel
  • trunk/eraser/Eraser.Manager/EntropyPoller.cs

Use shorthand for easier understanding.

11:31 Changeset [2567] by lowjoel
  • trunk/eraser/Eraser.Manager/EntropyPoller.cs
  • trunk/eraser/Eraser.Manager/ManagerLibrary.cs
  • Fixed entropy poller registration: The plugins rewrite broke entropy source and entropy poller integration.
  • Rewrote the MixPool? routine to use max/min instead of repeated ternary operators for clarity.
  • Fixed the circular buffer which is the pool: the previous code always wrote new entropy to the start of the pool.
  • Every time the entropy pool wraps, mix the pool so that previous entropy is not wasted.
10:26 Changeset [2566] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Manager/EntropyPoller.cs

Merged revisions 2563 and 2565 from Eraser 6.0:

  • Remove the unused PRFAlgorithms enum.
  • Removed the capability for switchable algorithms at runtime, and changed the default pool mixing function to SHA-1 since under FIPS compliance mode on Windows XP the SHA-2 family of hashes are not available. RIPEMD-160 is likewise not available. As such, under FIPS compliance mode, we will only use SHA-1, even on later OSes, and make primer mixing with RIPEMD-160 unavailable.
  • The sleep time between polls is now variable between 2 and 5 seconds. The previous one tended to pick the same amounts of time since it would effectively make one loop double the time it took to gather entropy from all entropy sources.
  • Only push entropy to the PRNGs every 10 minutes

Addresses #406

09:40 Changeset [2565] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/EntropySource.cs

Supplements r2563: Remove the unused PRFAlgorithms enum.

09:21 Changeset [2564] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/AdvApi.cs

Use null as the parameters for the Container and Provider parameters instead of the empty string, since that is what MSDN documentation says we should specify if we want defaults. In addition, specify CRYPT_VERIFYCONTEXT for accounts which do not have a persistent key container (e.g. Guest accounts).

Addresses #406: Not able to acquire a Cryptographic Service Provider on startup

06:10 Build of Eraser 6 [2563] on Windows completed
06:05 Build of Eraser 6.2 [2561] on Windows completed
03:40 Changeset [2563] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/EntropySource.cs

Behavioural change: Removed the capability for switchable algorithms at runtime, and changed the default pool mixing function to SHA-1 since under FIPS compliance mode on Windows XP the SHA-2 family of hashes are not available. RIPEMD-160 is likewise not available. As such, under FIPS compliance mode, we will only use SHA-1, even on later OSes, and make primer mixing with RIPEMD-160 unavailable.

Addresses #406. Eraser 6.2 will require a different fix; which would be to use proper fallback mechanisms (with the using the Crypto Next Gen APIs, which are said to be 10% faster)

02:15 Changeset [2562] by EraserSlave
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Backport from Eraser trunk: Better reparse point handling for Eraser 6.0 (https://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8684&p=25969#p25966)
r2561: Part 2 fix for https://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8684&p=25969#p25966 since erasing the actual reparse point would cause Eraser to crash if the reparse point references an invalid target.
r2560: Supplements r2549: Resolve reparse points only for as long as the reparse point we are referring to exists; otherwise fall back to volume name resolution.
r2559: We should only check for FileSystemInfos? in the directory being erased if the directory is not a symbolic link. Otherwise, the check is meaningless.
r2558: When we are setting file times for reparse points, we should fall back to setting the file times for the reparse point itself if we cannot set it on the target of the reparse point (such as if the reparse point points to an invalid object.)

01:46 Changeset [2561] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs

Part 2 fix for https://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8684&p=25969#p25966 since erasing the actual reparse point would cause Eraser to crash if the reparse point references an invalid target.

01:45 Changeset [2560] by lowjoel
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Supplements r2549: Resolve reparse points only for as long as the reparse point we are referring to exists; otherwise fall back to volume name resolution.

01:36 Changeset [2559] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs

We should only check for FileSystemInfos? in the directory being erased if the directory is not a symbolic link. Otherwise, the check is meaningless.

01:01 Changeset [2558] by lowjoel
  • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
  • trunk/eraser/Eraser.Util/Strings.en.resx
  • trunk/eraser/Eraser.Util/Strings.it.resx
  • trunk/eraser/Eraser.Util/Strings.nl.resx
  • trunk/eraser/Eraser.Util/Strings.pl.resx
  • trunk/eraser/Eraser.Util/Strings.resx

When we are setting file times for reparse points, we should fall back to setting the file times for the reparse point itself if we cannot set it on the target of the reparse point (such as if the reparse point points to an invalid object.)

Fixes the first bug in https://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8684&p=25969#p25966 when erasing a folder containing reparse points.

3/20/2012:

06:10 Build of Eraser 6 [2554] on Windows completed
06:05 Build of Eraser 6.2 [2557] on Windows completed
01:46 Changeset [2557] by lowjoel
  • trunk/eraser/Eraser/ShellConfirmationDialog.Designer.cs
  • trunk/eraser/Eraser/ShellConfirmationDialog.resx

Do not display the shell confirmation dialog with TopMost? set to true, since that would prevent child dialogs from being displayed properly.

01:40 Changeset [2556] by lowjoel
  • trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs

Fixed exception when the Erasure Target owner is assigned the same value as what we currently have. The operation should be idempotent.

01:37 Changeset [2555] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs
  • trunk/eraser/Eraser.Util/Strings.en.resx
  • trunk/eraser/Eraser.Util/Strings.it.resx
  • trunk/eraser/Eraser.Util/Strings.nl.resx
  • trunk/eraser/Eraser.Util/Strings.pl.resx
  • trunk/eraser/Eraser.Util/Strings.resx
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Forward-port from Eraser 6.0: Supplements r2551: Support direct volume reparse points, similar to what would occur before the code change.

01:34 Changeset [2554] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/NTApi.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Supplements r2550: Support direct volume reparse points, similar to what would occur before the code change.

01:10 Changeset [2553] by lowjoel
  • trunk/eraser/Eraser/SchedulerPanel.cs

Fixed exception when a timer tick event is raised after the completion of the task, but not before the TaskFinished? event is processed.

00:42 Changeset [2552] by lowjoel
  • trunk/website/scripts/updates/index.php

PHP warning fix for non-standard requests.

3/19/2012:

12:10 Build of Eraser 6 [2550] on Windows completed
12:05 Build of Eraser 6.2 [2551] on Windows completed
08:31 Changeset [2551] by lowjoel
  • trunk/eraser
  • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs

Forward-port from Eraser 6.0: When we are dereferencing a reparse point, we only need FILE_READ_ATTRIBUTES | FILE_READ_EA access. Do not request GENERIC_READ access since for reduced permissions links (e.g. the junctions in the Vista+ User Profile folder) those permissions are not granted at the directory level (soi even administrators can't have those rights!)

Fixes #412.

03/19/12:

08:26 Changeset [2550] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/KernelApi.cs
  • branches/eraser6/6.0/Eraser.Util/NTApi.cs

When we are dereferencing a reparse point, we only need FILE_READ_ATTRIBUTES | FILE_READ_EA access. Do not request GENERIC_READ access since for reduced permissions links (e.g. the junctions in the Vista+ User Profile folder) those permissions are not granted at the directory level (soi even administrators can't have those rights!)

Fixes #412.

08:06 Changeset [2549] by lowjoel
  • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs
  • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser/Eraser.Util/VolumeInfo.cs

Forward-port from Eraser 6.0: We need to recursively dereference all reparse points before we call GetVolumeNameForVolumeMountPoint?. This prevents a situation where we we get an invalid parameter error from GetVolumeNameForVolumeMountPoint? when we hand it a reparse point but it is not a volume reparse point.

Fixes bug in https://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8684.

07:53 Changeset [2548] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
  • trunk/eraser/Eraser.DefaultPlugins/Strings.resx

New strings.

07:51 Changeset [2547] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/NTApi.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

We need to recursively dereference all reparse points before we call GetVolumeNameForVolumeMountPoint?. This prevents a situation where we we get an invalid parameter error from GetVolumeNameForVolumeMountPoint? when we hand it a reparse point but it is not a volume reparse point.

Fixes bug in https://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8684.

02:36 Changeset [2546] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs

If the user does not specify that he wants to delete the folder if it is empty, we should assume he wants to (this is a more reasonable default)

02:27 Changeset [2545] by lowjoel
  • trunk/eraser/Dependencies/CommonLibrary.XML
  • trunk/eraser/Dependencies/CommonLibrary.dll
  • trunk/eraser/Dependencies/CommonLibrary.pdb
  • trunk/eraser/Eraser/Program.cs

Experimental fix for allowing context menu erasures to require confirmation again.

02:10 Changeset [2544] by lowjoel
  • trunk/eraser/Eraser.Util/Shell.cs

Fixed a FileNotFound? exception when we are given a GUID we do not have registered in the Shell namespace.

02:09 Changeset [2543] by lowjoel
  • trunk/eraser/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser/Eraser.Manager/Task.cs

Tasks were not being cleared from the task list upon successful completion because they were reset to Manually executed tasks before returning to the Executor. This scheduling ability should be dealt with in the Executor and not the Task. Therefore, the Task Completion event will still have the schedule of the initial configuration, and not after the schedule has been reset to Manual. This allows context menu tasks which completed successfully to be cleared automatically.

Fixes bug in https://eraser.heidi.ie/forum/viewtopic.php?f=36&p=25922#p25922.

01:55 Changeset [2542] by lowjoel
  • trunk/eraser/UpdateVersions.bat

Fixed syntax error with the batch script.

03/17/12:

13:07 Build of Eraser 6.2 [2541] on Windows completed
12:55 Changeset [2541] by lowjoel
  • trunk/eraser/UpdateVersions.bat

Handle no-TortoiseSVN situations differently from SubWCRev returning an error.

12:09 Build of Eraser 6 [2540] on Windows completed
03:05 Changeset [2540] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Backport from trunk: Fix a misnomer: when Eraser is running, and a new task is added, it is possible that the task was added remotely (e.g. via shell context menu) and if the schedule is Run Now, the task could already be running when we receive the event. In those situations, do not reset the task status to Queued for Execution (which we do for new tasks)

03:01 Changeset [2539] by lowjoel
  • trunk/eraser/Eraser/SchedulerPanel.cs

Fix a misnomer: when Eraser is running, and a new task is added, it is possible that the task was added remotely (e.g. via shell context menu) and if the schedule is Run Now, the task could already be running when we receive the event. In those situations, do not reset the task status to Queued for Execution (which we do for new tasks)

02:50 Changeset [2538] by lowjoel
  • trunk/eraser/Eraser/Program.GuiProgram.cs
  • trunk/eraser/Eraser/Program.cs

Move the call to Application.EnableVisualStyles? to the start of the program so that if a console window creates a WinForm?, it would have the correct behaviour.
Fixing this bug also fixes the drawing problems associated with the display of the shell erase confirmation dialog.

02:36 Changeset [2537] by lowjoel
  • trunk/eraser/Eraser/ShellConfirmationDialog.resx

Fixed font override in the Shell confirmation dialog.

02:12 Changeset [2536] by lowjoel
  • trunk/eraser/Eraser.BlackBox/BlackBox.cs
  • Recursively delete a directory if report creation failed so we don't raise another exception while handling one
  • Handle InvalidOperationExceptions? when churning out the report: some processes may have exited since we enumerated it
  • Fixed grabbing screenshots of screens where the primary desktop is not at (0,0)
02:08 Changeset [2535] by lowjoel
  • trunk/eraser/Eraser/Program.cs
  • We should re-throw the exception if we get one while processing the command line. This would trigger BlackBox?, if it was initialised.
  • When we process the command line, when checking against a null string, we should use String.IsNullOrEmpty?.
01:29 Changeset [2534] by lowjoel
  • trunk/eraser/Eraser/Settings.cs

Removed debug code.

03/16/12:

12:45 Build of Eraser 6.2 [2533] on Windows completed
01:46 Ticket #420 (will not run upon install) created by genethomas@…
Just installed ERASER and set tasks to run manual and auto. When I tell ot …
00:52 Changeset [2533] by lowjoel
  • trunk/eraser/Dependencies/CommonLibrary.XML
  • trunk/eraser/Dependencies/CommonLibrary.dll
  • trunk/eraser/Dependencies/CommonLibrary.pdb
  • trunk/eraser/Eraser/Program.cs

Updated to CommonLibrary?.NET 0.9.7

00:10 Changesets [2896-2897] by lowjoel

    Updated to CommonLinbary?.NET 0.9.7.

    00:05 Build of Eraser 6.2 [2532] on Windows completed
    00:04 Changeset [2895] by lowjoel

      Ignore VS generated files.

      00:03 Changeset [2894] by lowjoel

        Updated to CommonLibrary?.NET 0.9.7

        03/15/12:

        23:10 Changeset [2532] by lowjoel
        • trunk/eraser/Version.cs.in

        Version bump because we changed the underlying types behind the task list. This would force a FileLoadException?, which we can handle.

        13:50 Build of Eraser 6 [2529] on Windows completed
        13:10 Build of Eraser 6.2 [2531] on Windows completed
        02:00 Changeset [2531] by lowjoel
        • trunk/eraser/Eraser.Shell/CtxMenu.cpp

        Remove debug code.

        01:59 Changeset [2530] by lowjoel
        • trunk/eraser/Eraser.Shell/CtxMenu.cpp

        Fixed parameter ordering; Eraser's context menu erasures will now prompt to confirm before executing and not require elevation to run.

        01:33 Ticket #419 (Allow users to erase all users' recycle bins if they have the needed ...) created by Joel
        Currently, all erasures only affect the current user's recycle bin. Allow …
        01:29 Changeset [2529] by lowjoel
        • branches/eraser6/6.0
        • branches/eraser6/6.0/Eraser.Manager/Task.cs

        Backport r2527 and r2522 from trunk: Improve recycle bin support: on drives not using NTFS, Windows stores recycle bin files directly within the $Recycle.Bin folder. On those drives, we would have to erase the global recycle bin for that drive.

        00:58 Changeset [2528] by lowjoel
        • trunk/eraser/Eraser.sln

        Clean up the project dependencies.

        00:53 Changeset [2527] by lowjoel
        • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs

        Properly implement the recycle bin erasure: do not delete the contents of the special folder, just the recycle bin folder within it!

        00:51 Changeset [2526] by lowjoel
        • trunk/eraser/Dependencies/Microsoft.Runtime.Hosting.Interop.dll
        • trunk/eraser/Dependencies/Microsoft.Runtime.Hosting.Interop.pdb
        • trunk/eraser/Dependencies/Microsoft.Runtime.Hosting.dll
        • trunk/eraser/Dependencies/Microsoft.Runtime.Hosting.pdb
        • trunk/eraser/Eraser.Util/Eraser.Util.csproj
        • trunk/eraser/Eraser.Util/Security.cs

        StrongNameSignatureVerificationEx? has been deprecated. For .NET 4, we need to instantiate and ICLRStrongName from the current runtime and call the interface's StrongNameSignatureVerificationEx?. This code adds a dependency on a managed library by the CLR Runtime Activation Team (http://clractivation.codeplex.com), included in the distribution.

        00:49 Changeset [2525] by lowjoel
        • trunk/eraser/Dependencies/BevelLine.dll
        • trunk/eraser/Dependencies/BevelLine.pdb
        • trunk/eraser/Dependencies/CommonLibrary.dll
        • trunk/eraser/Dependencies/CommonLibrary.pdb
        • trunk/eraser/Dependencies/DragDropLib.XML
        • trunk/eraser/Dependencies/DragDropLib.dll
        • trunk/eraser/Dependencies/DragDropLib.pdb
        • trunk/eraser/Dependencies/ICSharpCode.SharpZipLib.dll
        • trunk/eraser/Dependencies/ICSharpCode.SharpZipLib.pdb
        • trunk/eraser/Dependencies/TaskDialog.dll
        • trunk/eraser/Dependencies/TaskDialog.pdb
        • trunk/eraser/Dependencies/alglibnet2.dll
        • trunk/eraser/Dependencies/alglibnet2.pdb
        • trunk/eraser/Eraser.Util/NativeMethods/MsCorEE.cs
        • trunk/eraser/Installer/DirectoryStructure.wxs

        Rebuild all dependencies with .NET 4.0, so that we can run Eraser on a computer without .NET 3.5.

        00:40 Changeset [2893] by lowjoel

          Modified build script: use *build.bat csc /o "/keyfile:..\Strong Name.snk" /debug:pdbonly*

          00:38 Changeset [2892] by lowjoel

            Built ALGLIB 3.4.0 with my Strong Name.

            00:26 Changeset [2891] by lowjoel

              ALGLIB 3.4.0

              00:21 Changeset [2890] by lowjoel

                Imported ALGLIB 3.4.0

                00:06 Build of Eraser 6.2 [2524] on Windows completed

                03/14/12:

                23:17 Changeset [2524] by lowjoel
                • trunk/eraser/Installer/DirectoryStructure.wxs

                Include the Eraser.Plugins assembly with the installation for plugins to work.

                12:06 Build of Eraser 6.2 [2523] on Windows completed
                11:07 Changeset [2889] by lowjoel

                  Updated to VS2010

                  11:02 Changesets [2886-2888] by lowjoel

                    Updated to VS2010.

                    10:57 Changeset [2885] by lowjoel

                      Woops, the Strong Name should have been in a different folder.

                      10:57 Changeset [2884] by lowjoel

                        Ignore the strong name key file.

                        10:56 Changeset [2883] by lowjoel

                          Upgraded the solution and project to VS2010.

                          10:08 Changeset [2882] by lowjoel

                            Fixed the build script to copy the correct files to out. _tmp is also needed for proper execution.

                            09:58 Changeset [2523] by lowjoel
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Shell.cs
                            • trunk/eraser/Eraser.Util/Shell.cs

                            Implement recycle bin erasures according to what Vista and 7 would detect as part of the Recycle Bin. This would erase recycle bins which are on UNC paths and mounted drives without a drive letter. Tested and works with Windows 7 and Windows XP SP3.

                            08:35 Changeset [2522] by lowjoel
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs

                            Improve recycle bin support: on drives not using NTFS, Windows stores recycle bin files directly within the $Recycle.Bin folder. On those drives, we would have to erase the global recycle bin for that drive.

                            08:07 Changeset [2521] by lowjoel
                            • trunk/eraser/Eraser/SettingsPanel.cs

                            Just some reorganisation of the code ordering to have settings of the same type saved together.

                            07:57 Changeset [2520] by lowjoel
                            • trunk/eraser/Eraser/Eraser.csproj

                            Fix warnings in the project system.

                            07:56 Changeset [2519] by lowjoel
                            • trunk/eraser/Eraser/TaskPropertiesForm.cs

                            Display the erasure targets when opening a task for editing.

                            07:35 Changeset [2518] by lowjoel
                            • trunk/eraser/Eraser.BlackBox/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Manager/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Plugins/PersistentStore.cs
                            • trunk/eraser/Eraser.Plugins/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/EntropySourceRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/ErasureMethodRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/ErasureTargetFactoryRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/FileSystemRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/PrngRegistrar.cs
                            • trunk/eraser/Eraser.Shell/Eraser.Shell.rc
                            • trunk/eraser/Eraser.Util.Native/AssemblyInfo.cpp
                            • trunk/eraser/Eraser.Util.Native/Eraser.Util.Native.rc
                            • trunk/eraser/Eraser.Util/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser/AboutForm.cs
                            • trunk/eraser/Eraser/Program.cs
                            • trunk/eraser/Eraser/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser/Strings.en.resx
                            • trunk/eraser/Eraser/Strings.it.resx
                            • trunk/eraser/Eraser/Strings.nl.resx
                            • trunk/eraser/Eraser/Strings.pl.resx
                            • trunk/eraser/Eraser/Strings.resx
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.rc

                            Update copyrights to this year.

                            07:27 Changeset [2517] by lowjoel
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/SettingsForm.cs

                            All types in Eraser.DefaultPlugins? can be internal since no one is supposed to be referencing that assembly.

                            07:21 Changeset [2516] by lowjoel
                            • trunk/eraser/Eraser.BlackBox/BlackBox.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxMainForm.Designer.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxMainForm.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxUploadForm.Designer.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxUploadForm.cs
                            • trunk/eraser/Eraser.BlackBox/Plugin.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Random.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Plugin.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Prngs/RNGCrypto.cs
                            • trunk/eraser/Eraser.DefaultPlugins/SettingsForm.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/SettingsForm.cs
                            • trunk/eraser/Eraser.Manager/DirectExecutor.cs
                            • trunk/eraser/Eraser.Manager/EntropyPoller.cs
                            • trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs
                            • trunk/eraser/Eraser.Manager/Executor.cs
                            • trunk/eraser/Eraser.Manager/ManagerLibrary.cs
                            • trunk/eraser/Eraser.Manager/RemoteExecutor.cs
                            • trunk/eraser/Eraser.Manager/Schedule.cs
                            • trunk/eraser/Eraser.Manager/Settings.cs
                            • trunk/eraser/Eraser.Manager/Task.cs
                            • trunk/eraser/Eraser.Plugins/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IEntropySource.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IErasureMethod.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IFileSystem.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IPrng.cs
                            • trunk/eraser/Eraser.Plugins/Host.cs
                            • trunk/eraser/Eraser.Plugins/IConfigurer.cs
                            • trunk/eraser/Eraser.Plugins/IPlugin.cs
                            • trunk/eraser/Eraser.Plugins/IRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/PluginInfo.cs
                            • trunk/eraser/Eraser.Plugins/PluginLoadEventArgs.cs
                            • trunk/eraser/Eraser.Plugins/PluginLoadedEventArgs.cs
                            • trunk/eraser/Eraser.Plugins/PluginLoadingPolicy.cs
                            • trunk/eraser/Eraser.Plugins/ProgressManager.cs
                            • trunk/eraser/Eraser.Plugins/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Plugins/Version.cs.in
                            • trunk/eraser/Eraser.Shell/CtxMenu.cpp
                            • trunk/eraser/Eraser.Shell/CtxMenu.h
                            • trunk/eraser/Eraser.Shell/DllMain.cpp
                            • trunk/eraser/Eraser.Shell/DllMain.h
                            • trunk/eraser/Eraser.Shell/DllMain.idl
                            • trunk/eraser/Eraser.Shell/Eraser.Shell.rc
                            • trunk/eraser/Eraser.Shell/Utils.cpp
                            • trunk/eraser/Eraser.Shell/Utils.h
                            • trunk/eraser/Eraser.Shell/stdafx.cpp
                            • trunk/eraser/Eraser.Shell/stdafx.h
                            • trunk/eraser/Eraser.Shell/targetver.h
                            • trunk/eraser/Eraser.Util.Native/AssemblyInfo.cpp
                            • trunk/eraser/Eraser.Util.Native/Eraser.Util.Native.rc
                            • trunk/eraser/Eraser.Util.Native/Fat.h
                            • trunk/eraser/Eraser.Util.Native/Fat12Api.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat12Or16Api.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat16Api.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat32Api.cpp
                            • trunk/eraser/Eraser.Util.Native/FatApi.cpp
                            • trunk/eraser/Eraser.Util.Native/FatApi.h
                            • trunk/eraser/Eraser.Util.Native/Main.cpp
                            • trunk/eraser/Eraser.Util.Native/NTApi.h
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.NameResolver.cpp
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.NameResolver.h
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.cpp
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.h
                            • trunk/eraser/Eraser.Util.Native/Stdafx.cpp
                            • trunk/eraser/Eraser.Util.Native/Stdafx.h
                            • trunk/eraser/Eraser.Util/ConsoleWindow.cs
                            • trunk/eraser/Eraser.Util/ExtensionClasses/SharingViolationException.cs
                            • trunk/eraser/Eraser.Util/ExtensionClasses/SplitButton.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/Assembly.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs
                            • trunk/eraser/Eraser.Util/FileSize.cs
                            • trunk/eraser/Eraser.Util/Localisation.cs
                            • trunk/eraser/Eraser.Util/Logger.cs
                            • trunk/eraser/Eraser.Util/MiniDump.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/DbgHelp.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Gdi.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Mpr.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/MsCorEE.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/NetApi.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/NtDll.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Sfc.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Shell.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/User.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/UxTheme.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/WinTrust.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/WinUser.cs
                            • trunk/eraser/Eraser.Util/NetApi.cs
                            • trunk/eraser/Eraser.Util/NtfsApi.cs
                            • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
                            • trunk/eraser/Eraser.Util/PostDataBuilder.cs
                            • trunk/eraser/Eraser.Util/Power.cs
                            • trunk/eraser/Eraser.Util/RecycleBin.cs
                            • trunk/eraser/Eraser.Util/Sampler.cs
                            • trunk/eraser/Eraser.Util/Security.cs
                            • trunk/eraser/Eraser.Util/Shell.cs
                            • trunk/eraser/Eraser.Util/StreamInfo.cs
                            • trunk/eraser/Eraser.Util/SystemInfo.cs
                            • trunk/eraser/Eraser.Util/SystemRestore.cs
                            • trunk/eraser/Eraser.Util/Theming.cs
                            • trunk/eraser/Eraser.Util/UserApi.cs
                            • trunk/eraser/Eraser.Util/VolumeInfo.cs
                            • trunk/eraser/Eraser.Util/Win32ErrorCodes.cs
                            • trunk/eraser/Eraser/AboutForm.Designer.cs
                            • trunk/eraser/Eraser/AboutForm.cs
                            • trunk/eraser/Eraser/BasePanel.Designer.cs
                            • trunk/eraser/Eraser/BasePanel.cs
                            • trunk/eraser/Eraser/LightGroup.Designer.cs
                            • trunk/eraser/Eraser/LightGroup.cs
                            • trunk/eraser/Eraser/LogForm.Designer.cs
                            • trunk/eraser/Eraser/LogForm.cs
                            • trunk/eraser/Eraser/MainForm.Designer.cs
                            • trunk/eraser/Eraser/MainForm.cs
                            • trunk/eraser/Eraser/Program.ConsoleProgram.cs
                            • trunk/eraser/Eraser/Program.GuiProgram.cs
                            • trunk/eraser/Eraser/Program.cs
                            • trunk/eraser/Eraser/ProgressForm.Designer.cs
                            • trunk/eraser/Eraser/ProgressForm.cs
                            • trunk/eraser/Eraser/SchedulerPanel.Designer.cs
                            • trunk/eraser/Eraser/SchedulerPanel.cs
                            • trunk/eraser/Eraser/Settings.cs
                            • trunk/eraser/Eraser/SettingsPanel.Designer.cs
                            • trunk/eraser/Eraser/SettingsPanel.cs
                            • trunk/eraser/Eraser/TaskDataSelectionForm.Designer.cs
                            • trunk/eraser/Eraser/TaskDataSelectionForm.cs
                            • trunk/eraser/Eraser/TaskDragDropHelper.cs
                            • trunk/eraser/Eraser/TaskPropertiesForm.Designer.cs
                            • trunk/eraser/Eraser/TaskPropertiesForm.cs
                            • trunk/eraser/Eraser/ToolBar.Designer.cs
                            • trunk/eraser/Eraser/ToolBar.cs
                            • trunk/eraser/Eraser/UpdateForm.Designer.cs
                            • trunk/eraser/Eraser/UpdateForm.cs
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.cpp
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.h
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.rc
                            • trunk/eraser/Installer/Bootstrapper/Handle.h
                            • trunk/eraser/Installer/Bootstrapper/Main.cpp
                            • trunk/eraser/Installer/Bootstrapper/Resource.h
                            • trunk/eraser/Installer/Bootstrapper/stdafx.cpp
                            • trunk/eraser/Installer/Bootstrapper/stdafx.h
                            • trunk/eraser/Installer/DirectoryStructure.wxs
                            • trunk/eraser/Installer/Eraser.wxs
                            • trunk/eraser/Installer/Localisations.wxs
                            • trunk/eraser/Installer/UserInterface.wxs
                            • trunk/eraser/Version.cs.in
                            • trunk/eraser/Version.rc.in
                            • trunk/eraser/Version.wxs.in

                            Update copyrights to this year.

                            07:10 Changeset [2515] by lowjoel
                            • trunk/eraser/Eraser.BlackBox/AssemblyInfo.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBox.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxMainForm.Designer.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxMainForm.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxUploadForm.Designer.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxUploadForm.cs
                            • trunk/eraser/Eraser.BlackBox/Plugin.cs
                            • trunk/eraser/Eraser.BlackBox/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.BlackBox/Properties/Resources.Designer.cs
                            • trunk/eraser/Eraser.BlackBox/Properties/Settings.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
                            • trunk/eraser/Eraser.DefaultPlugins/EntropySources/KernelEntropySource.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/ErasureMethodBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Random.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/FileSystemBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Plugin.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Prngs/PrngBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Prngs/RNGCrypto.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.DefaultPlugins/SettingsForm.Designer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/SettingsForm.cs
                            • trunk/eraser/Eraser.Manager/DirectExecutor.cs
                            • trunk/eraser/Eraser.Manager/EntropyPoller.cs
                            • trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs
                            • trunk/eraser/Eraser.Manager/Executor.cs
                            • trunk/eraser/Eraser.Manager/ManagerLibrary.cs
                            • trunk/eraser/Eraser.Manager/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Manager/RemoteExecutor.cs
                            • trunk/eraser/Eraser.Manager/Schedule.cs
                            • trunk/eraser/Eraser.Manager/Settings.cs
                            • trunk/eraser/Eraser.Manager/Task.cs
                            • trunk/eraser/Eraser.Plugins/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Plugins/Exception.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IEntropySource.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IErasureMethod.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IFileSystem.cs
                            • trunk/eraser/Eraser.Plugins/ExtensionPoints/IPrng.cs
                            • trunk/eraser/Eraser.Plugins/Host.cs
                            • trunk/eraser/Eraser.Plugins/IConfigurer.cs
                            • trunk/eraser/Eraser.Plugins/IPlugin.cs
                            • trunk/eraser/Eraser.Plugins/IRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/PersistentStore.cs
                            • trunk/eraser/Eraser.Plugins/PluginInfo.cs
                            • trunk/eraser/Eraser.Plugins/PluginLoadEventArgs.cs
                            • trunk/eraser/Eraser.Plugins/PluginLoadedEventArgs.cs
                            • trunk/eraser/Eraser.Plugins/PluginLoadingPolicy.cs
                            • trunk/eraser/Eraser.Plugins/ProgressManager.cs
                            • trunk/eraser/Eraser.Plugins/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/EntropySourceRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/ErasureMethodRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/ErasureTargetFactoryRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/FileSystemRegistrar.cs
                            • trunk/eraser/Eraser.Plugins/Registrars/PrngRegistrar.cs
                            • trunk/eraser/Eraser.Shell/CtxMenu.cpp
                            • trunk/eraser/Eraser.Shell/CtxMenu.h
                            • trunk/eraser/Eraser.Shell/DllMain.cpp
                            • trunk/eraser/Eraser.Shell/DllMain.h
                            • trunk/eraser/Eraser.Shell/Utils.cpp
                            • trunk/eraser/Eraser.Shell/Utils.h
                            • trunk/eraser/Eraser.Shell/resource.h
                            • trunk/eraser/Eraser.Shell/stdafx.cpp
                            • trunk/eraser/Eraser.Shell/stdafx.h
                            • trunk/eraser/Eraser.Shell/targetver.h
                            • trunk/eraser/Eraser.Util.Native/AssemblyInfo.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat.h
                            • trunk/eraser/Eraser.Util.Native/Fat12Api.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat12Or16Api.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat16Api.cpp
                            • trunk/eraser/Eraser.Util.Native/Fat32Api.cpp
                            • trunk/eraser/Eraser.Util.Native/FatApi.cpp
                            • trunk/eraser/Eraser.Util.Native/FatApi.h
                            • trunk/eraser/Eraser.Util.Native/Main.cpp
                            • trunk/eraser/Eraser.Util.Native/NTApi.h
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.NameResolver.cpp
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.NameResolver.h
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.cpp
                            • trunk/eraser/Eraser.Util.Native/OpenHandle.h
                            • trunk/eraser/Eraser.Util.Native/Stdafx.cpp
                            • trunk/eraser/Eraser.Util.Native/Stdafx.h
                            • trunk/eraser/Eraser.Util/Binders.cs
                            • trunk/eraser/Eraser.Util/ConsoleWindow.cs
                            • trunk/eraser/Eraser.Util/ExtensionClasses/SharingViolationException.cs
                            • trunk/eraser/Eraser.Util/ExtensionClasses/SplitButton.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/Assembly.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs
                            • trunk/eraser/Eraser.Util/FileSize.cs
                            • trunk/eraser/Eraser.Util/Localisation.cs
                            • trunk/eraser/Eraser.Util/Logger.cs
                            • trunk/eraser/Eraser.Util/MiniDump.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/DbgHelp.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Gdi.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Mpr.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/MsCorEE.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/NetApi.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/NtDll.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Sfc.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/Shell.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/User.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/UxTheme.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/WinTrust.cs
                            • trunk/eraser/Eraser.Util/NativeMethods/WinUser.cs
                            • trunk/eraser/Eraser.Util/NetApi.cs
                            • trunk/eraser/Eraser.Util/NtfsApi.cs
                            • trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
                            • trunk/eraser/Eraser.Util/PostDataBuilder.cs
                            • trunk/eraser/Eraser.Util/Power.cs
                            • trunk/eraser/Eraser.Util/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.Util/RecycleBin.cs
                            • trunk/eraser/Eraser.Util/Sampler.cs
                            • trunk/eraser/Eraser.Util/Security.cs
                            • trunk/eraser/Eraser.Util/Shell.cs
                            • trunk/eraser/Eraser.Util/StreamInfo.cs
                            • trunk/eraser/Eraser.Util/SystemInfo.cs
                            • trunk/eraser/Eraser.Util/SystemRestore.cs
                            • trunk/eraser/Eraser.Util/Theming.cs
                            • trunk/eraser/Eraser.Util/UserApi.cs
                            • trunk/eraser/Eraser.Util/VolumeInfo.cs
                            • trunk/eraser/Eraser.Util/Win32ErrorCodes.cs
                            • trunk/eraser/Eraser/AboutForm.Designer.cs
                            • trunk/eraser/Eraser/AboutForm.cs
                            • trunk/eraser/Eraser/BasePanel.Designer.cs
                            • trunk/eraser/Eraser/BasePanel.cs
                            • trunk/eraser/Eraser/LightGroup.Designer.cs
                            • trunk/eraser/Eraser/LightGroup.cs
                            • trunk/eraser/Eraser/LogForm.Designer.cs
                            • trunk/eraser/Eraser/LogForm.cs
                            • trunk/eraser/Eraser/MainForm.Designer.cs
                            • trunk/eraser/Eraser/MainForm.cs
                            • trunk/eraser/Eraser/Program.ConsoleProgram.cs
                            • trunk/eraser/Eraser/Program.GuiProgram.cs
                            • trunk/eraser/Eraser/Program.cs
                            • trunk/eraser/Eraser/ProgressForm.Designer.cs
                            • trunk/eraser/Eraser/ProgressForm.cs
                            • trunk/eraser/Eraser/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser/Properties/Resources.Designer.cs
                            • trunk/eraser/Eraser/Properties/Settings.Designer.cs
                            • trunk/eraser/Eraser/SchedulerPanel.Designer.cs
                            • trunk/eraser/Eraser/SchedulerPanel.cs
                            • trunk/eraser/Eraser/Settings.cs
                            • trunk/eraser/Eraser/SettingsPanel.Designer.cs
                            • trunk/eraser/Eraser/SettingsPanel.cs
                            • trunk/eraser/Eraser/ShellConfirmationDialog.Designer.cs
                            • trunk/eraser/Eraser/ShellConfirmationDialog.cs
                            • trunk/eraser/Eraser/TaskDataSelectionForm.Designer.cs
                            • trunk/eraser/Eraser/TaskDataSelectionForm.cs
                            • trunk/eraser/Eraser/TaskDragDropHelper.cs
                            • trunk/eraser/Eraser/TaskPropertiesForm.Designer.cs
                            • trunk/eraser/Eraser/TaskPropertiesForm.cs
                            • trunk/eraser/Eraser/ToolBar.Designer.cs
                            • trunk/eraser/Eraser/ToolBar.cs
                            • trunk/eraser/Eraser/UpdateForm.Designer.cs
                            • trunk/eraser/Eraser/UpdateForm.cs
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.cpp
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.h
                            • trunk/eraser/Installer/Bootstrapper/Handle.h
                            • trunk/eraser/Installer/Bootstrapper/Main.cpp
                            • trunk/eraser/Installer/Bootstrapper/Resource.h
                            • trunk/eraser/Installer/Bootstrapper/stdafx.cpp
                            • trunk/eraser/Installer/Bootstrapper/stdafx.h

                            Set svn:keywords and svn:eol-style on all the source files.

                            06:57 Changeset [2514] by lowjoel
                            • trunk/eraser/Eraser Native.vsprops
                            • trunk/eraser/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
                            • trunk/eraser/Eraser.Manager/Eraser.Manager.csproj
                            • trunk/eraser/Eraser.Util/Eraser.Util.csproj
                            • trunk/eraser/Eraser.Util/Migrated rules for Eraser.Util.ruleset
                            • trunk/eraser/Eraser.sln
                            • trunk/eraser/Eraser/Eraser.csproj

                            Normalise .NET project settings across platforms and projects. It probably got muddled up when migrating to VS2010.

                            06:50 Changeset [2513] by lowjoel
                            • trunk/eraser/Eraser.Plugins/Settings.cs

                            Remove misleading comment.

                            06:49 Changeset [2512] by lowjoel
                            • trunk/eraser/Eraser.Util/Strings.en.resx
                            • trunk/eraser/Eraser.Util/Strings.it.resx
                            • trunk/eraser/Eraser.Util/Strings.nl.resx
                            • trunk/eraser/Eraser.Util/Strings.pl.resx
                            • trunk/eraser/Eraser.Util/Strings.resx

                            Use an updated build of csgettext.

                            06:08 Changeset [2511] by lowjoel
                            • trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
                            • trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
                            • trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
                            • trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
                            • trunk/eraser/Eraser.DefaultPlugins/Strings.resx
                            • trunk/eraser/Eraser.Manager/Strings.en.resx
                            • trunk/eraser/Eraser.Manager/Strings.it.resx
                            • trunk/eraser/Eraser.Manager/Strings.nl.resx
                            • trunk/eraser/Eraser.Manager/Strings.pl.resx
                            • trunk/eraser/Eraser.Manager/Strings.resx
                            • trunk/eraser/Eraser.Plugins/Strings.en.resx
                            • trunk/eraser/Eraser/MainForm.it.resx
                            • trunk/eraser/Eraser/MainForm.nl.resx
                            • trunk/eraser/Eraser/MainForm.pl.resx
                            • trunk/eraser/Eraser/MainForm.resx
                            • trunk/eraser/Eraser/Strings.en.resx
                            • trunk/eraser/Eraser/Strings.it.resx
                            • trunk/eraser/Eraser/Strings.nl.resx
                            • trunk/eraser/Eraser/Strings.pl.resx
                            • trunk/eraser/Eraser/Strings.resx

                            Update the string resources for all the projects.

                            05:49 Ticket #363 (Plugin Code Review) closed by Joel
                            fixed: Commited in r2509. Branch deleted in r2510.
                            05:47 Changeset [2510] by lowjoel
                            • branches/eraser6/pluginsRewrite

                            Close the Plugins Rewrite branch along with the completion of #363.

                            05:45 Changeset [2509] by lowjoel
                            • trunk/eraser
                            • trunk/eraser/Eraser.BlackBox/BlackBox.cs
                            • trunk/eraser/Eraser.BlackBox/BlackBoxUploadForm.cs
                            • trunk/eraser/Eraser.BlackBox/Eraser.BlackBox.csproj
                            • trunk/eraser/Eraser.BlackBox/Plugin.cs
                            • trunk/eraser/Eraser.BlackBox/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
                            • trunk/eraser/Eraser.DefaultPlugins/EntropySources/KernelEntropySource.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/ErasureMethodBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Random.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/FileSystemBase.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
                            • trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Plugin.cs
                            • trunk/eraser/Eraser.DefaultPlugins/Prngs
                            • trunk/eraser/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
                            • trunk/eraser/Eraser.DefaultPlugins/RNGCrypto.cs
                            • trunk/eraser/Eraser.DefaultPlugins/SettingsForm.cs
                            • trunk/eraser/Eraser.Manager/DirectExecutor.cs
                            • trunk/eraser/Eraser.Manager/EntropyPoller.cs
                            • trunk/eraser/Eraser.Manager/EntropySource.cs
                            • trunk/eraser/Eraser.Manager/Eraser.Manager.csproj
                            • trunk/eraser/Eraser.Manager/ErasureMethod.cs
                            • trunk/eraser/Eraser.Manager/ErasureTarget.cs
                            • trunk/eraser/Eraser.Manager/ErasureTargetCollection.cs
                            • trunk/eraser/Eraser.Manager/Exception.cs
                            • trunk/eraser/Eraser.Manager/FileSystem.cs
                            • trunk/eraser/Eraser.Manager/IConfigurer.cs
                            • trunk/eraser/Eraser.Manager/IRegistrar.cs
                            • trunk/eraser/Eraser.Manager/ManagerLibrary.cs
                            • trunk/eraser/Eraser.Manager/PRNG.cs
                            • trunk/eraser/Eraser.Manager/Plugins.cs
                            • trunk/eraser/Eraser.Manager/Settings.cs
                            • trunk/eraser/Eraser.Manager/Task.cs
                            • trunk/eraser/Eraser.Plugins
                            • trunk/eraser/Eraser.Shell/CtxMenu.cpp
                            • trunk/eraser/Eraser.Shell/CtxMenu.h
                            • trunk/eraser/Eraser.Util/Eraser.Util.csproj
                            • trunk/eraser/Eraser.Util/ProgressManager.cs
                            • trunk/eraser/Eraser.sln
                            • trunk/eraser/Eraser/Eraser.csproj
                            • trunk/eraser/Eraser/LogForm.cs
                            • trunk/eraser/Eraser/MainForm.Designer.cs
                            • trunk/eraser/Eraser/MainForm.cs
                            • trunk/eraser/Eraser/Program.cs
                            • trunk/eraser/Eraser/ProgressForm.Designer.cs
                            • trunk/eraser/Eraser/ProgressForm.cs
                            • trunk/eraser/Eraser/ProgressForm.resx
                            • trunk/eraser/Eraser/SchedulerPanel.Designer.cs
                            • trunk/eraser/Eraser/SchedulerPanel.cs
                            • trunk/eraser/Eraser/SchedulerPanel.resx
                            • trunk/eraser/Eraser/Settings.cs
                            • trunk/eraser/Eraser/SettingsPanel.cs
                            • trunk/eraser/Eraser/TaskDataSelectionForm.cs
                            • trunk/eraser/Eraser/TaskDragDropHelper.cs
                            • trunk/eraser/Eraser/TaskPropertiesForm.cs
                            • trunk/eraser/Eraser/UpdateForm.cs

                            Redesign the Eraser Plugin framework.

                            • Split the plugin-dependent interfaces and related support classes out to Eraser.Plugins assembly
                              • The extension interfaces are in the Eraser.Plugins.ExtensionPoints? namespace.
                                • New IClientTool interface for plugins to create Eraser-hosted tools (e.g. #147)
                              • The Registrars are in the Eraser.Plugins.Registrars namespace
                              • Base types are now interfaces, no longer abstract base classes
                              • Version the Eraser.plugins assembly differently from the rest of the project so that other plugins can target different versions of Eraser with the same assembly. Change the Eraser.Plugins assembly version only if there is an API change.
                            • Plugin loading behaviour:
                              • Core plugins will be loaded before the rest of the plugins, but they will be loaded only by assembly name and not by path
                              • Non-core plugin loading is handled by the Manager Library and not the Plugin code
                              • The PluginInstance? class is now the PluginInfo? class
                              • There is no longer a need to indicate the default file and unused space erasure methods, PRNGs etc; they are now hardcoded to prevent plugins from changing defaults.
                            • The separate command line for the Eraser shell extension has been removed.
                              • The Erase on Restart menu item has been removed (since it is a scheduling option and should be set in the Task Properties Dialog)
                            • Task Progress information is now pulled from the Eraser core instead of pushed via events.
                            • New persistent store class to generalise the use of the old Settings class
                            • IDragAndDropConfigurerFactory for transforming drag-and-drop operations to erasure targets. This removes the Eraser.exe assembly's dependency on Eraser.DefaultPlugins?.

                            Closes #363.

                            05:02 Changeset [2508] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/IConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskDragDropHelper.cs

                            Rename IDragAndDropConfigurer to IDragAndDropConfigurerFactory since it does not configure a given <T>, but instead transforms a drag-and-drop operation into a collection of <T>.

                            04:32 Changeset [2507] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs

                            Fixed blank item text when the step provides a step name, but the step's progress tag does not (meaning there is general information, but not specific information). In this situation, displaying the general information would suffice.

                            04:14 Changeset [2506] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IClientTool.cs
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.cs

                            Query for the list of tools before deciding whether we should disable the Tools menu. Implements #363: There should be a Tools menu for plugins to include themselves.

                            04:10 Changeset [2505] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IClientTool.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ClientToolRegistrar.cs

                            Added the IClientTool interface and ClientToolRegistrar? classes for client tools to register themselves.

                            04:08 Changeset [2504] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.Designer.cs
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.resx

                            Added a tools Context Menu Strip for us to add tools to.

                            03:59 Changeset [2503] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/Eraser.csproj
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.Designer.cs
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.resx

                            Added a Tools menu for plugins to insert tools in.

                            03:41 Changeset [2502] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Version.cs.in

                            Freeze the version of the Eraser.Plugins assembly.

                            03:31 Changeset [2501] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ProgressManager.cs

                            Allow SteppedProgressManager? steps to have null for their progress manager, such as when the step is being set up.

                            03:30 Changeset [2500] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs

                            Fixed progress reporting for drive erasures.

                            01:56 Changeset [2499] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs

                            Oops, allow removal of tasks.

                            01:53 Changeset [2498] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

                            We need to skip files which no longer exist after we enumerate them: this is because files may be deleted during the rather lengthy enumeration process (by other programs or the user)

                            01:53 Changeset [2497] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs

                            Cache the last returned progress for each erasure target, since our SteppedProgressManager? expects that the Progress property will always be valid throughout the lifetime of the object.

                            01:27 Changeset [2496] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs
                            • Get a copy of the Task Progress property at the start of progress querying and use that throughout the function, in case the progress status changes during the execution of the function (e.g. the task completes while we are querying the function)
                            • Prevent a crash when there is no pass information/item information set for the current erasure target's step
                            01:20 Changeset [2495] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs

                            Fixed exception when the progress dialog is left open and the task completes while the dialog is open.

                            01:19 Changeset [2494] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ProgressManager.cs

                            Fixed exception when we are computing a time remaining value but insufficient speed information is provided.

                            01:01 Changeset [2493] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs

                            Make our progress form's progress reporting tolerant to different states of the Task object: do not obtain more progress information if we cannot find the prerequisite information in the first place.

                            00:59 Changeset [2492] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureTargetCollection.cs

                            Revert to the old behaviour where assigning an ErasureTargetCollection? its owner will update the owner of all targets contained within.

                            00:59 Changeset [2491] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs

                            Behaviour change: Tasks can only be added to one executor at a time.

                            00:58 Changeset [2490] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs

                            Fixed progress updates for the Scheduler Panel.

                            00:36 Changeset [2489] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.resx

                            The tag used for the number of passes should be an array of int.

                            00:35 Changeset [2488] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.Designer.cs
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.resx
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.Designer.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.resx

                            Change the progress updates to be a pull paradigm and not a push paradigm: this reduces the amount of time the CPU spends sending progress feedback, at the same time, allows future extensibility for decoupling the task executor from the front end.

                            03/13/12:

                            23:37 Changeset [2487] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ProgressManager.cs
                            • Move the task execution machinery to the Task object, so that Tasks can execute independently of an Executor. The Executor instance now just manages task lists and schedules when tasks are supposed to run.
                            • Report progress updates by pushing information to the SteppedProgressManager? instance associated with each erasure target. Furthermore, do not manipulate the state of the Task object, instead, let the Task object manage its own Progress state.
                            23:06 Changeset [2486] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ProgressManager.cs

                            Report progress updates by pushing information to the SteppedProgressManager? instance associated with each erasure target. Furthermore, do not manipulate the state of the Task object, instead, let the Task object manage its own Progress state.

                            Because of this, a new property Tag is created in ProgressManagerBase?, to hold state information.

                            23:05 Changeset [2485] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • branches/eraser6/pluginsRewrite/Eraser/LogForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/MainForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs

                            Replace the UIText property with ToString?(). Fix the resulting compile errors, too.

                            09:45 Changeset [2484] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • Rename the Task.UIText property to Task.ToString?()
                            • Remove the progress event from Task.
                            09:30 Changeset [2483] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Program.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Settings.cs

                            Make the Eraser Settings class a singleton. At the same time, implement a lot of reflection wizardry to make lists and dictionaries a REG_MULTI_SZ and a Registry Key respectively. Caveat is that when retrieving lists and dictionaries, interfaces must be provided. If discrete types are provided, the RegistrySettings? class will fall back to serialisation.

                            09:10 Changeset [2482] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs

                            Store all the Eraser settings at the root node, similar to what Eraser 6.0 does. Store plugin settings as a subkey of the Plugins key.

                            06:52 Changeset [2481] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Settings.cs

                            Made Persistently stored lists of strings use the REG_MULTI_SZ native Registry type.

                            06:28 Changeset [2480] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs

                            Fixed the provision of persistent stores for plugins. Assemblies for which we are unsure whether it is a plugin should not have a persistent store created for them.

                            06:18 Changeset [2479] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.cs

                            Compile fix.

                            06:16 Changeset [2478] by lowjoel
                            • branches/eraser6/pluginsRewrite
                            • branches/eraser6/pluginsRewrite/Eraser.Util/ExtensionMethods/IO.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Util/ExtensionMethods/PathUtil.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Util/Localisation.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Util/NativeMethods/Kernel.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Util/VolumeInfo.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.cs
                            • branches/eraser6/pluginsRewrite/Installer/Bootstrapper/Bootstrapper.cpp
                            • branches/eraser6/pluginsRewrite/Installer/Bootstrapper/Bootstrapper.vcproj
                            • branches/eraser6/pluginsRewrite/Installer/Bootstrapper/Bootstrapper.vcxproj
                            • branches/eraser6/pluginsRewrite/Installer/Bootstrapper/stdafx.h
                            • branches/eraser6/pluginsRewrite/Installer/DirectoryStructure.wxs

                            Synchronise the Plugins Rewrite branch with trunk@r2442

                            06:02 Changeset [2477] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/TaskDataSelectionForm.cs

                            Fixed crash when opening the Task Data Selection form.

                            05:58 Changeset [2476] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/PrngRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs

                            The PrngRegistrar? should not try to store the active PRNG's GUID. It should be left to the Eraser.Plugins.Settings class.

                            05:57 Changeset [2475] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Settings.cs

                            Fixed loading of settings from persistent storage (and the crash at startup)

                            05:56 Changeset [2474] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj

                            Do not copy Eraser.Plugins.dll to the Plugins directory, since it would cause circular dependencies (the assembly loading itself)

                            05:16 Changeset [2473] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/Settings.cs

                            Make the Settings class compliant with the latest PersistentStore? API. The solution finally builds!

                            05:15 Changeset [2472] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs

                            Move the ForceUnlockLockedFiles? setting to Eraser.Plugins since it should be something that plugins respect and not the Eraser.Manager. We however would need a way to expose this functionality to plugins without directly providing access to Eraser.Util.Native.

                            05:11 Changeset [2471] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Eraser.Manager.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Exception.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.resx

                            Move the Exception types to Eraser.Plugins.

                            05:08 Changeset [2470] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs

                            Compile fixes.

                            04:52 Ticket #418 (ObjectDisposedException when viewing the log as erase tasks execute) created by Joel
                            As detailed in [http://eraser.heidi.ie/forum/viewtopic.php?f=2&t=8661 the …
                            04:50 Changeset [2469] by lowjoel
                            • trunk/website/Templates/forumTheme/theme/images/icon_pages.gif

                            Revert to the stock pages gif since the previous commit accidentally removed the transparency channel.

                            04:44 Changeset [2468] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs

                            Instead of pushing events to the client, we will update our Progress object and the client should pull progress updates instead. This prepares the code to be used by the remote executor (for service execution).

                            In the interim, there is no progress feedback for all erasures.

                            04:34 Changeset [2467] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ITask.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/PersistentStore.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser/Strings.resx

                            Define the Task interface, and then store a reference to the parent task in all IErasureTargets.

                            03:11 Changesets [2463-2466] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/SettingsForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/SettingsForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/ErasureMethodBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/FileSystemBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Prngs/PrngBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Prngs/RNGCrypto.cs

                            Further compile fixes.

                            03:07 Changeset [2462] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Settings.cs

                            Move common erasure settings to the Host instance instead of the Manager library.

                            02:38 Changeset [2461] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/EntropySources/KernelEntropySource.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/ErasureMethodBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/ErasureTargetBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/FileSystemBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Prngs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Prngs/PrngBase.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Prngs/RNGCrypto.cs

                            Added base class implementations for each of the IRegisterable types.

                            02:33 Changeset [2460] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

                            Final set of compile fixes for making the types in Eraser.Plugins interfaces before we move on.

                            02:31 Changeset [2459] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/RNGCrypto.cs

                            Woops, we do need to declare override since we are going to be inherited from a PrngBase? class (which will be committed later)

                            01:10 Changeset [2458] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/EntropySources/KernelEntropySource.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Fat.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/RNGCrypto.cs

                            More changes for Eraser.DefaultPlugins?. There are still plenty of build errors...

                            01:06 Changeset [2457] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureMethod.cs

                            XML documentation syntax fix.

                            00:59 Changeset [2456] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/EntropySources/KernelEntropySource.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Fat.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/RNGCrypto.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/SettingsForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.resx

                            First batch of changes for Eraser.DefaultPlugins?. There are plenty of build errors in this one, but let's solve them one at a time.

                            00:26 Ticket #417 (Logging improvements) created by Joel
                            A summary thread is found …

                            03/12/12:

                            09:51 Changeset [2455] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Plugin.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs

                            Move the default Erase method, Unused Space Erase method and Active PRNG back to Eraser.Manager because the GUID stored there can refer to code implemented outside of Eraser.DefaultPlugins?.

                            09:42 Changeset [2454] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs

                            Fixed quite a few variable references.

                            09:15 Changeset [2453] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Shell/CtxMenu.cpp
                            • branches/eraser6/pluginsRewrite/Eraser.Shell/CtxMenu.h
                            • branches/eraser6/pluginsRewrite/Eraser/Program.cs

                            Remove the Erase On Restart context menu item since users can modify the task when they use the context menu now. In addition, change the command line generation to use the standard command line syntax instead of a special one for Context Menu erasures, so that we can reuse the CliConfigurers? defined.

                            07:47 Changesets [2451-2452] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTargetConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/IConfigurer.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskDragDropHelper.cs

                            Added the IDragAndDropConfigurer interface and allow target configurers to configure themselves, without knowledge of the underlying types.

                            07:02 Changesets [2449-2450] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/Program.cs
                            • branches/eraser6/pluginsRewrite/Eraser/UpdateForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Program.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/Settings.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskDataSelectionForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.cs

                            Fixed most broken references to the Extension Point interfaces.

                            05:46 Changeset [2448] by lowjoel
                            • trunk/website/scripts/UpdateList.php

                            If we are dealing with builds, make a Build object instead of a download object for download count tracking.

                            05:32 Changeset [2447] by lowjoel
                            • trunk/website/scripts/Build.php
                            • trunk/website/scripts/Download.php

                            Revert to the original implementation for GetDisplayedLink?. We should only link to our own server when we are dealing with a build.

                            05:06 Changeset [2446] by lowjoel
                            • trunk/website/scripts/Download.php

                            When we are printing links, we should link to our download page so that we can count the number of downloads.

                            04:20 Changeset [2445] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser/Eraser.csproj
                            • branches/eraser6/pluginsRewrite/Eraser/Program.cs
                            • branches/eraser6/pluginsRewrite/Eraser/ProgressForm.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskDragDropHelper.cs
                            • branches/eraser6/pluginsRewrite/Eraser/UpdateForm.cs

                            Remove the dependency on Eraser.DefaultPlugins? (to try to make it completely stand alone)

                            04:06 Changeset [2444] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/EntropySourceRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureMethodRegistrar.cs

                            Remainder of the changes made to only include interfaces in Eraser.Plugins.

                            03:53 Changeset [2443] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/EntropyPoller.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IEntropySource.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureMethod.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IFileSystem.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IPrng.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/EntropySourceRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.en.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.it.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.nl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.pl.resx
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.resx

                            Made all the extension points in Eraser.Plugins to be interfaces, to be true to the need for the Plugins assembly. Move all the implementation to Eraser.DefaultPlugins? (will be in a separate commit since basically the entire library needs to be rewritten.)

                            01:30 Build of Eraser 6.2 [2442] on Windows completed
                            01:01 Ticket #416 (Verify Eraser's plugin loading behaviour when CRLs cannot be verified) created by Joel
                            A forum post
                            00:53 Ticket #415 (Fall back to large block erasing if space is freed on a volume being ...) created by Joel
                            We should be able to go back to large block erasure when we are erasing …

                            03/11/12:

                            09:40 Ticket #414 (Define behaviour for deleting empty subdirectories) created by Joel
                            In the forum, …
                            09:34 Ticket #413 (Create walkthrough for Eraser) created by Joel
                            As described by chas1 in …
                            09:28 Ticket #412 (Allow erasures in folders without directory listing permissions) created by Joel
                            As described by phkhgh in …
                            08:42 Changeset [2442] by lowjoel
                            • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
                            • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs
                            • trunk/eraser/Eraser/TaskPropertiesForm.cs

                            Instead of allowing GetCompactPath? to be called on a FileSystemObject?, abstract it to PathUtil? so that we can bypass it if necessary. This would allow us to not get an exception when we try to obtain a compact path for display when we are in the task properties dialog.

                            08:27 Changeset [2441] by lowjoel
                            • trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
                            • trunk/eraser/Eraser.Util/VolumeInfo.cs

                            Fix a crash in the .NET 4.0 runtime when we call FindFirstVolumeMountpoint? or FindFirstVolume?. Because the handles returned are not to be closed by CloseHandle?, although we declared the functions to return a SafeFileHandle?, an SEH exception halting the process if run in debug mode will be thrown by the OS (as in the case of running native code.)

                            03/10/12:

                            13:35 Changeset [2440] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.BlackBox/Properties/AssemblyInfo.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureTargetCollection.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureMethodRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureTargetFactoryRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/FileSystemRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/PrngRegistrar.cs
                            • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.cs
                            • branches/eraser6/pluginsRewrite/Eraser/TaskDataSelectionForm.cs

                            Use the new identifier names defined in Eraser.Plugins.

                            13:32 Changeset [2439] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IEntropySource.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureMethod.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IErasureTarget.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IFileSystem.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/IPrng.cs

                            Make all the plugin extension points interfaces. I'll move the rest of the code tomorrow.

                            12:06 Build of Eraser 6.2 [2437] on Windows completed
                            08:48 Changeset [2438] by lowjoel
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs
                            • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginLoadingPolicy.cs

                            Rename LoadingPolicy? to PluginLoadingPolicy? to be absolutely clear on the purpose of the enum and attribute.

                            04:48 Changeset [2437] by lowjoel
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.cpp

                            Add preliminary support for detection and installation of .NET 4 as required by the end user's computer.

                            03:43 Changeset [2436] by lowjoel
                            • branches/website/forumTheme

                            Close the Forum Theme branch.

                            03:40 Changeset [2435] by lowjoel
                            • trunk/website
                            • trunk/website/Templates/forumTheme

                            Merged the ForumTheme? branch to the website trunk.

                            03:15 Ticket #94 (All web pages for Eraser should link to each other.) closed by Joel
                            fixed: I've skinned Trac and the Forum today. Marking this as closed…
                            02:44 Changeset [2434] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css

                            Fix the link colour of the navigation at the top of the page (below the banner) and also prevent the h3 background from showing for the post composition box.

                            02:43 Changeset [2433] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_header.html

                            Fixed links when we are logging into the ACP.

                            02:30 Changeset [2432] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_bump.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_faq.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_fontsize.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_logout.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_members.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_pages.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_print.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_register.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_sendemail.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_ucp.gif

                            Offset the Hue by 155 so that the blue-themed icons become red-themed instead.

                            02:19 Changeset [2431] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css

                            Don't display the h3 with the nice borders inline with thread posts.

                            02:17 Changeset [2430] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/template/styleswitcher.js

                            Oops, left debug code in the source.

                            02:15 Changeset [2429] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/styleswitcher.js

                            Fixed the theme font-size switcher code.

                            02:01 Changeset [2428] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/theme/common.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/large.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/medium.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/normal.css

                            Allow font-size switching to work with the theme.

                            01:31 Changeset [2427] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css

                            The entire right style is not needed for the forum.

                            01:27 Changeset [2426] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_header.html
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css

                            Aligned the header of the page.

                            00:44 Changeset [2425] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_header.html
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css

                            Okay, got the surrounding theme elements working. The entire forum is now set within an Eraser-themed frame.

                            00:16 Changeset [2424] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme/imageset/imageset.cfg
                            • branches/website/forumTheme/Templates/forumTheme/style.cfg
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/template.cfg
                            • branches/website/forumTheme/Templates/forumTheme/theme/common.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/eraser.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/print.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/theme.cfg

                            Let's just add our theme elements first, then modify.

                            00:07 Changeset [2423] by lowjoel
                            • branches/website/forumTheme/Templates/forumTheme
                            • branches/website/forumTheme/Templates/forumTheme/imageset
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_read.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_read_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_read_locked_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_read_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_unread.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_unread_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_unread_locked_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/announce_unread_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/button_pm_forward.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/button_pm_new.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/button_pm_reply.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/button_topic_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/button_topic_new.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/button_topic_reply.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/icon_contact_pm.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/icon_post_edit.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/icon_post_quote.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/icon_user_online.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/imageset.cfg
                            • branches/website/forumTheme/Templates/forumTheme/imageset/en/index.htm
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_link.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_read.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_read_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_read_subforum.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_unread.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_unread_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/forum_unread_subforum.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_back_top.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_aim.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_email.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_icq.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_jabber.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_msnm.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_www.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_contact_yahoo.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_offline.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_online.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_post_delete.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_post_info.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_post_report.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_post_target.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_post_target_unread.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_rate_bad.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_rate_good.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_topic_attach.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_topic_latest.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_topic_newest.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_topic_reported.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_topic_unapproved.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/icon_user_warn.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/imageset.cfg
                            • branches/website/forumTheme/Templates/forumTheme/imageset/index.htm
                            • branches/website/forumTheme/Templates/forumTheme/imageset/site_logo.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_read.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_read_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_read_locked_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_read_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_unread.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_unread_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_unread_locked_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/sticky_unread_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/subforum_read.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/subforum_unread.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_moved.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_read.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_read_hot.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_read_hot_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_read_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_read_locked_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_read_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_unread.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_unread_hot.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_unread_hot_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_unread_locked.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_unread_locked_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/imageset/topic_unread_mine.gif
                            • branches/website/forumTheme/Templates/forumTheme/style.cfg
                            • branches/website/forumTheme/Templates/forumTheme/template
                            • branches/website/forumTheme/Templates/forumTheme/template/antispam
                            • branches/website/forumTheme/Templates/forumTheme/template/antispam/oc_ban.html
                            • branches/website/forumTheme/Templates/forumTheme/template/attachment.html
                            • branches/website/forumTheme/Templates/forumTheme/template/bbcode.html
                            • branches/website/forumTheme/Templates/forumTheme/template/captcha_default.html
                            • branches/website/forumTheme/Templates/forumTheme/template/captcha_qa.html
                            • branches/website/forumTheme/Templates/forumTheme/template/captcha_recaptcha.html
                            • branches/website/forumTheme/Templates/forumTheme/template/confirm_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/custom_profile_fields.html
                            • branches/website/forumTheme/Templates/forumTheme/template/drafts.html
                            • branches/website/forumTheme/Templates/forumTheme/template/editor.js
                            • branches/website/forumTheme/Templates/forumTheme/template/faq_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/forum_fn.js
                            • branches/website/forumTheme/Templates/forumTheme/template/forumlist_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/index.htm
                            • branches/website/forumTheme/Templates/forumTheme/template/index_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/jumpbox.html
                            • branches/website/forumTheme/Templates/forumTheme/template/login_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/login_forum.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_approve.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_ban.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_forum.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_front.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_logs.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_message.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_move.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_notes_front.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_notes_user.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_post.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_queue.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_reports.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_topic.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_viewlogs.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_warn_front.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_warn_list.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_warn_post.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_warn_user.html
                            • branches/website/forumTheme/Templates/forumTheme/template/mcp_whois.html
                            • branches/website/forumTheme/Templates/forumTheme/template/memberlist_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/memberlist_email.html
                            • branches/website/forumTheme/Templates/forumTheme/template/memberlist_im.html
                            • branches/website/forumTheme/Templates/forumTheme/template/memberlist_leaders.html
                            • branches/website/forumTheme/Templates/forumTheme/template/memberlist_search.html
                            • branches/website/forumTheme/Templates/forumTheme/template/memberlist_view.html
                            • branches/website/forumTheme/Templates/forumTheme/template/message_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/overall_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_attach_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_buttons.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_editor.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_layout.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_pm_layout.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_poll_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_preview.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_review.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_smilies.html
                            • branches/website/forumTheme/Templates/forumTheme/template/posting_topic_review.html
                            • branches/website/forumTheme/Templates/forumTheme/template/quickreply_editor.html
                            • branches/website/forumTheme/Templates/forumTheme/template/report_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/search_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/search_results.html
                            • branches/website/forumTheme/Templates/forumTheme/template/simple_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/simple_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/styleswitcher.js
                            • branches/website/forumTheme/Templates/forumTheme/template/template.cfg
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_agreement.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_attachments.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_avatar_options.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_groups_manage.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_groups_membership.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_main_bookmarks.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_main_drafts.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_main_front.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_main_subscribed.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_history.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_message_footer.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_message_header.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_options.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_popup.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_viewfolder.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_viewmessage.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_pm_viewmessage_print.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_prefs_personal.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_prefs_post.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_prefs_view.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_profile_avatar.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_profile_profile_info.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_profile_reg_details.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_profile_signature.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_register.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_remind.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_resend.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_zebra_foes.html
                            • branches/website/forumTheme/Templates/forumTheme/template/ucp_zebra_friends.html
                            • branches/website/forumTheme/Templates/forumTheme/template/viewforum_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/viewonline_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/viewonline_whois.html
                            • branches/website/forumTheme/Templates/forumTheme/template/viewtopic_body.html
                            • branches/website/forumTheme/Templates/forumTheme/template/viewtopic_print.html
                            • branches/website/forumTheme/Templates/forumTheme/theme
                            • branches/website/forumTheme/Templates/forumTheme/theme/bidi.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/buttons.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/colours.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/common.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/content.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/cp.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/forms.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/images
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/arrow_down.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/arrow_left.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/arrow_right.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/arrow_up.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_button.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_header.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_list.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_menu.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_menu_rtl.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_tabs1.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/bg_tabs2.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/corners_left.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/corners_left.png
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/corners_left2.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/corners_right.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/corners_right.png
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/corners_right2.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/created_by.jpg
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/feed.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/gradient.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_bookmark.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_bump.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_faq.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_fontsize.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_home.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_logout.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_members.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_pages.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_print.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_register.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_search.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_sendemail.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_subscribe.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_textbox_search.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_ucp.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/icon_unsubscribe.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/index.htm
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/no_avatar.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/quote.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/images/quote_rtl.gif
                            • branches/website/forumTheme/Templates/forumTheme/theme/index.htm
                            • branches/website/forumTheme/Templates/forumTheme/theme/large.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/links.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/medium.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/normal.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/print.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/stylesheet.css
                            • branches/website/forumTheme/Templates/forumTheme/theme/theme.cfg
                            • branches/website/forumTheme/Templates/forumTheme/theme/tweaks.css

                            Import the stock phpBB3 prosilver theme which we will use as a base for modifying our theme.

                            00:06 Build of Eraser 6.2 [2418] on Windows completed
                            00:00 Changeset [2422] by lowjoel
                            • branches/website/forumTheme

                            Create the Forum Themes branch for the website.

                            03/09/12:

                            23:59 Changeset [2421] by lowjoel
                            • branches/website/forumTheme

                            OK, I forgot I'm not supposed to make the branch folder.

                            23:57 Changeset [2420] by lowjoel
                            • branches/website/forumTheme

                            Created the Forum Themes branch.

                            23:54 Changeset [2419] by lowjoel
                            • branches/website

                            Create new branch for website development.

                            14:14 Changeset [2418] by lowjoel
                            • trunk/eraser/Eraser.Util/Localisation.cs

                            We need to handle a MissingManifestResourceException?: We get this when we are looking up for a string resource that does not exist. In this circumstance, we will just return the untranslated string.

                            03/08/12:

                            23:45 Ticket #408 (Custom Erasure Method Editor not available) closed by trac-robot
                            This ticket was closed automatically by the system. It was previously set …
                            23:45 Ticket #400 (Error Hide) closed by trac-robot
                            This ticket was closed automatically by the system. It was previously set …
                            23:19 Ticket #411 (Allow users to delete BlackBox reports from the UI) created by Joel
                            23:10 Changeset [2417] by lowjoel
                            • trunk/website/trac.css

                            Fix a little spillover when we have a full navigation bar (e.g. for admins)

                            14:07 Build of Eraser 6.2 [2416] on Windows completed
                            13:59 Changeset [2416] by lowjoel
                            • trunk/eraser/Installer/DirectoryStructure.wxs

                            Oops, forgot to check the name of the new VS2010 merge modules.

                            13:56 Build of Eraser 6.2 [2415] on Windows failed
                            Step build failed
                            13:23 Changeset [2415] by lowjoel
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.vcxproj

                            Fix the TargetName? property to be what we want the .exe to be named to fix a MSBuild warning.

                            13:21 Changeset [2414] by lowjoel
                            • trunk/eraser
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.cpp
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.vcproj
                            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.vcxproj
                            • trunk/eraser/Installer/Bootstrapper/stdafx.h

                            Forward-port from Eraser 6.0: Changes made to the Bootstrapper to use the latest LZMA SDK API.

                            12:51 Changeset [2413] by lowjoel
                            • trunk/eraser/Installer/DirectoryStructure.wxs

                            We should link with the VC2010 merge modules for the C++ Runtime, since we are compiling using VS2010 for 6.2

                            12:29 Build of Eraser 6.2 [2341] on Windows failed
                            Step build failed
                            09:52 Build of Eraser 6 [2401] on Windows completed
                            07:13 DebuggingNightlyBuilds edited by Joel
                            New URL for symbols (diff)
                            07:06 Changeset [2412] by lowjoel
                            • trunk/website/scripts/BuildUtil.php

                            Implemented alternative implementation for sftp's delete command.

                            05:59 Changeset [2411] by lowjoel
                            • trunk/website/Templates/Eraser.dwt
                            • trunk/website/announcements/20081201.html
                            • trunk/website/announcements/20081213.html
                            • trunk/website/announcements/20090103.html
                            • trunk/website/announcements/20090108.html
                            • trunk/website/announcements/20090418.html
                            • trunk/website/announcements/20090610.html
                            • trunk/website/announcements/20090611.html
                            • trunk/website/announcements/20090706.html
                            • trunk/website/announcements/20091215.html
                            • trunk/website/announcements/20100414.html
                            • trunk/website/announcements/20101106.html
                            • trunk/website/announcements/20111106.html
                            • trunk/website/contributing.html
                            • trunk/website/download.php
                            • trunk/website/index.php
                            • trunk/website/reviews.html

                            Use the new links for the forum and Trac in the website. Also, update the copyright year.

                            05:55 Changeset [2410] by lowjoel
                            • trunk/website/scripts/blackbox
                            • trunk/website/scripts/blackbox/dumps
                            • trunk/website/scripts/blackbox/dumps/.htaccess

                            Add the dumps folder to version control since we need to make sure the .htaccess within it is retained when uploading.

                            05:53 Changeset [2409] by lowjoel
                            • trunk/website/index.php

                            Removed retired contributors.

                            05:33 Changeset [2408] by lowjoel
                            • trunk/website/.htaccess

                            No indexes, follow symlinks for this website. Also, redirect /updates to /scripts/updates (where both the v1 and v2 update code resides)

                            05:30 Changeset [2407] by lowjoel
                            • trunk/website/scripts/.htaccess
                            • trunk/website/scripts/.user.ini
                            • trunk/website/scripts/blackbox/.htaccess
                            • trunk/website/scripts/updates/.htaccess
                            • trunk/website/scripts/updates/.user.ini

                            Do not define the error logging parameters. We should set these settings at the Virtual Host level on the server, so that depending on where the script is executed, the error logging and reporting behaviour will be different.

                            03/07/12:

                            13:13 WikiProcessors edited by trac
                            (diff)
                            13:13 WikiNewPage edited by trac
                            (diff)
                            13:13 WikiMacros edited by trac
                            (diff)
                            13:13 WikiHtml edited by trac
                            (diff)
                            13:13 WikiFormatting edited by trac
                            (diff)
                            13:13 TracWiki edited by trac
                            (diff)
                            13:13 TracUpgrade edited by trac
                            (diff)
                            13:13 TracTickets edited by trac
                            (diff)
                            13:13 TracSyntaxColoring edited by trac
                            (diff)
                            13:13 TracSupport edited by trac
                            (diff)
                            13:13 TracStandalone edited by trac
                            (diff)
                            13:13 TracSearch edited by trac
                            (diff)
                            13:13 TracRoadmap edited by trac
                            (diff)
                            13:13 TracRepositoryAdmin edited by trac
                            (diff)
                            13:13 TracReports edited by trac
                            (diff)
                            13:13 TracQuery edited by trac
                            (diff)
                            13:13 TracPlugins edited by trac
                            (diff)
                            13:13 TracPermissions edited by trac
                            (diff)
                            13:13 TracNotification edited by trac
                            (diff)
                            13:13 TracNavigation edited by trac
                            (diff)
                            13:13 TracModWSGI edited by trac
                            (diff)
                            13:13 TracModPython edited by trac
                            (diff)
                            13:13 TracLinks edited by trac
                            (diff)
                            13:13 TracInterfaceCustomization edited by trac
                            (diff)
                            13:13 TracInstall edited by trac
                            (diff)
                            13:13 TracIni edited by trac
                            (diff)
                            13:13 TracImport edited by trac
                            (diff)
                            13:13 TracFineGrainedPermissions edited by trac
                            (diff)
                            13:13 TracFastCgi edited by trac
                            (diff)
                            13:13 TracChangeset edited by trac
                            (diff)
                            13:13 TracCgi edited by trac
                            (diff)
                            13:13 TracBrowser edited by trac
                            (diff)
                            13:13 TracAccessibility edited by trac
                            (diff)
                            13:13 SandBox edited by trac
                            (diff)
                            13:13 PageTemplates edited by trac
                            (diff)
                            13:13 CamelCase edited by trac
                            (diff)
                            07:02 Ticket #410 (Check for Updates freezes) closed by Joel
                            fixed: This has already been fixed earlier in r2300.
                            01:12 Ticket #410 (Check for Updates freezes) created by Joel
                            Reported on build 2284.

                            03/06/12:

                            07:20 Ticket #409 (Test Eraser with Screen Readers) created by Joel
                            Such as JAWS.
                            Note: See TracTimeline for information about the timeline view.