Skip to content

v2 preparation - #246

Draft
runcom wants to merge 10 commits into
fido-device-onboard:mainfrom
runcom:prep-v2
Draft

v2 preparation#246
runcom wants to merge 10 commits into
fido-device-onboard:mainfrom
runcom:prep-v2

Conversation

@runcom

@runcom runcom commented Jul 20, 2026

Copy link
Copy Markdown
Member

No description provided.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the to0Client interface and its implementations to support a new delegateName parameter in the RegisterBlob method. Additionally, it introduces a replace directive in go.mod pointing to a personal fork of go-fdo. Feedback highlights that using a personal fork in go.mod can cause build and maintainability issues for downstream consumers, and suggests avoiding hardcoding the delegateName to an empty string in RegisterRvBlob by either exposing it in the function signature or documenting the limitation.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread go.mod Outdated
Comment thread internal/to0/to0.go Outdated
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

go-test-coverage report

Total test coverage: 71.6% (2611/3649)

Test coverage has changed in the current files, with 142 lines missing coverage.
  file:				uncovered:	current coverage:	base coverage:
  internal/config/owner.go	 53		47.3% (26/55)		64.9% (24/37)
  internal/server/owner.go	 75		75.6% (96/127)		77.5% (93/120)
  internal/state/delegate.go	 14		 0.0% (0/6)		 / 

@runcom
runcom force-pushed the prep-v2 branch 4 times, most recently from f93542d to 20c5ef6 Compare July 21, 2026 07:23
x
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
runcom and others added 3 commits July 21, 2026 09:45
Update replace directive to use github.com/runcom/go-fdo@a65532ef9792
which includes:
- P0: Fixed FDO 2.0 service info exchange
- P1: Fixed KEX parameter and HTTP version validation
- P2: Version context injection, ReplacementHmac type, RvDelegate field
- Removed delegation from FDO 1.1 (delegation is FDO 2.0 only)
- Fixed transport path routing for FDO 2.0

Note: Requires GONOSUMDB=* GOPROXY=direct for go mod tidy until
sum.golang.org indexes the new commit.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@runcom
runcom marked this pull request as ready for review July 21, 2026 08:50
@runcom
runcom marked this pull request as draft July 21, 2026 08:50
runcom added 6 commits July 21, 2026 11:23
Updates go-fdo to commit 2821218 which includes:
- FDO 2.0 protocol implementation (TO0, TO1, TO2)
- Capability flags for version negotiation
- Delegation support
- Comprehensive test suite

Changes:
- Updated go.mod replace directive to point to runcom/go-fdo v2-new branch
- Updated RegisterBlob interface to include delegateName parameter
- Pass empty string for delegateName (no delegation in server yet)

Build verified successfully.

Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
This commit adds comprehensive documentation for FDO 2.0 protocol support
in go-fdo-server.

The server already supports FDO 2.0 alongside FDO 1.1:
- Dual protocol routes: /fdo/101/msg/ (v1.1) and /fdo/200/msg/ (v2.0)
- Automatic version negotiation via capability flags
- Cross-version compatibility with all client versions
- Delegation protocol support (FDO 2.0 feature)

Key FDO 2.0 features documented:
- Message type ranges (TO0: 20-23, TO1: 30-33, TO2: 80-91)
- Capability flags (Capb0SupFDO11, Capb0SupFDO20)
- Delegation protocol with DelegateChain
- Delegation management API endpoints
- Hash binding chain (HashPrev/HashPrev2)
- Additional Authenticated Data (AAD)

Includes:
- Configuration examples
- Management API reference for delegation
- Migration guide from FDO 1.1
- Monitoring and debugging tips

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
Update countingClient mock to match the new RegisterBlob signature
with delegateName parameter added in FDO 2.0 support.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
Update to latest v2-new (8b6a6d2) which removes omitempty from TO1
CapFlags fields, fixing CBOR field count mismatch error during TO1:

  error decoding TO1.HelloRV request: struct has an incorrect number
  of fields: has 2, expected 3

CapFlags is now always serialized, ensuring consistent 3-field struct.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
Update to a2922fa which adds TO1Options.SendCapFlags for controlling
whether capability flags are sent in TO1.HelloRV messages.

This enables backward compatibility with FDO 1.1-only servers while
supporting FDO 2.0 clients when they explicitly request it.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Signed-off-by: Antonio Murdaca <antoniomurdaca@gmail.com>
@runcom runcom closed this Aug 3, 2026
@runcom runcom reopened this Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant