From 632d3719dfa0e8a3bce3f1ae620f031efd784c92 Mon Sep 17 00:00:00 2001 From: Venu Vardhan Reddy Tekula Date: Sun, 19 Nov 2023 23:22:45 -0500 Subject: [PATCH 1/3] Update UndoParOne to add more clarifications --- EducationalAssignments/UndoPartOne.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/EducationalAssignments/UndoPartOne.md b/EducationalAssignments/UndoPartOne.md index eea3a93a..fb389da1 100644 --- a/EducationalAssignments/UndoPartOne.md +++ b/EducationalAssignments/UndoPartOne.md @@ -33,7 +33,7 @@ properly in different cases and to test attacks against your monitor. 1. Your defense monitor should incorporate all the standard file operation methods, with an added method named `undo`. 2. A `writeat` operation will not immediately write its changes to the file. The - changes will only be permanent after either of the following occur: + changes will only be permanent (commit) after either of the following occur: - A subsequent valid `writeat` operation is executed. - The file is closed. 3. The `undo` operation will reverse the changes of the last valid `writeat` @@ -44,7 +44,10 @@ properly in different cases and to test attacks against your monitor. undone. 4. Aside from the ability to be undone and potentially delayed writes, all `writeat` operations should behave the same way as they do in the RepyV2 API. - + You are expected to keep track of the offset, to make sure the attack is not + writing past the EOF. +5. The `undo` operation raises `FileClosedError` if the file is already closed. +6. The `readat` cannot read data that has not been committed to the file. Three design paradigms are at work in this assignment: accuracy, efficiency, and security. From 713347ad342625aaa210e1578af264d8265b209d Mon Sep 17 00:00:00 2001 From: Justin Cappos Date: Mon, 27 Nov 2023 15:09:59 -0500 Subject: [PATCH 2/3] Update EducationalAssignments/UndoPartOne.md --- EducationalAssignments/UndoPartOne.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/EducationalAssignments/UndoPartOne.md b/EducationalAssignments/UndoPartOne.md index fb389da1..05f5b438 100644 --- a/EducationalAssignments/UndoPartOne.md +++ b/EducationalAssignments/UndoPartOne.md @@ -44,8 +44,6 @@ properly in different cases and to test attacks against your monitor. undone. 4. Aside from the ability to be undone and potentially delayed writes, all `writeat` operations should behave the same way as they do in the RepyV2 API. - You are expected to keep track of the offset, to make sure the attack is not - writing past the EOF. 5. The `undo` operation raises `FileClosedError` if the file is already closed. 6. The `readat` cannot read data that has not been committed to the file. From 33cbd7ee34821761c57a841589a9e260024661b9 Mon Sep 17 00:00:00 2001 From: Justin Cappos Date: Mon, 27 Nov 2023 15:11:03 -0500 Subject: [PATCH 3/3] Update EducationalAssignments/UndoPartOne.md --- EducationalAssignments/UndoPartOne.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EducationalAssignments/UndoPartOne.md b/EducationalAssignments/UndoPartOne.md index 05f5b438..358089b7 100644 --- a/EducationalAssignments/UndoPartOne.md +++ b/EducationalAssignments/UndoPartOne.md @@ -45,7 +45,7 @@ properly in different cases and to test attacks against your monitor. 4. Aside from the ability to be undone and potentially delayed writes, all `writeat` operations should behave the same way as they do in the RepyV2 API. 5. The `undo` operation raises `FileClosedError` if the file is already closed. -6. The `readat` cannot read data that has not been committed to the file. +6. `readat` cannot read data that has not been committed to the file. Three design paradigms are at work in this assignment: accuracy, efficiency, and security.