-
Notifications
You must be signed in to change notification settings - Fork 12
Add the client-set Edge Cookie value path #1046
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
Open
jwrosewell
wants to merge
88
commits into
IABTechLab:main
Choose a base branch
from
jwrosewell:split/4-client-resolve
base: main
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.
Open
Changes from all commits
Commits
Show all changes
88 commits
Select commit
Hold shift + click to select a range
b740265
Add a pluggable Edge Cookie provider seam with the built-in HMAC prov…
jwrosewell d2ad2a9
Accept the provider-code envelope on the partner-facing identifier paths
jwrosewell b2623cb
Rename the legacy passphrase migration so CodeQL stops tainting Settings
jwrosewell 918f96c
Stop serving without identity when a selected provider is unavailable
jwrosewell 61b7cf1
Hold the deprecated EC passphrase to the same rules as the new block
jwrosewell 5b01f98
Reject unknown keys in the built-in HMAC provider block
jwrosewell 7424932
Stop rather than run stateless when the hmac block is missing
jwrosewell d6dc848
Restore the missing line continuation in the mint rejection message
jwrosewell 45ec829
Give EdgeCookieProvider its own doc comment back
jwrosewell c4c584c
Delete the unused ec::get_ec_id helper
jwrosewell 5203c2d
Correct the provider module docs about when evidence arrives
jwrosewell e44ff38
Replace the scattered EC provider key strings with a typed selector
jwrosewell afdb7be
Reserve core's own response surface against provider effects
jwrosewell e90b471
Dispatch partner-path identifier checks by provider code
jwrosewell 3b74d74
Let each provider decide whether it needs the client IP
jwrosewell 29a3a7f
State a real retirement condition for the legacy bare-identifier reader
jwrosewell cb62786
Key identity-graph reads and write-backs by the canonical form
jwrosewell fe23dcc
Egress only an Edge Cookie identifier the provider recognizes
jwrosewell e3ba579
Record the cluster-count gap the identifier envelope opens
jwrosewell 292df1f
Consume the refused Report in the testlight egress tests
jwrosewell a3a5d57
Drop the request-evidence accessors that have no caller
jwrosewell b70ddc0
Collapse the EC provider selector to statelessness and a named provider
jwrosewell 5da52c8
Accumulate provider response headers instead of replacing the origin's
jwrosewell 67c3b0b
State what a provider switch really does to existing identities
jwrosewell 1f62e1a
Name the design documents rather than their paths in doc comments
jwrosewell c7464bc
Restore the line continuations missed in the neighbouring files
jwrosewell ef81e88
Correct the two provider doc comments the earlier pass missed
jwrosewell acb416f
Stop a provider code from panicking when a vendor builds one at run time
jwrosewell 8eb0a9b
Refuse two Edge Cookie providers claiming the same name
jwrosewell f2b1825
Build the internal header list from the Edge Cookie response headers
jwrosewell 52e2692
Resolve the Edge Cookie provider once per request instead of twice
jwrosewell 1c7df60
Load Spin settings from the config store instead of a baked template
jwrosewell 3234092
Stop exposing an inbound Edge Cookie identifier nothing has vouched for
jwrosewell 1df8bf7
Keep the whole request-evidence interface
jwrosewell 8a29373
Documentation and house-style cleanup for the Edge Cookie provider PR
jwrosewell 147a37b
Name the caching reason accurately in the reserved-header rejection
jwrosewell 7dda9dd
Collapse Edge Cookie provider injection to a single seam
jwrosewell c16c99d
Remove the orphaned no-client-IP test fixture
jwrosewell 99b1acd
Add device and geo provider selection with the host-signal Edge Cooki…
jwrosewell 20fee6a
Omit an unset provider selector from the serialized config
jwrosewell 74047c1
Read the Cloudflare visitor region so US state opt-outs are honored
jwrosewell cf8d098
Reunite the request-info builders with their own documentation
jwrosewell de98934
Documentation and house-style cleanup for the device and geo provider PR
jwrosewell d3b4b06
Drop the unused HeaderMap import from the device tests
jwrosewell dcdb493
Give each vendor crate a visible maintainers declaration
jwrosewell 5467c53
Add the permission model with the Privacy Taxonomy vocabulary
jwrosewell 3edfb66
Correct the permission-model docs to what the code does
jwrosewell a558939
Give the remaining test fixtures the now-required default country
jwrosewell 8f8e5cc
Say which geo lookups can reach the requires-signal floor, and prove it
jwrosewell d002c9c
Scope the permission-gating claim to the provider it is true of
jwrosewell 8798e88
State that evidence is not rationed and use is
jwrosewell 1f64eb8
Name the IAB Tech Lab Privacy Taxonomy as the source of the vocabulary
jwrosewell deb9c9f
Build the test provider code through the macro that cannot fail
jwrosewell 4ce55ce
Documentation and house-style cleanup for the permission model PR
jwrosewell 6d150d8
Complete the mint and fingerprint house-style sweep after rebase
jwrosewell a36db64
Document how the resolved permissions reach filters and the page
jwrosewell 9d3c753
Expose the request permission state on the tsjs core API
jwrosewell d1cd60f
Pass the resolved permission state to integration request filters
jwrosewell 0af6509
Carry the resolved permission state to the page
jwrosewell d3ed330
Document the permission rules tree and retire the default country
jwrosewell 0ab0dda
Match the guide's jurisdiction values to the policy parser
jwrosewell bea39b8
Document jurisdiction as a per-node inherited attribute
jwrosewell 6fe991e
Note the unknown jurisdiction on a failed lookup and the DE codes
jwrosewell 3c44407
Point the GDPR page at the rules tree for jurisdiction assignment
jwrosewell d118ff2
Add the permission model guide to the site navigation
jwrosewell 727f785
Restructure the permission policy into a tree of places
jwrosewell 31fbe46
Give the integration environment a real place through Viceroy geoloca…
jwrosewell 7df640c
Give the template-cache harness a real place through Viceroy geolocation
jwrosewell 60458a5
Anchor the harness's geo selector uncomment to the whole line
jwrosewell f9c9632
Repair the harness's geo selector uncomment
jwrosewell e43095e
Model a realistic demo policy in permissions.yaml
jwrosewell 36a28a7
State that no policy ever ships with Trusted Server
jwrosewell 444d908
Move the sample permissions into config/permissions
jwrosewell 1f0d443
Add the permissions inspector, driven by the real code as WebAssembly
jwrosewell 5fa76c9
Mark the inspector build script executable
jwrosewell ae055e1
Limit the inspector workflow token to reading contents
jwrosewell d87711f
Point the compiled-in rules doc at config/permissions
jwrosewell 32b8d2e
Add the client-set Edge Cookie value path
jwrosewell 657a0ac
Tidy the client-cycle spec prose and state the no-store rule precisely
jwrosewell 3fa2ed0
Hold the resolve endpoint to the reserved response-surface contract
jwrosewell 749abbc
Accumulate provider response headers on the resolve endpoint too
jwrosewell 3fdfb9e
Build the resolve test provider code through the macro that cannot fail
jwrosewell b09c7c5
Documentation and house-style cleanup for the client-resolve PR
jwrosewell 0e4bfb8
Align the header-accumulation test with the reserved cache-control su…
jwrosewell 77ab44a
Reach the resolve endpoint's provider through the single seam
jwrosewell eab1359
Authorize the client resolve endpoint by exact origin, and restart th…
jwrosewell 0050c2c
Compare resolve origins by the RFC 6454 same-origin test
jwrosewell d9c2439
Make the demo page script check its required permission before posting
jwrosewell 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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| name: "Permissions Inspector" | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| build-inspector-wasm: | ||
| name: build inspector wasm | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Retrieve Rust version | ||
| id: rust-version | ||
| run: echo "rust-version=$(grep -oP 'channel = "\K[^"]+' rust-toolchain.toml)" >> "$GITHUB_OUTPUT" | ||
| - name: Set up Rust toolchain | ||
| uses: actions-rust-lang/setup-rust-toolchain@v1 | ||
| with: | ||
| toolchain: ${{ steps.rust-version.outputs.rust-version }} | ||
| target: wasm32-unknown-unknown | ||
| - name: Build the inspector engine | ||
| run: ./scripts/build-inspector-wasm.sh | ||
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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
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
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.
Uh oh!
There was an error while loading. Please reload this page.