Skip to content

Represent protocol within wanlib and update go-webauthn#29750

Merged
codingllama merged 12 commits intomasterfrom
codingllama/wan-interface
Aug 2, 2023
Merged

Represent protocol within wanlib and update go-webauthn#29750
codingllama merged 12 commits intomasterfrom
codingllama/wan-interface

Conversation

@codingllama
Copy link
Copy Markdown
Contributor

Represent the entirety of go-webauthn's protocol within lib/auth/webauthn, instead of only "leaf" types, so we are isolated from library JSON marshal changes (which there are plenty).

This allows us to update go-webauthn without potential compatibility breakages between Teleport versions, pushing us all the way the latest dependency. (We don't care whether bytes are Standard- or RawURL-encoded, transport is settled for us.)

Tested using pre- and post-update tsh binaries.

Copy link
Copy Markdown
Contributor

@tobiaszheller tobiaszheller left a comment

Choose a reason for hiding this comment

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

lgtm, can you also check it with new and old version of server?

Copy link
Copy Markdown
Contributor

@rosstimothy rosstimothy left a comment

Choose a reason for hiding this comment

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

Tested using pre- and post-update tsh binaries.

What was the version matrix that was tested? Did we test new/old tsh against new/old Auth?

Comment thread lib/auth/webauthn/messages.go
Comment thread lib/auth/webauthn/messages.go
Comment thread lib/auth/webauthn/messages.go
@codingllama
Copy link
Copy Markdown
Contributor Author

codingllama commented Aug 1, 2023

lgtm, can you also check it with new and old version of server?

What was the version matrix that was tested? Did we test new/old tsh against new/old Auth?

The matrix goes somewhat like this:

server old server new
tsh old no need
tsh new

Edit: tested "tsh new" + "server old".

@codingllama
Copy link
Copy Markdown
Contributor Author

Oh, just to add a bit more detail, I tested both with carried over credentials (MFA, Passwordless and Touch ID) and then tested deleting/adding new credentials with the "new"+"new" combination, just to be sure.

@codingllama
Copy link
Copy Markdown
Contributor Author

PTAL, test matrix complete.

@codingllama
Copy link
Copy Markdown
Contributor Author

Friendly ping @rosstimothy ?

@codingllama codingllama force-pushed the codingllama/wan-interface branch from 3a769f4 to 8b2dae3 Compare August 2, 2023 15:03
@codingllama
Copy link
Copy Markdown
Contributor Author

PTAL @rosstimothy ?

@public-teleport-github-review-bot public-teleport-github-review-bot Bot removed the request for review from lxea August 2, 2023 16:58
@codingllama codingllama added this pull request to the merge queue Aug 2, 2023
Merged via the queue into master with commit 63698a9 Aug 2, 2023
@codingllama codingllama deleted the codingllama/wan-interface branch August 2, 2023 17:26
codingllama added a commit that referenced this pull request Aug 15, 2023
* Represent the entirety of protocol within lib/auth/webauthn

* Bump github.com/go-webauthn/webauthn to v0.6.2

* Fixes for v0.6.x: Challenge, RPOrigins

* Bump github.com/go-webauthn/webauthn to v0.7.2

* Document new v0.7.2 fields

* Bump github.com/go-webauthn/webauthn to v0.8.2

* Fixes for v0.8.x: UserEntity.ID

* Bump github.com/go-webauthn/webauthn to v0.8.6

* Let bots update go-webauthn

* Drop support for RP and User icon

* Update generated protos

* Add a brief godoc to cloned types
codingllama added a commit that referenced this pull request Aug 15, 2023
* Represent the entirety of protocol within lib/auth/webauthn

* Bump github.com/go-webauthn/webauthn to v0.6.2

* Fixes for v0.6.x: Challenge, RPOrigins

* Bump github.com/go-webauthn/webauthn to v0.7.2

* Document new v0.7.2 fields

* Bump github.com/go-webauthn/webauthn to v0.8.2

* Fixes for v0.8.x: UserEntity.ID

* Bump github.com/go-webauthn/webauthn to v0.8.6

* Let bots update go-webauthn

* Drop support for RP and User icon

* Update generated protos

* Add a brief godoc to cloned types
github-merge-queue Bot pushed a commit that referenced this pull request Aug 15, 2023
* Represent `protocol` within `wanlib` and update go-webauthn (#29750)

* Represent the entirety of protocol within lib/auth/webauthn

* Bump github.com/go-webauthn/webauthn to v0.6.2

* Fixes for v0.6.x: Challenge, RPOrigins

* Bump github.com/go-webauthn/webauthn to v0.7.2

* Document new v0.7.2 fields

* Bump github.com/go-webauthn/webauthn to v0.8.2

* Fixes for v0.8.x: UserEntity.ID

* Bump github.com/go-webauthn/webauthn to v0.8.6

* Let bots update go-webauthn

* Drop support for RP and User icon

* Update generated protos

* Add a brief godoc to cloned types

* Undo go-webauthn compatibility changes

* Remove `lib/auth/webauthn` dependency from `webauthncli` (#30377)

* Alias `api/types/webauthn` imports to `wanpb`

* Use `webauthnpb` as the default package name

* Move messages.go to webauthntypes/

* Move extensions.go to webauthntypes/

* Move proto.go to webauthntypes/

* nit: Use consistent license style

* Use the `wantypes` alias for webauthntypes

* Use the `wanwin` alias for webauthnwin

* nit: Move winwebauthn.go to webauthnwin.go

* Document package webauthntypes

* Alias types required by e/

* Appease linter

* Add all main types/method to compat.go

* Reinstate spaces on proxy_test.go

* Alias newly-added usages

* chore: Drop the lib/auth/webauthn/httpserver test package (#30314)
github-merge-queue Bot pushed a commit that referenced this pull request Aug 15, 2023
* Represent `protocol` within `wanlib` and update go-webauthn (#29750)

* Represent the entirety of protocol within lib/auth/webauthn

* Bump github.com/go-webauthn/webauthn to v0.6.2

* Fixes for v0.6.x: Challenge, RPOrigins

* Bump github.com/go-webauthn/webauthn to v0.7.2

* Document new v0.7.2 fields

* Bump github.com/go-webauthn/webauthn to v0.8.2

* Fixes for v0.8.x: UserEntity.ID

* Bump github.com/go-webauthn/webauthn to v0.8.6

* Let bots update go-webauthn

* Drop support for RP and User icon

* Update generated protos

* Add a brief godoc to cloned types

* Undo go-webauthn compatibility changes

* Remove `lib/auth/webauthn` dependency from `webauthncli` (#30377)

* Alias `api/types/webauthn` imports to `wanpb`

* Use `webauthnpb` as the default package name

* Move messages.go to webauthntypes/

* Move extensions.go to webauthntypes/

* Move proto.go to webauthntypes/

* nit: Use consistent license style

* Use the `wantypes` alias for webauthntypes

* Use the `wanwin` alias for webauthnwin

* nit: Move winwebauthn.go to webauthnwin.go

* Document package webauthntypes

* Alias types required by e/

* Appease linter

* Add all main types/method to compat.go

* Reinstate spaces on proxy_test.go

* Alias newly-added usages

* chore: Drop the lib/auth/webauthn/httpserver test package (#30314)

* Change httpfallback.go imports
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants