-
Notifications
You must be signed in to change notification settings - Fork 58
fix(dashmate): use header authentication for ZeroSSL #4419
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,84 @@ | ||
| STATUS: PROGRESS | ||
| WHAT: Verified the requested branch and base commit; beginning official-doc and repository-flow research. | ||
| NEED: nothing | ||
| NEXT: Verify ZeroSSL's current authentication contract and enumerate every Dashmate call, caller, helper, and test. | ||
|
|
||
| STATUS: FINDING | ||
| WHAT: ZeroSSL's current public REST overview and endpoint pages still require access_key query parameters; no public official page documenting Authorization: ApiKey was discoverable. | ||
| NEED: nothing | ||
| NEXT: Record the evidence conflict explicitly and design a conditional implementation gate around the newer announcement. | ||
|
|
||
| STATUS: FINDING | ||
| WHAT: Confirmed seven production wrappers and no existing wrapper/requestApi unit coverage; revokeCertificate currently has no repository caller. | ||
| NEED: nothing | ||
| NEXT: Compare authentication-injection seams and specify parameterized red-to-green request-contract coverage. | ||
|
|
||
| STATUS: PROGRESS | ||
| WHAT: Chose centralized header injection in the ZeroSSL-only requestApi helper; endpoint signatures and upstream callers remain unchanged. | ||
| NEED: nothing | ||
| NEXT: Write the evidence-gated design, exact request matrix, failure analysis, and TDD contract into the spec. | ||
|
|
||
| STATUS: DONE | ||
| WHAT: Completed the repository-grounded ZeroSSL header-auth spec with official-source conflict, centralized design, forward-port notes, and red-to-green request matrix. | ||
| NEED: Canonical ZeroSSL announcement or written support confirmation before implementation. | ||
| NEXT: Waiting for parent-orchestrated independent spec review and Ivan's alignment; no code work is authorized. | ||
|
|
||
| STATUS: PROGRESS | ||
| WHAT: Started independent coherence, feasibility, security, adversarial, and product reviews of the spec in two waves. | ||
| NEED: Nothing. | ||
| NEXT: Verify and fold review findings, then explain the reviewed plan and request Ivan's alignment before coding. | ||
|
|
||
| STATUS: FINDING | ||
| WHAT: Review confirmed invalid header errors can echo the key, case-variant Authorization values can combine, and reflected response errors can reach logs. | ||
| NEED: Nothing. | ||
| NEXT: Specify case-insensitive header ownership, generic local failures, exact-key response redaction, and adversarial tests. | ||
|
|
||
| STATUS: FINDING | ||
| WHAT: Public ZeroSSL docs still conflict with the supplied announcement; reviewers required a named evidence owner, terminal deferral path, and rollout validation. | ||
| NEED: Canonical ZeroSSL announcement or written ZeroSSL support confirmation. | ||
| NEXT: Fold the gate and operational decision path into the reviewed spec, then wait for Ivan's alignment and evidence. | ||
|
|
||
| STATUS: FINDING | ||
| WHAT: Second-pass review found that redaction must precede Error construction and malformed JSON parse errors must be replaced before they can quote reflected key material. | ||
| NEED: Nothing. | ||
| NEXT: Tighten the response-boundary contract and adversarial tests, then complete the reviewed-plan sync. | ||
|
|
||
| STATUS: BLOCKED | ||
| WHAT: Completed two-pass multi-agent review and folded verified findings; no production or test code was changed. | ||
| NEED: Canonical ZeroSSL announcement or written support confirmation, plus Ivan's explicit alignment with the reviewed plan. | ||
| NEXT: After both gates clear, write and run the failing request-contract tests, implement the centralized migration, verify green, and run independent code review. | ||
|
|
||
| STATUS: BLOCKED | ||
| WHAT: Ivan requested implementation and aligned on proceeding, but the mandatory ZeroSSL contract evidence gate remains unsatisfied; source and tests are untouched. | ||
| NEED: Canonical ZeroSSL announcement/account notice showing the exact header, or written ZeroSSL support confirmation for the scoped endpoints. | ||
| NEXT: On receipt, start with the failing request-contract tests, then implement, verify, and independently review the code. | ||
|
|
||
| STATUS: DONE | ||
| WHAT: Verified ZeroSSL's official 2026-08-17 update: header auth is live, URL access_key is deprecated, and the exact exclusive prefix is Authorization: ApiKey. | ||
| NEED: Nothing. | ||
| NEXT: Begin TDD implementation with the focused request-contract test failing against untouched production code. | ||
|
|
||
| STATUS: PROGRESS | ||
| WHAT: Added the focused request contract and confirmed 17 failures against untouched production code, including all seven credential-bearing URLs and error-boundary leaks. | ||
| NEED: Nothing. | ||
| NEXT: Implement centralized header injection and remove access_key from the seven endpoint URLs, then rerun the identical test. | ||
|
|
||
| STATUS: FINDING | ||
| WHAT: Independent code review found reflected error member names and leading key whitespace were not covered; both new regression cases failed before the follow-up fix. | ||
| NEED: Nothing. | ||
| NEXT: Redact member names, reject leading/trailing key whitespace, and rerun focused tests and lint. | ||
|
|
||
| STATUS: DONE | ||
| WHAT: Implemented header-only auth for all seven wrappers; 20 focused and 32 ZeroSSL unit tests pass, Dashmate lint has zero errors, and production access_key search is empty. | ||
| NEED: Full Dashmate unit discovery still requires the missing wasm-dpp build, which is blocked by a confirmed sccache Operation not permitted failure. | ||
| NEXT: Complete final post-fix review and hand off the uncommitted implementation; deployment still requires the spec's header-only read-only smoke check. | ||
|
|
||
| STATUS: DONE | ||
| WHAT: Independent post-fix security and test review is clean after strengthening Certificate conversion and sanitized-error shape assertions. | ||
| NEED: Nothing for the scoped implementation; the full-suite WASM/sccache prerequisite and deployment smoke check remain explicit handoff items. | ||
| NEXT: Waiting for commit/PR instructions; no commit, push, PR, or v4.2-dev change was made. | ||
|
|
||
| STATUS: DONE | ||
| WHAT: Rebuilt wasm-dpp with Homebrew LLVM and ran the complete Dashmate unit suite outside the sandbox; all 178 tests pass. | ||
| NEED: Nothing for repository verification; the deployment smoke check remains an operational handoff. | ||
| NEXT: Waiting for commit/PR instructions; no commit, push, PR, or v4.2-dev change was made. | ||
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
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.
🟡 Suggestion: Remove the internal migration progress log
This file is a chronological implementation log rather than durable project documentation. It preserves superseded states such as
BLOCKED, says that source and tests were untouched, claims no commit or PR was made, and refers to a migration specification that the final commit removes. Those statements contradict the completed implementation and can mislead readers; delete this status artifact together with the removed specification.source: ['codex']