-
Notifications
You must be signed in to change notification settings - Fork 5
refactor prepareSCMP #425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
jcp19
wants to merge
43
commits into
master
Choose a base branch
from
claude/preparescmp-verification-plan-xwm6n1
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
refactor prepareSCMP #425
Changes from all commits
Commits
Show all changes
43 commits
Select commit
Hold shift + click to select a range
84d03bc
Add verification plan for prepareSCMP (dropping the TODO())
claude 2aac6cb
Rework prepareSCMP plan for the annotations-only constraint
claude b477295
Implement M1 of the prepareSCMP plan: fresh mode for BaseLayer.Mem
claude e006e0d
Strengthen SerializeTo error-case postconditions (M4, partial)
claude 2a0ca0d
Implement M2 (design v2): MemSerialize for fresh SCION headers
claude 202d480
Strengthen address-setter contracts for the fresh-header flow
claude 2c2b53e
Fix well-formedness of the SerializeLayers contract
claude ce5ea3b
Fix SetDstAddr wand shape and adapt testDstSetter
claude 8c27094
Revert SetDstAddr contract change; carve dst bytes caller-side instead
claude 41261fa
Implement M5: drop the TODO() in prepareSCMP
claude 0bba8cd
Work around Gobra desugarer crash on nil in seq literal
claude c0688d4
Unfold wildcard IP address resources before component-wise calls
claude 2609596
Fix the four remaining router errors in the prepareSCMP proof
claude 85ec14e
Prove the decoded path's length bound via an explicit lemma
claude 12762f5
Re-trigger CI after GitHub Actions infrastructure failure
claude 22588c8
Bridge interface and concrete path length in the quote bound proof
claude fbd27d6
Make LenSpecBound fractional to keep LenSpec stable across it
claude 34d6943
Minimize LenSpecBound to fit the scion package's time budget
claude 3450274
Use writePerm for the reallocating quote append
claude 00c875c
Prove RawSrcAddr evenness for the checksum fold
claude f632c76
Handle the nil internal-IP case in the RawSrcAddr evenness proof
claude 295087d
Expose IsSupportedSerialization through the fold lemma
claude 15ca603
Establish the non-nil layers quantifier for SerializeLayers
claude d31ee69
Restructure SerializeLayers spec to per-index preconditions
claude 54e4ffb
Capture the payload layer in an interface-typed ghost for append iden…
claude 53bba13
Drop payload Mem requirement from SerializeLayers to avoid append boxing
claude 827a059
Re-trigger CI after a Gobra engine crash on verify-router
claude 99d6c34
Flatten layerBufs construction to perturb the Gobra evaluator
claude 5bee81a
Recover only MemSerialize post-serialization; leak ChecksumMem
claude 266b2ce
Re-trigger CI after another transient Gobra engine crash
claude fa98c1b
Apply the SrcAddr wand with its exact stored shape
claude 8094afb
Match the SrcAddr wand via a stable captured ghost term
claude f2c5f62
prepareSCMP: capture rawDst as stable ghost term for ExtractIPBytes wand
claude 0795633
prepareSCMP: recover ChecksumMem's dst-addr fraction after serialize
claude 3bcfd7a
prepareSCMP: reclaim dst-addr bytes via preserved MemSerialize, drop …
claude b24b459
gopacket: assert layers[0] != nil in SerializeLayers post for Seriali…
claude a5551b3
prepareSCMP: keep two empty-byte folds for SerializeLayers buffer mat…
claude 307cd1a
prepareSCMP: materialize write-buffer bytes before SerializeLayers
claude d509f15
prepareSCMP: drop over-strict buffer assert, keep two empty-byte folds
claude 8798db2
prepareSCMP: capture cleared buffer as ghost to reconnect SerializeLa…
claude beb0649
prepareSCMP: move MemSerialize unfold into isolated lemma to cut proo…
claude 6780a7f
prepareSCMP: move IsSupportedPkt reveal bridge into isolated slayers …
claude e45b423
prepareSCMP: cut router verification time by hiding proof information
claude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how can this verift later on if we pass
_as the permission amount here? Don't we have to recover that permission in order to reestablish the onwership of the entire raw pkt later on?