Timeline


and

1/22/2010:

07:13 Changeset [1648] by lowjoel
  • trunk/website/download.php

Properly redirect users to an error page when we do have errors.

07:11 Changeset [1647] by lowjoel
  • trunk/website/scripts/downloads.php
  • Fixed the computation of the absolute path when calling Build::InsertBuild?: the previous revision would either double-place an 'r' before the revision (so i'll be rr1640, for example)
  • Fixed the storage of installer files in the database, there's an extra 'r' in the file name.
07:01 Changeset [1646] by lowjoel
  • trunk/website/scripts/blackbox/upload.php

I shouldn't expect the presence of the English words "in" and "at" in stack traces since it's localised (gah!)

07:00 Changeset [1645] by lowjoel
  • trunk/website/scripts/downloads.php

The installer size must be computed from the real path, not the downloads-relative path.

06:54 Changeset [1644] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx

Forward port from Eraser 6.0: Fixed crash when we try to close open handles and where no handles were found to match the file in use, leading to us doing a substring on a string which is blank.

06:51 Changeset [1643] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Manager/Strings.en.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.it.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/6.0/Eraser.Manager/Strings.resx

Fixed crash when we try to close open handles and where no handles were found to match the file in use, leading to us doing a substring on a string which is blank.

06:30 Changeset [1642] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/AboutForm.cs
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.resx

Forward port from Eraser 6.0: Fixed crash when user clicks on About dialog links but there was an error starting the process. This results in Process.Start throwing a Win32Exception which we now catch and show the error to the user.

06:26 Changeset [1641] by lowjoel
  • branches/eraser6/6.0/Eraser/AboutForm.cs
  • branches/eraser6/6.0/Eraser/Strings.NL.resx
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Fixed crash when user clicks on About dialog links but there was an error starting the process. This results in Process.Start throwing a Win32Exception which we now catch and show the error to the user.

05:57 Changeset [1640] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/Program.cs

Forward port from Eraser 6.0: Fixed race condition when two instance of Eraser are started simultaneously. The first instance would have created the pipe which listens for commands, then creates the program window. The second instance would find the mutex created and connect to the pipe from the first instance. The first instance broadcasts the OnNextInstance? event, but the main thread is still in the constructor of the MainForm?. The program then has a NullReferenceException?. The new behaviour is to initialise the main window before the pipe listening for new instances are created. This also allows the OnInitInstance? event to abort the startup of the program.

05:54 Changeset [1639] by lowjoel
  • branches/eraser6/6.0/Eraser/Program.cs

Fixed race condition when two instance of Eraser are started simultaneously. The first instance would have created the pipe which listens for commands, then creates the program window. The second instance would find the mutex created and connect to the pipe from the first instance. The first instance broadcasts the OnNextInstance? event, but the main thread is still in the constructor of the MainForm?. The program then has a NullReferenceException?. The new behaviour is to initialise the main window before the pipe listening for new instances are created. This also allows the OnInitInstance? event to abort the startup of the program.

05:27 Changeset [1638] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Util/StreamInfo.cs
  • trunk/eraser6/Eraser.Util/VolumeInfo.cs

Forward port from Eraser 6.0: Fixed exception when the filesystem object being erased is non-existent (i.e. when a task for erasing a removable drive was created, drive was removed and task executed)

  • StreamInfo? will have the Exists property return false if the directory containing the stream is not found either (this was an oversight)
  • VolumeInfo? will not throw a COMException when the the path is not a reparse point and if the provided mountpoint is non-existent.
05:24 Changeset [1637] by lowjoel
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/6.0/Eraser.Util/StreamInfo.cs
  • branches/eraser6/6.0/Eraser.Util/VolumeInfo.cs

Fixed exception when the filesystem object being erased is non-existent (i.e. when a task for erasing a removable drive was created, drive was removed and task executed)

  • StreamInfo? will have the Exists property return false if the directory containing the stream is not found either (this was an oversight)
  • VolumeInfo? will not throw a COMException when the the path is not a reparse point and if the provided mountpoint is non-existent.
05:08 Changeset [1636] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/SchedulerPanel.cs

Forward port from Eraser 6.0: Fixed regression introduced in r1633, I removed the call to UXThemeApi.UpdateControlTheme? accidentally.

05:07 Changeset [1635] by lowjoel
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Fixed regression introduced in r1633, I removed the call to UXThemeApi.UpdateControlTheme? accidentally.

04:45 Changeset [1634] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs

Forward port from Eraser 6.0: Fixed regression introduced in r1490 where CreateControl? was called in MainForm?. CreateControl? however does not create handles when the control is not visible (delayed creation.) Since only SchedulerPanel? needs to have a handle created, we'll force creation of the handle there. In addition, remove an unnecessary call to UXThemeApi.UpdateControlTheme?.

04:28 Changeset [1633] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs

Fixed regression introduced in r1490 where CreateControl? was called in MainForm?. CreateControl? however does not create handles when the control is not visible (delayed creation.) Since only SchedulerPanel? needs to have a handle created, we'll force creation of the handle there. In addition, remove an unnecessary call to UXThemeApi.UpdateControlTheme?.

01:27 Ticket #319 (Track the frequency of crash reports) created by Joel
Currently, crash reports with similar stack traces are ignored. In future, …
00:35 Changeset [1632] by lowjoel
  • trunk/website/scripts/downloads.php

Suggest the name of the download when it is requested, instead of the name of the file on disk.

00:30 Changeset [1631] by lowjoel
  • trunk/website/scripts/downloads.php
  • Optimized the selection algorithm for picking builds from the builds table
  • If we can't find a build by the given branch and revision, then we should throw an exception. The handling of new builds is now done in the Build::Get function
  • Define the Build::BuildExists? function to check whether a build exists/has been created
  • Build::InsertBuild? now accepts a path to the revision so it can accept files with the revision as its filename

1/21/2010:

13:36 Changeset [1630] by lowjoel
  • trunk/website/scripts/downloads.php
  • When checking the path to the file for local files they are prefixed by a ?, remove it
  • Fixed a few column/variable references which weren't fixed
  • Fixed paths to files, the path we needed was supposed to be relative
  • Slightly more accurate algorithm to maintain only three builds
10:16 Changeset [1629] by lowjoel
  • trunk/website/scripts/downloads.php

Call the "path" column in the builds table "branch" since that's what it is - the branch that the build is using. Also allow single installers with the revision of the file to be used as the download target

08:53 Changeset [1628] by lowjoel
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Installer/Installer.wixproj

Build the installers as a separate target in the msbuild project. Also removed the dependency on solution variables when building the WiX project.

03:02 Changeset [1627] by lowjoel
  • trunk/eraser6/Eraser.msbuild
  • trunk/eraser6/Eraser.sln

Disable building of the Installer project in the solution file for all configurations - the Installer project should always be manually built as it is dependent on files on multiple architectures. This ensures that the platform-agnostic managed assemblies are shared between builds to simplify assembly management and symbol management. Thus, to facilitate automatic building of the entire distribution, I've written an msbuild project file which will build the necessary binaries first, then package the binaries into MSIs.

02:59 Changeset [1626] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Removed unnecessary using declarations and fixed a sharing violation with the PostDataBuilder? class (due to an undisposed stream which I used when getting the Boundary property.) Addresses #307: Eraser Updater restructuring and addresses #308: Upgrade BlackBox? to use the ProgressManager? classes

00:38 Changeset [1625] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj

Updated the references to Eraser.Util.Native.vcproj

00:22 Changeset [1624] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.FileSystem.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.vcproj
  • branches/eraser6/CodeReview/Eraser.sln

Forgot to rename the C++ project to Native.

1/20/2010:

10:00 Ticket #281 (File is currently in use and cannot be removed) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
00:04 Ticket #318 (Allow resolutions to be passed to BlackBox reporters) created by Joel

1/19/2010:

13:00 Changeset [1623] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Strange, the OnGUIIdle event wasn't registered...

12:45 Changeset [1622] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Combine the progress and upload steps to the Upload function since compression of the report is strictly the task of the Report Uploader. Addresses #307: Eraser Updater restructuring

11:00 Ticket #294 (Schedule Screen - Buttons required) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …
09:28 Changeset [1621] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx

These strings have been moved to Eraser.Util.

09:23 Changeset [1620] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs

These strings cannot currently be translated as the Util library doesn't have a localisation library.

09:20 Changeset [1619] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs

FormField? => PostDataField? and FormFileField? => PostDataFileField?

09:16 Changeset [1618] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj

Document the PostDataBuilder? class.

  • Define the ContentType? property for us to get the content-type of the data
  • The Boundary property cannot be set once parts have been added to the object
09:06 Changeset [1617] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/PostDataBuilder.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Move the BlackBoxReportUploader? to the Eraser.Util assembly. Also move the MultipartFormDataBuilder? to Eraser.Util. Addresses #307: Eraser Updater restructuring

08:51 Changeset [1616] by lowjoel
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Use the Eraser.Util.ProgressManager? classes to calculate progress. Addresses #307: Eraser Updater restructuring

08:40 Changeset [1615] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/DbgHelp.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs

Fixed compilos introduced during merge of trunk to the CodeReview? branch. Addresses #317: Merge the BlackBox? branch

08:32 Ticket #317 (Merge the BlackBox branch) closed by Joel
fixed: NativeMethods class merged in r1614
08:31 Changeset [1614] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/DbgHelp.cs

Split the Eraser.Util.BlackBox?.NativeMethods? class to the Eraser.Util.NativeMethods? partial class. Addresses #317: Merge the BlackBox? branch

08:24 Changeset [1613] by lowjoel
  • branches/eraser6/CodeReview
  • branches/eraser6/CodeReview/Dependencies/ICSharpCode.SharpZipLib.dll
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Util/BlackBox.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxMainForm.resx
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.cs
  • branches/eraser6/CodeReview/Eraser/BlackBoxUploadForm.resx
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj
  • branches/eraser6/CodeReview/Eraser/MainForm.Designer.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.nl.resx
  • branches/eraser6/CodeReview/Eraser/MainForm.resx
  • branches/eraser6/CodeReview/Eraser/Program.cs
  • branches/eraser6/CodeReview/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/CodeReview/Eraser/Properties/Resources.resx
  • branches/eraser6/CodeReview/Eraser/Resources/BlackBox.png
  • branches/eraser6/CodeReview/Eraser/Strings.NL.resx
  • branches/eraser6/CodeReview/Eraser/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser/Strings.resx
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs
  • branches/eraser6/CodeReview/Resources/Source/Icons/Nuke (Crash).psd

Forward ported changes to trunk (till r1611) to the CodeReview? branch. Addresses #317: Merge the BlackBox? branch

08:22 Ticket #317 (Merge the BlackBox branch) reopened by Joel
I have yet to merge the NativeMethods? class…
07:53 Ticket #317 (Merge the BlackBox branch) closed by Joel
fixed: Merged in r1611 and the branch was deleted in r1612
07:51 Changeset [1612] by lowjoel
  • branches/eraser6/BlackBox

Merged in r1611

07:45 Changeset [1611] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Dependencies/ICSharpCode.SharpZipLib.dll
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Util/BlackBox.cs
  • trunk/eraser6/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser6/Eraser/BlackBoxMainForm.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxMainForm.cs
  • trunk/eraser6/Eraser/BlackBoxMainForm.resx
  • trunk/eraser6/Eraser/BlackBoxUploadForm.Designer.cs
  • trunk/eraser6/Eraser/BlackBoxUploadForm.cs
  • trunk/eraser6/Eraser/BlackBoxUploadForm.resx
  • trunk/eraser6/Eraser/Eraser.csproj
  • trunk/eraser6/Eraser/MainForm.Designer.cs
  • trunk/eraser6/Eraser/MainForm.nl.resx
  • trunk/eraser6/Eraser/MainForm.resx
  • trunk/eraser6/Eraser/Program.cs
  • trunk/eraser6/Eraser/Properties/Resources.Designer.cs
  • trunk/eraser6/Eraser/Properties/Resources.resx
  • trunk/eraser6/Eraser/Resources/BlackBox.png
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.resx
  • trunk/eraser6/Installer/DirectoryStructure.wxs
  • trunk/eraser6/Resources/Source/Icons/Nuke (Crash).psd

Merged the BlackBox? branch to trunk. Completes #317: Merge the BlackBox? branch

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

Use Assembly.LoadFrom? over Assembly.LoadFile? since LoadFrom? has slightly better behaviour in unique circumstances

05:28 Ticket #315 (Fix handling of corrupt crash reports) closed by Joel
fixed: Fixed in r1609
05:28 Changeset [1609] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

A few BlackBox? behavioural changes which should fix #315: Fix handling of corrupt crash reports

  • Crash Reports are named using UTC time
  • We will handle exceptions thrown during the creation of the error report. However, if we do not manage to even write a stack trace, then delete the whole report and abort generation of the report. This is supposed to deal with low-disk space events (which Eraser is good at triggering...)
  • Upon restart, if the Report cannot have its own stack trace loaded, indicative of an error deleting the incomplete report, an InvalidDataException? will be thrown and the report will delete itself (as unanticipated cleanup)
05:11 Changeset [1608] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Always write the debug log, the screenshot, then the memory dump as that's the usual order for files in increasing size. This helps with situations where the disk is full. Addresses #315: Fix handling of corrupt crash reports

04:58 Ticket #317 (Merge the BlackBox branch) created by Joel
04:46 Changeset [1607] by lowjoel
  • branches/eraser6/CodeReview/Eraser.fxcop

Alright, apply FxCop? to all types inside the assembly, including internal types. Now we've got hundreds of warnings to slowly fix... in a patch in future, maybe.

04:43 Changeset [1606] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/SystemRestore.cs

The SystemRestore? class is generated by mgmtclassgen so ignore FxCop? warnings from it

04:39 Ticket #316 (Eraser causes lag when running) created by Joel
Eraser 6 causes some computers to be unusably slow. The current suspect is …
04:30 Changeset [1605] by lowjoel
  • branches/eraser6/CodeReview/CustomDictionary.xml

Defined new terms found in Util.

04:29 Changeset [1604] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Don't corrupt the GetLastError?() code when closing the SafeHandle? instance.

04:12 Changeset [1603] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h

Fixed CA1823: Private fields were detected that do not appear to be accessed within the assembly.

04:09 Changeset [1602] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Or16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat32Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.h

Fixed CA1801: Parameter 'info' of 'FatApi?.FatApi?(VolumeInfo?, Stream)' is never used. Remove the parameter or use it in the method body.

04:02 Changeset [1601] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj

Define the CODE_ANALYSIS constant in debug builds so that System.Diagnostics.CodeAnalysis?.SuppressMessage? attributes get generated and FxCop? will silence those warnings.

03:56 Changeset [1600] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/Localisation.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

These warnings generated by FxCop? can be suppressed as the code has been verified and excluded.

03:55 Changeset [1599] by lowjoel
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs

Fix CA1822: Mark members as static

03:53 Changeset [1598] by lowjoel
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Fixed CA1300 and CA1305: call the MessageBox?.Show overload that specifies MessageBoxOptions? and call string.Format(IFormatProvider, string, params object[]) instead to ensure proper localisation.

03:40 Changeset [1597] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Fixed CA1308: Strings should be normalised to upper case.

03:38 Changeset [1596] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser/LogForm.cs

Fixed CA1804: Remove locals that are not used or are only assigned to in method implementations.

03:30 Changeset [1595] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Renamed all identifier names which were changed in the previous few revisions to get the code to compile.

03:28 Changeset [1594] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/CodeReview/Eraser/AboutForm.cs

Ran FxCop? on all the assemblies

  • Fixed CA1822: Specify that a method is static if the this parameter is not used
  • Fixed CA1805: Do not initialise unnecessarily with null or 0
03:00 Changeset [1593] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
02:51 Changeset [1592] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs

Fixed CA1704 : Microsoft.Naming : Correct the spelling of 'Filesize' in member name 'File.GetHumanReadableFilesize?(long)' or remove it entirely if it represents any sort of Hungarian notation. GetHumanReadableFilesize? => GetHumanReadableFileSize?. In addition, sizes use the next larger unit the moment it exists 1000 (to minimise the number of significant figures in the result)

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

Fixed CA1704 : Microsoft.Naming : In method 'S._(string)', correct the spelling of 'str' in parameter name 'str' or remove it entirely if it represents any sort of Hungarian notation.

02:43 Changeset [1590] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

Fixed warning CA1800: Microsoft.Performance : 'control', a parameter, is cast to type multiple times in method 'Theming.ApplyTheme?(Control)'.

02:27 Changeset [1589] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs

Fixed CA1034: Nested types should not be visible.

02:25 Changeset [1588] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/AdvApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Removed UacEnabled? and its dependent declarations since no code uses it now.

02:16 Changeset [1587] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Oops, fixed compilo introduced in r1585

02:13 Changeset [1586] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Partly reverse-merged r1554 to fix CA1001 : Microsoft.Design : Implement IDisposable on 'CryptApi?' because it creates members of the following IDisposable types: 'SafeCryptHandle?'

01:29 Changeset [1585] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Fixed CA1404 : Microsoft.Interoperability: Move the call to GetLastWin32Error so that it immediately follows the relevant platform invoke call. Addresses #284: Eraser.Util rewrite

01:16 Changeset [1584] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Fixed a few FxCop? warnings:

00:48 Changeset [1583] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Use the System.Diagnostics.Process.Handle member instead of calling GetCurrentProcess?() from Kernel32. Addresses #284: Eraser.Util rewrite

00:40 Changeset [1582] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/ShellExt/ShellExt.vcproj

Fixed inconsistent paths in the OutputDir? property for C++ projects - it resulted in double backslashes.

1/18/2010:

23:12 Changeset [1581] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Check that we *have* positional arguments in the first place before verifying that the first one is the same as the first raw one.

10:54 Ticket #315 (Fix handling of corrupt crash reports) created by Joel
In the case of no free disk space a BlackBox? crash report may not be …
10:50 Changeset [1580] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs

"Press any key to continue" not "Press enter to continue" is what Pause does in the system console.

10:48 Changeset [1579] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Reviewed the indentation in the Help message and also reviewed the content accuracy of the help message.

10:36 Changeset [1578] by lowjoel
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs

Forgot to include CommonLibrary? in our installer.

10:28 Changeset [1577] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Volumes and MountedVolumes? properties of VolumeInfo? should have try-finally blocks around the handles we open so the handles are always closed.

10:19 Changeset [1576] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs

Throw an IOException when we can't access a given file instead of a FileLoadException? since FileLoadExceptions? are for assemblies which don't load properly. Addresses #284: Eraser.Util rewrite

07:48 Changeset [1575] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/PRNG.cs

Remove an unnecessary unsafe function.

07:42 Changeset [1574] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Removed an unnecessary unsafe function

07:37 Changeset [1573] by lowjoel
  • branches/eraser6/CodeReview/Installer/DirectoryStructure.wxs

Deal with the combination of the FileSystem? and Unlocker assemblies for the installer.

07:31 Changeset [1572] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/ProgressManager.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Moved the ProgressManager? classes to Eraser.Util. Addresses #284: Eraser.Util rewrite

07:21 Changeset [1571] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/SettingsForm.cs
  • branches/eraser6/CodeReview/Eraser/AboutForm.cs
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs
  • branches/eraser6/CodeReview/Eraser/TaskPropertiesForm.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Fixed the references to UXThemeApi.UpdateControlTheme? (to Theming.ApplyTheme?.) Addresses #284: Eraser.Util rewrite

07:17 Changeset [1570] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs

Compilo fixes from 1552 to 1569 after the huge reshuffling

07:11 Changeset [1569] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/SystemInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Moved the DiskPerformanceInfo? class to the VolumeInfo? class and that's how we can query volumes for performance information. Addresses #284: Eraser.Util rewrite

06:53 Changeset [1568] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/SystemInfo.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

Make the remainder of the KernelApi? class to be SystemInfo? since that best describes the functionality of the class. Addresses #284: Eraser.Util rewrite

06:49 Changeset [1567] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/ConsoleWindow.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs

Split the ConsoleWindow? class out of the KernelApi? class since it manages the lifetime of a ConsoleWindow?. Addresses #284: Eraser.Util rewrite

06:41 Changeset [1566] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Moved KernelApi?.GetHRForWin32Error and GetExceptionForWin32Error to the Win32ErrorCode class

06:18 Changeset [1565] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/SystemRestore.cs

SystemRestoreApi?.cs => SystemRestore?.cs (since this isn't really an API)

06:17 Changeset [1564] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs

Moved NtApi?.NtQueryInformationFile? to File.GetFileADSes since that was the only caller of this function.

06:16 Changeset [1563] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/RecycleBin.cs

Replaced the ShellApi? class with the RecycleBin? class (since ShEmptyRecycleBin? was the only remaining member of the class) Addresses #284: Eraser.Util rewrite

06:11 Changeset [1562] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Power.cs

Move the SetThreadExecutionState? function to the Power class. Addresses #284: Eraser.Util rewrite

06:02 Changeset [1561] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs

Compilo.

06:01 Changeset [1560] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs

The File Time APIs should belong to the Eraser.Util.File static class

05:59 Changeset [1559] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs

Move Get/SetFileTimes? together with the FileTimeToDateTime/DateTimeToFileTime? functions

05:53 Changeset [1558] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs
  • branches/eraser6/CodeReview/Eraser.Util/Theming.cs

Reviewed and renamed UxThemeApi? => Theming.

05:46 Changeset [1557] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Gdi.cs

Compilo: The class should be in the Eraser.Util namespace, not the NativeMethods? namespace.

05:45 Changeset [1556] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Document the ThemesActive? property of the UXThemeApi class

05:41 Changeset [1555] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Gdi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs

Factored out the SelectObject? function which belongs in Gdi.cs

05:38 Changeset [1554] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Reviewed the SafeHandle? classes which we subclass. Also, don't implement IDisposable for CryptApi? since we use a global static instance. Addresses #284: Eraser.Util rewrite

05:34 Changeset [1553] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Settings.cs
  • branches/eraser6/CodeReview/Eraser.Util/WintrustApi.cs

Compilo fixes after r1552.

05:32 Changeset [1552] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/MsCorEEApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Security.cs

Combined the functions in AdvApi?, MsCorEEApi and WintrustApi? to Security.cs

05:23 Changeset [1551] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/Win32ErrorCodes.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Replace all ERROR_* constants with the Win32ErrorCodes class (to be more descriptive.) Addresses #284: Eraser.Util rewrite

04:59 Changeset [1550] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/StreamInfo.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Fixed StreamInfo?.cs and VolumeInfo?.cs to compile after the NativeMethods? refactor. Addresses #284: Eraser.Util rewrite

04:58 Changeset [1549] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Sfc.cs

Compilo.

04:51 Changeset [1548] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Sfc.cs

Reviewed File.cs to get it to compile after the NativeMethods? refactor. Create a new file Sfc.cs for SfcIsFileProtected?. Addresses #284: Eraser.Util rewrite

04:45 Changeset [1547] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Cleaned up the UXThemeApi.ThemeMessageFilter? class.

04:44 Changeset [1546] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.FileSystem

Removed the Eraser.Util.FileSystem? assembly.

04:43 Changeset [1545] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Fixed the string to use a . instead of a , at the end of the exception message.

04:42 Changeset [1544] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NtDll.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs
  • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs

Move more stuff to the NativeMethods? definitions

04:19 Changeset [1543] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/AdvApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/MsCorEEApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NTApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/AdvApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Kernel.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/MsCorEE.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NetApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/NtDll.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/Shell.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/User.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/UxTheme.cs
  • branches/eraser6/CodeReview/Eraser.Util/NativeMethods/WinTrust.cs
  • branches/eraser6/CodeReview/Eraser.Util/NetApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/NtfsApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/ShellApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/UserApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/UxThemeApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/WintrustApi.cs

Moved all the NativeMethods? declarations to the NativeMethods? folder with filenames equal to the DLL the functions import from. Addresses #284: Eraser.Util rewrite

03:42 Changeset [1542] by lowjoel
  • branches/eraser6/CodeReview/Eraser.sln

Add Eraser Native.vsprops to our solution files.

03:41 Changeset [1541] by lowjoel
  • branches/eraser6/CodeReview/Eraser Native.vsprops
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Installer/Bootstrapper/Bootstrapper.vcproj
  • branches/eraser6/CodeReview/ShellExt/ShellExt.vcproj

Use Eraser Native.vsprops to specify that the VC runtimes which we bind to should be the SP1 ones.

03:27 Changeset [1540] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h

Change the OpenHandle? struct to be a ref class instead, since that's more appropriate (as a reference type)

03:24 Changeset [1539] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Eraser.DefaultPlugins.csproj
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.FileSystem.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat12Or16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat16Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Fat32Api.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/FatApi.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Stdafx.h
  • branches/eraser6/CodeReview/Eraser.sln

Moved Eraser.Util.FileSystem? to the Eraser.Util.Native assembly.

03:08 Changeset [1538] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.h

Forgot to rename Unlocker.h

03:05 Changeset [1537] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/AssemblyInfo.cpp

Updated AssemblyInfo? for Eraser.Util.Native

03:04 Changeset [1536] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.NameResolver.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/OpenHandle.h

Rename the Eraser.Util.Native files to OpenHandle? since I will be merging the filesystem files next

02:52 Changeset [1535] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.cpp
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.h
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Native.rc
  • branches/eraser6/CodeReview/Eraser.Util.Native/Eraser.Util.Unlocker.vcproj
  • branches/eraser6/CodeReview/Eraser.Util.Native/Unlocker.cpp
  • branches/eraser6/CodeReview/Eraser.sln

Blind Eraser.Util.Unlocker = >Eraser.Util.Native

02:46 Changeset [1534] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util.Native

Addreses #284: Eraser.Util rewrite. I'm going to merge the Eraser.Util.Filesystem assembly into the Eraser.Util.Unlocker assembly and call it Eraser.Util.Native.

02:43 Changeset [1533] by lowjoel
  • trunk/eraser6

Added bug tracker integration for TortoiseSVN

1/16/2010:

01:22 Ticket #314 (German translation string res.) created by BloodySword
German translation string res.

1/15/2010:

04:23 Changeset [1532] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/EntropySource.cs

Removed an unnecessary unsafe method declaration.

04:22 Changeset [1531] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/WintrustApi.cs

Reviewed the use of AllocHGlobal and found that this one could leak memory.

04:19 Changeset [1530] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Util/KernelApi.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs

Replaced the call to Marshal.AllocHGlobal to use the managed StringBuilder? class for automatic buffer marshalling. Addresses #284: Eraser.Util rewrite

03:58 Ticket #313 (ArgumentException when erasing files on network shares) created by Joel
See source:/trunk/eraser6/Eraser.Util/VolumeInfo.cs line 188 …
02:08 Changeset [1529] by lowjoel
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.en.resx
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.it.resx
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.nl.resx
  • branches/eraser6/CodeReview/Eraser.DefaultPlugins/Strings.resx
  • branches/eraser6/CodeReview/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/CodeReview/Eraser.Util/ExtensionMethods
  • branches/eraser6/CodeReview/Eraser.Util/ExtensionMethods/IO.cs

Combined the WindowsFileSystem?'s DeleteFolder? and DeleteFile? methods to the DeleteFileSystemInfo? method, which prevents code duplication and ensures consistent behaviour when deleting "files". Addresses #275: Code review.

02:04 Ticket #312 (Verify Reparse point behaviour) created by Joel
Verify the deletion of a drive root and mount point
01:41 Changeset [1528] by lowjoel
  • branches/eraser6/CodeReview/Eraser.Manager/Executor.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Plugins.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Settings.cs
  • branches/eraser6/CodeReview/Eraser.Manager/Task.cs
  • branches/eraser6/CodeReview/Eraser.Util/File.cs
  • branches/eraser6/CodeReview/Eraser.Util/VolumeInfo.cs
  • branches/eraser6/CodeReview/Eraser/TaskDataSelectionForm.cs

Replaced all ICollection references to IList, where applicable. More often than not, the return variables were indeed ILists. Addresses #275: Code review

1/14/2010:

13:21 Changeset [1527] by lowjoel
  • branches/eraser6/CodeReview/Eraser/LogForm.cs
  • branches/eraser6/CodeReview/Eraser/MainForm.cs
  • branches/eraser6/CodeReview/Eraser/ProgressForm.cs
  • branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
  • branches/eraser6/CodeReview/Eraser/UpdateForm.cs

No need to create new EventHandler? objects, since what we are doing is disambiguating the functions. Addresses #275: Code Review

10:58 Changeset [1526] by lowjoel
  • branches/eraser6/CodeReview/Eraser/LogForm.cs

Reviewed the LogForm? class. Addresses #275: Code Review

  • Renamed the class member variables to be CapitalCase?, as standard
  • The SelectedEntries? variable is now a SortedList?<int, LogEntry?> for easier comprehension of the code - the value type of object made it non-obvious as to the purpose of the variable
  • Optimised the following functions:
    • copySelectedEntriesToolStripMenuItem_Click
    • log_ItemActivate
10:57 Ticket #311 (Use Jumplists in Windows 7) created by BloodySword
Let the user choose whenever he wants to use the eraser shell extension or …
10:55 Changeset [1525] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Being perfectionist about the order of the using directives.

10:33 Ticket #310 (Customizable Shell Extension) created by BloodySword
I have an Idea to improve the usabillity quite a bit: …
09:57 Changeset [1524] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

The addtask command now works. Addresses #275: Code Review

  • Store Positional arguments in the Program.ConsoleArguments? class so we can access them later. This also allows us to remove the Program.ImportTaskListArguments? class
  • The addtask command now takes targets as non-argument parameters, so they no longer start with -- or /.
  • Throw an ArgumentException? when the command line fails to parse properly in the Program.ConsoleProgram?.Run function
05:30 Changeset [1523] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

First compilable version of the new Program class. The ConsoleProgram? actions have been moved back to the Program class to separate the support code from the actual "action" code. Command line parsing is seriously broken, however. Addresses #275: Code Review

03:34 Changeset [1522] by lowjoel
  • branches/eraser6/CodeReview/Eraser/Program.cs

Define the Program.Arguments class which serves as an object to bind command line arguments to. The GUI code uses that class to decide whether to queue tasks meant for restart as well as to handle the quiet command line option. Addresses #275: Code Review

03:25 Ticket #309 (Remove the SettingsCompatibility classes) created by Joel
This is meant for beta=>6.0 transitions and can be removed from trunk.
03:19 Changeset [1521] by lowjoel
  • branches/eraser6/CodeReview/Dependencies/CommonLibrary.dll
  • branches/eraser6/CodeReview/Dependencies/CommonLibrary.pdb
  • branches/eraser6/CodeReview/Eraser/Eraser.csproj
  • branches/eraser6/CodeReview/Eraser/Program.ConsoleProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.GuiProgram.cs
  • branches/eraser6/CodeReview/Eraser/Program.cs

Split the huge Program.cs file to separate (sub)classes. Addresses #275: Code Review

01:05 Changeset [1520] by lowjoel
  • branches/eraser6/BlackBox/Installer/DirectoryStructure.wxs

Very blind fix to include the ICSharpCode.SharpZipLib?.dll assembly required by BlackBox?.

00:56 Changeset [1519] by lowjoel
  • branches/eraser6/CodeReview

Start with the CodeReview? branch, to address #275 and its related tickets.

00:53 Changeset [1518] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser/SettingsPanel.cs

Forward-ported the Eraser 6.0 branch to trunk, up to r1517.

When removing files from the Plausible Deniability decoys list the files were never really removed.
Addresses #297: Files / folders listed in "....plausible deniablility" area are reshown after deleting when re-started eraser

1/13/2010:

23:56 Changeset [1517] by lowjoel
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

When removing files from the Plausible Deniability decoys list the files were never really removed.
Addresses #297: Files / folders listed in "....plausible deniablility" area are reshown after deleting when re-started eraser

16:02 LocalisingEraser edited by aramacciotti
(diff)
15:34 LocalisingEraser edited by aramacciotti
(diff)
15:33 LocalisingEraser edited by aramacciotti
(diff)
09:25 Changeset [1516] by lowjoel
  • branches/eraser6/SpeedMeter

Finished with the SpeedMeter? branch

09:16 Ticket #272 (Remove IsFat12 from Fat12Or16Api) closed by Joel
wontfix: Now, why did I want to do this? The function works as advertised and …
04:32 Ticket #308 (Upgrade BlackBox to use the ProgressManager classes) created by Joel
Trunk has the Generic Speed Meter (#90) changes merged into it in r1515. …
04:29 Ticket #90 (Generic speed meter) closed by Joel
fixed: Branch merged in r1515. Task has been completed.
04:29 Changeset [1515] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Eraser.Manager.csproj
  • trunk/eraser6/Eraser.Manager/ProgressManager.cs
  • trunk/eraser6/Eraser.Manager/Task.cs
  • trunk/eraser6/Eraser/ProgressForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.resx
  • trunk/eraser6/Eraser/UpdateForm.cs

Merged the SpeedMeter? branch to trunk. Fixes #90: Generic speed meter

03:32 Changeset [1514] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Fixed crash in the SteppedProgressManager? because the lock object was created after the list causing the list to reference a null object as a lock.

03:26 Changeset [1513] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs

Fixed a crash when we query the progress of the task when the ProgressForm? is created.

03:21 Changeset [1512] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Task.cs
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/SchedulerPanel.cs

Defined the standard callback prototype. We have our own ProgressChangedEventArgs?, modelled after the System.ComponentModel?.ProgressChangedEventArgs?, and likewise, a similar handler interface.

02:11 Ticket #307 (Eraser Updater restructuring) created by Joel
The Eraser Updater classes are really messy. Redesign the APIs for doing …
02:06 Changeset [1511] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/UpdateForm.cs

Did some code cleanup in the UpdateManager? class, simultaneously migratng to the ProgressManager? classes for progress calculations.

1/12/2010:

08:05 Changeset [1510] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Thread-safe the ChainedProgressManager? classes by locking the task list before modifying or accessing them. This may introduce lock contention performance penalties but we'll stick with this first (fix it with a writer lock afterward if it turns out to be a performance bottleneck.) The ProgressManager? class is not locked at all since it deals with integers only.

07:52 Changeset [1509] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/Strings.NL.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.resx

Factor out the progress updating code to a separate function because upon construction of the form we can already query the task for progress

07:30 Changeset [1508] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs

-Mistake: when cluster tip erasures are enabled the main bulk is 90% of the entire target, not the other way around
-Deal with shrinking disk space properly: the total amount of data that needs writing is the amount written so far and the available free space at the point in time. This deals with shrinking and growing space used on system drives better
-Always mark the step complete when we are done with the step so that the SteppedProgressManager? will be able to give the correct CurrentStep?

06:09 Changeset [1507] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/Strings.NL.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser/Strings.resx

When displaying the estimated amount of time left to finish the target round the values to seconds (since the new algorithm is accurate down to ticks)

06:08 Changeset [1506] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Tolerate some margin of error when checking the total weights in the SteppedProgressManager?

05:49 Changeset [1505] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

-Replaced the ProgressManagerBase?.Start function with a Restart function: Starting is now implicit in the construction of the progress object, Restart() will reset the starting time to reset the speed information.
-Fixed computation of progress for file erasures (would lead to weights amounting more than 1)
-Fixed scope of the Target Progress object when doing filesystem erasures

05:40 Changeset [1504] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs

Fixed a few behaviours in the ProgressManager? classes:
-for ProgressManager?, if the Total field is zero, always return 0 for progress (prevents division by zero)
-for SteppedProgressManager?, the Speed property is dependent on the CurrentStep? property; if that is null, the speed should be zero.
-for SteppedProgressManager?, the TimeLeft? property is dependent on the StartTime? of the task, if it is invalid, the TimeLeft? property will now return TimeSpan?.MinValue?
-for SteppedProgressManager?, the CurrentStep? property will return the last completed step if all the steps have been completed

03:02 Changeset [1503] by lowjoel
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Task.cs
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs

Current revision finally compiles.
-Instead of having a separate class for stepped progress handlers, it occurred to me that when nesting we may not be nesting a SteppedProgressManagerStep? (e,g, the Task is a SteppedProgressManager? but the steps are not: they are SteppedProgressManagers? in their own right) so instead hold the step information in an external structure (SteppedProgressManager?.Step)
-Fixed the foreach loops in the ParallelProgressManager?.
-I wanted to get rid of the TaskProgressEventArgs? class, but looks like it can't be removed since certain things (like pass index and current file name) cannot be conveyed in the ProgressManager? classes.
-The OnProgressChanged? event for the Task object will have the currently running erasure target as the sender instead of the task
-The old abstract Progress field in the ErasureTarget? has been replaced with a simple variable (for now, just for convenience)

01:26 Changeset [1502] by lowjoel
  • branches/eraser6/SpeedMeter
  • branches/eraser6/SpeedMeter/Eraser.Manager/DirectExecutor.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Eraser.Manager.csproj
  • branches/eraser6/SpeedMeter/Eraser.Manager/ProgressManager.cs
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.en.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.it.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.nl.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Strings.resx
  • branches/eraser6/SpeedMeter/Eraser.Manager/Task.cs
  • branches/eraser6/SpeedMeter/Eraser/ProgressForm.cs
  • branches/eraser6/SpeedMeter/Eraser/SchedulerPanel.cs

Initial commit to start the SpeedMeter? branch. The original ProgressManager? classes in DirectExecutor?.cs have been extracted out into its own source file ProgressManager?.cs which defines a standard ProgressManagerBase? class. There are now a class which manage the simple completed/total measurement of progress, a class which computes the overall progress of a few stepped subtasks, as well as a class which computes the overall progress of a few independent tasks running in parallel.

1/11/2010:

14:40 Ticket #306 (Do not erase immediately after drag and drop) created by clutterbuck
With version 5 after dragging files or folders into the Eraser window I …
13:24 Ticket #305 (Eraser will not run when "Default eraser method is "First/Last16KB") closed by Joel
duplicate: Duplicate of #290; fixed in r1483.
12:41 Ticket #305 (Eraser will not run when "Default eraser method is "First/Last16KB") created by dmurgy
Eraser will not run when "Default eraser method is "First/Last16KB" I …
07:15 Changeset [1501] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.resx

-Remove the Pass Number header title and leave it blank, the increasing sequence should be obvious enough
-Consequently, expand the Pass Data column

06:56 Changeset [1500] by lowjoel
  • trunk/eraser6/Eraser.Util/UxThemeApi.cs

Set the FlatStyle? of abstract buttons to System so that Vista/7 fading visuals can be used (we don't ownerdraw anyway)

06:46 Changeset [1499] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.resx

Use drag&drop to order passes instead of the clumsy move up/move down buttons.

04:31 Ticket #304 (Silently ignore selected cluster tip erase failures) created by Joel
Certain files will never succeed in erasing their cluster tips (such as …
04:21 Ticket #295 (Tasks name excessive when alot of files selected to be removed in one go) closed by Joel
fixed
03:56 Changeset [1498] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx
  • trunk/eraser6/Eraser.Manager/Task.cs

Well, in the task it may not be another number of files, it could be an unused space erasure -- thus, call it targets, not files.

03:52 Changeset [1497] by lowjoel
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx
  • trunk/eraser6/Eraser.Manager/Task.cs

fixes #295: Tasks name excessive when alot of files selected to be removed in one go

The new behaviour is to list only the file name bit (ignoring the full path), and listing all only if there are less than 5 entries. After the task contains 5 or more targets, we will only use the file names of the first, the median and the last element, followed by the number of other targets not included in the summary.

02:44 Changeset [1496] by lowjoel
  • trunk/eraser6/Eraser.Manager/DirectExecutor.cs
  • trunk/eraser6/Eraser.Manager/Strings.en.resx
  • trunk/eraser6/Eraser.Manager/Strings.it.resx
  • trunk/eraser6/Eraser.Manager/Strings.nl.resx
  • trunk/eraser6/Eraser.Manager/Strings.resx
  • trunk/eraser6/Eraser.Util/Eraser.Util.csproj
  • trunk/eraser6/Eraser.Util/SystemRestoreApi.cs

-Check whether System Restore is enabled when the unused space erasure is run -- this will warn users to ensure that the erasure does indeed get rid of all traces of their files.
-Add periods at the end of error messages for consistency.

01:03 Changeset [1495] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodEditorForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.resx
  • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.cs
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.resx
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/SchedulerPanel.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser/UpdateForm.cs

Forward-port r1486 through r1494 to trunk.

01:00 Ticket #303 (Verify Eraser's UI in high DPI mode) created by Joel
- The BlackBox? dialogues require verification. - The About dialog needs …
00:55 Changeset [1494] by lowjoel
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

Simplified Decoy Files removal algorithm.

1/10/2010:

08:36 Changeset [1493] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodEditorForm.cs

addresses #285: Various Custom Erasure Method editor bugs
-When adding a pass with a pass currently selected, add it after the selected pass.
-When duplicating passes, save the currently selected one before duplication (so both get the new data.)
-When unselecting passes, unset the currentPass member variable.

08:26 Changeset [1492] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs

Oops, these should have a copyright notice.

08:23 Changeset [1491] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.Designer.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.resx

addresses #285: Various Custom Erasure Method editor bugs
-When there's an error displaying the pass constant as UTF-8 text, restore the radio button to the Hexadecimal radio button before displaying the message.
-Check that the pass constant is non-empty only when the entire control is validated, as switching between text and hex should allow blank constants.
-Clear the error icon once the constant editor has been validated.

1/9/2010:

13:58 Ticket #302 (Eraser 6 (all version that I've tested) will not start on XP (but v5.8.8 ...) created by Hilbert
08:39 Changeset [1490] by lowjoel
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/SchedulerPanel.cs
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

Changed the implement of the "page" concept - the old method used the removal and addition of pages to one panel; this caused disruptions in the window hierarchy (which causes NullReferenceExceptions? e.g. in SchedulerPanel?.cs: SchedulerPanel?.task_TaskFinished) The new design adds all pages at the start, and hides and displays pages when switched to them, also ensuring correct focus by using the z-order of Controls.

As such, UXThemeApi.UpdateControlTheme?(this) needn't be called by the SchedulerPanel? nor the SettingsPanel? class since they're now children of MainForm?. Fixes NullReferenceException? experienced by users who use the context menu to erase files/folders.

04:10 Changeset [1489] by lowjoel
  • 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.resx

New strings introduced in r1487.

04:10 Changeset [1488] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs

Fixed crash when editing a pass that was temporary created in the same Settings session. Also, when editing a pass, be sure to update the passes list-view control.

04:09 Changeset [1487] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs

-Be able to do the right thing when an empty input is passed in the pass constant editor (do not case an argument exception in the parser and display a useful error message to the user)
-Only check for embedded nulls in the pass constant when we are trying to convert the data to UTF-8 text

1/8/2010:

23:28 Ticket #301 (TasksPropertiesForm.cs defaults to Italian language when open in VS 2008) closed by Joel
wontfix: That's fine, since the language can be changed anytime you want :)
19:39 Ticket #301 (TasksPropertiesForm.cs defaults to Italian language when open in VS 2008) created by dmurgy
When you have downloaded the source via SVN and you open up the …
19:33 Ticket #300 (Tasks - Information log entries for start / end) created by dmurgy
It would be good to have an informational task log entry for the start and …
11:44 Ticket #299 (Don't run the Eraser process in the background) created by canfe
When I use eraser 6 a "tsr" icon, near the clock, appear. Eraser 5.8.8 …
07:27 Ticket #298 (Eraser has stopped working" popup on Vista 32) created by dallascowboy99
Hello Joel Heard good stories about eraser, but finally when it comes …
02:47 Changeset [1486] by lowjoel
  • branches/eraser6/6.0/Eraser/UpdateForm.cs

Fixed updates which download from the Eraser website (i.e. those of the form download.php?id=X; use the content-disposition header to get a suggested filename so ShellExecute? can do the "right thing."

1/7/2010:

12:40 Ticket #297 (Settings Error icon behaviour) created by dmurgy
If you have listed some files in the "...plausible deniability" settings …
12:28 Ticket #296 (Task Property Window - Add tab to view logs) created by dmurgy
On the task property screen it would be good to add a new tab so that the …
07:31 Changeset [1485] by lowjoel
  • trunk/eraser6
  • trunk/eraser6/Eraser.DefaultPlugins/CustomMethodPassEditor.cs
  • trunk/eraser6/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • trunk/eraser6/Eraser.DefaultPlugins/SettingsForm.cs
  • trunk/eraser6/Eraser.Util/Localisation.cs
  • trunk/eraser6/Eraser/Settings.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser/Strings.NL.resx
  • trunk/eraser6/Eraser/Strings.en.resx
  • trunk/eraser6/Eraser/Strings.it.resx
  • trunk/eraser6/Eraser/Strings.resx

Forward-port r1475 through r1484 to trunk.

00:50 Changeset [1484] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs

Supplements r1483 and r1477:
-Default to the Gutmann erasure method when the FL16KB method is used and no chained erasure method is applied
-Fixed exception when adding a new custom erasure method

1/6/2010:

23:41 CompilingEraser edited by Joel
Boost is required for building Eraser now (due to lexical_cast) (diff)
23:26 Ticket #287 (Fall back to EN when system UI localisation does not exist) closed by Joel
fixed: Verified as fixed by Tinitus.
09:17 Ticket #290 (Undefined default for FL16KB erasure) closed by Joel
fixed: Fixed in r1483
09:16 Changeset [1483] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/ErasureMethods/FirstLast16KB.cs

Default to Gutmann if the default file erasure method is set to FL16KB so we don't get a stack overflow.

09:02 Changeset [1482] by lowjoel
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs

Proper suggestion of the default UI language: English if no other language was the current UI language. Also, when checking whether the selected language has changed, check against the CurrentUICulture property of CultureInfo? since that is what we loaded with.

08:55 Changeset [1481] by lowjoel
  • branches/eraser6/6.0/Eraser/Settings.cs
  • branches/eraser6/6.0/Eraser/Strings.NL.resx
  • branches/eraser6/6.0/Eraser/Strings.en.resx
  • branches/eraser6/6.0/Eraser/Strings.it.resx
  • branches/eraser6/6.0/Eraser/Strings.resx

Proper error message when we are unable to load a setting; the old one did not include the value we were reading.

08:47 Changeset [1480] by lowjoel
  • branches/eraser6/6.0/Eraser/Settings.cs

Replace the behaviour of EraserSettings?.GetCurrentCulture?() to yield the most suitable UI culture to use so that when defaults are used it is appropriate even for cases when the Eraser has not yet been localised to the system locale.

08:44 Changeset [1479] by lowjoel
  • branches/eraser6/6.0/Eraser.Util/Localisation.cs

-There is no need to specify the directory to look for the resources since the LoadLanguage? function is provided the invariant assembly.
-Define the LocalisationExists? function to check for the presence of a specific localisation.

07:45 Changeset [1478] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs

Reshuffle the order of removing/adding/saving the list of custom methods. Helps fix #285

07:29 Changeset [1477] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/SettingsForm.cs

Don't crash when editing a custom erasure method multiple times

06:25 Changeset [1476] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs

When switching from Hex to Text view is impossible do not display the error message twice.

05:36 Changeset [1475] by lowjoel
  • branches/eraser6/6.0/Eraser.DefaultPlugins/CustomMethodPassEditor.cs

Helps fix #285.
-Display NULL bytes properly; also display the pass constant in hexadecimal properly - include the leading 0 to ensure that users are not confused when the number of zeroes decrease
-Do not allow the parsing of NULL bytes as text; NULL bytes will end up shortening the pass constant

05:09 Ticket #286 (Fix long filenames when querying system files) closed by Joel
fixed
05:08 Changesets [1473-1474] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Util/File.cs
  • trunk/eraser6/Eraser.Util/File.cs

No need to call GetLastError? to get the error code for SfcIsFileProtected?: the last error code is not set by the function. Fixes #286.

1/5/2010:

13:26 Changeset [1472] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Ntfs.cs

Fixed error in r1441: when providing progress feedback when erasing MFT resident files the total number of files are the maximum of the number of entries in the MFT and the number of entries we've made, to ensure the condition that files created <= total number of files created.

13:18 Changeset [1471] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Ntfs.cs

Typo -- when providing progress feedback when erasing MFT resident files the total number of files are the maximum of the number of entries in the MFT and the number of entries we've made, to ensure the condition that files created <= total number of files created.

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

Compilo. Strange, I thought it compiled fine. Finally fixes #293

10:49 Changeset [1469] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

Compilo. Strange, I thought it compiled fine.

10:40 Ticket #293 (Cancelling of tasks has hung) closed by Joel
fixed: Thanks for the bug report! This is fixed in r1467. You can get a binary …
10:39 Changesets [1467-1468] by lowjoel
  • branches/eraser6/6.0
  • 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.resx
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.en.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.it.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.nl.resx
  • trunk/eraser6/Eraser.DefaultPlugins/Strings.resx

When deleting files or folders, always limit the number of tries to erase the file, and only retry if it is a sharing violation; all other errors, rethrow.

10:08 Ticket #292 (Tray Icon Messages) closed by Joel
invalid: That is a system-wide setting, not specific to Eraser alone. See: …
09:42 Changesets [1465-1466] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/ShellExt/CtxMenu.cpp
  • trunk/eraser6/ShellExt/CtxMenu.cpp

I was referring to the wrong field to check for the ID of the menu we were drawing in CCtxMenu::HandleMenuMsg2; also, the ID we were using is the index of the menu item, not the ID of the menu item

05:50 Changeset [1464] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Manager/DirectExecutor.cs

Also create crash reports when we catch an abstract Exception -- FatalExceptions? are PRNG or Erasure method not found exceptions so those can be ignored.

05:41 Changeset [1463] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

Moved the BlackBox? upload location to the scripts subfolder.

05:39 Changeset [1462] by lowjoel
  • trunk/eraser6/Eraser/UpdateForm.cs

Moved the update location to the scripts subfolder.

05:33 Changeset [1461] by lowjoel
  • trunk/website/scripts/blackbox/upload.php
  • trunk/website/scripts/updates/index.php

The include path has changed, update to reflect the new structure

05:21 Changeset [1460] by lowjoel
  • trunk/website/scripts/.htaccess
  • trunk/website/scripts/blackbox
  • trunk/website/scripts/blackbox/.htaccess
  • trunk/website/scripts/updates
  • trunk/website/scripts/updates/.htaccess

Move the BlackBox? and Updates subdirectory to the scripts subdirectory since they are used for Eraser/Server? communication.

04:11 Changeset [1459] by lowjoel
  • trunk/website/blackbox/.htaccess
  • trunk/website/scripts
  • trunk/website/updates/.htaccess

Log errors to the scripts folder for these subfolders which the Eraser program connects to always to ensure that XML is well-formed.

03:49 Changesets [1457-1458] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Windows.cs
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Windows.cs

Downgrade the unauthorized access to files during cluster tip erasures as an informative message rather than an error. Fixes http://bbs.heidi.ie/viewtopic.php?f=2&t=5903

03:10 Changeset [1456] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Added a Timestamp field to the BlackBoxReport? class to access the timestamp of the report (currently, it's just parsing the filename of the report.)

03:07 Changeset [1455] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.resx

Added the Error Type column to the crash reports selection form. Also removed the reference to "closing" after the crash -- we may create reports even if it is a failed erase.

02:48 Changeset [1454] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Allow code to create crash dumps any time, not just when an unhandled exception is caught in the AppDomain?

02:46 Changeset [1453] by lowjoel
  • branches/eraser6/BlackBox/Eraser/Resources/BlackBox.png

The new crash icon.

02:45 Changeset [1452] by lowjoel
  • branches/eraser6/BlackBox/Resources/Source/Icons/Nuke (Crash).psd

Make the emboss larger so that when scaled it is more obvious.

02:37 Changeset [1451] by lowjoel
  • branches/eraser6/BlackBox/Resources/Source/Icons/Nuke (Crash).psd

New crash icon by Dennis (heaps better than mine!)

01:52 Changeset [1450] by lowjoel
  • trunk/eraser6/Eraser/LogForm.Designer.cs
  • trunk/eraser6/Eraser/LogForm.cs

When double-clicking, display the full log message as the list-view is limited to 255 characters.

1/4/2010:

12:32 Changesets [1448-1449] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs

Compilo fix.

10:17 Changesets [1446-1447] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Manager/Plugins.cs
  • branches/eraser6/6.0/Eraser/SettingsPanel.cs
  • trunk/eraser6/Eraser.Manager/Plugins.cs
  • trunk/eraser6/Eraser/SettingsPanel.cs

Do not explicitly allow or disallow a plugin based on whether the plugin is checked in the plugin settings list view. This is because signed plugins load automatically; if the signature changes or if root certificates change the plugin may then be a valid signed assembly. This also fixes the "double error message on startup" where users are greeted with the "invalid unused space and file erasure methods as well as PRNG" will be given the "plugins will only be loaded on restart" message (which makes no sense to the user)

10:12 Changeset [1445] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.cpp
  • branches/eraser6/6.0/Installer/Bootstrapper/Bootstrapper.vcproj
  • branches/eraser6/6.0/Installer/Bootstrapper/Handle.h
  • branches/eraser6/6.0/Installer/Bootstrapper/stdafx.h

-Ensure that the bootstrapper checks the service pack level for the installed .NET framework; currently we check for .NET 3.5 SP1.
-Minor code cleanup (factored out the Handle class to be a template, allowing any abstract handle to be used)

10:07 Changeset [1444] by lowjoel
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.cpp

Currently, we need .NET 3.5 SP1 or later; the previous equality test did not take into account later service packs.

10:06 Changeset [1443] by lowjoel
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.cpp
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.vcproj
  • trunk/eraser6/Installer/Bootstrapper/Handle.h
  • trunk/eraser6/Installer/Bootstrapper/stdafx.h

-Abstract the Handle class to the Handle template to be able to take any abstract HANDLE.
-When querying for the .NET installation check that the version installed is the version we require.

10:00 Changeset [1442] by lowjoel
  • trunk/eraser6/Installer/Bootstrapper/Bootstrapper.h

Remove the unused DataOffset? constant.

09:44 Changeset [1441] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.DefaultPlugins/FileSystems/Ntfs.cs
  • branches/eraser6/6.0/Eraser.Manager/DirectExecutor.cs

Properly calculate erase progress when erasing the directory structures and resident files of NTFS volumes.

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

Provide a callback function when erasing file system resident files; this allow the cancellation of the task (the erasing may take a while)

09:35 Changeset [1439] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Ntfs.cs

Call the provided callback function even though we do not know what our progress may be when cleaning MFT resident files; this allows for cancellation of the procedure (if the callback throws an exception)

09:29 Changeset [1438] by lowjoel
  • trunk/eraser6/Eraser.DefaultPlugins/FileSystems/Ntfs.cs

Made improvements to the progress handling of NTFS' handling of unused directory entry erasures. EraseDirectoryStructure? will now:
-poll progress every approximately 1/20th of the MFT being used up, or 128 records, whichever is smaller
-the estimated total number of files are now correct (previously was multiplied by the number of passes, which is erroneous)
-the progress bar is now accurate; the NTFS directory entry erase is 2-stepped and the progress now reflects this
-fixed a progress calculation error when cleaning up the files used for erasing the old MFT entries

03:00 Ticket #282 (Access is Denied) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …

1/2/2010:

19:18 Ticket #295 (Tasks name excessive when alot of files selected to be removed in one go) created by dmurgy
If you select say 30 files for deletion then the filename shown in the …
18:32 Ticket #294 (Schedule Screen - Buttons required) created by dmurgy
Perhaps the schedule screen needs to have some buttons / toolbar added to …
18:21 Ticket #293 (Cancelling of tasks has hung) created by dmurgy
I created a new task for the deletion of a directory under "c:\program …
18:18 Ticket #292 (Tray Icon Messages) created by dmurgy
There should be a setting so that you can set how the tray icons appear …
18:15 Ticket #291 (Tray Menu List) created by dmurgy
Perhaps the tray icon menu list needs to be updated to reflect some of the …

1/1/2010:

05:28 Ticket #290 (Undefined default for FL16KB erasure) created by Joel
When setting the FL16KB erasure as the default erasure method the erasure …
04:32 Changeset [1437] by lowjoel
  • trunk/website/scripts/downloads.php

Don't allocate memory by using file_get_contents, readfile is more efficient.

01:31 Changeset [1436] by lowjoel
  • trunk/website/blackbox/upload.php

Rename all the BlackBox? tables to have an underscore separating the BlackBox? noun and the table name. This follows the convention of the rest of the tables

01:30 Changeset [1435] by lowjoel
  • trunk/website/scripts/downloads.php

Display Eraser 6.2 builds as well, since we'll build both Eraser 6 and 6.2 builds on the build server.

01:30 Changeset [1434] by lowjoel
  • trunk/website/download.php

Removed the beta builds from our download page, they're superseded by the stables.

12/29/2009:

12:57 Ticket #289 (Volume enumeration crash) created by iann0036
See the end of this message for details on invoking just-in-time (JIT) …
08:25 Changeset [1433] by lowjoel
  • trunk/website/scripts/downloads.php

Throw the Unknown Download exception only if we don't know where to get the download from.

07:31 Changeset [1432] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser.Util/UxThemeApi.cs

Backported r1431 from trunk

07:28 Changeset [1431] by lowjoel
  • trunk/eraser6/Eraser.Util/UxThemeApi.cs

When setting the font on the menus as part of themeing use the Menu font for menus.

07:26 Changeset [1430] by lowjoel
  • trunk/eraser5/Eraser.iss

Sign only the installer and not the other exe's (e.g. VC runtime)

07:25 Changeset [1429] by lowjoel
  • branches/eraser6/6.0
  • branches/eraser6/6.0/Eraser/MainForm.cs
  • branches/eraser6/6.0/Eraser/Program.cs

Fixed the InvalidOperationException? thrown when Eraser is started. Backported from trunk.

07:21 Changeset [1428] by lowjoel
  • trunk/eraser6/Eraser/MainForm.cs
  • trunk/eraser6/Eraser/Program.cs

Fixed the InvalidOperationException? thrown when Eraser is started. See http://bbs.heidi.ie/viewtopic.php?f=2&t=5856

03:29 Ticket #288 (Specify that all instances of Eraser must be exited) created by Joel
http://bbs.heidi.ie/viewtopic.php?f=2&t=5872 Specify that Explorer may …
03:29 Ticket #287 (Fall back to EN when system UI localisation does not exist) created by Joel
http://bbs.heidi.ie/viewtopic.php?f=2&t=5893&p=16247#p16247
03:28 Ticket #286 (Fix long filenames when querying system files) created by Joel
http://bbs.heidi.ie/viewtopic.php?f=2&t=5886
03:27 Ticket #285 (Various Custom Erasure Method editor bugs) created by Walda
http://bbs.heidi.ie/viewtopic.php?f=2&t=5885

12/25/2009:

10:00 Ticket #264 (One .NET Runtime 2.0 Error) closed by trac-robot
This ticket was closed automatically by the system. It was previously set …

12/24/2009:

08:52 Changeset [1427] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Don't enumerate the directories if the Crash Reports folder does not exist.

12/23/2009:

07:13 Changeset [1426] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

-Removed the Idle event handler since that should be the GUI's job.
-Record the fully qualified type name of the exception in our logs.

07:04 Changeset [1425] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.resx
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/Program.cs

Set the modality of the BlackBox? dialogs; the progress window will be non-modal and minimisable; the main window will be non-modal and always on top.

07:03 Changeset [1424] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Standardise on the Crash Report Name to be YYYYMMDD HHMMSS.milli so that it'll be sorted in the Crash Reports directory

06:52 Changeset [1423] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.resx

-Allow users to preview the contents of reports
-Change the listbox to a listview which is more flexible

06:51 Changeset [1422] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Allow reports to be deleted. Also allow the Path to the report be discovered so users can navigate to the report contents.

06:35 Changeset [1421] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

Veto the uploading dialog from closing if the upload/compress is in progress; cancel the upload first.

06:32 Changeset [1420] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.resx

Set the icon of the Crash Assistant so that progress can be monitored.

06:18 Changeset [1419] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.resx

Allow localisation of the upload progress form

06:15 Changeset [1418] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs
  • branches/eraser6/BlackBox/Eraser/Strings.NL.resx
  • branches/eraser6/BlackBox/Eraser/Strings.en.resx
  • branches/eraser6/BlackBox/Eraser/Strings.it.resx
  • branches/eraser6/BlackBox/Eraser/Strings.resx

Allow users to cancel the submission of the report.

03:17 Changeset [1417] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs
  • branches/eraser6/BlackBox/Eraser/Program.cs

Only display the BlackBox? UI if the user has unsubmitted reports.

02:09 Changeset [1416] by lowjoel
  • trunk/website/blackbox
  • trunk/website/blackbox/.htaccess
  • trunk/website/blackbox/upload.php

The first version of the BlackBox? Web Backend.

01:48 Changeset [1415] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

Use only alphanumeric multipart boundaries; this seems to resolve some issues with the server submitting empty POST values. Also package the Exception type for every exception alongside the stack trace so we can specifically nail down exceptions thrown in a particular function.

01:47 Changeset [1414] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Remove whitespace when getting the exception type from the stack trace.

00:33 Changeset [1413] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Include the type of exception in the stack trace log. To do this, I have replaced the IList<string> type of the stack trace property with the discrete type BlackBoxExceptionEntry?

Note: See TracTimeline for information about the timeline view.