GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||
GeezerVison is showing github.com — Replace OpenSSL with rustls by thomas-zahner · Pull Request #1928 · lycheeverse/lychee Conversation
|
|
@mre If we see that this PR works in CI and on different machines for users, do you agree that it makes sense to fully get rid of the OpenSSL approach? Or do you think we should keep it and only change the default? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
d645040 to
fe1e69a
Compare
|
TBH, for now I would keep it and change the default. At least for one version. Then we can tell people to switch back to OpenSSL if there are any problems. We could mention that in the release-notes. On the other side, I'm flexible here. That's just what I would do, but we can also go all-in on rustls. 😆 Worst case, we release a patch version with the OpenSSL option available again. So whatever you believe is the best tradeoff between simplicity and user experience. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This unfortunately is blocked by reacherhq/check-if-email-exists#1625. The problem is that the latest version of check-if-email-exists on crates.io uses openSSL without an option to use ruslts. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I just found that the But it's enabled by default for lychee CLI: Line 96 in caf63cc
As far as I know, it's not compatible with the Apache2 + MIT license. Maybe we need to open another issue to discuss this. What do you think? @mre |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@kemingy Thanks for pointing it out. This is known since 2022 see #594. Unfortunately, we never really prioritised the issue. But you are right that this is quite problematic and now as it even blocks the transition to rustls I will try to resolve it as soon as possible. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
06ac330 to
4455678
Compare
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
makes sense and diff looks reasonable. would it be worthwhile to mention somewhere, maybe near the readme feature flags, that we use rustls and to report any issues or shortcomings?
also, idk much about TLS, but does this make it harder to use system-installed root certificates? this could affect people using lychee for intranet websites. but maybe the current vendored-openssl already makes that difficult - I'm not sure.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Sure, that makes sense.
I'm also no expert on that. But it seems like self-signed certificates are currently broken, so this PR shouldn't worsen the situation. I've asked on the issue if this branch resolves the problems, which is not entirely unlikely. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| .client()?; | ||
|
|
||
| let response = client.check("https://example.com").await?; | ||
| let response = client.check("https://rust-lang.org").await?; |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Was this change intentional? It seems to be unrelated to rustls and as far as I remember, the goal was to show how includes overrides excludes. By changing the URL this is no longer clear.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Oh thanks for pointing out. Yes it was intentional but I forgot to update the includes and excludes. Fixed now.
I've replaced example.com with rust-lang.org because it might be confusing to people. (at least it confused me) Running cargo run --example builder makes the example panic. The URL is still excluded because we explicitly exclude example.com from checking.
We need to include the feature flag to make the example not panic: cargo run --example builder -F check_example_domains. With f4d1a38 the example will now pass independently of the provided feature flags.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Feels good. 😃
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Co-authored-by: katrinafyi <[email protected]>
As recommended by @katrinafyi in lycheeverse#1928 (review)
Thanks, I agree :)
Done in e9d1e97 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
GITHUB_TOKEN environment variable causes panics with "Could not automatically determine the process-level CryptoProvider from Rustls crate features"
Make TLS errors more descriptive
Clarify Network error reporting
Use rustls by default
There was an error while loading. Please reload this page.