Skip to content
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

build: update quic-go version #4385

Merged
merged 8 commits into from
Sep 7, 2023
Merged

Conversation

oncilla
Copy link
Contributor

@oncilla oncilla commented Aug 31, 2023

Update the quic-go version to v0.36.3. This is the last version that does not require Go 1.20 yet.

We will upgrade the Go version in a follow up PR.


This change is Reviewable

Update the quic-go version to v0.36.3. This is the last version that
does not require Go 1.20 yet.

We will upgrade the Go version in a follow up PR.
@oncilla oncilla requested a review from a team as a code owner August 31, 2023 15:58
Copy link
Contributor

@matzf matzf left a comment

Choose a reason for hiding this comment

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

Reviewed 15 of 15 files at r1.
Reviewable status: 10 of 17 files reviewed, 2 unresolved discussions (waiting on @oncilla)


pkg/snet/squic/net.go line 379 at r1 (raw file):

		var err error
		session, err = quic.Dial(ctx, d.Conn, dst, tlsConfig, quicConfig)

Multiple Dial calls on the same PacketConn are no longer allowed. This panics. We need to use a quic.DialListener here (see migration guide in quic-go/quic-go#3727).


pkg/snet/squic/net.go line 379 at r1 (raw file):

		var err error
		session, err = quic.Dial(ctx, d.Conn, dst, tlsConfig, quicConfig)

The SNI name is now (only) in tlsConfig.ServerName, which we don't set AFAICT. Is this legal, and compatible with older servers?

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 17 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, matzf (Matthias Frei) wrote…

Multiple Dial calls on the same PacketConn are no longer allowed. This panics. We need to use a quic.DialListener here (see migration guide in quic-go/quic-go#3727).

Done.


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, matzf (Matthias Frei) wrote…

The SNI name is now (only) in tlsConfig.ServerName, which we don't set AFAICT. Is this legal, and compatible with older servers?

Not sure, I need to double-check

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 17 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, oncilla (Dominik Roos) wrote…

Not sure, I need to double-check

I was able to connect from new quic client to existing server without issues.
But, I did have InsecureSkipVerify enabled, so all bets are off.

I set the ServerName to be compatible with the old version for sure.

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 17 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, oncilla (Dominik Roos) wrote…

I was able to connect from new quic client to existing server without issues.
But, I did have InsecureSkipVerify enabled, so all bets are off.

I set the ServerName to be compatible with the old version for sure.

Hm, i need to still investigate why drkey test is failing. Most likely due to this .

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 21 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, oncilla (Dominik Roos) wrote…

Hm, i need to still investigate why drkey test is failing. Most likely due to this .

💡 server names don't have ports 🤦
Should be good to go now.

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 22 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, oncilla (Dominik Roos) wrote…

💡 server names don't have ports 🤦
Should be good to go now.

Hm, big topologies are still failing. A bit too often to declare it a flake

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 24 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, oncilla (Dominik Roos) wrote…

Hm, big topologies are still failing. A bit too often to declare it a flake

0/20 vs 8/20

https://buildkite.com/scionproto/scion/builds/3683
https://buildkite.com/scionproto/scion/builds/3681

Copy link
Contributor Author

@oncilla oncilla left a comment

Choose a reason for hiding this comment

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

Reviewable status: 10 of 22 files reviewed, 2 unresolved discussions (waiting on @matzf)


pkg/snet/squic/net.go line 379 at r1 (raw file):

Previously, oncilla (Dominik Roos) wrote…

0/20 vs 8/20

https://buildkite.com/scionproto/scion/builds/3683
https://buildkite.com/scionproto/scion/builds/3681

Turns out receiving an unexpected error leaves the transport in a semi broken state.
I think I will file an issue with upstream to get their opinion on the matter.

Currently, it is hard for the client to detect it is in a broken state.

Copy link
Contributor

@matzf matzf left a comment

Choose a reason for hiding this comment

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

Reviewed 2 of 7 files at r2, 9 of 10 files at r3, 1 of 1 files at r4, all commit messages.
Reviewable status: :shipit: complete! all files reviewed, all discussions resolved (waiting on @oncilla)

@oncilla oncilla merged commit 5e04af0 into scionproto:master Sep 7, 2023
4 checks passed
@oncilla oncilla deleted the quic-update branch September 7, 2023 11:25
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.

2 participants