Timeline
6/19/2010:
- 17:30 Build of Eraser 6.2 [2214] on Windows completed
- 11:01 Changeset [2214] by
-
- trunk/eraser/Eraser.BlackBox/BlackBox.cs
Specify the culture we are interested in for BlackBox? when calling string.Format (the Invariant culture, since developers will be reading it)
- 10:57 Changeset [2213] by
-
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Allow non-administrators to query the physical drive a volume is on, too.
- 10:53 Changeset [2212] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
Revert accidental commit.
- 10:50 Changeset [2211] by
-
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
More compilos.
- 10:49 Changeset [2210] by
-
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
Compilo.
- 10:47 Changeset [2209] by
-
- trunk/eraser/Eraser.BlackBox/BlackBox.cs
- trunk/eraser/Eraser.Manager/Plugins.cs
- trunk/eraser/Eraser.Util/Eraser.Util.csproj
- trunk/eraser/Eraser.Util/ExtensionMethods/Assembly.cs
- trunk/eraser/Eraser/Program.cs
- trunk/eraser/Eraser/SettingsPanel.cs
- trunk/eraser/Eraser/UpdateForm.cs
Define the GetFileVersion? assembly extension method to query assemblies for their file version (not manifest version, as previously used.) This is important since user-displayed versions should be file versions, not manifest versions used for module loading.
- 10:46 Changeset [2208] by
-
- trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/StreamInfo.cs
Call the extension methods class Methods instead of breaking up to separate classes, to reduce name conflicts.
- 10:34 Changeset [2207] by
-
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Handle spanned drives and other dynamic volumes better. This patch allows basic dynamic volumes to be grouped under the parent physical drive.
- 10:14 Changeset [2206] by
-
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
- Don't define a shortcut function for DeviceIoControl? since that's a rather low-level API and we don't want to confuse things further.
- Properly implement the querying of the Physical drive a volume belongs to using the IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS Control Code
- 06:04 Build of Eraser 6.2 [2205] on Windows completed
- 04:29 Changeset [2205] by
-
- trunk/eraser/Eraser/Strings.en.resx
- trunk/eraser/Eraser/Strings.it.resx
- trunk/eraser/Eraser/Strings.nl.resx
- trunk/eraser/Eraser/Strings.pl.resx
- trunk/eraser/Eraser/Strings.resx
New strings.
- 04:02 Changeset [2204] by
-
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
Make the progress be indeterminate when finding cluster tips for erasure.
- 02:48 Changeset [2203] by
-
- trunk/eraser/Eraser/ProgressForm.cs
- trunk/eraser/Eraser/SchedulerPanel.cs
Allow tasks to report that their progress is indeterminate, and reflect this in the UI appropriately.
- 02:48 Changeset [2202] by
-
- trunk/eraser/Eraser.Util/ProgressManager.cs
Unset the Indeterminate flag when:
- The Completed property is set
- The MarkComplete? function is called
- 02:28 Changeset [2201] by
-
- trunk/eraser/Eraser/SchedulerPanel.Designer.cs
- trunk/eraser/Eraser/SchedulerPanel.it.resx
- trunk/eraser/Eraser/SchedulerPanel.resx
Use a continuous progress bar instead of blocks, just like the progress dialog.
- 02:19 Changeset [2200] by
-
- trunk/eraser/Eraser.Util/ProgressManager.cs
Allow the progress of tasks to be marked as indeterminate (notably for long tasks without known completion)
- 02:09 Changeset [2199] by
-
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
Fixed progress calculation for securely moving files.
- 02:09 Changeset [2198] by
-
- trunk/eraser/Eraser.Util/NtfsApi.cs
Fixed UnauthorizedAccessException? when erasing files from an NTFS volume under Windows 7. Fixes regression in r2189
- 01:52 Ticket #20 (Attached Drive Total Wipe) closed by
- fixed: With r2197 Dynamic disks will also be destroyed. This ticket is completely …
- 01:29 Changeset [2197] by
-
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
Fix an UnauthorizedAccessException? when erasing a physical disk with mounted partitions.
- 01:29 Changeset [2196] by
-
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
Define the IOCTL_DISK_DELETE_DRIVE_LAYOUT which erases the MBR of the physical drive, allowing us to delete all partitions on the physical drive.
- 00:25 Changeset [2195] by
-
- trunk/website/scripts/blackbox/.htaccess
Increase the input timeout to 1 day since we deal with large uploads which may take a (long) while.
6/18/2010:
- 18:09 Build of Eraser 6 [2182] on Windows completed
- 18:04 Build of Eraser 6.2 [2194] on Windows completed
- 15:14 Changeset [2194] by
-
- trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
- trunk/eraser/Eraser.Util/StreamInfo.cs
Change all internal OpenHandle? functions to private, since they should not be callable from outside the class.
- 15:09 Changeset [2193] by
-
- trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.resx
New strings.
- 15:07 Changeset [2192] by
-
- trunk/eraser/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.Designer.cs
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.resx
- trunk/eraser/Eraser.DefaultPlugins/Plugin.cs
Implemented the erasure of a complete drive or partition. Addresses #20: Attached Drive Total Wipe
- 15:05 Changeset [2191] by
-
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
Implemented the opening of physical disks for direct read/write access.
- 14:37 Changeset [2190] by
-
- trunk/eraser/Eraser/ProgressForm.cs
- trunk/eraser/Eraser/Strings.en.resx
- trunk/eraser/Eraser/Strings.it.resx
- trunk/eraser/Eraser/Strings.nl.resx
- trunk/eraser/Eraser/Strings.pl.resx
- trunk/eraser/Eraser/Strings.resx
There's no need for the UpdateProgress? function to require a SteppedProgressManager?. The only thing that provides is a step name, which we can use a generic one if the progress class is not a SteppedProgressManager?.
- 14:36 Changeset [2189] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
- trunk/eraser/Eraser.Util/NtfsApi.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
- Define a VolumeStream? class which is a FileStream? customised for raw volume access. This results in the VolumeLock? class being merged into the VolumeStream? class, automatically handling locking and unlocking of volumes.
- Change all internal OpenHandle? functions to private, since they should not be callable from outside the class.
- Perform error checking in OpenHandle? so that even callers of OpenHandle? gets error checking.
- 11:54 Changeset [2188] by
-
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
Define the PhysicalDriveInfo?.Equals function to check whether two VolumeInfo? instances are equal (it is a class type but should exhibit value type behaviour)
- 11:33 Changeset [2187] by
-
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Allow us to query the size of non-ready partitions and disks (for more informative UIs)
- 11:32 Changeset [2186] by
-
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
Make the device path a constant to increase readability, also, generate the necessary disk and partition paths based on the template.
- 11:29 Changeset [2185] by
-
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Define VolumeInfo?.GetHashCode? since we defined VolumeInfo?.Equals
- 10:01 Changeset [2184] by
-
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
There is no longer a need for the regular expression.
- 10:00 Changeset [2183] by
-
- trunk/eraser
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Forward-port from Eraser 6.0: Supplements r2170: some functions can be used when the drive is not mounted.
- 09:59 Changeset [2182] by
-
- branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs
Supplements r2170: some functions can be used when the drive is not mounted.
- 09:54 Changeset [2181] by
-
- trunk/eraser/Eraser.Util/VolumeInfo.cs
- Define the VolumeInfo?.PhysicalDrive? property to get the physical drive the volume is on
- Define the VolumeInfo?.Equals function to check whether two VolumeInfo? instances are equal (it is a class type but should exhibit value type behaviour)
- 09:33 Changeset [2180] by
-
- trunk/eraser/Eraser.Util/NativeMethods/NtDll.cs
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
Better algorithm to find which partitions are on which drives which works on Windows Vista as well. Address #20: Attached Drive Total Wipe
- 06:53 Changeset [2179] by
-
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Refactor a function which parses null-delimited string arrays.
- 06:44 Changeset [2178] by
-
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Fixed error in marshalling managed to unmanaged -- the mount points for any volume would only return a maximum of 1 regardless of how many mountpoints there really were due to the array being null-terminated.
- 06:42 Changeset [2177] by
-
- trunk/eraser
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Forward-port from Eraser 6.0: Fixed potential ArgumentException? when a network path is simply remembered, but not mounted.
- 06:40 Changeset [2176] by
-
- branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs
Fixed potential ArgumentException? when a network path is simply remembered, but not mounted.
6/14/2010:
- 17:43 Build of Eraser 6.2 [2175] on Windows completed
- 12:59 Changeset [2175] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
Potential fix for a crash when erasing cluster tips (The attributes can't be reset when the exception is thrown)
6/13/2010:
- 17:35 Build of Eraser 6 [2172] on Windows completed
- 17:31 Build of Eraser 6.2 [2174] on Windows completed
- 14:32 Changeset [2174] by
-
- trunk/eraser/Eraser.Util/Eraser.Util.csproj
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/PhysicalDriveInfo.cs
- trunk/eraser/Eraser.Util/Win32ErrorCodes.cs
Added a PhysicalDriveInfo? class which allows us to enumerate the physical drives on the current computer, and determine the partitions on those drives. However, this class doesn't yet work on dynamic volumes (or volumes which are non-basic)
- 10:03 Changeset [2173] by
-
- trunk/eraser
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Forward-port from Eraser 6.0: Supplements r2170: some functions can be used when the drive is not mounted.
- 09:57 Changeset [2172] by
-
- branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs
Supplements r2170: some functions can be used when the drive is not mounted.
- 08:54 Changeset [2171] by
-
- trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.resx
New strings.
- 06:28 Changeset [2170] by
-
- trunk/eraser
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
- trunk/eraser/Eraser.Util/VolumeInfo.cs
Forward-port from Eraser 6.0: Fix crash when a volume is connected but not mounted.
- 06:25 Changeset [2169] by
-
- 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.pl.resx
- branches/eraser6/6.0/Eraser.Manager/Strings.resx
- branches/eraser6/6.0/Eraser/Strings.pl.resx
Updated Strings.
- 06:21 Changeset [2168] by
-
- branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
- branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs
Fix crash when a volume is connected but not mounted.
- 05:38 Build of Eraser 6.2 [2167] on Windows completed
- 04:11 Changeset [2167] by
-
- trunk/eraser
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
Forward-port from Eraser 6.0: Handle UnauthorizedAccessExceptions? when erasing folders, as certain folders allow us to erase the files within but not the folder itself.
- 04:08 Changeset [2166] by
-
- branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
Handle UnauthorizedAccessExceptions? when erasing folders, as certain folders allow us to erase the files within but not the folder itself.
- 04:01 Changeset [2165] by
-
- trunk/eraser/Eraser.Util/Win32ErrorCodes.cs
If we get ERROR_DEV_NOT_EXIST, throw an IOException.
- 03:58 Changeset [2164] by
-
- trunk/eraser/Eraser.Util.Native/OpenHandle.NameResolver.cpp
Fixed potential crash when ResolveHandleName? is called by two threads at the same time (since the initialisation order of the Handle is undefined)
- 03:34 Changeset [2163] by
-
- trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.resx
Rearrangement of strings.
- 03:33 Changeset [2162] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
For erasing old file system table resident files:
- Rewritten algorithm which is faster than the previous one
- Reset all temporary files' times since they will be simply deleted during the free space erase
For erasing directory structures:
- Reset all temporary files' times so that we can use the faster folder delete instead of the deep erase
- 03:30 Changeset [2161] by
-
- trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
- trunk/eraser/Eraser.Manager/FileSystem.cs
Since we are just simply deleting all temporary files when filling up the drive with junk files, we must reset all file times to invalid.
- 02:40 Ticket #360 (Eraser crashes and is no longer usable after setting up new task) reopened by
- 02:09 Changeset [2160] by
-
- trunk/eraser/Eraser.Util/ProgressManager.cs
Fix the calculation interval expansion/contraction:
- a geometric growth of the amount of time between samples would take too long to get an accurate reading, grow by 30% each time
- reduction by subtracting 3 must only be done if we have sufficient time, otherwise we must maintain the 3-second interval
- 00:52 Changeset [2159] by
-
- trunk/eraser
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
- trunk/eraser/Eraser.DefaultPlugins/Strings.en.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.it.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.nl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.pl.resx
- trunk/eraser/Eraser.DefaultPlugins/Strings.resx
Forward-port from Eraser 6.0: Fixed log messages when erasing cluster tips.
- 00:47 Changeset [2158] by
-
- branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
- branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.en.resx
- branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.it.resx
- branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.nl.resx
- branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.pl.resx
- branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.resx
Fixed log messages when erasing cluster tips.
- 00:43 Changeset [2157] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Fat.cs
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
- trunk/eraser/Eraser.Manager/FileSystem.cs
Compilo fix.
- 00:39 Changeset [2156] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
- Optimised the EraseFileClusterTips? and GetFileArea? function to use one StreamInfo? object per file. This reduces the overhead associated with creating StreamInfos?.
- Minor code restructuring in EraseFileClusterTips? to use one try-finally instead of a try-finally within a using (which does the same thing)
- Removed one try-finally block in EraseClusterTips? when setting file attributes and moved it to EraseFileClusterTips? instead, combining one try-finally block.
- Handle ArgumentExceptions? from the FileSystemInfo?.Attributes.set setter as UnauthorizedAccessExceptions?.
- 00:29 Ticket #273 (Use NtSetInformationFile to deeply set file times) closed by
- fixed: Fixed in r2155, but only for v6.2.
- 00:29 Changeset [2155] by
-
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
- trunk/eraser/Eraser.DefaultPlugins/FileSystems/Windows.cs
- trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
- trunk/eraser/Eraser.Util/NativeMethods/Kernel.cs
- trunk/eraser/Eraser.Util/NativeMethods/NtDll.cs
- trunk/eraser/Eraser.Util/StreamInfo.cs
Implements #273: Use NtSetInformationFile? to deeply set file times.
6/12/2010:
- 03:56 Ticket #370 (Break up MFT erase folders to folders of fixed lengths.) created by
- Large folders slow down the file system and unnecessarily increases erase …
6/10/2010:
- 20:36 Ticket #369 (Eraser could not load the setting) created by
- After completly uninstalling Eraser 6.0.7.1893, clean and reboot my …
5/21/2010:
- 17:36 Build of Eraser 6.2 [2154] on Windows completed
- 07:50 Changeset [2154] by
-
- trunk/eraser/Eraser/Strings.it.resx
Italian translation of "untranslated" strings
