Timeline


and

11/7/2011:

12:54 Changesets [2381-2382] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/SettingsForm.cs

Some more compile fixes.

12:45 Changesets [2379-2380] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs

Compilo fix.

12:42 Changeset [2378] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs

Implement the new Persistent Store class for Eraser.Manager. Also hooked up the plugin load event so that we can intercept whether plugins will be loaded or not.

12:41 Changeset [2377] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Plugin.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs

Move the Default PRNG and Erasure Methods settings to the Default Plugin.

12:34 Changeset [2376] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
  • branches/eraser6/pluginsRewrite/Eraser/Settings.cs

Strange, I forgot to move the SettingsList? class.

12:19 Changeset [2375] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
  • branches/eraser6/pluginsRewrite/Eraser/Settings.cs

Move the SettingsList? and SettingsDictionary? class to the Eraser assembly since our Manager should only be concerned with the settings proper, not how it is stored.

12:12 Changesets [2373-2374] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Random.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs

There is no longer a need to indicate the default file and unused space erasure methods, PRNGs etc; they will be hardcoded into the DefaultPlugins? since other plugins may vie for attention.

12:10 Changeset [2372] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.BlackBox/Plugin.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Plugin.cs

Use the new Host.Initialize prototype.

12:04 Changesets [2370-2371] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs

Persistent Stores will need to be passed from the Host initialiser. The Plugin Host will then dish out persistent stores for each plugin.

11:56 Changeset [2369] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/IPlugin.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/PersistentStore.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/PluginInfo.cs

Move the Settings class to Eraser.Plugins for plugins to store persistent state information. This will be passed to plugins as part of the Init function, where the PluginInfo? instance will be provided, including the Persistent Store for the plugin.

07:59 Changeset [2368] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/EntropySources/KernelEntropySource.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Custom.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/DoD.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/GOSTP50739.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Gutmann.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/HMGIS5.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/RCMP_TSSIT_OPS_II.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Random.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/Schneier.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/USAF5020.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/USArmyAR380_19.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureMethods/VSITR.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/DriveErasureTargetConfigurer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileErasureTargetConfigurer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FolderErasureTargetConfigurer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/RecycleBinErasureTargetConfigurer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTargetConfigurer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTargetConfigurer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Fat.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Plugin.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Strings.resx

Replace the reference to Eraser.Manager with Eraser.Plugins. The majority of compile errors have been fixed already.

07:35 Changeset [2367] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/PrngRegistrar.cs

The active PRNG and the AddEntropy? functions need to be public for Eraser.Manager to access them.

07:28 Changeset [2366] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Settings.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs

Since the types have been moved to the Eraser.Plugins.ExtensionPoints? namespace, reference that.

07:24 Changesets [2364-2365] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureTargetCollection.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureTargetCollection.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Task.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureTarget.cs

The ErasureTargetCollection? (renamed from ErasureTargetsCollection?) no longer has to set anything because the ErasureTarget? does not reference the Task any longer (not possible, as that will introduce cycles in dependencies)

07:20 Changesets [2362-2363] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/EntropyPoller.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs

The registrars belong to Eraser.Plugins. We just need to define the Entropy Poller thread to allow the entropy sources to run and then to push the entropy to the PRNGs.

07:08 Changeset [2361] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/PrngRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.resx

Compile fix.

07:03 Changeset [2360] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/FileSystem.cs

Move the CopyPlausibleDeniabilityFile? function from the FileSystem? class to the FileSystemObjectErasureTarget? base class, since that's the only place this setting should be needed.

06:58 Changeset [2359] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureMethod.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/FileSystem.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/PrngRegistrar.cs

As far as the Plugins assembly is concerned, settings in the ManagerLibrary? are out of reach. The ManagerLibrary? will have to be the glue which pushes settings from the user to the Plugins.

As such, the PrngRegistrar? class will have internal methods to set the acting PRNG's GUID.

06:38 Changeset [2358] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/FileSystem.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureMethodRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureTargetFactoryRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/FileSystemRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.resx

Replaced the base types in the Host class with the derived types in the Eraser.Plugins.Registrars namespace.

06:07 Changeset [2357] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/EntropyPoller.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ManagerLibrary.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/EntropySource.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureMethod.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/FileSystem.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/Prng.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/EntropySourceRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureMethodRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/ErasureTargetFactoryRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/FileSystemRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Registrars/PrngRegistrar.cs

Move all registrars to the Eraser.Plugins assembly. This is to prevent cyclic dependencies.

06:02 Changeset [2356] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/IConfigurer.cs

The IConfigurer class should belong to the Eraser.Plugins namespace.

03:59 Changeset [2355] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs

Use the == operator instead of the Equals member for System.String for consistency.

03:55 Changeset [2354] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs
  • Moved the Dispose function after the constructor since it should undo what constructors do (akin to destructors)
  • IsPlugin? can be static since it does not reference this
  • Move the Plugins overridden property to the end of class together with the member declarations
03:50 Changeset [2353] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Host.cs

Still not compilable, but one major change: when Dispose from Host is called, we should reset the global instance to null.
Also repositioned the declaration for LoadPlugin?(string) to be more logically grouped.

11/6/2011:

23:56 Changeset [2352] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Manager/EntropySource.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureMethod.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/ErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/FileSystem.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/PRNG.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Strings.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/EntropySource.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureMethod.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/ErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/FileSystem.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/ExtensionPoints/Prng.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/IRegistrar.cs
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.resx

Shifted all the plugin-extensible code to the Plugins assembly (Plugins.ExtensionPoints?). The code does not yet compile, because there are some inter-dependencies on the registrars.

14:18 Changesets [2350-2351] by aramacciotti
  • branches/eraser6/6.0/Eraser.DefaultPlugins/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx

Translation of latest changes

14:06 Changeset [2349] by aramacciotti
  • branches/eraser6/6.0/Eraser.Manager/Strings.it.resx

Translated the latest changes

05:30 Milestone Eraser 6.0.9 completed
Next maintenance release for Eraser 6.0
04:22 Changeset [2348] by lowjoel
  • trunk/website/Templates/Eraser.dwt
  • trunk/website/announcements/20081201.html
  • trunk/website/announcements/20081213.html
  • trunk/website/announcements/20090103.html
  • trunk/website/announcements/20090108.html
  • trunk/website/announcements/20090418.html
  • trunk/website/announcements/20090610.html
  • trunk/website/announcements/20090611.html
  • trunk/website/announcements/20090706.html
  • trunk/website/announcements/20091215.html
  • trunk/website/announcements/20100414.html
  • trunk/website/announcements/20101106.html
  • trunk/website/announcements/20111106.html
  • trunk/website/contributing.html
  • trunk/website/download.php
  • trunk/website/index.php
  • trunk/website/reviews.html

Release 6.0.9

11/5/2011:

07:53 Changeset [2347] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Eraser.Manager.csproj

Added the missing project references needed to build the solution.

07:48 Ticket #394 (Crash when deleting open file) closed by Joel
fixed: Fixed in r2341, pending confirmation that the fix does work. The fix has …
07:47 Changeset [2346] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Strings.resx

Added the pre-build event for Eraser.Plugins. This allows the code to be localised.

07:43 Changeset [2345] by lowjoel
  • branches/eraser6/pluginsRewrite/Eraser.Plugins/Eraser.Plugins.csproj

Upgrade the Plugins project to .NET 4 and VS2010 just like the rest of the solution.

07:32 Changeset [2344] by lowjoel
  • branches/eraser6/pluginsRewrite
  • branches/eraser6/pluginsRewrite/Dependencies/DragDropLib.dll
  • branches/eraser6/pluginsRewrite/Dependencies/DragDropLib.pdb
  • branches/eraser6/pluginsRewrite/Eraser Native.props
  • branches/eraser6/pluginsRewrite/Eraser.BlackBox/BlackBox.cs
  • branches/eraser6/pluginsRewrite/Eraser.BlackBox/Eraser.BlackBox.csproj
  • branches/eraser6/pluginsRewrite/Eraser.BlackBox/Properties/Resources.Designer.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Manager/Schedule.cs
  • branches/eraser6/pluginsRewrite/Eraser.Shell/ShellExt.vcproj
  • branches/eraser6/pluginsRewrite/Eraser.Shell/ShellExt.vcxproj
  • branches/eraser6/pluginsRewrite/Eraser.Shell/ShellExt.vcxproj.filters
  • branches/eraser6/pluginsRewrite/Eraser.Util.Native/Eraser.Util.Native.vcproj
  • branches/eraser6/pluginsRewrite/Eraser.Util.Native/Eraser.Util.Native.vcxproj
  • branches/eraser6/pluginsRewrite/Eraser.Util.Native/Eraser.Util.Native.vcxproj.filters
  • branches/eraser6/pluginsRewrite/Eraser.Util.Native/OpenHandle.cpp
  • branches/eraser6/pluginsRewrite/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/pluginsRewrite/Eraser.Util/ExtensionMethods/IO.cs
  • branches/eraser6/pluginsRewrite/Eraser.Util/ExtensionMethods/Path.cs
  • branches/eraser6/pluginsRewrite/Eraser.Util/ExtensionMethods/PathUtil.cs
  • branches/eraser6/pluginsRewrite/Eraser.Util/Migrated rules for Eraser.Util.ruleset
  • branches/eraser6/pluginsRewrite/Eraser.Util/ProgressManager.cs
  • branches/eraser6/pluginsRewrite/Eraser.Util/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser.Util/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser.Util/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Util/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser.Util/Strings.resx
  • branches/eraser6/pluginsRewrite/Eraser.sln
  • branches/eraser6/pluginsRewrite/Eraser/Eraser.csproj
  • branches/eraser6/pluginsRewrite/Eraser/MainForm.cs
  • branches/eraser6/pluginsRewrite/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/pluginsRewrite/Eraser/Properties/Settings.Designer.cs
  • branches/eraser6/pluginsRewrite/Eraser/SchedulerPanel.cs
  • branches/eraser6/pluginsRewrite/Eraser/SettingsPanel.Designer.cs
  • branches/eraser6/pluginsRewrite/Eraser/Strings.en.resx
  • branches/eraser6/pluginsRewrite/Eraser/Strings.it.resx
  • branches/eraser6/pluginsRewrite/Eraser/Strings.nl.resx
  • branches/eraser6/pluginsRewrite/Eraser/Strings.pl.resx
  • branches/eraser6/pluginsRewrite/Eraser/Strings.resx
  • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/pluginsRewrite/Eraser/TaskPropertiesForm.resx
  • branches/eraser6/pluginsRewrite/Eraser/UpdateForm.cs
  • branches/eraser6/pluginsRewrite/Installer/Bootstrapper/Bootstrapper.vcxproj
  • branches/eraser6/pluginsRewrite/Installer/Bootstrapper/Bootstrapper.vcxproj.filters
  • branches/eraser6/pluginsRewrite/Installer/Installer.wixproj
  • branches/eraser6/pluginsRewrite/UpdateVersions.bat

Synchronise the Plugins Rewrite branch with trunk@r2341

04:09 Changeset [2343] by lowjoel
  • branches/eraser6/6.0/Documentation/Documentation.docx
  • branches/eraser6/6.0/Eraser/Resources/BackgroundLogo.png
  • branches/eraser6/6.0/Installer/Installer.wixproj
  • branches/eraser6/6.0/Resources/Source/Dialogs/Dialog Logo.psd
  • branches/eraser6/6.0/Version.cs.in
  • branches/eraser6/6.0/Version.rc.in
  • branches/eraser6/6.0/Version.wxs.in

Updated all versions to 6.0.9.

11/4/2011:

23:08 Changesets [2341-2342] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.cpp
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Stdafx.h
  • trunk/eraser/Eraser.Util.Native/OpenHandle.cpp

Fixed an obscure crash when running the unlocker code under Vista SP2 - the NtQuerySystemInformation? call seems to return a wrong result when we query only for size. So, we will keep querying until we get all the entries we need (using the do-while loop and when the call returns NT_SUCCESS). Should fix http://bbs.heidi.ie/viewtopic.php?f=2&t=8337.

10/30/2011:

02:08 Changeset [2340] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/Strings.en.resx

Merged revision(s) 2339 from trunk/eraser: Fixed initialisation order. The settings panel should be initialised first because it loads settings and may raise a dialog for invalid settings. The scheduler may then be affected and be in a deadlock when it receives events from the Executor instance. Potential fix for http://bbs.heidi.ie/viewtopic.php?f=2&t=8207&p=24805#p24535.

02:07 Changeset [2339] by lowjoel
  • trunk/eraser/Eraser/MainForm.cs

Fixed initialisation order. The settings panel should be initialised first because it loads settings and may raise a dialog for invalid settings. The scheduler may then be affected and be in a deadlock when it receives events from the Executor instance. Potential fix for http://bbs.heidi.ie/viewtopic.php?f=2&t=8207&p=24805#p24535.

01:21 Changeset [2338] by lowjoel
  • branches/eraser6/6.0
  • 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.pl.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.resx

Merged revision(s) 2335-2337 from trunk/eraser: Allow file unlocking to be done in the actual erasure as well, in addition to when finding stream ADSes. This allows a greater number of files to be unlocked. Addresses #394.

01:18 Changeset [2337] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

Supplants r2335: if we still cannot erase the file after 1 retry, throw a new SharingViolationException? with the program name locking the file. This will prevent the file from being deleted simplistically.

01:02 Changeset [2336] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

Supplants r2335: Do not force a full re-erasure if the file cannot be deleted. At that stage, the file data is erased, if the file cannot be deleted, impact times will be impacted negatively. TryEraseStream? will only deal with stream data.

As such, when we have to run the unlocking code a second time, we should throw a Sharing Violation exception instead of silently swallowing the error.

01:56 Changeset [2335] by lowjoel
  • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

Allow file unlocking to be done in the actual erasure as well, in addition to when finding stream ADSes. This allows a greater number of files to be unlocked. Addresses #394

01:54 Changeset [2334] by lowjoel
  • trunk/eraser/Eraser.Util.Native/OpenHandle.cpp

Fixed compilo introduced in earlier revision.

01:20 Changeset [2333] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Util.Unlocker/Eraser.Util.Unlocker.cpp

Merged revision(s) 2332 from trunk/eraser: Behaviour change: DuplicateHandle? when not provided a handle pointer to clone the source handle to will leak handles from Windows 7 onwards. Prevent that (and restore locked file erasure functionality)

01:17 Changeset [2332] by lowjoel
  • trunk/eraser/Eraser.Util.Native/OpenHandle.cpp

Behaviour change: DuplicateHandle? when not provided a handle pointer to clone the source handle to will leak handles from Windows 7 onwards. Prevent that (and restore locked file erasure functionality)

10/29/2011:

14:23 Ticket #387 (Recurring Tasks only run once) closed by Joel
fixed: Fixed in r2330-r2331.
14:23 Changeset [2331] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

Merged revision(s) 2330 from trunk/eraser: Reschedule the task for execution, in addition to just computing the next run time. Fixes #387.

14:20 Changeset [2330] by lowjoel
  • trunk/eraser/Eraser.Manager/DirectExecutor.cs

Reschedule the task for execution, in addition to just computing the next run time. Fixes #387.

14:19 Changeset [2329] by lowjoel
  • trunk/eraser/Eraser.Util/ExtensionMethods/IO.cs
  • trunk/eraser/Eraser.Util/ProgressManager.cs
  • trunk/eraser/Eraser.Util/Strings.en.resx
  • trunk/eraser/Eraser.Util/Strings.it.resx
  • trunk/eraser/Eraser.Util/Strings.nl.resx
  • trunk/eraser/Eraser.Util/Strings.pl.resx
  • trunk/eraser/Eraser.Util/Strings.resx

The exceptions thrown in Eraser.Util are developer-visible and should not require translation.

14:10 Ticket #395 (Eraser hangs when installing updates) closed by Joel
fixed: There was a change in r2305 that can fix this. Once 6.0.9 is out, users …
13:24 Ticket #388 (balloon tips wording post wiping) closed by Joel
fixed
13:22 Changeset [2328] by lowjoel
  • branches/eraser6/6.0/Documentation/Documentation.docx
  • branches/eraser6/6.0/Documentation/UAC.png

Closes #396: Document circumventing of UAC for Free Space Erasures.
A short paragraph has been added, indicating the background and the most common workaround for the problem. A link to the forum where all documented workarounds are also provided.

13:06 Ticket #386 (Incorrect date or task set on monthly schedule) closed by Joel
fixed: r2315 should fix this. This fix should be in 6.0.9.
13:04 Ticket #390 (Keystroke confirmation in dialog invoked from context menu) closed by Joel
worksforme: Doesn't the context menu already have accelerators? * Erase * …
13:00 Changeset [2327] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.nl.resx
  • branches/eraser6/6.0/Eraser/Strings.pl.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Merged revision(s) 2326 from trunk/eraser: The title of the balloon tip should be "Task Completed" and not "Task Executed" for clarity. This was suggested by Jackjack in #388.
Fixes #388: balloon tips wording post wiping

12:55 Changeset [2326] by lowjoel
  • trunk/eraser/Eraser/SchedulerPanel.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

The title of the balloon tip should be "Task Completed" and not "Task Executed" for clarity. This was suggested by Jackjack in #388.
Fixes #388: balloon tips wording post wiping

12:42 Changeset [2325] by lowjoel
  • trunk/eraser/Dependencies/DragDropLib.dll
  • trunk/eraser/Dependencies/DragDropLib.pdb

Use a new build of the library.

12:39 Changeset [2324] by lowjoel
  • trunk/eraser/Eraser/TaskPropertiesForm.Designer.cs
  • trunk/eraser/Eraser/TaskPropertiesForm.cs
  • trunk/eraser/Eraser/TaskPropertiesForm.resx

Implemented smart path compaction for the targets in the Task Properties Dialog. All items will have the paths compacted according to Shell rules if they cannot fit in the column nicely.

12:30 Changeset [2881] by lowjoel

    Rebuilt all binaries again, there was a debug piece of code.

    12:23 Changesets [2879-2880] by lowjoel

      Rebuilt the libraries.

      11:04 Changeset [2878] by lowjoel

        Build with /unsafe in both debug and release builds.

        11:02 Changeset [2877] by lowjoel

          Set the output directory.

          11:01 Changeset [2876] by lowjoel

            Added the DragDropLib? from http://blogs.msdn.com/b/adamroot/archive/2008/02/19/shell-style-drag-and-drop-in-net-part-3.aspx, the full version with samples, and upgraded to VS2010.

            10:03 Changesets [2322-2323] by lowjoel
            • trunk/eraser/Eraser.BlackBox/BlackBox.cs
            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/UnusedSpaceErasureTarget.cs
            • trunk/eraser/Eraser.Manager/Plugins.cs
            • trunk/eraser/Eraser/SettingsPanel.cs
            • trunk/eraser/Eraser.DefaultPlugins/ErasureTargets/SecureMoveErasureTarget.cs
            • trunk/eraser/Eraser.Util/Eraser.Util.csproj
            • trunk/eraser/Eraser.Util/ExtensionMethods/PathUtil.cs

            Call our relative-path handling class PathUtil? instead so that we do not conflict with the .NET runtime. This is to allow less typing when using both System.IO and Eraser.Util.ExtensionMethods?.

            09:24 Changeset [2321] by lowjoel
            • trunk/eraser/Eraser.Shell/ShellExt.vcxproj

            Do not use the Windows 7.1 SDK toolset - the VS 2010 stock one is fine, I was testing something.

            09:13 Changeset [2320] by lowjoel
            • trunk/eraser
            • trunk/eraser/Eraser Native.props
            • trunk/eraser/Eraser.BlackBox/Eraser.BlackBox.csproj
            • trunk/eraser/Eraser.BlackBox/Properties/Resources.Designer.cs
            • trunk/eraser/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
            • trunk/eraser/Eraser.Manager/Eraser.Manager.csproj
            • trunk/eraser/Eraser.Shell/ShellExt.vcproj
            • trunk/eraser/Eraser.Shell/ShellExt.vcxproj
            • trunk/eraser/Eraser.Shell/ShellExt.vcxproj.filters
            • trunk/eraser/Eraser.Util.Native/Eraser.Util.Native.vcproj
            • trunk/eraser/Eraser.Util.Native/Eraser.Util.Native.vcxproj
            • trunk/eraser/Eraser.Util.Native/Eraser.Util.Native.vcxproj.filters
            • trunk/eraser/Eraser.Util/Eraser.Util.csproj
            • trunk/eraser/Eraser.Util/Migrated rules for Eraser.Util.ruleset
            • trunk/eraser/Eraser.sln
            • trunk/eraser/Eraser/Eraser.csproj
            • trunk/eraser/Eraser/Properties/Resources.Designer.cs
            • trunk/eraser/Eraser/Properties/Settings.Designer.cs
            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.vcxproj
            • trunk/eraser/Installer/Bootstrapper/Bootstrapper.vcxproj.filters
            • trunk/eraser/Installer/Installer.wixproj

            Upgraded to VS2010 projects and WiX 3.5 for futureproofing

            08:10 Changeset [2319] by lowjoel
            • trunk/eraser/Eraser.Util/ProgressManager.cs

            We can use a higher significance level of 0.5; this yields slightly more accurate ETAs since more false samples are rejected (some good ones are rejected too -- but that's okay as we intend to just make this a little more elaborate than simple averages)

            10/20/2011:

            05:21 Changeset [2318] by lowjoel
            • trunk/eraser/Eraser/SettingsPanel.Designer.cs

            Fixed display of language names in the Eraser Language selection. This is in preparation for migration to .NET 4.

            05:10 Changeset [2317] by lowjoel
            • branches/eraser6/6.0
            • branches/eraser6/6.0/UpdateVersions.bat

            Backport from revision 2316 from trunk/eraser:
            When obtaining the revision information, if we cannot find SubWCRev, we should output to stderr to be captured in the build server logs.

            05:05 Changeset [2316] by lowjoel
            • trunk/eraser/UpdateVersions.bat

            When obtaining the revision information, if we cannot find SubWCRev, we should output to stderr to be captured in the build server logs.

            05:01 Changeset [2315] by lowjoel
            • branches/eraser6/6.0
            • branches/eraser6/6.0/Eraser.Manager/Schedule.cs

            Backport from revision 2314 from trunk/eraser:
            Fixed monthly schedules, as described in http://bbs.heidi.ie/viewtopic.php?p=24697#p24697. The old code does seem rather strange.

            04:53 Changeset [2314] by lowjoel
            • trunk/eraser/Eraser.Manager/Schedule.cs

            Fixed monthly schedules, as described in http://bbs.heidi.ie/viewtopic.php?p=24697#p24697. The old code does seem rather strange.

            04:52 Changeset [2313] by lowjoel
            • trunk/eraser/Eraser/TaskPropertiesForm.cs

            The event handler for the checked changed event for each of the recurring schedule types may be called from outside the three buttons. For such instances, do not change the checked state (since sender is none of the three, all will be reset to blank)

            04:30 Changeset [2312] by lowjoel
            • trunk/eraser/Eraser/TaskPropertiesForm.Designer.cs
            • trunk/eraser/Eraser/TaskPropertiesForm.cs
            • trunk/eraser/Eraser/TaskPropertiesForm.resx

            Be explicit about the behaviour of the schedule check boxes. Since we handle the checking ourselves, we need to be careful of when the boxes are triggered and reset the states properly. Fixes the bug described in http://bbs.heidi.ie/viewtopic.php?p=24697#p24697

            10/11/2011:

            11:10 Changeset [2311] by lowjoel
            • trunk/website/trac.css

            Slightly modified the style file to better fit the overall theme and look less trac-ish.

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

            Trac has been set up as a separate server, at http://trac.heidi.ie/

            Note: See TracTimeline for information about the timeline view.