Timeline


and

2/22/2010:

14:00 Changeset [1858] by aramacciotti
  • trunk/eraser6/Eraser/UpdateForm.Designer.cs
  • trunk/eraser6/Eraser/UpdateForm.it.resx
  • trunk/eraser6/Eraser/UpdateForm.resx

Italian translation of hidden control labels

2/20/2010:

03:20 Ticket #327 (error when highlighting multiple files, right clicking and choosing Erase) created by selflove
1. use Win XP Pro 32 bit and without Eraser loaded in RAM. 2. highlight …
03:03 Ticket #326 (6.0.6.1376 installer does not install (and crashes the OS) in Windows 7 ...) created by selflove
1. I uninstalled my previous version of Eraser (It was the last stable …

2/19/2010:

23:51 WikiStart edited by Joel
UsingTrac? hasn't been created. (diff)
09:18 Changesets [1855-1857] by aramacciotti
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.it.resx

Italian translation completed

09:03 Changeset [1854] by aramacciotti
  • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.resx

Italian translation correction

07:21 Changeset [1853] by lowjoel
  • trunk/eraser6/Eraser.Manager/Task.cs

If we can't find the file when enumerating ADSes we'll just silently ignore since we can't do anything about it.

07:14 Changeset [1852] by lowjoel
  • trunk/eraser6/Eraser.Util/ProgressManager.cs

If we get an overflow exception converting the time left to a time span, just return the maximal value for the time span.

2/18/2010:

23:38 Changeset [1851] by lowjoel
  • branches/eraser6/6.0/Eraser/Program.cs

Fixed command line parsing when commas and equality signs are in the filename.

00:00 Ticket #321 (Administrator privilege required) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …

2/17/2010:

13:16 Changeset [1850] by lowjoel
  • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs

Upped the timeout to 10 seconds for connecting to the running instance. If this doesn't work, I don't know what would.

13:00 Changeset [1849] by lowjoel
  • trunk/eraser6/Eraser.Util/ProgressManager.cs

Fixed possible NaN value when we divide the amount of work left by the speed.

12:21 Changeset [1848] by lowjoel
  • trunk/eraser6/Installer/DirectoryStructure.wxs

We use / instead of --.

10:31 Changeset [1847] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx

Forward port from Eraser 6.0: Fixed FileNotFoundException? when erasing cluster tips -- since we have a delay between the enumeration and the actual erasure we need to check whether the file still exists.

10:28 Changeset [1846] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs

Fixed FileNotFoundException? when erasing cluster tips -- since we have a delay between the enumeration and the actual erasure we need to check whether the file still exists.

10:15 Changeset [1845] by lowjoel
  • trunk/eraser6/Eraser/Program.GuiProgram.cs

Reimplemented r1640 since it was lost during the CodeReview? branch.

09:53 Changeset [1844] by lowjoel
  • trunk/eraser6/Eraser/Settings.cs

The registry key provided to the RegistrySettings? class must not be null.

09:38 Changeset [1843] by lowjoel
  • trunk/eraser6/Eraser.Util/NtfsApi.cs
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Use VolumeInfo?.OpenHandle? to query a volume for NTFS information instead as that has better error handling.

08:57 Changeset [1842] by lowjoel
  • trunk/eraser6/Eraser.Util/BlackBox.cs

Fixed potential problem creating the report directory if the disk is full.

2/16/2010:

17:43 Ticket #325 (Recycle Bin erase "Completed with Errors") closed by BillBurke
invalid: BillBurke?: Can not duplicate after intial installation of version …

2/12/2010:

19:40 Ticket #325 (Recycle Bin erase "Completed with Errors") created by BillBurke
When erasing recycle bin, its status is "complete with errors". The Log …
12:56 Changeset [1841] by lowjoel
  • trunk/eraser6/Eraser.Util/NativeMethods/Kernel.cs
  • trunk/eraser6/Eraser.Util/NtfsApi.cs
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Instead of hardcoding 0x80 to be passed to CreateFile?, use the named constant FILE_READ_ATTRIBUTES. Also, use this flag when querying NTFS volume information so that non-administrators can query NTFS volume information (e.g. MFT record size)

12:53 Changeset [1840] by lowjoel
  • trunk/eraser6/Eraser.Manager/Task.cs

Fixed the GetPaths? function for recycle bin targets - the total file size would be erroneously reported as zero as we called an out function for the variable which reset the file size after every file.

12:52 Changeset [1839] by lowjoel
  • trunk/eraser6/Eraser.Manager/EntropySource.cs

Fixed disk performance information as an entropy source -- non-ready drives return null for the Performance parameter.

12:51 Changeset [1838] by lowjoel
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

No need to check that a valid handle is returned, OpenHandle? will throw an exception if it can't open the handle to the volume.

12:50 Changeset [1837] by lowjoel
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Allow non-administrators to query disk performance information.

09:51 Changeset [1836] by lowjoel
  • trunk/eraser6/Eraser.Util/ProgressManager.cs

When no meaningful amount of time required to complete the task can be calculated, return TimeSpan?.MinValue? instead of Zero, because Zero can mean the task is going to complete... very soon.

09:38 Changeset [1835] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

Go back to the v6.0 behaviour that the progress is calculated based on the total amount of data to be erased, not number of files.

08:44 Changeset [1834] by lowjoel
  • trunk/eraser6/Eraser.sln
  • trunk/eraser6/Eraser/Eraser.csproj

If we're building under the win32 solution platform, set the Eraser program to be x86-only. This is useful for debugging native/managed code.

08:42 Changeset [1833] by lowjoel
  • trunk/eraser6/Eraser.Manager/EntropySource.cs

Compilo.

08:39 Changeset [1832] by lowjoel
  • trunk/eraser6/Eraser.Manager/EntropySource.cs
  • trunk/eraser6/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser6/Eraser.Util/NativeMethods/AdvApi.cs
  • trunk/eraser6/Eraser.Util/Security.cs

Removed CryptGenRandom? for a few reasons:

  • The only use was in the Entropy gathering code. We default to using RNGCryptoServiceProvider which is already a CSPRNG.
  • Since RNGCryptoServiceProvider doesn't accept seeds, we can't seed it with our entropy
  • CryptGenRandom? involved a lot of setting up -- certain computers do not have it and would result in a crash
07:26 Changeset [1831] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Util/NetApi.cs
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx

Forward port from Eraser 6.0: Wrong parameter order for Marshal.Copy, resulting in the manager buffer being copied to the unmanaged buffer.

07:21 Changeset [1830] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/NetApi.cs

Wrong parameter order for Marshal.Copy, resulting in the manager buffer being copied to the unmanaged buffer.

06:24 Changeset [1829] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Executor.cs
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs

When we load a task list from the stream the stream may not be valid. If so, throw an InvalidDataException? instead. This prevents exceptions which are specific to the implementation of the Executor class from letting its exceptions bubble up the stack.

06:14 Changeset [1828] by lowjoel
  • trunk/eraser6/ShellExt/CtxMenu.cpp
  • trunk/eraser6/ShellExt/CtxMenu.h

Path names need not be escaped any more since we parse the arguments by regex.

06:12 Changeset [1827] by lowjoel
  • trunk/website/scripts/downloads.php

OK, this algorithm better work - get the number of unsuperseded builds, get those which should already be superseded, then mark them so.

04:52 Changeset [1826] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs

Compile fix; Localisation only exists in trunk.

03:49 Changeset [1825] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx
  • trunk/eraser6/Eraser/MainForm.cs

Forward port from Eraser 6.0: When executing links we may get errors from ShellExecute?, so display these errors instead of crashing.

03:41 Changeset [1824] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs

When executing links we may get errors from ShellExecute?, so display these errors instead of crashing.

03:08 Changeset [1823] by lowjoel
  • trunk/eraser6/Eraser.Util/BlackBox.cs

Fixed ArgumentOutOfRangeException? when uploading crash reports.

02:59 Changeset [1822] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx
  • trunk/eraser6/Eraser/MainForm.Designer.cs
  • trunk/eraser6/Eraser/MainForm.cs

Forward port from Eraser 6.0: When the user closes the MainForm?, always call Application.Exit, since if Application.Run was not called with the main form then the closure of the form has no significance. Thanks to DavidHB for the report.

02:51 Changeset [1821] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.Designer.cs
  • branches/eraser6/6.0/Eraser/MainForm.cs

When the user closes the MainForm?, always call Application.Exit, since if Application.Run was not called with the main form then the closure of the form has no significance. Thanks to DavidHB for the report.

01:53 Changeset [1820] by lowjoel
  • trunk/eraser6/ShellExt/CtxMenu.cpp

The targets need not be specified with /

01:28 Changeset [1819] by lowjoel
  • trunk/eraser6/Eraser/Program.cs

Follow the old behaviour -- without specifying /schedule, we assume the task is meant to run immediately.

01:16 Changesets [1817-1818] by lowjoel
  • trunk/eraser6/ShellExt/CtxMenu.cpp
  • trunk/eraser6/Eraser/Program.cs

We only accept / instead of -- now for command line arguments.

01:05 Changeset [1816] by lowjoel
  • trunk/eraser6/Installer/DirectoryStructure.wxs

Using the new command line library requires us to use / instead of -- for switches.

01:04 Changeset [1815] by lowjoel
  • trunk/eraser6/Eraser.Manager/Plugins.cs
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

Handle partially trusted plugin loading (eg. from network paths) by displaying an error message to catch the SecurityException? thrown

2/11/2010:

13:48 Changeset [1814] by lowjoel
  • trunk/website/scripts/downloads.php

The nested query can't be referenced in the UPDATE statement.

05:50 Changeset [1813] by lowjoel
  • trunk/eraser6/Eraser.Util/ProgressManager.cs

Replaced the Speed property of the ProgressManager? classes to a float so that it is unit agnostic, bearing the unit percentage points per second instead, so it is generalised to all progress manager classes.

02:15 Changeset [1812] by lowjoel
  • trunk/eraser6/Eraser.Util.Native/OpenHandle.NameResolver.cpp
  • trunk/eraser6/Eraser.Util.Native/OpenHandle.NameResolver.h
  • trunk/eraser6/Eraser.Util.Native/OpenHandle.cpp
  • trunk/eraser6/Eraser.Util.Native/OpenHandle.h
  • Move the contents of the OpenHandle::ResolveHandlePath? function to the ResolveHandleName? function in native code (we would have p/invoked quite a bit in that function)
  • Move the global name resolution thread and it's task queue to native code and in a anonymous namespace
02:12 Changeset [1811] by lowjoel
  • trunk/eraser6/Eraser.Util.Native/Main.cpp

Fixed crash when obtaining handle names -- we called NtQueryObject? but that was a p/invoke call as Main.cpp was not declared as managed. Since we call TerminateThread? the .NET CLR went into an inconsistent state.

00:28 Changeset [1810] by lowjoel
  • trunk/eraser6/Dependencies/DragDropLib.XML
  • trunk/eraser6/Dependencies/DragDropLib.dll
  • trunk/eraser6/Dependencies/ICSharpCode.SharpZipLib.dll
  • trunk/eraser6/Dependencies/ICSharpCode.SharpZipLib.xml

Rebuilt DragDropLib? and SharpZipLib? and added XML documentation for these dependencies.

00:19 Changeset [2857] by lowjoel

    Generate and store debug symbols and XML documentation for CommonLibrary?.NET

    00:16 Changeset [2856] by lowjoel

      Generate XML Documentation for use with VS IntelliSense?

      2/10/2010:

      10:44 Changeset [1809] by lowjoel
      • trunk/eraser6/Eraser.Util/BlackBox.cs

      Don't register BlackBox? as a crash handler when a debugger is attached to the current process.

      10:41 Changeset [1808] by lowjoel
      • trunk/eraser6/Eraser/ProgressForm.cs

      Fixed crash when the progress dialog is invoked before any steps have been declared.

      09:41 Changeset [1807] by lowjoel
      • trunk/eraser6/Eraser/Resources/BackgroundLogo.png
      • trunk/eraser6/Resources/Source/Dialogs/Dialog Logo.psd

      Updated the version numbers in the resources too.

      09:31 Changeset [1806] by lowjoel
      • trunk/eraser6/Version.rc.in
      • trunk/eraser6/Version.wxs.in

      Bumped version numbers since after the CodeReview? branch a lot of things are different from v6.0

      09:23 Changeset [1805] by lowjoel
      • trunk/eraser6/Eraser.Manager/Strings.en.resx

      Updated English translation.

      09:18 Changeset [1804] by lowjoel
      • trunk/eraser6/Eraser.Manager/Strings.en.resx

      Missing English translation.

      09:14 Ticket #275 (Code Review) closed by Joel
      fixed: Completed in r1803
      09:12 Changeset [1803] by lowjoel
      • branches/eraser6/CodeReview

      Completed code review. Closes #275: Code Review

      09:08 Changeset [1802] by lowjoel
      • trunk/eraser6
      • trunk/eraser6/CustomDictionary.xml
      • trunk/eraser6/Dependencies/CommonLibrary.XML
      • trunk/eraser6/Dependencies/CommonLibrary.dll
      • trunk/eraser6/Dependencies/CommonLibrary.pdb
      • trunk/eraser6/Eraser Native.vsprops
      • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
      • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
      • trunk/eraser6/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Random.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
      • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
      • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Fat.cs
      • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
      • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs
      • trunk/eraser6/Eraser.DefaultPlugins/Plugin.cs
      • trunk/eraser6/Eraser.DefaultPlugins/RNGCrypto.cs
      • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.cs
      • trunk/eraser6/Eraser.DefaultPlugins/Strings.en.resx
      • trunk/eraser6/Eraser.DefaultPlugins/Strings.it.resx
      • trunk/eraser6/Eraser.DefaultPlugins/Strings.nl.resx
      • trunk/eraser6/Eraser.DefaultPlugins/Strings.resx
      • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
      • trunk/eraser6/Eraser.Manager/EntropySource.cs
      • trunk/eraser6/Eraser.Manager/Eraser.Manager.csproj
      • trunk/eraser6/Eraser.Manager/Executor.cs
      • trunk/eraser6/Eraser.Manager/FileSystem.cs
      • trunk/eraser6/Eraser.Manager/IRegistrar.cs
      • trunk/eraser6/Eraser.Manager/Language.cs
      • trunk/eraser6/Eraser.Manager/Logger.cs
      • trunk/eraser6/Eraser.Manager/ManagerLibrary.cs
      • trunk/eraser6/Eraser.Manager/Method.cs
      • trunk/eraser6/Eraser.Manager/PRNG.cs
      • trunk/eraser6/Eraser.Manager/Plugins.cs
      • trunk/eraser6/Eraser.Manager/ProgressManager.cs
      • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs
      • trunk/eraser6/Eraser.Manager/Schedule.cs
      • trunk/eraser6/Eraser.Manager/Settings.cs
      • trunk/eraser6/Eraser.Manager/Strings.en.resx
      • trunk/eraser6/Eraser.Manager/Strings.it.resx
      • trunk/eraser6/Eraser.Manager/Strings.nl.resx
      • trunk/eraser6/Eraser.Manager/Strings.resx
      • trunk/eraser6/Eraser.Manager/Task.cs
      • trunk/eraser6/Eraser.Util.FileSystem
      • trunk/eraser6/Eraser.Util.Native
      • trunk/eraser6/Eraser.Util.Native/AssemblyInfo.cpp
      • trunk/eraser6/Eraser.Util.Native/Eraser.Util.Native.rc
      • trunk/eraser6/Eraser.Util.Native/Eraser.Util.Native.vcproj
      • trunk/eraser6/Eraser.Util.Native/Fat.h
      • trunk/eraser6/Eraser.Util.Native/Fat12Api.cpp
      • trunk/eraser6/Eraser.Util.Native/Fat12Or16Api.cpp
      • trunk/eraser6/Eraser.Util.Native/Fat16Api.cpp
      • trunk/eraser6/Eraser.Util.Native/Fat32Api.cpp
      • trunk/eraser6/Eraser.Util.Native/FatApi.cpp
      • trunk/eraser6/Eraser.Util.Native/FatApi.h
      • trunk/eraser6/Eraser.Util.Native/Main.cpp
      • trunk/eraser6/Eraser.Util.Native/NTApi.h
      • trunk/eraser6/Eraser.Util.Native/OpenHandle.NameResolver.cpp
      • trunk/eraser6/Eraser.Util.Native/OpenHandle.NameResolver.h
      • trunk/eraser6/Eraser.Util.Native/OpenHandle.cpp
      • trunk/eraser6/Eraser.Util.Native/OpenHandle.h
      • trunk/eraser6/Eraser.Util.Native/Stdafx.cpp
      • trunk/eraser6/Eraser.Util.Native/Stdafx.h
      • trunk/eraser6/Eraser.Util.Unlocker
      • trunk/eraser6/Eraser.Util/AdvApi.cs
      • trunk/eraser6/Eraser.Util/BlackBox.cs
      • trunk/eraser6/Eraser.Util/ConsoleWindow.cs
      • trunk/eraser6/Eraser.Util/Eraser.Util.csproj
      • trunk/eraser6/Eraser.Util/ExtensionMethods
      • trunk/eraser6/Eraser.Util/ExtensionMethods/IO.cs
      • trunk/eraser6/Eraser.Util/File.cs
      • trunk/eraser6/Eraser.Util/FileSize.cs
      • trunk/eraser6/Eraser.Util/KernelApi.cs
      • trunk/eraser6/Eraser.Util/Localisation.cs
      • trunk/eraser6/Eraser.Util/Logger.cs
      • trunk/eraser6/Eraser.Util/MsCorEEApi.cs
      • trunk/eraser6/Eraser.Util/NTApi.cs
      • trunk/eraser6/Eraser.Util/NativeMethods
      • trunk/eraser6/Eraser.Util/NativeMethods/AdvApi.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/DbgHelp.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/Gdi.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/Kernel.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/Mpr.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/MsCorEE.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/NetApi.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/NtDll.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/Sfc.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/Shell.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/User.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/UxTheme.cs
      • trunk/eraser6/Eraser.Util/NativeMethods/WinTrust.cs
      • trunk/eraser6/Eraser.Util/NetApi.cs
      • trunk/eraser6/Eraser.Util/NtfsApi.cs
      • trunk/eraser6/Eraser.Util/PostDataBuilder.cs
      • trunk/eraser6/Eraser.Util/Power.cs
      • trunk/eraser6/Eraser.Util/ProgressManager.cs
      • trunk/eraser6/Eraser.Util/RecycleBin.cs
      • trunk/eraser6/Eraser.Util/Security.cs
      • trunk/eraser6/Eraser.Util/Shell.cs
      • trunk/eraser6/Eraser.Util/ShellApi.cs
      • trunk/eraser6/Eraser.Util/StreamInfo.cs
      • trunk/eraser6/Eraser.Util/SystemInfo.cs
      • trunk/eraser6/Eraser.Util/SystemRestore.cs
      • trunk/eraser6/Eraser.Util/SystemRestoreApi.cs
      • trunk/eraser6/Eraser.Util/Theming.cs
      • trunk/eraser6/Eraser.Util/UserApi.cs
      • trunk/eraser6/Eraser.Util/UxThemeApi.cs
      • trunk/eraser6/Eraser.Util/VolumeInfo.cs
      • trunk/eraser6/Eraser.Util/Win32ErrorCodes.cs
      • trunk/eraser6/Eraser.Util/WintrustApi.cs
      • trunk/eraser6/Eraser.fxcop
      • trunk/eraser6/Eraser.msbuild
      • trunk/eraser6/Eraser.sln
      • trunk/eraser6/Eraser/AboutForm.cs
      • trunk/eraser6/Eraser/BlackBoxMainForm.cs
      • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
      • trunk/eraser6/Eraser/BlackBoxUploadForm.cs
      • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx
      • trunk/eraser6/Eraser/Eraser.csproj
      • trunk/eraser6/Eraser/LogForm.cs
      • trunk/eraser6/Eraser/MainForm.cs
      • trunk/eraser6/Eraser/Program.ConsoleProgram.cs
      • trunk/eraser6/Eraser/Program.GuiProgram.cs
      • trunk/eraser6/Eraser/Program.cs
      • trunk/eraser6/Eraser/ProgressForm.cs
      • trunk/eraser6/Eraser/SchedulerPanel.cs
      • trunk/eraser6/Eraser/Settings.cs
      • trunk/eraser6/Eraser/SettingsCompatibility.cs
      • trunk/eraser6/Eraser/SettingsPanel.cs
      • trunk/eraser6/Eraser/Strings.NL.resx
      • trunk/eraser6/Eraser/Strings.en.resx
      • trunk/eraser6/Eraser/Strings.it.resx
      • trunk/eraser6/Eraser/Strings.resx
      • trunk/eraser6/Eraser/TaskDataSelectionForm.cs
      • trunk/eraser6/Eraser/TaskPropertiesForm.cs
      • trunk/eraser6/Eraser/UpdateForm.Designer.cs
      • trunk/eraser6/Eraser/UpdateForm.cs
      • trunk/eraser6/Eraser/UpdateForm.resx
      • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.vcproj
      • trunk/eraser6/Installer/DirectoryStructure.wxs
      • trunk/eraser6/ShellExt/ShellExt.vcproj
      • trunk/eraser6/Version.cs.in

      Merged the CodeReview? Branch back to trunk. (Finally!) Closes #275: Code Review.

      08:32 Changeset [1801] by lowjoel
      • branches/eraser6/CodeReview
      • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
      • branches/eraser6/CodeReview/Eraser.Manager/RemoteExecutor.cs
      • branches/eraser6/CodeReview/Eraser.msbuild
      • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
      • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx
      • branches/eraser6/CodeReview/Eraser/Program.cs
      • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.Designer.cs
      • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.it.resx
      • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.resx
      • branches/eraser6/CodeReview/ShellExt/CtxMenu.cpp
      • branches/eraser6/CodeReview/ShellExt/ShellExt.vcproj
      • branches/eraser6/CodeReview/ShellExt/Utils.cpp
      • branches/eraser6/CodeReview/ShellExt/Utils.h

      Updated to r1800 on trunk.

      08:26 Changeset [1800] by lowjoel
      • trunk/eraser6/Eraser/TaskPropertiesForm.Designer.cs
      • trunk/eraser6/Eraser/TaskPropertiesForm.it.resx
      • trunk/eraser6/Eraser/TaskPropertiesForm.resx

      Fit Sunday on the English localisation for the schedule editor.

      08:11 Changeset [1799] by lowjoel
      • branches/eraser6/CodeReview/Eraser/MainForm.cs

      Specify RightAlign? alongside RTLReading when the parent control is right-to-left.

      08:02 Changeset [1798] by lowjoel
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Fat.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/RNGCrypto.cs

      Looks like the GuidAttribute? doesn't accept GUIDs with {}. Fixes r1796

      08:00 Changeset [1797] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
      • branches/eraser6/CodeReview/Eraser/AboutForm.cs
      • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs
      • branches/eraser6/CodeReview/Eraser/LogForm.cs
      • branches/eraser6/CodeReview/Eraser/MainForm.cs
      • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
      • branches/eraser6/CodeReview/Eraser/Program.cs
      • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
      • branches/eraser6/CodeReview/Eraser/Settings.cs
      • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs
      • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
      • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

      Replaced the majority of the "S" class with the properly named Localisation class; the "S" class is just for shorthand when translating strings.

      07:40 Ticket #276 (Implement Eraser Registrar Interface) closed by Joel
      fixed: I don't see a need for the erasure method interface, really. Closing this …
      07:37 Changeset [1796] by lowjoel
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Random.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Fat.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/RNGCrypto.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs

      Store the GUIDs of the Registerables as class attributes and use Reflection to get the GUIDs out. This allows us to do thus: typeof(type).GUID to get the GUID of the registerable. Addresses #276: Implement Eraser Registrar Interface

      07:14 Changeset [1795] by lowjoel
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Fat.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Plugin.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
      • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
      • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
      • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
      • branches/eraser6/CodeReview/Eraser.Manager/ManagerLibrary.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Method.cs
      • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
      • branches/eraser6/CodeReview/Eraser/Program.cs
      • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs
      • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs

      Renamed ManagerLibrary?.*Manager => ManagerLibrary?.*Registrar for consistency. Addresses #276: Implement Eraser Registrar Interface

      07:11 Changeset [1794] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
      • branches/eraser6/CodeReview/Eraser.Manager/Language.cs
      • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
      • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs

      Removed the Language and LanguageManager? classes since the former is just CultureInfo?, and the latter should really be in the "S" class. Addresses #276: Implement Eraser Registrar Interface

      07:02 Changeset [1793] by lowjoel
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Fat.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Plugin.cs
      • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
      • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
      • branches/eraser6/CodeReview/Eraser.Manager/ManagerLibrary.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Method.cs
      • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs
      • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs

      Replaced the PrngManager? and FileSystemManager? classes with the new Registrar interface. Addresses #276: Implement Eraser Registrar Interface

      06:32 Changeset [1792] by lowjoel
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Plugin.cs
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
      • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
      • branches/eraser6/CodeReview/Eraser.Manager/IRegistrar.cs
      • branches/eraser6/CodeReview/Eraser.Manager/ManagerLibrary.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Method.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
      • branches/eraser6/CodeReview/Eraser/Program.cs
      • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs
      • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs

      Implemented an IRegistrar interface for all registrars, and an IRegisterable interface for all classes which need to be registered with IRegistrar, and migrated the Entropy and Erasure Method classes to the new interfaces. Addresses #276: Implement Eraser Registrar Interface

      04:20 Ticket #309 (Remove the SettingsCompatibility classes) closed by Joel
      fixed
      04:09 Changeset [1791] by lowjoel
      • branches/eraser6/CodeReview/Eraser/Eraser.csproj
      • branches/eraser6/CodeReview/Eraser/Program.cs
      • branches/eraser6/CodeReview/Eraser/SettingsCompatibility.cs

      Closes #309: Remove the SettingsCompatibility? classes

      03:50 Ticket #320 (Logging improvements) closed by Joel
      fixed: The rest of this task is actually a non-issue. I'll close this.
      02:49 Changeset [1790] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs

      Supplants r1777. Moved a code fragment from the DirectExecutor?.Main to DirectExecutor?.ExecuteTask? method (since it logically belongs there)

      02:37 Changeset [1789] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs

      Instead of throwing an ArgumentNullException? when querying the system RTL status, use an available form or create one, in that order and check against those controls instead.

      02:36 Changeset [1788] by lowjoel
      • branches/eraser6/CodeReview/Eraser/AboutForm.cs
      • branches/eraser6/CodeReview/Eraser/MainForm.cs
      • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs

      When checking for RTL-reading controls to display in the message box, always check the current control if available, defaulting only to null where necessary

      02:31 Changeset [1787] by lowjoel
      • trunk/eraser6/ShellExt/CtxMenu.cpp
      • trunk/eraser6/ShellExt/ShellExt.vcproj
      • trunk/eraser6/ShellExt/Utils.cpp
      • trunk/eraser6/ShellExt/Utils.h

      Various (minor) shell improvements.

      • Moved the Handle class to the Utils header
      • Added a BusyCursor? class which when instantiated will set the cursor to be the system busy cursor (now used when spawning the Eraser process)
      02:23 Changeset [1786] by lowjoel
      • trunk/eraser6
      • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs
      • trunk/eraser6/Eraser/Program.cs

      Forward port from Eraser 6.0.

      • When connecting to a RemoteExecutor? instance, wait for 3 seconds instead of 0.5 seconds - the old timeout seemed too short for new instances to start and wait for connections (and WaitForInputIdle? doesn't seem to wait completely)
      • When starting the new Eraser process, yield the current thread's timeslice to allow the new instance to start
      02:21 Changeset [1785] by lowjoel
      • branches/eraser6/6.0/Eraser/Strings.NL.resx
      • branches/eraser6/6.0/Eraser/Strings.en.resx
      • branches/eraser6/6.0/Eraser/Strings.it.resx
      • branches/eraser6/6.0/Eraser/Strings.resx

      New strings.

      02:20 Changeset [1784] by lowjoel
      • branches/eraser6/6.0/Eraser.Manager/RemoteExecutor.cs
      • branches/eraser6/6.0/Eraser/Program.cs
      • When connecting to a RemoteExecutor? instance, wait for 3 seconds instead of 0.5 seconds - the old timeout seemed too short for new instances to start and wait for connections (and WaitForInputIdle? doesn't seem to wait completely)
      • When starting the new Eraser process, yield the current thread's timeslice to allow the new instance to start

      2/9/2010:

      08:37 Ticket #324 (XML Documentation for Util.Native) created by Joel
      08:36 Changeset [1783] by lowjoel
      • trunk/eraser6
      • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

      Forward port from Eraser 6.0: Fixed DirectoryNotFoundException? -- the Erase If Empty option for directories were not respected -- directories were always erased.
      Also reverted erroneous change in r1700 which removed the mountpoint checking code.

      08:18 Changeset [1782] by lowjoel
      • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

      Fixed DirectoryNotFoundException? -- the Erase If Empty option for directories were not respected -- directories were always erased.

      08:02 Changeset [1781] by lowjoel
      • branches/eraser6/CodeReview/Eraser/LogForm.cs

      If we have no log sessions then we should not attempt to list the entries for display to avoid an ArgumentOutOfRangeException?. Addresses #320: Logging improvements

      07:59 Ticket #300 (Tasks - Information log entries for start / end) closed by Joel
      fixed: Fixed in r1780
      07:56 Changeset [1780] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Util/Logger.cs

      Fixed a few logger issues, addressing #320: Logging improvements:

      • When starting a new session, if the current thread has no logger listeners we need to create the list of threads before adding them
      • When creating the new session we need to log the session start event and the end event
      • The LogSink? class should be Serializable, as the predecessor Logger class was
      07:52 Changeset [1779] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs

      Forgot to return from the function after we log the error that we lack the permissions to do an unused space erase.

      07:27 Changeset [1778] by lowjoel
      • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs

      Converted a tail-recursive function call to a while loop.

      07:23 Changeset [1777] by lowjoel
      • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
      • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
      • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
      • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
      • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
      • branches/eraser6/CodeReview/Eraser.Util/Logger.cs
      • branches/eraser6/CodeReview/Eraser.Util/Theming.cs
      • branches/eraser6/CodeReview/Eraser/LogForm.cs
      • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
      • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs

      Redesigned the Logger paradigm -- instead of a dealing with a logger object to do any form of logging, we have a static Logger class which code can log to, and define log targets to receive those logs. Also included is a LogSession? class which sets the log target for the current thread or for a few threads. Addresses #320: Logging improvements

      06:45 Changeset [1776] by lowjoel
      • branches/eraser6/CodeReview/Dependencies/CommonLibrary.XML

      Added XML documentation for the CommonLibrary?.NET assembly.

      00:08 Changeset [2855] by lowjoel

        Added CommonLibrary?.NET to the list of C# libraries. This is 0.9.3.

        00:06 Changeset [2854] by lowjoel

          Imported CommonLibrary?.NET 0.9.3

          2/8/2010:

          20:56 Ticket #322 (Eraser 6.0.6.1743 - First Last 16KB threshhold addressed in change 1745 is ...) reopened by bOoGiEwOoGiE
          20:51 Ticket #322 (Eraser 6.0.6.1743 - First Last 16KB threshhold addressed in change 1745 is ...) closed by bOoGiEwOoGiE
          invalid: Thank you for your reply and your patience Joel. My apologies for possibly …
          12:49 Changeset [1775] by lowjoel
          • branches/eraser6/CodeReview
          • branches/eraser6/CodeReview/Eraser.msbuild
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx
          • branches/eraser6/CodeReview/Eraser/MainForm.nl.resx

          Forward port from trunk to r1774.

          12:44 Changeset [1774] by lowjoel
          • trunk/eraser6/Eraser/MainForm.nl.resx

          Use the new Eraser icon for the Dutch localisation

          12:37 Changeset [1773] by lowjoel
          • trunk/eraser6/Eraser/MainForm.nl.resx

          Fixed menu bar position in the Dutch localisaton.

          08:25 Changeset [1772] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/ManagerLibrary.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
          • branches/eraser6/CodeReview/Eraser.Manager/RemoteExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Util/Security.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
          • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
          • branches/eraser6/CodeReview/Eraser/Settings.cs

          Allow all IDisposable patterns to be reentrant. Addresses #275: Code Review

          07:43 Changeset [1771] by lowjoel
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.nl.resx
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.resx
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.nl.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.resx

          Updated localisable strings.

          07:41 Changeset [1770] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
          • branches/eraser6/CodeReview/Eraser.Util/Security.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
          • branches/eraser6/CodeReview/Eraser/Settings.cs

          Marked disposable classes' Dispose(bool) member protected virtual; or private and sealed the class if the class is not meant to be inherited. Addresses #275: Code Review

          07:30 Ticket #323 (Erasing improvements) created by Joel
          - Can FileSystem.EraseOldFileSystemResidentFiles and …
          07:29 Changeset [1769] by lowjoel
          • branches/eraser6/CodeReview
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.msbuild
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx
          • branches/eraser6/CodeReview/Eraser/MainForm.cs
          • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
          • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
          • branches/eraser6/CodeReview/Eraser/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser/Strings.resx

          Updated to trunk r1764

          07:20 Changeset [1768] by lowjoel
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • branches/eraser6/CodeReview/Eraser/AboutForm.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs
          • branches/eraser6/CodeReview/Eraser/LogForm.cs
          • branches/eraser6/CodeReview/Eraser/MainForm.cs
          • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
          • branches/eraser6/CodeReview/Eraser/Program.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
          • branches/eraser6/CodeReview/Eraser/Settings.cs
          • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs
          • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Also specify MessageBoxOptions?.RightAlign? if the dialog which owns the message box is RTL-reading. addresses #275: Code Review

          07:09 Changeset [1767] by lowjoel
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Method.cs
          • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Schedule.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Task.cs

          Do not localise exceptions which aren't meant to be seen by the user. User-visible exceptions will be dealt with in a separate ticket. Do not throw exceptions to indicate handleable errors (notably, when erasing unused space without administrator permissions) Addresses #275: Code Review

          06:54 Changeset [1766] by lowjoel
          • trunk/website/scripts/downloads.php
          • Fixed naming of the download: Just add Eraser to the version number, and there's no need for branch name since it's implicit in the full version number
          • Fixed the algorithm to set superseded status on old builds
          06:44 Changeset [1765] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Executor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
          • branches/eraser6/CodeReview/Eraser/MainForm.cs
          • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs

          Removed the TaskProcessing? and TaskProcessed? events in Executor which duplicate the TaskStarted? and TaskFinished? events in Task. The TaskEventArgs? class can't disappear just yet as the TaskAdded? and TaskDeleted? events still need them (the sender is not the task, it's the executor) Addresses #275: Code Review

          06:05 Changeset [1764] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/Program.cs
          • trunk/eraser6/Eraser/Strings.NL.resx
          • trunk/eraser6/Eraser/Strings.en.resx
          • trunk/eraser6/Eraser/Strings.it.resx
          • trunk/eraser6/Eraser/Strings.resx

          Forward port from Eraser 6.0: Fixed a typo in the order of function calls (nested string translations) and updated the translations.

          05:58 Changeset [1763] by lowjoel
          • trunk/website/scripts/updates.php

          Rename all download -> update since this is an updater.

          05:51 Changeset [1762] by lowjoel
          • trunk/website/scripts/downloads.php

          Do not unset and reset the superseded field of the table as that re-enables downloads which have been superseded in the database only.

          05:24 Changeset [1761] by lowjoel
          • trunk/website/scripts/updates.php
          • trunk/website/scripts/updates/index.php

          Separate the downloads list printing code into a separate UpdateList? class

          04:51 Changeset [1760] by lowjoel
          • trunk/website/scripts/downloads.php

          Added support to include the current version of the builds so that proper version numbers can be embedded into the database instead of just the coarse revision numbers.

          04:48 Ticket #307 (Eraser Updater restructuring) closed by Joel
          fixed: More fixes in r1758 and r1759. This should be done now.
          04:47 Changeset [1759] by lowjoel
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Give all downloaded files an index to ensure uniqueness of every file. Addresses #307: Eraser Updater restructuring

          04:24 Changeset [1758] by lowjoel
          • branches/eraser6/CodeReview/Eraser/UpdateForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/UpdateForm.resx

          Remove the mirror selection combobox since we don't support that any more. Addresses #307: Eraser Updater restructuring

          04:23 Ticket #307 (Eraser Updater restructuring) reopened by Joel
          Few stuff left unfixed…
          04:13 Changeset [1757] by lowjoel
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Remove unnecessary using. Closes #307: Eraser Updater restructuring

          04:13 Ticket #307 (Eraser Updater restructuring) closed by Joel
          fixed: Fixed in r1747 to r1749 and r1757.
          03:55 Changeset [1756] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs

          Fixed progress calculation -- the old method did not take into account the different erasure methods, assuming a one-pass method. Addresses #322: Eraser 6.0.6.1743 - First Last 16KB threshhold addressed in change 1745 is 28kB rather than 32kB

          03:48 Changeset [1755] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Forward port from Eraser 6.0: Fixed two errors in the code: when terminating the DirectExecutor? thread, we may return from Dispose before the thread exists. Call Join, pumping messages if it is on the main thread so that such invocation calls will not throw InvalidAsynchronousStateExceptions?. In addition, when erasing files which we cannot deal with (sparse/compressed/encrypted) we need to skip the file; the old code did not.

          03:38 Changeset [1754] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

          Fixed two errors in the code: when terminating the DirectExecutor? thread, we may return from Dispose before the thread exists. Call Join, pumping messages if it is on the main thread so that such invocation calls will not throw InvalidAsynchronousStateExceptions?. In addition, when erasing files which we cannot deal with (sparse/compressed/encrypted) we need to skip the file; the old code did not.

          01:24 Changeset [1753] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/MainForm.cs

          Forward port from Eraser 6.0: Fixed crash when importing a corrupt/outdated task list.

          01:20 Changeset [1752] by lowjoel
          • branches/eraser6/6.0/Eraser/MainForm.cs

          Fixed crash when importing a corrupt/outdated task list.

          00:37 Changeset [1751] by lowjoel
          • trunk/eraser6/Eraser/BlackBoxMainForm.cs

          Fixed crash when users double-click outside a report item.

          2/7/2010:

          09:40 Ticket #322 (Eraser 6.0.6.1743 - First Last 16KB threshhold addressed in change 1745 is ...) created by bOoGiEwOoGiE
          Regarding Eraser 6.0.6.1743 All input files were created with fsutil at …

          2/4/2010:

          10:02 Changeset [1750] by lowjoel
          • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
          • branches/eraser6/CodeReview/Eraser/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser/Strings.resx

          Updated strings found in the project.

          09:58 Changeset [1749] by lowjoel
          • branches/eraser6/CodeReview/Version.cs.in

          Version bump, needed for the updater to work properly.

          08:47 Changeset [1748] by lowjoel
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Various Updater fixes. Addresses #307: Eraser Updater restructuring

          • Deal with update types better - instead of mapping DownloadTypes? to strings, we map it directly to the ListViewGroup?
          • Fixed download progress messages
          • Deal with install errors properly (Win32Exception)
          • Fixed the status text when installing downloads
          02:31 Changeset [1747] by lowjoel
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Rewrote and redesigned the entire Updater infrastructure to use the ProgressManager? classes. Addresses #307: Eraser Updater restructuring

          2/3/2010:

          17:34 Ticket #321 (Administrator privilege required) created by michel.hasenclever
          I have installed Eraser on a Windows 7 computer, and it works. But my user …
          04:55 Ticket #284 (Eraser.Util rewrite) closed by Joel
          fixed: I'll mark this closed and lump it with the Code Review task.
          04:08 Ticket #289 (Volume enumeration crash) closed by Joel
          fixed: See source:/branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs for revision …
          03:47 Changeset [1746] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs

          Must have copied the copyrights blindly...

          03:37 Changeset [1745] by lowjoel
          • branches/eraser6/CodeReview
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
          • branches/eraser6/CodeReview/Eraser.Manager/RemoteExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
          • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
          • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
          • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
          • branches/eraser6/CodeReview/Eraser.Util/Security.cs
          • branches/eraser6/CodeReview/Eraser.Util/Shell.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/CodeReview/Eraser.msbuild
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx
          • branches/eraser6/CodeReview/Eraser/LogForm.cs
          • branches/eraser6/CodeReview/Eraser/MainForm.cs
          • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
          • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
          • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
          • branches/eraser6/CodeReview/Eraser/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser/Strings.resx
          • branches/eraser6/CodeReview/ShellExt/CtxMenu.cpp

          Forward ported changes from trunk to r1743

          02:52 Changeset [1744] by lowjoel
          • branches/eraser6/6.0/Eraser/Program.cs
          • branches/eraser6/6.0/Eraser/Strings.NL.resx
          • branches/eraser6/6.0/Eraser/Strings.en.resx
          • branches/eraser6/6.0/Eraser/Strings.it.resx
          • branches/eraser6/6.0/Eraser/Strings.resx

          Fixed a typo in the order of function calls (nested string translations) and updated the translations for v6.

          01:37 Changeset [1743] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/FileSystem.cs

          Forward port from Eraser 6.0: Fixed code usage error: When we find a directory in the list of plausible deniability decoy files we would add the files in the directory to the list. This results in directory contents being added recursively for every decoy we copy. In addition, we also did not check that the files in the list of decoys exist and we just picked any one. This could have resulted in non-existent files being picked for use which throws a FileNotFoundException?.

          01:19 Changeset [1742] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/FileSystem.cs

          Fixed code usage error: When we find a directory in the list of plausible deniability decoy files we would add the files in the directory to the list. This results in directory contents being added recursively for every decoy we copy. In addition, we also did not check that the files in the list of decoys exist and we just picked any one. This could have resulted in non-existent files being picked for use which throws a FileNotFoundException?.

          01:16 Changeset [1741] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/LogForm.cs
          • trunk/eraser6/Eraser/ProgressForm.cs

          Supplants r1659/r1660: When we ware waiting for event triggers we also need to ensure that the form has not yet been disposed.

          01:14 Changeset [1740] by lowjoel
          • branches/eraser6/6.0/Eraser/LogForm.cs
          • branches/eraser6/6.0/Eraser/ProgressForm.cs

          Supplants r1659: When we ware waiting for event triggers we also need to ensure that the form has not yet been disposed.

          00:56 Changeset [1739] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/Task.cs

          Forward port from Eraser 6.0: Various filesystem object target searching improvements.

          • When listing files that need to be erased, always ensure that the file exists before querying its properties e.g. Length or Attributes.
          • When passing reference variables, we don't need to use ref (unless we want to change the reference, but in this case, we aren't)
          • Just like for file system objects, when we get a file or directory from the recycle bin, ensure that it exists and that it isn't a reparse point (otherwise, we can just ignore it)
          • Split files and directory enumeration in the recycle bin targets to remove casts (which are slow)
          00:53 Changeset [1738] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/Task.cs
          • When passing reference variables, we don't need to use ref (unless we want to change the reference, but in this case, we aren't)
          • Just like for file system objects, when we get a file or directory from the recycle bin, ensure that it exists and that it isn't a reparse point (otherwise, we can just ignore it)
          • Split files and directory enumeration in the recycle bin targets to remove casts (which are slow)
          00:46 Changeset [1737] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/Task.cs

          When listing files that need to be erased, always ensure that the file exists before querying its properties e.g. Length or Attributes.

          00:29 Changeset [1736] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/MainForm.cs
          • trunk/eraser6/Eraser/SchedulerPanel.cs

          Forward port from Eraser 6.0: Fixed potential regression in r1721 and r1633 where we added in calls to CreateHandle? so that window handles are created immediately for calls to InvokeRequired?. Check that IsHandleCreated? is false so that the handle will not be recreated and throw an InvalidOperationException?

          00:24 Changeset [1735] by lowjoel
          • branches/eraser6/6.0/Eraser/MainForm.cs
          • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

          Slightly better fix than r1734.

          00:13 Changeset [1734] by lowjoel
          • branches/eraser6/6.0/Eraser/MainForm.cs
          • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

          Fixed potential regression in r1721 and r1633 where we added in calls to CreateHandle? so that window handles are created immediately for calls to InvokeRequired?. Move those calls to the start of the constructor so that the handle will not be already created and throw an InvalidOperationException?

          1/30/2010:

          06:35 Changeset [1733] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Util/VolumeInfo.cs

          Forward port from Eraser 6.0: Change the behaviour to GetVolumeInformation?: if it returns zero it is not exactly an error condition that we should throw an exception. MSDN states that some information may be returned so we should try to get that information. But, the drive is definitely not in a ready state.

          06:33 Changeset [1732] by lowjoel
          • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

          Change the behaviour to GetVolumeInformation?: if it returns zero it is not exactly an error condition that we should throw an exception. MSDN states that some information may be returned so we should try to get that information. But, the drive is definitely not in a ready state.

          05:59 Changeset [1731] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Util/VolumeInfo.cs

          Forward port from Eraser 6.0: GetDriveType? requires the path to have a trailing backslash. The check was using the wrong parameter when checking the drive type.

          05:56 Changeset [1730] by lowjoel
          • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

          GetDriveType? requires the path to have a trailing backslash. The check was using the wrong parameter when checking the drive type.

          05:54 Changeset [1729] by lowjoel
          • branches/eraser6/6.0
          • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

          Backport from trunk: Handle corrupt volumes properly when getting volume information from it.

          05:51 Changeset [1728] by lowjoel
          • trunk/eraser6/Eraser.Util/VolumeInfo.cs

          Handle corrupt volumes properly when getting volume information from it.

          02:40 Changeset [1727] by lowjoel
          • trunk/eraser6/Eraser.Util/BlackBox.cs

          When opening debug logs, open it with read sharing access (no one's complaining if someone else is reading the debug log...)

          02:26 Changeset [1726] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Util.Unlocker/Unlocker.cpp

          Forward port from Eraser 6.0: CreateNameThread? should be unmanaged as it calls only unmanaged APIs. This saves a few p/invoke calls.

          02:15 Changeset [1725] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs

          Fixed progress reporting for FL16KB as we call the erasure method twice so the total amount of data is 32KB, not 16KB. The progress function will then be called beyond 16KB and we get an ArgumentOutOfRange? exception.

          01:57 Changeset [1724] by lowjoel
          • trunk/eraser6/Eraser.Util/ShellApi.cs

          Fixed crash when checking for low disk space notifications: if the policy is not defined the registry key object will be null and we'll trigger a NullReferenceException?.

          00:54 Changeset [1723] by lowjoel
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Unlocker.cpp

          CreateNameThread? should be unmanaged as it calls only unmanaged APIs. This saves a few p/invoke calls.

          00:52 Changeset [1722] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/MainForm.cs

          Forward port from Eraser6.0: Fixed regression introduced in r1634. Fixed hang when starting Eraser with --quiet and then starting another instance -- InvokeRequired? did not check for the creation of the handle, and since MainFrom?'s handle is created deferred InvokeRequired? returned false causing the controls to be created on a secondary thread. Which then locks the program.

          00:47 Changeset [1721] by lowjoel
          • branches/eraser6/6.0/Eraser/MainForm.cs

          Fixed regression introduced in r1634. Fixed hang when starting Eraser with --quiet and then starting another instance -- InvokeRequired? did not check for the creation of the handle, and since MainFrom?'s handle is created deferred InvokeRequired? returned false causing the controls to be created on a secondary thread. Which then locks the program.

          00:38 Changeset [1720] by lowjoel
          • trunk/eraser6/Eraser.Util/AdvApi.cs

          Experimental fix for NotSupportedException? reported by some users.

          1/29/2010:

          00:40 Changeset [1719] by lowjoel
          • 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.Manager/RemoteExecutor.cs
          • branches/eraser6/6.0/Eraser/Program.cs
          • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
          • branches/eraser6/6.0/ShellExt/CtxMenu.cpp

          Backported changes from trunk.

          r1718: Author: lowjoel: When we have problems starting Eraser from the shell extension check the return code for ERROR_ELEVATION_REQUIRED; if we get that, then we should re-run the operation as an administrator.
          r1717: Author: lowjoel: If the directory we are deleting does not exist, we should just return -- there's nothing to be deleted.
          r1716: Author: lowjoel: Catch IOExceptions when we try to connect to other running instances and show a error message when one occurs.
          r1715: Author: lowjoel: Set that files are not meant to be indexed when it is meant for deletion before we even set the file times.
          r1714: Author: lowjoel: Fixed race condition potentially created by initialising the remote executor server thread immediately upon construction since Run is not yet called.
          r1713: Author: lowjoel: Since we only force the creation of the SchedulerPanel?'s handle in the constructor, InvokeRequired? should be called on the panel itself, and not on subcontrols as they are still delay-constructed. Fixes crash when Eraser is started quietly and a task is created remotely.
          r1712: Author: lowjoel: ThreadAbortExceptions? should not trigger BlackBox? report creation.

          00:35 Changeset [1718] by lowjoel
          • trunk/eraser6/ShellExt/CtxMenu.cpp

          When we have problems starting Eraser from the shell extension check the return code for ERROR_ELEVATION_REQUIRED; if we get that, then we should re-run the operation as an administrator.

          1/28/2010:

          08:19 Changeset [1717] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

          If the directory we are deleting does not exist, we should just return -- there's nothing to be deleted.

          08:16 Changeset [1716] by lowjoel
          • trunk/eraser6/Eraser/Program.cs

          Catch IOExceptions when we try to connect to other running instances and show a error message when one occurs.

          08:02 Changeset [1715] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

          Set that files are not meant to be indexed when it is meant for deletion before we even set the file times.

          07:50 Changeset [1714] by lowjoel
          • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs

          Fixed race condition potentially created by initialising the remote executor server thread immediately upon construction since Run is not yet called.

          06:54 Changeset [1713] by lowjoel
          • trunk/eraser6/Eraser/SchedulerPanel.cs

          Since we only force the creation of the SchedulerPanel?'s handle in the constructor, InvokeRequired? should be called on the panel itself, and not on subcontrols as they are still delay-constructed. Fixes crash when Eraser is started quietly and a task is created remotely.

          06:40 Changeset [1712] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          ThreadAbortExceptions? should not trigger BlackBox? report creation.

          04:28 Ticket #308 (Upgrade BlackBox to use the ProgressManager classes) closed by Joel
          fixed: I would say this was done from r1616 to r1626
          04:16 Changeset [1711] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • Modified the VolumeInfo? class to allow enumeration of network drives
          • Define the ToString? function which will return the volume's mount point or it's volume ID depending on whether the volume is mounted
          03:40 Changeset [1710] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
          • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NtDll.cs

          Remove the obsolete managed call to NtQuerySystemInformation?

          03:37 Changeset [1709] by lowjoel
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
          • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
          • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
          • branches/eraser6/CodeReview/Eraser.Util/ExtensionMethods/IO.cs
          • branches/eraser6/CodeReview/Eraser.Util/FileSize.cs
          • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
          • branches/eraser6/CodeReview/Eraser/Program.cs
          • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Replaced the Eraser.Util.File class with extension methods (based on FileSystemInfo? for the most part) to avoid the name collision with System.IO.File; the File.GetCompactPath? function has been replaced with the FileSize? struct.

          01:11 Changeset [1708] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
          • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs

          Drop-in replacement of the StreamInfo? class with a rewritten one which uses FileSystemInfo? as a base. This makes our code more concise and also behave more like a FileInfo? class.

          1/27/2010:

          09:06 Changeset [1707] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Once the cluster tip erasures complete we need to specify that the task is complete.

          09:04 Changeset [1706] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
          • trunk/eraser6/Eraser.Util/ShellApi.cs

          Disable low disk space notifications when running unused space erasures.

          05:58 Changeset [1705] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Util/File.cs
          • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs

          Replace all Marshal.GetExceptionForHR with Win32ErrorCode.GetExceptionForWin32Error since we deal with Win32 errors not unlike COM errors, except with a few exceptions and that we should be throwing Win32Exception instead of COMException.

          05:48 Changeset [1704] by lowjoel
          • branches/eraser6/CodeReview/Eraser.msbuild

          Forward ported from trunk to r1628

          05:45 Changeset [1703] by lowjoel
          • branches/eraser6/CodeReview/Eraser.msbuild
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.it.resx
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.it.resx

          Added missing files that should have been merged from trunk.

          05:09 Changeset [1702] by lowjoel
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs

          Fixed compilo introduced in r1701

          05:08 Changeset [1701] by lowjoel
          • branches/eraser6/CodeReview
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.nl.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
          • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
          • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Mpr.cs
          • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.Designer.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

          Forward port changes from trunk till r1700

          04:03 Changeset [1700] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Forward port from Eraser 6.0: Fixed crash when the process which is locking the file may not be accessible to the current user, resulting in a Win32Exception. Swallow it, we'll just not list the process.

          03:53 Changeset [1699] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/6.0/Eraser.Manager/Strings.en.resx
          • branches/eraser6/6.0/Eraser.Manager/Strings.it.resx
          • branches/eraser6/6.0/Eraser.Manager/Strings.nl.resx
          • branches/eraser6/6.0/Eraser.Manager/Strings.resx

          Fixed crash when the process which is locking the file may not be accessible to the current user, resulting in a Win32Exception. Swallow it, we'll just not list the process.

          03:12 Changeset [1698] by lowjoel
          • trunk/eraser6/Eraser.Manager/Task.cs

          Fixed the blank UI Text when the root of a drive is selected for erasure.

          03:08 Changeset [1697] by lowjoel
          • trunk/eraser6/Eraser/SchedulerPanel.cs

          The progress bar on the scheduler panel is off by (2, 2); offset it by that amount so that the progress bar is precisely over the task.

          03:02 Ticket #313 (ArgumentException when erasing files on network shares) closed by Joel
          fixed: Fixed in r1695 (6.0) and r1696 (6.2)
          03:02 Changeset [1696] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Util/KernelApi.cs
          • trunk/eraser6/Eraser.Util/VolumeInfo.cs

          Forward port from Eraser 6.0: Enabled VolumeInfo? class to deal with UNC paths. Fixes #313: ArgumentException? when erasing files on network shares

          02:56 Changeset [1695] by lowjoel
          • branches/eraser6/6.0/Eraser.Util/KernelApi.cs
          • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

          Enabled VolumeInfo? class to deal with UNC paths. Fixes #313: ArgumentException? when erasing files on network shares

          02:42 Changeset [1694] by lowjoel
          • trunk/eraser6/Eraser.Manager/Strings.en.resx
          • trunk/eraser6/Eraser.Manager/Strings.it.resx
          • trunk/eraser6/Eraser.Manager/Strings.nl.resx
          • trunk/eraser6/Eraser.Manager/Strings.resx

          New strings in trunk.

          1/26/2010:

          07:31 Changeset [1693] by lowjoel
          • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
          • branches/eraser6/6.0/Eraser/Strings.NL.resx
          • branches/eraser6/6.0/Eraser/Strings.en.resx
          • branches/eraser6/6.0/Eraser/Strings.it.resx
          • branches/eraser6/6.0/Eraser/Strings.resx

          Confirm with the user whether the dropped files/folders should be erased. Fixes #306: Do not erase immediately after drag and drop

          07:25 Ticket #285 (Various Custom Erasure Method editor bugs) closed by Joel
          fixed: I'll take it that this is fixed.
          01:07 Changeset [1692] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

          When copying the plausible deniability file, dispose the created stream when we're done with it.

          00:31 Changeset [1691] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs

          Updated ProgressManager?.cs to r1688.

          00:24 Changeset [1690] by lowjoel
          • trunk/eraser6/Eraser.Util/StreamInfo.cs

          Instead of throwing an exception when we can't verify whether a file exists, we will just return false if we are unable to.

          1/25/2010:

          13:16 Changeset [1689] by lowjoel
          • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs

          Fixed the font size of the scheduler panel title font.

          12:55 Changeset [1688] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
          • trunk/eraser6/Eraser.Manager/ProgressManager.cs
          • trunk/eraser6/Eraser/UpdateForm.cs

          Fixed ArgumentOutOfRangeException? when erasing. Instead of assigning the Total and Completed fields to be equal, I've included the MarkComplete? function which indicates to the parent progress manager, if any, that the task has completed.

          12:31 Changesets [1686-1687] by lowjoel
          • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NetApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/WinTrust.cs
          • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
          • branches/eraser6/CodeReview/Eraser.Util/Security.cs
          • branches/eraser6/CodeReview/Eraser.Util.Native/AssemblyInfo.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.rc
          • branches/eraser6/CodeReview/Eraser.Util.Native/Fat.h
          • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Api.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Or16Api.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/Fat16Api.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/Fat32Api.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.h
          • branches/eraser6/CodeReview/Eraser.Util.Native/Main.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/NTApi.h
          • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.h
          • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h
          • branches/eraser6/CodeReview/Eraser.Util.Native/Stdafx.cpp
          • branches/eraser6/CodeReview/Eraser.Util.Native/Stdafx.h
          • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs
          • branches/eraser6/CodeReview/Eraser.Util/RecycleBin.cs
          • branches/eraser6/CodeReview/Eraser.Util/SystemInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/SystemRestore.cs
          • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

          Fixed the copyright information to match trunk for new/moved paths.

          12:25 Changeset [1685] by lowjoel
          • branches/eraser6/CodeReview
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Properties/AssemblyInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/Properties/AssemblyInfo.cs
          • branches/eraser6/CodeReview/Eraser/Properties/AssemblyInfo.cs
          • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.rc
          • branches/eraser6/CodeReview/ShellExt/ShellExt.rc

          Forward port from trunk: Update the assembly information fields too. This brings the branch synchronised with r1683

          12:18 Changeset [1684] by lowjoel
          • branches/eraser6/6.0
          • branches/eraser6/6.0/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
          • branches/eraser6/6.0/Eraser.Manager/Properties/AssemblyInfo.cs
          • branches/eraser6/6.0/Eraser.Util.FileSystem/AssemblyInfo.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
          • branches/eraser6/6.0/Eraser.Util.Unlocker/AssemblyInfo.cpp
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
          • branches/eraser6/6.0/Eraser.Util/Properties/AssemblyInfo.cs
          • branches/eraser6/6.0/Eraser/Properties/AssemblyInfo.cs
          • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.rc
          • branches/eraser6/6.0/ShellExt/ShellExt.rc

          Backport from trunk: Update the assembly information fields too.

          12:07 Changeset [1683] by lowjoel
          • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.rc

          Forgot to save the bootstrapper resource. Updated the copyright for this too.

          12:06 Changeset [1682] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/Properties/AssemblyInfo.cs
          • trunk/eraser6/Eraser.Manager/Properties/AssemblyInfo.cs
          • trunk/eraser6/Eraser.Util.FileSystem/AssemblyInfo.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
          • trunk/eraser6/Eraser.Util.Unlocker/AssemblyInfo.cpp
          • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
          • trunk/eraser6/Eraser.Util/Properties/AssemblyInfo.cs
          • trunk/eraser6/Eraser/Properties/AssemblyInfo.cs
          • trunk/eraser6/ShellExt/ShellExt.rc

          Update the assembly information fields too.

          09:29 Changeset [1681] by lowjoel
          • branches/eraser6/CodeReview
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Random.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Fat.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Plugin.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/RNGCrypto.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
          • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Exception.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Executor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/FileSystem.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Language.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Logger.cs
          • branches/eraser6/CodeReview/Eraser.Manager/ManagerLibrary.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Method.cs
          • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
          • branches/eraser6/CodeReview/Eraser.Manager/RemoteExecutor.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Schedule.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Settings.cs
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.nl.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Strings.resx
          • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
          • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
          • branches/eraser6/CodeReview/Eraser.Util/File.cs
          • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
          • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/NetApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
          • branches/eraser6/CodeReview/Eraser.Util/UserApi.cs
          • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/CodeReview/Eraser.sln
          • branches/eraser6/CodeReview/Eraser/AboutForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/AboutForm.cs
          • branches/eraser6/CodeReview/Eraser/BasePanel.Designer.cs
          • branches/eraser6/CodeReview/Eraser/BasePanel.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.resx
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs
          • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.resx
          • branches/eraser6/CodeReview/Eraser/Eraser.csproj
          • branches/eraser6/CodeReview/Eraser/LightGroup.Designer.cs
          • branches/eraser6/CodeReview/Eraser/LightGroup.cs
          • branches/eraser6/CodeReview/Eraser/LogForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/LogForm.cs
          • branches/eraser6/CodeReview/Eraser/MainForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/MainForm.cs
          • branches/eraser6/CodeReview/Eraser/ProgressForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.Designer.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.it.resx
          • branches/eraser6/CodeReview/Eraser/SchedulerPanel.resx
          • branches/eraser6/CodeReview/Eraser/Settings.cs
          • branches/eraser6/CodeReview/Eraser/SettingsCompatibility.cs
          • branches/eraser6/CodeReview/Eraser/SettingsPanel.Designer.cs
          • branches/eraser6/CodeReview/Eraser/SettingsPanel.cs
          • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
          • branches/eraser6/CodeReview/Eraser/Strings.en.resx
          • branches/eraser6/CodeReview/Eraser/Strings.it.resx
          • branches/eraser6/CodeReview/Eraser/Strings.resx
          • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
          • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.cs
          • branches/eraser6/CodeReview/Eraser/ToolBar.Designer.cs
          • branches/eraser6/CodeReview/Eraser/ToolBar.cs
          • branches/eraser6/CodeReview/Eraser/UpdateForm.Designer.cs
          • branches/eraser6/CodeReview/Eraser/UpdateForm.cs
          • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.cpp
          • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.h
          • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.rc
          • branches/eraser6/CodeReview/Installer/Bootstrapper/Main.cpp
          • branches/eraser6/CodeReview/Installer/Bootstrapper/Resource.h
          • branches/eraser6/CodeReview/Installer/Bootstrapper/stdafx.cpp
          • branches/eraser6/CodeReview/Installer/Bootstrapper/stdafx.h
          • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs
          • branches/eraser6/CodeReview/Installer/Eraser.wxs
          • branches/eraser6/CodeReview/Installer/Installer.wixproj
          • branches/eraser6/CodeReview/Installer/Localisations.wxs
          • branches/eraser6/CodeReview/Installer/UserInterface.wxs
          • branches/eraser6/CodeReview/ShellExt/CtxMenu.cpp
          • branches/eraser6/CodeReview/ShellExt/CtxMenu.h
          • branches/eraser6/CodeReview/ShellExt/DllMain.cpp
          • branches/eraser6/CodeReview/ShellExt/DllMain.h
          • branches/eraser6/CodeReview/ShellExt/DllMain.idl
          • branches/eraser6/CodeReview/ShellExt/ShellExt.rc
          • branches/eraser6/CodeReview/ShellExt/stdafx.cpp
          • branches/eraser6/CodeReview/ShellExt/stdafx.h
          • branches/eraser6/CodeReview/ShellExt/targetver.h
          • branches/eraser6/CodeReview/Version.cs.in
          • branches/eraser6/CodeReview/Version.rc.in
          • branches/eraser6/CodeReview/Version.wxs.in

          Bring the CodeReview? branch up to date with the current trunk at r1680

          08:39 Changeset [1680] by lowjoel
          • trunk/eraser6/Eraser.Manager/ProgressManager.cs

          Fixed infinite recursion introduced in r1668 when setting the Total property (wrong casing for the variable name)

          08:38 Changeset [1679] by lowjoel
          • branches/eraser6/6.0
          • branches/eraser6/6.0/Eraser/AboutForm.cs
          • branches/eraser6/6.0/Eraser/Strings.NL.resx
          • branches/eraser6/6.0/Eraser/Strings.en.resx
          • branches/eraser6/6.0/Eraser/Strings.it.resx
          • branches/eraser6/6.0/Eraser/Strings.resx

          Backport from trunk: Update the copyright on the about page too.

          08:33 Changeset [1678] by lowjoel
          • trunk/eraser6/Eraser/AboutForm.cs
          • trunk/eraser6/Eraser/Strings.NL.resx
          • trunk/eraser6/Eraser/Strings.en.resx
          • trunk/eraser6/Eraser/Strings.it.resx
          • trunk/eraser6/Eraser/Strings.resx

          Update the copyright on the about page too.

          08:29 Changeset [1677] by lowjoel
          • branches/eraser6/6.0
          • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Random.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Fat.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/Plugin.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/RNGCrypto.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.Designer.cs
          • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs
          • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
          • branches/eraser6/6.0/Eraser.Manager/EntropySource.cs
          • branches/eraser6/6.0/Eraser.Manager/Exception.cs
          • branches/eraser6/6.0/Eraser.Manager/Executor.cs
          • branches/eraser6/6.0/Eraser.Manager/FileSystem.cs
          • branches/eraser6/6.0/Eraser.Manager/Language.cs
          • branches/eraser6/6.0/Eraser.Manager/Logger.cs
          • branches/eraser6/6.0/Eraser.Manager/ManagerLibrary.cs
          • branches/eraser6/6.0/Eraser.Manager/Method.cs
          • branches/eraser6/6.0/Eraser.Manager/PRNG.cs
          • branches/eraser6/6.0/Eraser.Manager/Plugins.cs
          • branches/eraser6/6.0/Eraser.Manager/RemoteExecutor.cs
          • branches/eraser6/6.0/Eraser.Manager/Schedule.cs
          • branches/eraser6/6.0/Eraser.Manager/Settings.cs
          • branches/eraser6/6.0/Eraser.Manager/Task.cs
          • branches/eraser6/6.0/Eraser.Util.FileSystem/AssemblyInfo.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat.h
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat12Api.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat12Or16Api.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat16Api.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Fat32Api.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/FatApi.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/FatApi.h
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Stdafx.cpp
          • branches/eraser6/6.0/Eraser.Util.FileSystem/Stdafx.h
          • branches/eraser6/6.0/Eraser.Util.Unlocker/AssemblyInfo.cpp
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.cpp
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.h
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Main.cpp
          • branches/eraser6/6.0/Eraser.Util.Unlocker/NTApi.h
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Stdafx.cpp
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Stdafx.h
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Unlocker.cpp
          • branches/eraser6/6.0/Eraser.Util.Unlocker/Unlocker.h
          • branches/eraser6/6.0/Eraser.Util/AdvApi.cs
          • branches/eraser6/6.0/Eraser.Util/File.cs
          • branches/eraser6/6.0/Eraser.Util/KernelApi.cs
          • branches/eraser6/6.0/Eraser.Util/Localisation.cs
          • branches/eraser6/6.0/Eraser.Util/MsCorEEApi.cs
          • branches/eraser6/6.0/Eraser.Util/NTApi.cs
          • branches/eraser6/6.0/Eraser.Util/NetApi.cs
          • branches/eraser6/6.0/Eraser.Util/NtfsApi.cs
          • branches/eraser6/6.0/Eraser.Util/ShellApi.cs
          • branches/eraser6/6.0/Eraser.Util/StreamInfo.cs
          • branches/eraser6/6.0/Eraser.Util/UserApi.cs
          • branches/eraser6/6.0/Eraser.Util/UxThemeApi.cs
          • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs
          • branches/eraser6/6.0/Eraser.Util/WintrustApi.cs
          • branches/eraser6/6.0/Eraser/AboutForm.Designer.cs
          • branches/eraser6/6.0/Eraser/AboutForm.cs
          • branches/eraser6/6.0/Eraser/BasePanel.Designer.cs
          • branches/eraser6/6.0/Eraser/BasePanel.cs
          • branches/eraser6/6.0/Eraser/LightGroup.Designer.cs
          • branches/eraser6/6.0/Eraser/LightGroup.cs
          • branches/eraser6/6.0/Eraser/LogForm.Designer.cs
          • branches/eraser6/6.0/Eraser/LogForm.cs
          • branches/eraser6/6.0/Eraser/MainForm.Designer.cs
          • branches/eraser6/6.0/Eraser/MainForm.cs
          • branches/eraser6/6.0/Eraser/Program.cs
          • branches/eraser6/6.0/Eraser/ProgressForm.Designer.cs
          • branches/eraser6/6.0/Eraser/ProgressForm.cs
          • branches/eraser6/6.0/Eraser/SchedulerPanel.Designer.cs
          • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
          • branches/eraser6/6.0/Eraser/Settings.cs
          • branches/eraser6/6.0/Eraser/SettingsCompatibility.cs
          • branches/eraser6/6.0/Eraser/SettingsPanel.Designer.cs
          • branches/eraser6/6.0/Eraser/SettingsPanel.cs
          • branches/eraser6/6.0/Eraser/TaskDataSelectionForm.Designer.cs
          • branches/eraser6/6.0/Eraser/TaskDataSelectionForm.cs
          • branches/eraser6/6.0/Eraser/TaskPropertiesForm.Designer.cs
          • branches/eraser6/6.0/Eraser/TaskPropertiesForm.cs
          • branches/eraser6/6.0/Eraser/ToolBar.Designer.cs
          • branches/eraser6/6.0/Eraser/ToolBar.cs
          • branches/eraser6/6.0/Eraser/UpdateForm.Designer.cs
          • branches/eraser6/6.0/Eraser/UpdateForm.cs
          • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.cpp
          • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.h
          • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.rc
          • branches/eraser6/6.0/Installer/Bootstrapper/Main.cpp
          • branches/eraser6/6.0/Installer/Bootstrapper/Resource.h
          • branches/eraser6/6.0/Installer/Bootstrapper/stdafx.cpp
          • branches/eraser6/6.0/Installer/Bootstrapper/stdafx.h
          • branches/eraser6/6.0/Installer/DirectoryStructure.wxs
          • branches/eraser6/6.0/Installer/Eraser.wxs
          • branches/eraser6/6.0/Installer/Localisations.wxs
          • branches/eraser6/6.0/Installer/UserInterface.wxs
          • branches/eraser6/6.0/ShellExt/CtxMenu.cpp
          • branches/eraser6/6.0/ShellExt/CtxMenu.h
          • branches/eraser6/6.0/ShellExt/DllMain.cpp
          • branches/eraser6/6.0/ShellExt/DllMain.h
          • branches/eraser6/6.0/ShellExt/DllMain.idl
          • branches/eraser6/6.0/ShellExt/ShellExt.rc
          • branches/eraser6/6.0/ShellExt/stdafx.cpp
          • branches/eraser6/6.0/ShellExt/stdafx.h
          • branches/eraser6/6.0/ShellExt/targetver.h
          • branches/eraser6/6.0/Version.cs.in
          • branches/eraser6/6.0/Version.rc.in
          • branches/eraser6/6.0/Version.wxs.in

          Updated copyright information: since Eraser is still under development we should update our copyright status.

          08:07 Changeset [1676] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Fixed recycle bin erasures after bug introduced in r1652 where due to the Target.Path being null the target would simply be skipped by the code.

          06:52 Changeset [1675] by lowjoel
          • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
          • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
          • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
          • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Random.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
          • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Fat.cs
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs
          • trunk/eraser6/Eraser.DefaultPlugins/Plugin.cs
          • trunk/eraser6/Eraser.DefaultPlugins/RNGCrypto.cs
          • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.Designer.cs
          • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.cs
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
          • trunk/eraser6/Eraser.Manager/EntropySource.cs
          • trunk/eraser6/Eraser.Manager/Exception.cs
          • trunk/eraser6/Eraser.Manager/Executor.cs
          • trunk/eraser6/Eraser.Manager/FileSystem.cs
          • trunk/eraser6/Eraser.Manager/Language.cs
          • trunk/eraser6/Eraser.Manager/Logger.cs
          • trunk/eraser6/Eraser.Manager/ManagerLibrary.cs
          • trunk/eraser6/Eraser.Manager/Method.cs
          • trunk/eraser6/Eraser.Manager/PRNG.cs
          • trunk/eraser6/Eraser.Manager/Plugins.cs
          • trunk/eraser6/Eraser.Manager/ProgressManager.cs
          • trunk/eraser6/Eraser.Manager/RemoteExecutor.cs
          • trunk/eraser6/Eraser.Manager/Schedule.cs
          • trunk/eraser6/Eraser.Manager/Settings.cs
          • trunk/eraser6/Eraser.Manager/Task.cs
          • trunk/eraser6/Eraser.Util.FileSystem/AssemblyInfo.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/Eraser.Util.FileSystem.rc
          • trunk/eraser6/Eraser.Util.FileSystem/Fat.h
          • trunk/eraser6/Eraser.Util.FileSystem/Fat12Api.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/Fat12Or16Api.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/Fat16Api.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/Fat32Api.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/FatApi.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/FatApi.h
          • trunk/eraser6/Eraser.Util.FileSystem/Stdafx.cpp
          • trunk/eraser6/Eraser.Util.FileSystem/Stdafx.h
          • trunk/eraser6/Eraser.Util.Unlocker/AssemblyInfo.cpp
          • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.cpp
          • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.h
          • trunk/eraser6/Eraser.Util.Unlocker/Eraser.Util.Unlocker.rc
          • trunk/eraser6/Eraser.Util.Unlocker/Main.cpp
          • trunk/eraser6/Eraser.Util.Unlocker/NTApi.h
          • trunk/eraser6/Eraser.Util.Unlocker/Stdafx.cpp
          • trunk/eraser6/Eraser.Util.Unlocker/Stdafx.h
          • trunk/eraser6/Eraser.Util.Unlocker/Unlocker.cpp
          • trunk/eraser6/Eraser.Util.Unlocker/Unlocker.h
          • trunk/eraser6/Eraser.Util/AdvApi.cs
          • trunk/eraser6/Eraser.Util/BlackBox.cs
          • trunk/eraser6/Eraser.Util/File.cs
          • trunk/eraser6/Eraser.Util/KernelApi.cs
          • trunk/eraser6/Eraser.Util/Localisation.cs
          • trunk/eraser6/Eraser.Util/MsCorEEApi.cs
          • trunk/eraser6/Eraser.Util/NTApi.cs
          • trunk/eraser6/Eraser.Util/NetApi.cs
          • trunk/eraser6/Eraser.Util/NtfsApi.cs
          • trunk/eraser6/Eraser.Util/ShellApi.cs
          • trunk/eraser6/Eraser.Util/StreamInfo.cs
          • trunk/eraser6/Eraser.Util/SystemRestoreApi.cs
          • trunk/eraser6/Eraser.Util/UserApi.cs
          • trunk/eraser6/Eraser.Util/UxThemeApi.cs
          • trunk/eraser6/Eraser.Util/VolumeInfo.cs
          • trunk/eraser6/Eraser.Util/WintrustApi.cs
          • trunk/eraser6/Eraser/AboutForm.Designer.cs
          • trunk/eraser6/Eraser/AboutForm.cs
          • trunk/eraser6/Eraser/BasePanel.Designer.cs
          • trunk/eraser6/Eraser/BasePanel.cs
          • trunk/eraser6/Eraser/BlackBoxMainForm.cs
          • trunk/eraser6/Eraser/BlackBoxUploadForm.cs
          • trunk/eraser6/Eraser/LightGroup.Designer.cs
          • trunk/eraser6/Eraser/LightGroup.cs
          • trunk/eraser6/Eraser/LogForm.Designer.cs
          • trunk/eraser6/Eraser/LogForm.cs
          • trunk/eraser6/Eraser/MainForm.Designer.cs
          • trunk/eraser6/Eraser/MainForm.cs
          • trunk/eraser6/Eraser/Program.cs
          • trunk/eraser6/Eraser/ProgressForm.Designer.cs
          • trunk/eraser6/Eraser/ProgressForm.cs
          • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs
          • trunk/eraser6/Eraser/SchedulerPanel.cs
          • trunk/eraser6/Eraser/Settings.cs
          • trunk/eraser6/Eraser/SettingsCompatibility.cs
          • trunk/eraser6/Eraser/SettingsPanel.Designer.cs
          • trunk/eraser6/Eraser/SettingsPanel.cs
          • trunk/eraser6/Eraser/TaskDataSelectionForm.Designer.cs
          • trunk/eraser6/Eraser/TaskDataSelectionForm.cs
          • trunk/eraser6/Eraser/TaskPropertiesForm.Designer.cs
          • trunk/eraser6/Eraser/TaskPropertiesForm.cs
          • trunk/eraser6/Eraser/ToolBar.Designer.cs
          • trunk/eraser6/Eraser/ToolBar.cs
          • trunk/eraser6/Eraser/UpdateForm.Designer.cs
          • trunk/eraser6/Eraser/UpdateForm.cs
          • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
          • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.h
          • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.rc
          • trunk/eraser6/Installer/Bootstrapper/Main.cpp
          • trunk/eraser6/Installer/Bootstrapper/Resource.h
          • trunk/eraser6/Installer/Bootstrapper/stdafx.cpp
          • trunk/eraser6/Installer/Bootstrapper/stdafx.h
          • trunk/eraser6/Installer/DirectoryStructure.wxs
          • trunk/eraser6/Installer/Eraser.wxs
          • trunk/eraser6/Installer/Localisations.wxs
          • trunk/eraser6/Installer/UserInterface.wxs
          • trunk/eraser6/ShellExt/CtxMenu.cpp
          • trunk/eraser6/ShellExt/CtxMenu.h
          • trunk/eraser6/ShellExt/DllMain.cpp
          • trunk/eraser6/ShellExt/DllMain.h
          • trunk/eraser6/ShellExt/DllMain.idl
          • trunk/eraser6/ShellExt/ShellExt.rc
          • trunk/eraser6/ShellExt/stdafx.cpp
          • trunk/eraser6/ShellExt/stdafx.h
          • trunk/eraser6/ShellExt/targetver.h
          • trunk/eraser6/Version.cs.in
          • trunk/eraser6/Version.rc.in
          • trunk/eraser6/Version.wxs.in

          Updated copyright information: since Eraser is still under development we should update our copyright status.

          06:23 Changeset [1674] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Util/StreamInfo.cs

          Forward port from Eraser 6.0: When we check for errors upon opening a file stream to test for existence, if we get a sharing violation the file definitely does exist. Fixes FileLoadException? thrown when users try to erase a file in which a file is open.

          06:16 Changeset [1673] by lowjoel
          • branches/eraser6/6.0/Eraser.Util/StreamInfo.cs

          When we check for errors upon opening a file stream to test for existence, if we get a sharing violation the file definitely does exist. Fixes FileLoadException? thrown when users try to erase a file in which a file is open.

          06:02 Changeset [1672] by lowjoel
          • trunk/website/scripts/blackbox/upload.php
          • Fixed parsing of stack frames after changing the regex
          • Include the very first stack frame - comparing int to string caused the string 'exception' to be cast to int 0, hence the equality was true and the comparison skipped for element 0
          05:18 Changeset [1671] by lowjoel
          • trunk/website/scripts/blackbox/upload.php

          Fixed parsing of stack frames with non-English locales.

          04:57 Ticket #316 (Eraser causes lag when running) closed by Joel
          fixed: The user has confirmed that this patch causes Eraser to run properly in …
          04:57 Changeset [1670] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/EntropySource.cs

          Forward port from Eraser 6.0: Removed NtQuerySystemInformation? calls for entropy gathering since .NET calls seem to cause the system to go berserk. Fixes #316: Eraser causes lag when running

          04:55 Changeset [1669] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/EntropySource.cs

          Removed NtQuerySystemInformation? calls for entropy gathering since .NET calls seem to cause the system to go berserk. Fixes #316: Eraser causes lag when running

          04:12 Changeset [1668] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
          • trunk/eraser6/Eraser.Manager/ProgressManager.cs

          Fixed ArgumentOutOfRangeException? when erasing free space using an erasure method containing more than 1 pass.

          • Added checks to the ProgressManager? class to ensure that the Progress property will never exceed 1.0
          • When computing the total amount of data needed to be written to the disk, take into account the number of passes.
          03:46 Changeset [1667] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/TaskPropertiesForm.cs

          Forward port from Eraser 6.0: Fixed crash when task is edited and the task is immediately run: editing the task drops the Task property in ErasureTarget? objects. This fix will restore the Task property by removing and re-adding the target upon edit.

          03:43 Changeset [1666] by lowjoel
          • branches/eraser6/6.0/Eraser/TaskPropertiesForm.cs

          Fixed crash when task is edited and the task is immediately run: editing the task drops the Task property in ErasureTarget? objects. This fix will restore the Task property by removing and re-adding the target upon edit.

          03:36 Changeset [1665] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Forward port from Eraser 6.0: Start a new logging session the moment we fetch the task of the task list. This allows errors to be logged even when the Task Started event is broadcast (as sometimes exceptions may be thrown). This fixes crashes where exceptions are thrown during the Task Started event processing goes on.

          03:32 Changeset [1664] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

          Start a new logging session the moment we fetch the task of the task list. This allows errors to be logged even when the Task Started event is broadcast (as sometimes exceptions may be thrown). This fixes crashes where exceptions are thrown during the Task Started event processing goes on.

          03:05 Changeset [1663] by lowjoel
          • branches/eraser6/6.0
          • branches/eraser6/6.0/Eraser.Manager/Task.cs

          Backport from Trunk: Fixed regression in r1102: the check on Exists ensures that the DirectoryNotFoundException? will not be raised -- however, it doesn't guard against UnauthorizedAccessException?, so we should be guarding against that instead.

          03:01 Changeset [1662] by lowjoel
          • trunk/eraser6/Eraser.Manager/Task.cs

          Fixed regression in r1102: the check on Exists ensures that the DirectoryNotFoundException? will not be raised -- however, it doesn't guard against UnauthorizedAccessException?, so we should be guarding against that instead.

          02:44 Changeset [1661] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Ignore all ThreadAbortExceptions? from BlackBox? Report creation since these exceptions aren't raised by us.

          02:42 Changeset [1660] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser/LogForm.cs
          • trunk/eraser6/Eraser/ProgressForm.cs

          Forward Port from Eraser 6.0: When dealing with the LogForm? and the ProgressForm? classes, for events in which we wait for triggering by the task object, we should check that the form we belong to exists (i.e. not disposed) before we do anything on the form since forms which have Disposed() called will still receive events. There is a fix removed in this revision (in ProgressForm?.cs/WrapItemName) which may introduce new bugs but since this is really hard to reproduce I'll commit a blind fix and wait for more reports to come in.

          02:35 Changeset [1659] by lowjoel
          • branches/eraser6/6.0/Eraser/LogForm.cs
          • branches/eraser6/6.0/Eraser/ProgressForm.cs

          When dealing with the LogForm? and the ProgressForm? classes, for events in which we wait for triggering by the task object, we should check that the form we belong to exists (i.e. not disposed) before we do anything on the form since forms which have Disposed() called will still receive events. There is a fix removed in this revision (in ProgressForm?.cs/WrapItemName) which may introduce new bugs but since this is really hard to reproduce I'll commit a blind fix and wait for more reports to come in.

          02:04 Ticket #320 (Logging improvements) created by Joel
          The logger is currently very involved when doing logging -- we need to …
          01:34 Changeset [1658] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.Manager/FileSystem.cs

          Forward port from Eraser 6.0: Fixed IOExeption when erasing files with decoy files selected and with space constraints. The decoy will only be copied as much as the original file.

          1/24/2010:

          00:00 Ticket #302 (Eraser 6 (all version that I've tested) will not start on XP (but v5.8.8 ...) closed by trac-robot
          This ticket was closed automatically by the system. It was previously set …

          1/23/2010:

          14:33 Changeset [1657] by aramacciotti
          • trunk/eraser6/Eraser/Eraser.csproj

          Some italian localisation files added

          14:29 Changeset [1656] by aramacciotti
          • trunk/eraser6/Eraser/BlackBoxUploadForm.Designer.cs
          • trunk/eraser6/Eraser/BlackBoxUploadForm.it.resx
          • trunk/eraser6/Eraser/BlackBoxUploadForm.resx

          Italian translation

          12:17 Changeset [1655] by aramacciotti
          • trunk/eraser6/Eraser/SchedulerPanel.Designer.cs
          • trunk/eraser6/Eraser/SchedulerPanel.it.resx
          • trunk/eraser6/Eraser/SchedulerPanel.resx

          Group items italian localisation

          12:15 Changeset [1654] by aramacciotti
          • trunk/eraser6/Eraser/BlackBoxMainForm.Designer.cs
          • trunk/eraser6/Eraser/BlackBoxMainForm.it.resx
          • trunk/eraser6/Eraser/BlackBoxMainForm.resx

          Italian localisation

          03:45 Changeset [1653] by lowjoel
          • branches/eraser6/6.0/Eraser.Manager/FileSystem.cs

          Fixed IOExeption when erasing files with decoy files selected and with space constraints. The decoy will only be copied as much as the original file.

          03:20 Changeset [1652] by lowjoel
          • trunk/eraser6/Eraser.Manager/DirectExecutor.cs

          Change of behaviour for 6.2: Erasing files or folders that don't exist is no longer an error.

          02:28 Changeset [1651] by lowjoel
          • trunk/eraser6/Eraser.Util/BlackBox.cs

          Fixed infinite loop when there is an InnerException? member in an exception thrown.

          02:26 Changeset [1650] by lowjoel
          • trunk/eraser6
          • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

          Forward port from Eraser 6.0: Fixed IOException thrown when users erase the root of a drive (since we can't move the root of drives nor set its attributes)

          02:24 Changeset [1649] by lowjoel
          • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs

          Fixed IOException thrown when users erase the root of a drive (since we can't move the root of drives nor set its attributes)

          00:00 Ticket #298 (Eraser has stopped working" popup on Vista 32) closed by trac-robot
          This ticket was closed automatically by the system. It was previously set …
          Note: See TracTimeline for information about the timeline view.