Timeline


and

5/7/2009:

14:45 Changeset [1015] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/FileSystem.cs

-Reset a file's read-only flag only after an erase failed
-NTFS' minimum date is 1601 January 1 UTC. Make sure that it is UTC when converting dates (the earlier bug wasn't fixed.)

14:29 Changeset [1014] by lowjoel
  • branches/eraser6/Manager/FileSystem.cs

Fixed the valid minimum date range for NTFS.

14:15 Changeset [1013] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Installer/DirectoryStructure.wxs
  • branches/eraser6/Resources/EraserTaskList.ico
  • branches/eraser6/ShellExt/ShellExt.rc
  • branches/eraser6/ShellExt/ShellExt.vcproj
  • branches/eraser6/ShellExt/resource.h

Added Task List shell integration to Eraser - implemented the Shell icon, Shell open verb, but not the RemoteExecutor?. Draft file icon thanks to Dennis.

12:52 Ticket #195 (Crash when using context menu erase option) closed by Joel
fixed: I've rewritten the Eraser inter-process communications in …
12:48 Changeset [1012] by lowjoel
  • branches/eraser6/Manager/Executor.cs

Document the fact that LoadFromStream? is meant to append tasks instead of overwrite tasks in the list.

12:45 Ticket #193 (Allow for export/backup of scheduled tasks) closed by Joel
fixed: Implemented in r1011. Please check that in future when new versions are …
12:44 Changeset [1011] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Manager/DirectExecutor.cs

Allow users to export and import task lists. Implements #193

10:51 Changeset [1010] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs

Removed an unnecessary if statement.

08:42 Changeset [1009] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Util/NTApi.cs
  • branches/eraser6/Util/NetApi.cs
  • branches/eraser6/Util/ShellApi.cs
  • branches/eraser6/Util/VolumeInfo.cs

Last bit on naming

08:38 Changeset [1008] by lowjoel
  • branches/eraser6/Util/Util.csproj

Fix the casing of the paths.

08:31 Changesets [1005-1007] by lowjoel
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Settings.cs
  • branches/eraser6/Util/AdvApi.cs
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelApi.cs
  • branches/eraser6/Util/MsCorEEApi.cs
  • branches/eraser6/Util/NTApi.cs
  • branches/eraser6/Util/NetApi.cs
  • branches/eraser6/Util/NtfsApi.cs
  • branches/eraser6/Util/ShellApi.cs
  • branches/eraser6/Util/StreamInfo.cs
  • branches/eraser6/Util/UserApi.cs
  • branches/eraser6/Util/UxThemeApi.cs
  • branches/eraser6/Util/VolumeInfo.cs
  • branches/eraser6/Util/WintrustApi.cs

Renaming the filenames of all API files and names of classes to follow C# convention.

08:27 Changeset [1004] by lowjoel
  • branches/eraser6/Util/KernelApi2.cs
  • branches/eraser6/Util/MsCorEEApi2.cs
  • branches/eraser6/Util/NTApi2.cs
  • branches/eraser6/Util/NetApi2.cs
  • branches/eraser6/Util/NtfsApi2.cs
  • branches/eraser6/Util/ShellApi2.cs
  • branches/eraser6/Util/UserApi2.cs
  • branches/eraser6/Util/UxThemeApi2.cs
  • branches/eraser6/Util/WintrustApi2.cs

Renaming the filenames of all API files to follow C# convention.

08:20 Changeset [1003] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Util/AdvApi.cs
  • branches/eraser6/Util/Permissions.cs
  • branches/eraser6/Util/Util.csproj

Combined CryptAPI.cs and Permissions.cs to AdvApi?.cs.

08:12 Changeset [1002] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseGOSTP50739.cs
  • branches/eraser6/DefaultPlugins/EraseHMGIS5.cs
  • branches/eraser6/DefaultPlugins/EraseRCMP_TSSIT_OPS_II.cs
  • branches/eraser6/DefaultPlugins/EraseUSAF5020.cs
  • branches/eraser6/DefaultPlugins/EraseUSArmyAR380_19.cs
  • branches/eraser6/DefaultPlugins/EraseVSITR.cs
  • branches/eraser6/Util/NtfsAPI.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/UxThemeAPI.cs
  • branches/eraser6/Util/WintrustAPI.cs

Set svn:keywords property

08:06 Changeset [1001] by lowjoel
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/NetAPI.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/UserAPI.cs
  • branches/eraser6/Util/UxThemeAPI.cs

A bit more reshuffling to place functions in the correct API file.

07:59 Changeset [1000] by lowjoel
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/NTAPI.cs
  • branches/eraser6/Util/Permissions.cs
  • branches/eraser6/Util/StreamInfo.cs
  • branches/eraser6/Util/VolumeInfo.cs

-Move all API calls out of these helper classes and into the relevant *API files' NativeMethods? class.
-Use automatic properties where possible
-Call FreeHGlobal after every call to AllocHGlobal
-Use .NET functions where possible
-Cast .NET constants to integer when passing to native functions, where possible

07:14 Changeset [999] by lowjoel
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/NetAPI.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/UxThemeAPI.cs

-Give slightly more intuitive parameter names
-Specify MarshalAs? for bool's
-Forgot to use the provided parameter in NetAPI.NetStatisticsGet?

07:05 Changeset [998] by lowjoel
  • branches/eraser6/Util/CryptAPI.cs
  • branches/eraser6/Util/MsCorEEAPI.cs
  • branches/eraser6/Util/NTAPI.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/UxThemeAPI.cs

-Shifted all native functions into NativeMethods?
-Specify what is meant by marshalling a bool - more often than not it is a BOOL (UnmanagedType?.Boolean)

07:03 Changeset [997] by lowjoel
  • branches/eraser6/Util/KernelAPI.cs

-Removed the STARTUPINFO structure/GetStartupInfo function since no more code uses it.
-Added ThreadExecutionState?.None for standardisation.
-Be explicit about what is meant by marshalling a boolean value: C++ has got the BOOL and the bool type which are different unmanaged types.

07:00 Changeset [996] by lowjoel
  • branches/eraser6/Manager/EntropySource.cs

Runtime fixes for the EntropySource?.

04:03 Changeset [995] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Util/Util.csproj

Disable unsafe blocks.

03:24 Changeset [994] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/MsCorEEAPI.cs
  • branches/eraser6/Util/NTAPI.cs
  • branches/eraser6/Util/NetAPI.cs
  • branches/eraser6/Util/NtfsAPI.cs
  • branches/eraser6/Util/Permissions.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/UserAPI.cs
  • branches/eraser6/Util/UxThemeAPI.cs
  • branches/eraser6/Util/WintrustAPI.cs

Code cleanup.

-Abstract away the native API calls and put them behind managed class functions.
-Place all imports from system DLLs into the NativeMethods? class
-All NativeMethods? classes should be internal static

02:57 Changeset [993] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/KernelAPI.cs
  • branches/eraser6/Util/Permissions.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/UserAPI.cs

Code cleanup.

-Abstract away the native API calls and put them behind managed class functions.
-Place all imports from system DLLs into the NativeMethods? class
-Replaced a lot of the native DLL calls for entropy sources to their managed equivalents. Some native providers have been removed in favour of the managed counterparts

5/6/2009:

11:50 Changeset [992] by lowjoel
  • branches/eraser6/Util/File.cs
  • branches/eraser6/Util/ShellAPI.cs
  • branches/eraser6/Util/StreamInfo.cs
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Util/UxThemeAPI.cs

Documentation fixes.

11:39 Changeset [991] by lowjoel
  • branches/eraser6/Manager/FileSystem.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

Factor out the WindowsFileSystem? class for FatFileSystem? and NtfsFileSystem? to inherit since their secure file deletion functions only differ by the minimum date/time the file system supports.

11:27 Changesets [989-990] by lowjoel
  • branches/eraser6/DefaultPlugins/Strings.en.resx
  • branches/eraser6/DefaultPlugins/Strings.nl.resx
  • branches/eraser6/DefaultPlugins/Strings.resx
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/RNGISAAC.cs

Removed ISAAC after consultation with Professor Ling San (see my rc5 announcement.)

10:58 Changeset [988] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Manager/Settings.cs
  • branches/eraser6/ShellExt/CtxMenu.cpp

Use registry-native types to store the settings where possible, allowing users to set custom values and for the shell extension to always know where to find the correct enabled value.

10:35 Changeset [987] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Pass the task list owner to the deserialisation constructor for each task so they can get the Executor instance automatically.

09:47 Changeset [986] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/DefaultPlugins/Strings.en.resx
  • branches/eraser6/DefaultPlugins/Strings.nl.resx
  • branches/eraser6/DefaultPlugins/Strings.resx

Throw the exception with localised errors since this exception will probably be user-visible.

08:59 Changeset [985] by lowjoel
  • branches/eraser6/Eraser/AboutForm.cs

Link to our new website.

08:30 Changeset [984] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Fixed a regression in r976: The server semaphore could be destroyed before the servers were closed due to a race condition.

08:17 Changeset [983] by lowjoel
  • branches/eraser6/Eraser/LogForm.Designer.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/LogForm.resx

The Log viewer now supports copying to Word/Notepad? as plain text and to Excel as formatted data.

07:56 Changeset [982] by lowjoel
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs

Cancel the task properly - the UnqueueTask? function no longer cancels tasks.

5/5/2009:

13:19 Changeset [981] by lowjoel
  • branches/eraser6/ShellExt/CtxMenu.cpp

Oops, forgot to remove debug code.

13:15 Ticket #207 (Restricted characters in filename) closed by Joel
fixed: Fixed in r977.
13:12 Changeset [980] by lowjoel
  • branches/eraser6/Eraser.sln

Don't build the installer in Debug builds (not now, anyway)

13:11 Changeset [979] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

When loading a task list, we need to re-assign the Owner otherwise the task will be left "hanging".

13:10 Changeset [978] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Run now replaces Connect. Use the IsConnected? property to ascertain whether the Remote Exector client is connected.

13:08 Changeset [977] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/ShellExt/CtxMenu.cpp

Added escaping and unescaping code for command line generation/parsing to enable pathnames containing = and ,. Fixes #207.

10:14 Changeset [976] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

-Fixed the shutdown of Eraser: the RemoteExecutor? rewrite introduced a bug where the server instances continued to listen thus preventing the shutdown of Eraser.
-Always call base.Dispose since the base class may need to do cleaning up

10:04 Changeset [975] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Delete the folder the user asked for erasure only if it is empty! Fixes the problem in http://bbs.heidi.ie/viewtopic.php?f=2&t=5556

10:01 Changeset [974] by lowjoel
  • branches/eraser6/Eraser/LogForm.Designer.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/LogForm.resx

-Don't change the dialog font and add the bevel line.
-Factor out the code dealing with copy/clear button enabling to the EnableButtons? function.

09:28 Ticket #207 (Restricted characters in filename) created by Joel
Eraser 6's shell extension passes arguments to Eraser by the command line. …

5/4/2009:

01:31 Ticket #206 (forums email activation failure) created by Posts
account name: posts predictable, happens all the time, email activation …

5/2/2009:

14:58 Changeset [973] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.resx

Strange, I thought I connected those event handlers already...

14:46 Changeset [972] by cjax
  • branches/eraser6/Eraser/LogForm.Designer.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/LogForm.resx

If the LogForm? was empty 'clear/copy to clip board' buttons
caused exceptions. That is now fixed.

11:34 Changeset [971] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Catch the OperationCanceledException? since on XP this is raised during program shutdown (and is harmless in this context)

11:33 Changeset [970] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/ToolBar.cs
  • branches/eraser6/Util/UxThemeAPI.cs

-Separated the ToolBar? drop-down menus from the toolbar itself - I didn't want to use the same renderer because the renderer will have to implement menu item rendering too which is what UxThemeMenuRenderer? does. But that only works on Vista+
-Fixed all the overloads for menus in UpdateControlTheme?. Menus/toolbars all use the same interface now.

08:44 Changeset [969] by lowjoel
  • branches/eraser6/Util/UxThemeAPI.cs

Forgot to uncomment code that was for debugging purposes.

08:42 Changeset [968] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs

Inflate the text rectangle a bit to prevent cropping of the text.

08:41 Changeset [967] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.resx

Aparently copying and pasting the menu items didn't copy their event handlers.

08:35 Changeset [966] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/ToolBar.cs
  • branches/eraser6/Util/UxThemeAPI.cs

-Recoded the Toolbar class to work like a standard MenuBar?. This allow for accelerators to work on the menus.
-The UxThemeAPI UpdateControlTheme? function also sets the themes on registered context menus and menu bars. This reduces the number of explicit calls.

06:15 Changeset [965] by lowjoel
  • branches/eraser6/Util/UxThemeAPI.cs

Render the arrow for menu items with submenus.

04:23 Changeset [964] by lowjoel
  • branches/eraser6/Util/UxThemeAPI.cs

-No need to call the base class functions since we handle the function calls
-For drawing the menu text always use DT_SINGLELINE (TextFormatFlags?.SingleLine?) because the menu textshould beon one line - this allow the vertical alignment flags to be used too.
-Destroy the hTheme once we're done with the drawing

03:53 Changeset [963] by lowjoel
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.resx

The Open Eraser menu from the notification area menu should be bolded as it is the default double-click action.

03:50 Changeset [962] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Util/Util.csproj
  • branches/eraser6/Util/UxThemeAPI.cs

Added the UxThemeAPI and UxThemeMenuRenderer? classes. They allow forms to use the new Vista-styled controls (most notably ListView?) and switches menu rendering to the UxTheme? rendering when it detects Vista or later.

5/1/2009:

06:45 Changeset [961] by lowjoel
  • branches/eraser6/Eraser/Resources/BackgroundLogo.png

Preparing for rc5.

06:19 Ticket #91 (Code Cleanup) closed by Joel
fixed: I think this is done this week from r898 to about r960
05:40 Changeset [960] by lowjoel
  • branches/eraser6/Dialog Designs
  • branches/eraser6/Resources/Source/Dialogs/Main Dialog Background.psd
  • branches/eraser6/Resources/Source/Dialogs/Main Dialog.psd
  • branches/eraser6/Resources/Source/Dialogs/Progress Dialog 2.psd

Merged the Dialog Designs folder with the Dialogs folder in resources.

05:31 Changeset [959] by lowjoel
  • branches/eraser6/CustomDictionary.xml

Expand our dictionary.

05:31 Changeset [958] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs

Fixed a crash on startup

05:24 Changeset [957] by lowjoel
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/FileSystem.cs
  • branches/eraser6/Manager/Schedule.cs

No publicly accessible nested types

05:19 Changeset [956] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/DefaultPlugins/EraseDoD.cs
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
  • branches/eraser6/DefaultPlugins/EraseGOSTP50739.cs
  • branches/eraser6/DefaultPlugins/EraseGutmann.cs
  • branches/eraser6/DefaultPlugins/EraseHMGIS5.cs
  • branches/eraser6/DefaultPlugins/EraseRCMP_TSSIT_OPS_II.cs
  • branches/eraser6/DefaultPlugins/EraseRandom.cs
  • branches/eraser6/DefaultPlugins/EraseSchneier.cs
  • branches/eraser6/DefaultPlugins/EraseUSAF5020.cs
  • branches/eraser6/DefaultPlugins/EraseUSArmyAR380_19.cs
  • branches/eraser6/DefaultPlugins/EraseVSITR.cs
  • branches/eraser6/Manager/Method.cs

-No publicly accessible nested types
-Replaced the ErasureMethod?.Pass class with the ErasureMethodPass? class and removed the WriteConstant? and WriteRandom? delegates which pointed to real functions in ErasureMethod?

05:00 Changeset [955] by lowjoel
  • branches/eraser6/Manager/Task.cs
  • branches/eraser6/Util/File.cs

The GetADSes function only needs an IList, don't pass a generic List object around as good practice.

04:58 Changeset [954] by lowjoel
  • branches/eraser6/Manager/EntropySource.cs

Use C# casing for the hash identifiers

04:57 Changeset [953] by lowjoel
  • branches/eraser6/Manager/Manager.cs

Enforce the fact that only one ManagerLibrary? instance can exist at any one time.

04:52 Changeset [952] by lowjoel
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Manager/Language.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs

Replaced the GetAll? functions with a static Items property.

04:50 Changeset [951] by lowjoel
  • branches/eraser6/CustomDictionary.xml
  • branches/eraser6/DefaultPlugins/Properties/AssemblyInfo.cs
  • branches/eraser6/Eraser/Properties/AssemblyInfo.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.Designer.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.resx
  • branches/eraser6/Manager/Properties/AssemblyInfo.cs
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

Fixed a few spelling mistakes (finally found out!)

04:22 Changeset [950] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/DefaultPlugins/Strings.en.resx
  • branches/eraser6/DefaultPlugins/Strings.nl.resx
  • branches/eraser6/DefaultPlugins/Strings.resx

Added missing internationalisations.

04:19 Changeset [949] by lowjoel
  • branches/eraser6/CustomDictionary.xml
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Eraser.sln
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Manager/Manager.csproj
  • branches/eraser6/Util/Util.csproj

Added the code analysis dictionary so we won't get misspellings of identifiers (like proper nouns and acronyms.)

03:41 Changeset [948] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Util/Localisation.cs

Implemented proper right-to-left detection for all messagebox calls.

03:26 Changeset [947] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Schedule.cs

-UpdateList? is more accurately named UpdateCollection?
-The FatalException? serialisation constructor should be protected
-Event calling functions should not be externally visible (for security reasons)
-DaysOfWeek? is already a plural noun, ignore the code analysis tool's warning.

03:23 Changeset [946] by lowjoel
  • branches/eraser6/Eraser/LogForm.cs

Changed the event handler delegate types such that all event handlers use the EventArgs?<> generic.

03:22 Changeset [945] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs

Fully implemented the ToolBarItemCollection? class.

03:14 Changeset [944] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/RemoteExecutor.cs
  • branches/eraser6/Manager/Task.cs

Fixed a few documentation inconsistencies and changed the event handler delegate types such that all event handlers use the EventArgs?<> generic.

02:26 Changeset [943] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/RemoteExecutor.cs

Properly implement the Dispose method - when disposing is true the managed objects are already destroyed.

02:17 Changeset [942] by lowjoel
  • branches/eraser6/Manager/Task.cs

Reduce code verbosity by using automatic properties.

02:14 Changeset [941] by lowjoel
  • branches/eraser6/Manager/Language.cs

Fixed the < and > appearin in the XML comments. They need to be escaped.

01:29 Changeset [940] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs

Use automatic proerties for conciseness.

01:25 Changeset [939] by lowjoel
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Settings.cs

Fixed a few find and replace errors introduced in r938, sorry.

01:08 Changeset [938] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseDoD.cs
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
  • branches/eraser6/DefaultPlugins/EraseRCMP_TSSIT_OPS_II.cs
  • branches/eraser6/DefaultPlugins/EraseUSAF5020.cs
  • branches/eraser6/DefaultPlugins/EraseUSArmyAR380_19.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/FileSystem.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Settings.cs
  • branches/eraser6/Manager/Task.cs

Rename these references as a result of r936

01:03 Changeset [937] by lowjoel
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/Schedule.cs

-Suppress the message about having readonly but not immutable reference types - these instances are readonly and also immutable.
-The ScheduledTask? properties which check for schedule type throw InvalidOperationException? instead of ArgumentException? now (ArgumentException? doesn't fit this use)
-And always call string.Format passing in the IFormatProvider instance.

01:01 Changeset [936] by lowjoel
  • branches/eraser6/Manager/Language.cs
  • branches/eraser6/Manager/Manager.cs

Replaced the LanguageManager? usage paradigm to be that of a static class since we only have one staic function GetAll?

01:01 Changeset [935] by lowjoel
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Task.cs

Replaced the property-variable pairs with automatic properties

00:41 Changeset [934] by lowjoel
  • branches/eraser6/Manager/Task.cs

-Removed the no longer used Id property and backing variable
-Instead of passing a mask to FolderTarget?.GetFiles?, use the instance member instead

00:38 Changeset [933] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Clear up resources used by the locks for the remote executor server.

00:37 Changeset [932] by lowjoel
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Manager.csproj

-The serialisation constructor and GetObjectData? must be protected and marked with SecurityPermission? respectively.
-FatalException? should implement the default constructor as well as the serialisation constructor.

00:35 Changeset [931] by lowjoel
  • branches/eraser6/Manager/EntropySource.cs

Locked the wrong object when copying the pool.

00:11 Changeset [930] by lowjoel
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

Fix the Logger class to work with remote requests.

00:10 Changeset [929] by lowjoel
  • branches/eraser6/Manager/Task.cs

Removed an unused variable.

00:10 Changeset [928] by lowjoel
  • branches/eraser6/Manager/RemoteExecutor.cs

Fundamentally redesigned the RemoteExecutor? classes to work with the new API.

4/29/2009:

12:58 Changeset [927] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Manager/RemoteExecutor.cs

Accidental commit, sorry.

12:53 Changeset [926] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs

The Owner variable in the Executor base class should be a property since it is publicly accessible (to inheritor classes) and therefore capitalised

12:50 Changeset [925] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
  • branches/eraser6/Eraser/LogForm.cs

Missed out these in the previous commit - the fact that the LogSessions? list was actually more accurately described a Dictionary and that there is no need to assign default values to variables (In the case of FL16KB the assignment is atomic - exceptions come from the function it is calling thus if an exception is caught the variable is not assigned)

12:47 Changeset [924] by lowjoel
  • branches/eraser6/Manager/Task.cs

-Task.GetPathADSes now no lnoger takes a List reference, but a list instead (lists are passed by reference)
-Task.GetPathADSes now takes an out long for the size of files instead of a ref (out is more appropriate)
-Fixed the ErasureTargetsCollection? class's IsReadOnly? property, Remove and Clear functions

-Remove and clear now removes the target's reference to the task when removed (detaching)

09:53 Changeset [923] by lowjoel
  • branches/eraser6/Manager/Logger.cs

The sessions thing is a Dictionary. Name it so.

09:23 Changeset [922] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs
  • branches/eraser6/Eraser/UpdateForm.cs
  • branches/eraser6/Manager/RemoteExecutor.cs

Tool*B*ar

09:23 Changeset [921] by lowjoel
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Settings.cs

Redid the Plugin API so that:
-The no list is visible publicly
-Events use the EventHandler? generic

09:20 Changeset [920] by lowjoel
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Task.cs

Implement the log addition/clearing functions in a separate class so that a List object is not exposed.

08:16 Changeset [919] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Schedule.cs

Fix CA2123.

08:09 Changeset [918] by lowjoel
  • branches/eraser6/Eraser/ToolBar.cs
  • branches/eraser6/Eraser/UpdateForm.cs

Rewritten the Toolbar and UpdateManager? code to factor out all list management functions to a collection class. Fixes warning CA1002.

08:05 Changeset [917] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/Task.cs

Rewritten the Executor API to factor out all task-list management functions to the ExecutorTasksCollection? class which will be inherited and implemented with each Executor class. Fixes warning CA1002.

4/28/2009:

14:39 Changeset [916] by lowjoel
  • branches/eraser6/Manager/Language.cs

The LanguageManager? constructor does nothing - remove it.

14:38 Changeset [915] by lowjoel
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx
  • branches/eraser6/Manager/Task.cs

-Don't nest publicly accessible classes in classes.
-Camelcasing for abbreviations
-Abstract class constructors should be protected

14:10 Changeset [914] by lowjoel
  • branches/eraser6/Util/File.cs

When converting a file size to a human-readable value account for the current UI culture.

14:10 Changeset [913] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Don't throw a file name format error when erasing files with ADSes

14:09 Changeset [912] by lowjoel
  • branches/eraser6/Eraser/UpdateForm.cs

Don't nest public classes.

14:08 Changeset [911] by lowjoel
  • branches/eraser6/Eraser/Program.cs

Removed the Guid parameter from the RegistrySettings? manager.

14:07 Changeset [910] by lowjoel
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/ToolBar.cs

ToolBar? is a compound word - use Camel Casing

14:06 Changeset [909] by lowjoel
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SchedulerPanel.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Util/Localisation.cs

Globalise our code.

-When using ToString? pass the current culture, and when using string.Format specify the current culture.
-When using MessageBox?.Show, tell it to display the dialog RTL when the parent control is in RTL mode.

12:30 Changeset [908] by lowjoel
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • branches/eraser6/DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs

Ran static code analysis on DefaultPlugin?

-Use proper casing for abbreviations
-Enumeration values should be camel casing
-public Enumeration types should be outside the class
-Don't initialise members to default values
-Make GetObjectData? overridable
-Implement the Dispose pattern properly

12:16 Changeset [907] by lowjoel
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Updated string for the task list serialisation exception.

12:15 Changeset [906] by lowjoel
  • branches/eraser6/Eraser/SchedulerPanel.cs

No need to use P/Invoke to get the bounds of a listview subitem. Use the .NET API instead.

12:13 Changeset [905] by lowjoel
  • branches/eraser6/DefaultPlugins/EraseCustom.cs
  • branches/eraser6/DefaultPlugins/EraseDoD.cs
  • branches/eraser6/DefaultPlugins/EraseFirstLast16KB.cs
  • branches/eraser6/DefaultPlugins/EraseGOSTP50739.cs
  • branches/eraser6/DefaultPlugins/EraseGutmann.cs
  • branches/eraser6/DefaultPlugins/EraseHMGIS5.cs
  • branches/eraser6/DefaultPlugins/EraseRCMP_TSSIT_OPS_II.cs
  • branches/eraser6/DefaultPlugins/EraseRandom.cs
  • branches/eraser6/DefaultPlugins/EraseSchneier.cs
  • branches/eraser6/DefaultPlugins/EraseUSAF5020.cs
  • branches/eraser6/DefaultPlugins/EraseUSArmyAR380_19.cs
  • branches/eraser6/DefaultPlugins/EraseVSITR.cs
  • branches/eraser6/DefaultPlugins/Plugin.cs
  • branches/eraser6/DefaultPlugins/RNGCrypto.cs
  • branches/eraser6/DefaultPlugins/RNGISAAC.cs
  • branches/eraser6/DefaultPlugins/SettingsForm.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/SettingsPanel.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/EntropySource.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/FileSystem.cs
  • branches/eraser6/Manager/Language.cs
  • branches/eraser6/Manager/Logger.cs
  • branches/eraser6/Manager/Manager.cs
  • branches/eraser6/Manager/Method.cs
  • branches/eraser6/Manager/PRNG.cs
  • branches/eraser6/Manager/Plugins.cs
  • branches/eraser6/Manager/RemoteExecutor.cs
  • branches/eraser6/Manager/Schedule.cs
  • branches/eraser6/Manager/Settings.cs
  • branches/eraser6/Manager/Task.cs

Ran static code analysis on Manager.

-Do not initialise class members to default values (runtime will handle that)
-Deserialisation constructors should be marked protected for unsealed classes
-Classes implementing ICollection should end with Collection (Mainly fixed here is ErasureTargetsCollection?)
-ISerializable.GetObjectData? should be marked virtual
-Use proper camel casing (Prng, Guid, FileName? etc)
-Enumeration values should be Camel casing
-Bitfields should be marked with the [Flags] attribute
-Implement the proper IDisposable pattern - one Dispose() and one Dispose(bool) - the latter doing the clean ups for both Dispose and finalisers
-public variables should instead be properties
-Abstract classes should have protected constructors
-Renamed Schedule.Type to Schedule.ScheduleType? to prevent ambiguity with GetType?()
-There shouldn't be a need to pass reference variables by reference

10:38 Changeset [904] by lowjoel
  • branches/eraser6/Eraser/BasePanel.Designer.cs
  • branches/eraser6/Eraser/BasePanel.resx
  • branches/eraser6/Eraser/MainForm.Designer.cs
  • branches/eraser6/Eraser/MainForm.cs
  • branches/eraser6/Eraser/MainForm.resx
  • branches/eraser6/Eraser/SchedulerPanel.Designer.cs
  • branches/eraser6/Eraser/SettingsPanel.Designer.cs

Ran Static code analysis on the Eraser project and implemented a few recommendations.

-Variable references should not use abbreviations of things: lbl should be expanded to Label
-Fixed "minimise" to "minimised"
-Enumeration constants should be in CamelCase

10:34 Changeset [903] by lowjoel
  • branches/eraser6/Eraser/AboutForm.Designer.cs
  • branches/eraser6/Eraser/AboutForm.cs
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/Program.cs
  • branches/eraser6/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/Eraser/ToolBar.cs
  • branches/eraser6/Eraser/UpdateForm.cs

Ran Static code analysis on the Eraser project and implemented a few recommendations.

-Use more specific exceptions to allow code to determine the type of exception.
-Made GUIProgram implement IDisposable since the global mutex must be freed.
-Mde AboutForm? implement IDisposable, clearing the caching bitmaps on dispose.
-Made a few CommandLineProgram? functions static since they don't reference this.
-Name parameters/local with more unique, descriptive names for clarity.
-Use EventHandler?<EventArg?> instead of declaring our own delegate and event types as the type of the evenr handler

08:12 Changeset [902] by lowjoel
  • branches/eraser6/Manager/FileSystem.cs

Added extra newlines to make the code fit within 100 characters per line

08:11 Changeset [901] by lowjoel
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

Added a few missing strings.

08:01 Changeset [900] by lowjoel
  • branches/eraser6/Eraser/LogForm.cs
  • branches/eraser6/Eraser/LogForm.resx

Allow long logs to be displayed rapidly by disabling redrawing until all items are added.

07:54 Changeset [899] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Executor.cs
  • branches/eraser6/Manager/FileSystem.cs
  • branches/eraser6/Manager/Manager.csproj

Refactored out the filesystem-specific code from DirectExecutor? to a FileSystem? class. Currently only implemented for NTFS

07:42 Changeset [898] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Task.cs

Stylistic corrections: use internal set in properties instead of using interally-visible member variables

4/27/2009:

13:43 Ticket #179 (Right Click Recycle Bin Failure) closed by Joel
duplicate: Actually, duplicated under #195.
13:40 Ticket #161 (Weekly schedule not working) closed by Joel
invalid: Ah I know why. This is because the scheduler lets you select multiple days …
13:24 Changeset [897] by lowjoel
  • branches/eraser6/DefaultPlugins/DefaultPlugins.csproj
  • branches/eraser6/Installer/Installer.wixproj

Get the Authenticode signatures from the system certificate store.

13:17 Ticket #139 (Right clicking recycle bin two errors.) closed by Joel
fixed: Oops, wrong ticket.
13:16 Ticket #173 (Odd Progress Bar Result.) closed by Joel
fixed: Fixed in r896
13:16 Changeset [896] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Eraser/ProgressForm.cs
  • branches/eraser6/Eraser/ProgressForm.en.resx
  • branches/eraser6/Eraser/ProgressForm.resx
  • branches/eraser6/Eraser/Strings.NL.resx
  • branches/eraser6/Eraser/Strings.en.resx
  • branches/eraser6/Eraser/Strings.resx

Implemented a more generic message when the dialog containing the progress of the erase is shown, so that the user will know that he has to wait for progress information to come from the executor. Fix for #173.

13:09 Ticket #173 (Odd Progress Bar Result.) reopened by Joel
13:06 Ticket #177 (Erasing file in use, no error message.) closed by Joel
fixed: I tried erasing a directory of symbol files which were locked; Eraser …
13:00 Ticket #139 (Right clicking recycle bin two errors.) reopened by Joel
Then again, I think we can replace the labels on the dialog to make it …
13:00 Ticket #173 (Odd Progress Bar Result.) closed by Joel
wontfix: I can't think of any way to solve this (even after so many months). This …
12:54 Ticket #139 (Right clicking recycle bin two errors.) closed by Joel
fixed: Okay, so the recycle bin icon should have been fixed and the only problem …
12:49 Changeset [895] by lowjoel
  • branches/eraser6/Eraser/Eraser.csproj
  • branches/eraser6/Util/File.cs

Using FileInfo?.OpenRead? will cause a file to be locked. In our case, the file doesn't need to be locked so open a file handle, allowing other applications to share access. This handles locked files better in tasks.

12:46 Changeset [894] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs
  • branches/eraser6/Manager/Strings.en.resx
  • branches/eraser6/Manager/Strings.nl.resx
  • branches/eraser6/Manager/Strings.resx

-Handle files which are currently locked by another process - currently the behaviour is to log the file as unerased and flag the task as an error having occurred
-Handle sparse/compressed/encrypted files without throwing an exception because that will cause the rest of the files to remain unerased

11:47 Ticket #171 (Disable buffering) closed by Joel
fixed: Actually I've looked through the documentation again and …
11:47 Changeset [893] by lowjoel
  • branches/eraser6/Manager/DirectExecutor.cs

Don't allow file writes to stay in the system cache for later writing - instruct that data be written to disk immediately. Fixes #171.

4/26/2009:

23:59 Changeset [892] by lowjoel
  • branches/eraser6/Installer/SignBin.bat

Store all certificates in the Windows certificate store instead of having thme as loose pfx's on the disk for security reasons.

11:44 Changeset [891] by lowjoel
  • trunk/bin/Eraser.iss

Delete user configuration files after uninstall.

4/22/2009:

07:21 Ticket #175 (Schedule screen won’t clear properly.) closed by Joel
worksforme: No repro case again... I really can't see how or why that will happen.
07:12 Ticket #180 (Flash Drive Error.) closed by Joel
worksforme: Can't replicate the thing. Also, I remembered fixing a similar problem …

4/19/2009:

10:16 Changeset [890] by lowjoel
  • branches/website/announcements/20090418.html

Fixed the hahes. Also, display hashes in a code block for clarity.

10:15 Changeset [889] by lowjoel
  • branches/website/index.php

Use standard terminology - the Portable version not the Standalone version.

4/18/2009:

23:30 Ticket #183 (Capcha too hard or not working.) closed by Joel
invalid: Actually on the forum the captcha is standard and comes packaged with …
17:40 Ticket #112 (Slow authentication e-mail) closed by Garrett
fixed: This may be due to mail server overloaded and is transient.
17:38 Ticket #143 (ISSAC or ISSAC+) closed by Garrett
fixed: Having a totally random generator will actually make it easier for a …
04:59 Changeset [888] by lowjoel
  • branches/website/Templates/Eraser.dwt
  • branches/website/announcements/20081201.html
  • branches/website/announcements/20081213.html
  • branches/website/announcements/20090103.html
  • branches/website/announcements/20090108.html
  • branches/website/announcements/20090418.html
  • branches/website/contributing.html
  • branches/website/index.php
  • branches/website/reviews.html

Aded the announcement for 5.8.7beta5

04:38 Changeset [887] by lowjoel
  • trunk/README.txt
  • trunk/version.h

Version bump.

03:59 Ticket #205 (VS x64 libraries redistributable installer fails to install) closed by Joel
fixed: Fixed in r886. I kinda forgot that both the x64 and x86 builds can be …
03:58 Changeset [886] by lowjoel
  • trunk/bin/Eraser.iss

Extract the 32-bit and 64-bit VC++ redistributables if WoW was selected. Fixes #205

03:52 Ticket #134 (Vista 64 Eraser v5.87 no context menu) closed by Joel
fixed: Thanks, fixed in r885. Was a typo in the setup script.
03:51 Changeset [885] by lowjoel
  • trunk/bin/Eraser.iss

Fixed missing shell extension. Fixes #134.

02:22 Changeset [884] by lowjoel
  • trunk/EraserDll/Eraser.cpp
  • trunk/EraserDll/File.cpp
  • trunk/EraserDll/Random.cpp
  • trunk/EraserDll/Random.h
  • trunk/EraserDll/Schneier7Pass.cpp
  • trunk/SchedulerView.cpp

-Fixed a few 64-bit warnings
-Fixed a wrong use of assignment operator (== was intended)
-Corrected the ISAAC code for 64-bit, buffers were assumed to be long enough onlt to fit in a 32-bit integer

4/17/2009:

11:48 Changeset [883] by lowjoel
  • trunk/Eraser.cpp
  • trunk/SchedulerView.cpp
  • trunk/StdAfx.h

Fixed the next-run time column for tasks which run at midnight.

11:47 Changeset [882] by lowjoel
  • trunk/Item.cpp
  • trunk/SchedulerView.cpp

Implemented the task-end action for scheduled tasks and dragged and dropped on-demand tasks

07:05 Ticket #30 (Encrypted page file) closed by Joel
wontfix: Hmm, agreed.
07:01 Ticket #199 (Scheduler Next Run does not show time if set to midnight) closed by Joel
fixed: Fixed in r883
06:44 Ticket #185 (The "COPYING.txt" file is corrupted.) closed by Joel
wontfix
06:41 Ticket #198 (When Finished option does not work for Scheduled Tasks) closed by Joel
fixed: Ok I've really fixed it in r882. Also fixed the drag and drop problem and …
06:07 Ticket #189 (Eraser shutting down entire system) closed by Joel
duplicate: Main problem is #198. Will close this as duplicate.
06:06 Ticket #190 (Eraser setting up unwanted entry in autostart for deletion) closed by Joel
wontfix: I think the first problem you raised can't be fixed. If the user says the …

4/13/2009:

19:23 Ticket #205 (VS x64 libraries redistributable installer fails to install) created by Walda
It can't find a cab in the user's temp folder. […] It's really not …
19:18 Ticket #134 (Vista 64 Eraser v5.87 no context menu) reopened by Walda
Confirmed, no context menu in Vista x64. Using 5.87 beta 4. Version …

4/12/2009:

02:27 Ticket #204 (Add a non admin restore to delete utility for unused space) created by donald
Add a non admin restore to delete utility for unused space. By this I …
Note: See TracTimeline for information about the timeline view.