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

Update rincon_connector deps: hyper -> 0.12, hyper-tls -> 0.3, native-tls -> 0.2 (fixes openssl 0.9 dependency) #11

Open
jeffvandyke opened this issue Aug 7, 2019 · 2 comments

Comments

@jeffvandyke
Copy link

Openssl 0.9 is breaking on a growing number of Linux systems see this issue. hyper-tls 0.3 is the first to depend on native-tls 0.2, which is the first native-tls version to drop openssl 0.9. Hyper-tls, as far as I can tell, needs hyper 0.12 to work.

We currently use hyper 0.11, and hyper 0.12 is quite an upgrade with a few breaking changes (release notes).

An upgrade also breaks the hyper-timeout dependency, which as far as I can tell, needs hyper 0.11 to work (I've filed another issue here). An idea would be to drop hyper-timeout in favor of using tokio_core::reactor to timeout from outside hyper inside of impl Execute for JsonHttpConnection -> execute() inside rincon_connector/src/http/mod.rs, following advice on hyper's issue "Request timeouts". It also looks like Hyper is working on client timeouts at this issue (last update April 2019).

Another annoying change is that the typed headers (like ContentType::json(), most stuff from hyper::header) were removed, though they might be available in the headers crate, which is related to hyper and has good usage.

The biggest decision is what to do about timeouts, and I don't care for the idea of waiting for other projects to fix issues.

So basically, cargo test doesn't work on a fresh Rincon clone on my Manjaro Linux machine right now, and this is an explanation of the rabbit hole I went down to find out why. Bit of a mess, but there you go. High hopes!

@jeffvandyke
Copy link
Author

As something to keep an eye on, Hyper is working on 0.13, but it's uncertain when they'll be finished:Hyper 0.13 milestone

@jeffvandyke
Copy link
Author

So it looks like @hjr3 is getting ready for a new release on hyper-timeout to hyper 0.12 - pull request here, which would resolve the timeout question here and allow upgrading Rincon and keep the same dependency. I might try this out as a learning experiment. Would you be open to a pull request to Rincon to upgrade to hyper 0.12?

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

No branches or pull requests

1 participant