Timeline


and

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?

12/22/2009:

10:43 Changeset [1412] by lowjoel
  • 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

New strings for localisation

10:42 Changeset [1411] by lowjoel
  • branches/eraser6/BlackBox/Eraser/MainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/MainForm.cs
  • branches/eraser6/BlackBox/Eraser/Program.cs

Display the BlackBox? UI in the idle loop instead of blocking the loading of the Main Form.

10:41 Changeset [1410] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.resx
  • branches/eraser6/BlackBox/Eraser/Properties/Resources.Designer.cs
  • branches/eraser6/BlackBox/Eraser/Properties/Resources.resx
  • branches/eraser6/BlackBox/Eraser/Resources/BlackBox.png
  • branches/eraser6/BlackBox/Resources/Source/Icons/Nuke (Crash).psd

Reorganised the BlackBox? main UI to add a cracked Eraser icon and rewrote the explanatory note.

10:38 Changeset [1409] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

-Display a proper error message box when errors occur in the worker thread
-Instead of checking the response code when getting the web response, we handle errors in exception handlers (WebException? is thrown)

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

If the HTTP error code is not 200 OK we will check for an Error root element and use that as error text.

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

Don't clear the final entry which is added to the stack trace; this results in an empty stack trace since we copy by reference!

04:49 Changeset [1406] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

When we request the stack trace from the BlackBox? report, retrun the data in an easy to understand form -- the parent IList is the list of exceptions and the inner List are the stack frames.

04:31 Changeset [1405] 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

-Parse the stack trace and then verify against the server to see if it is new.
-Create a new FormField? constructor overload that takes strings.

04:30 Changeset [1404] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

When writing the stack trace in the separate file, don't write the fancy formatting of the debug log for easier parsing

03:47 Changeset [1403] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

Decide once the length of the boundary since placing the Random call in the loop condition would introduce too much unpredictability in the boundary length.

03:39 Changeset [1402] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

Valid boundaries are between 1 and 70 characters in length; the old revision only inserted numbers when I intended it would be cast to char and thus insert characters. This has been fixed and only valid characters are inserted.

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

Write the stack trace to a separate file for reading later by the BlackBoxReport? class; this file should not be included in the files part of the crash report. This is so that we can report stack traces to the server before we upload the entire large memory dump. Also, use the constants defined in the BlackBox? class to store the crash report contents.

03:16 Changeset [1400] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

-When writing the TAR file just write the file names relative to the report directory
-Fixed the MultipartFormDataBuilder? class' AddPart? function -- we were overwriting parts since we didn't seek to the end of the file!
-Also fixed the format for multipart/form-data; the boundary has a CRLF preceding it (even after data)

03:10 Changeset [1399] by lowjoel
  • trunk/website/announcements/20091215.html
  • trunk/website/download.php

Updated file hashes and re-uploads

02:57 Changeset [1398] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

-Specify the progress when updating the upload status (fixes exception)
-Upload the report in blocks of 64k instead of 512k since the bottleneck is usually the internet connection, not the disk

02:27 Changeset [1397] 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

Factorise out the upload code to a new class for clarity

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

Store the paths to the files in the crash report as constants

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

-Extend the MultipartFormDataBuilder? class to support both files and form fields.
-Set the content-length header before we start writing to the web request stream.

12/21/2009:

07:12 Changeset [1394] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.Designer.cs
  • 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

Implemented uploading to the webserver.

05:54 Changeset [1393] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs

Added copyright notice

05:54 Changeset [1392] by lowjoel
  • branches/eraser6/BlackBox/Dependencies/ICSharpCode.SharpZipLib.dll
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.resx
  • branches/eraser6/BlackBox/Eraser/Eraser.csproj
  • branches/eraser6/BlackBox/Eraser/MainForm.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

Compress the crash report before uploading.

05:40 Changeset [1391] by lowjoel
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxMainForm.cs

Add the crash reports to the main BlackBox? UI and check them all.

05:39 Changeset [1390] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

Added the BlackBoxReport? class that encapsulates a crash report.

01:23 Changeset [1389] 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/BlackBoxUploadForm.cs
  • branches/eraser6/BlackBox/Eraser/BlackBoxUploadForm.resx
  • branches/eraser6/BlackBox/Eraser/Eraser.csproj
  • branches/eraser6/BlackBox/Eraser/MainForm.Designer.cs
  • branches/eraser6/BlackBox/Eraser/MainForm.cs
  • branches/eraser6/BlackBox/Eraser/MainForm.nl.resx
  • branches/eraser6/BlackBox/Eraser/MainForm.resx

Added the BlackBox? UI components so that the user will be prompted to send crash reports to us. More work on the UI is needed, however.

12/20/2009:

11:58 Changeset [1388] by lowjoel
  • branches/eraser6/BlackBox/Eraser.Util/BlackBox.cs

The first version of the BlackBox? class.

11:57 Changeset [1387] by lowjoel
  • branches/eraser6/BlackBox
  • branches/eraser6/BlackBox/Eraser.Util/Eraser.Util.csproj
  • branches/eraser6/BlackBox/Eraser/Program.cs

Initial commit to the Eraser BlackBox? branch which is our own crash handler.

11:52 Ticket #284 (Eraser.Util rewrite) created by Joel
Other tasks: - Extract the functions in the following files to discrete …

12/19/2009:

22:31 Ticket #283 (Keep highest privilege level of Eraser running) created by Joel
When running Eraser as an administrator, if an existing instance is found …

12/18/2009:

10:39 LocalisingEraser edited by aramacciotti
(diff)
10:24 ShellExt.PNG attached to LocalisingEraser by aramacciotti
Shell Extension localizing
10:06 LocalisingEraser edited by aramacciotti
(diff)
09:59 LocalisingEraser edited by aramacciotti
(diff)
09:57 LocalisingEraser edited by aramacciotti
(diff)
08:29 LocalisingEraser edited by aramacciotti
(diff)
08:03 LocalisingEraser edited by aramacciotti
(diff)
08:03 Changeset [1386] by aramacciotti
  • trunk/eraser6/Eraser/SettingsPanel.Designer.cs
  • trunk/eraser6/Eraser/SettingsPanel.it.resx
  • trunk/eraser6/Eraser/SettingsPanel.resx
07:49 Changeset [1385] by aramacciotti
  • trunk/eraser6/Eraser/SettingsPanel.Designer.cs
  • trunk/eraser6/Eraser/SettingsPanel.it.resx
  • trunk/eraser6/Eraser/SettingsPanel.resx

schedulerMissed Italian traslation corrected

02:00 Ticket #282 (Access is Denied) created by GargantulaKon
First, I was getting an error that Access is denied to J:\Document and …

12/17/2009:

13:17 Ticket #281 (File is currently in use and cannot be removed) created by trejkaz
Today I tried to erase free space on C:, and got the following error in …
Note: See TracTimeline for information about the timeline view.