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 cookie dependency to 0.10 to avoid ring hell #627

Closed
hamaluik opened this issue May 3, 2018 · 3 comments
Closed

Update cookie dependency to 0.10 to avoid ring hell #627

hamaluik opened this issue May 3, 2018 · 3 comments
Labels
deficiency Something doesn't work as well as it could upstream An unresolvable issue: an upstream dependency bug

Comments

@hamaluik
Copy link

hamaluik commented May 3, 2018

I'm loving Rocket. It's getting me into Rust, and things have been going amazingly great. Until now, that is—where I need my server to make an https request to another server to get something done.

The problem is that every library that does this seems to (eventually) depend on ring. Specifically, version 0.12 of ring. The current dependency on Cookie (0.9) uses ring 0.11, but Cookie 0.10 uses ring 0.12, which seems compatible with a ton of things out there.

I know the frustration you've had with this (I've checked the threads), but for now, it seems like this could be fixed by bumping the Cookie dependency to 0.10. I wish I knew more about the Rust world to make a more meaningful contribution for this, but I'm working my way there!

@jebrosen
Copy link
Collaborator

jebrosen commented May 3, 2018

My understanding is that bumping cookie to 0.10 (I assume you are using rocket 0.3) will surprise-break everyone else on rocket 0.3 that already transitively depends on ring 0.11, so that would be a non-starter.

Rocket master currently depends on a specific commit of cookie labeled as part of 0.11.0-dev, which depends on ring 0.13.0-alpha. So that might not be suitable for you either.

You might be able to find older versions of your client libraries that depend on ring 0.11. Unfortunately, I don't know of a good way to discover reverse dependencies of crates by specific previous versions, and this could involve a lot of manual trial and error or viewing crate histories.

@hamaluik
Copy link
Author

hamaluik commented May 4, 2018

Yea.. that makes sense. I did manage to eventually build a solution that doesn't depend on ring whatsoever, but it seems so hacky 😞

@SergioBenitez
Copy link
Member

Exactly as @jebrosen states, we (very unfortunately) simply cannot do this as it is a breaking change. The proper fix is a change to ring, which I've already submitted (briansmith/ring#619). Unfortunately, there's been no movement on that in months. Alas, we may have to switch off of ring yet.

Since there's nothing we can do, I'm closing out this issue. I absolutely understand the confusion, however, and finding a permanent fix to this is something I'm deeply interested in.

@SergioBenitez SergioBenitez added upstream An unresolvable issue: an upstream dependency bug deficiency Something doesn't work as well as it could labels May 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deficiency Something doesn't work as well as it could upstream An unresolvable issue: an upstream dependency bug
Projects
None yet
Development

No branches or pull requests

3 participants