Skip to content

mismatch in version of tokio-rustls causes zenoh to not compile #1747

@TheButlah

Description

@TheButlah

Describe the bug

Certain permutations of a valid Cargo.lock, which can happen in large codebases, will result in a version mismatch where tls-listener uses a different version of tokio-rustls than zenoh-link-tls does.

I think this is possible because tls-listener can use either v0.25.0 or v0.26.0, whereas zenoh-link-tls only ever uses v0.26.0.

Instead, zenoh-link-tls should use the version that tls-listener exports

To reproduce

I have created a minimal reproducible Cargo.lock and full example here: TheButlah/bugs#2

Here are the crates and how they depend on tokio-rustls:

❯ cargo tree -i tokio-rustls@0.25.0
tokio-rustls v0.25.0
└── tls-listener v0.10.3
    └── zenoh-link-tls v1.1.1
        └── zenoh-link v1.1.1
            ├── zenoh v1.1.1
            │   └── repro v0.1.0 (/Users/ryan.butler/P/bugs)
            └── zenoh-transport v1.1.1
                └── zenoh v1.1.1 (*)

❯ cargo tree -i tokio-rustls@0.26.0
tokio-rustls v0.26.0
└── zenoh-link-tls v1.1.1
    └── zenoh-link v1.1.1
        ├── zenoh v1.1.1
        │   └── repro v0.1.0 (/Users/ryan.butler/P/bugs)
        └── zenoh-transport v1.1.1
            └── zenoh v1.1.1 (*)

System info

  • Zenoh version: 1.1.1
  • platform: macos

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions