-
Notifications
You must be signed in to change notification settings - Fork 16
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
Version bumps #5
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
Oh, crap, removing config is terrible. |
@sr-gi I believe we cracked it! Please take a look at the latest iteration in PR 🥳 |
Additional concerns with this version bump:
cc @Kixunil |
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.
tACK 0a13823
I cannot believe that just packing the Client
and Interceptor
in an InterceptedService
service did the trick. So happy :DD
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.
reACK 90637b1
src/lib.rs
Outdated
} | ||
} | ||
|
||
if let Some(last) = self.certs.last() { | ||
if *last != end_entity.0 { |
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.
This is the only part I'm not 100% sure about, it would be good to double-check for a cert that is signed by letsencrypt
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.
I've dropped this custom validation after checking against letsencrypt certs and seeing failures. My tests were inconclusive though. Some of the failures seemed expected, i.e when I passed a certificate that was not provided by server to client
Maybe it's best to consider the whole custom validation changes as follow up improvement
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.
How did you manage to create the letsencytp cert for LND? I'll give it a go tomorrow and if we cannot get far we can just leave it as it was and tackle it down the line
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.
Let's test it together tomorrow
I'm a bit out of context here, but on my level of understanding LGTM. Please ping me once you want to land and there are no outstanding issues, if you need someone to approve. |
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.
Perhaps we need to review the cert verification in future but LGTM for now
Tonic v0.7 introduced a breaking change removing direct tonic transport configuration with rustls::ClientConfig, reason being that tonic needs to avoid version lock with rustls, i.e changes in rustls APIs should not break tonic. The recommended workaround is to directly use hyper and tonic, avoiding tonic::transport:Channel within the InterceptedService, as applied in this commit
tonic-build v0.10.0 codegen produces types that use TryInto trait. To avail this in scope, we bump rust edition to 2021, thus including TryInto trait in rust prelude
For context, I think we could create our own custom certificate verifier based on: briansmith/webpki#127, which allows self-signed certs, and then pass it to |
I think this may actually be harder than I though. It requires copying a lot of functionality from |
- release includes changes introduced by fedimint#5
0.19.0
to0.21.0
and tonic from0.6.2
to0.10.0
. Tonic related dependencies are also bumpedrustls::ClientConfig
, reason being that tonic needs to avoid version lock with rustls, i.e changes in rustls APIs should not break tonic. The recommended workaround is to directly use hyper and tonic, avoiding tonic::transporttonic-lnd
codegen1.65.0