Skip to content

build: replace ring with aws-lc-rs #829

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

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open

build: replace ring with aws-lc-rs #829

wants to merge 13 commits into from

Conversation

ibigbug
Copy link
Member

@ibigbug ibigbug commented Jun 19, 2025

🤔 This is a ...

  • New feature
  • Bug fix
  • Performance optimization
  • Enhancement feature
  • Refactoring
  • Code style optimization
  • Test Case
  • Branch merge
  • Workflow
  • Other (about what?)

🔗 Related issue link

#765

💡 Background and solution

📝 Changelog

ring v0.17.8
|-- boring-noise v0.1.0 (https://github.com/Watfaq/boring-noise.git?rev=e01409626a15a987b0174d8c78b8181031c37309#e0140962)
|   `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib)
|       |-- clash-doc v0.8.0 (C:\Users\id\Projects\clash-rs\clash-doc)
|       |-- clash-ffi v0.8.0 (C:\Users\id\Projects\clash-rs\clash-ffi)
|       `-- clash-rs v0.8.0 (C:\Users\id\Projects\clash-rs\clash-bin)
|-- quinn-proto v0.11.10 (https://github.com/spongebob888/quinn-jls#9646c428)
|   `-- quinn v0.11.7 (https://github.com/spongebob888/quinn-jls#9646c428)
|       `-- shadowquic v0.1.11 (https://github.com/spongebob888/shadowquic#ee6edf91)
|           `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|-- quinn-proto v0.11.12
|   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|   `-- quinn v0.11.7
|       |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |-- h3-quinn v0.0.9
|       |   |-- hickory-proto v0.25.2
|       |   |   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |   |   |-- dhcproto v0.13.0
|       |   |   |   `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |   |   |-- hickory-client v0.25.2
|       |   |   |   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |   |   |   `-- watfaq-dns v0.8.0 (C:\Users\id\Projects\clash-rs\clash-dns)
|       |   |   |       `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |   |   |-- hickory-resolver v0.25.2
|       |   |   |   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |   |   |   `-- shadowsocks v1.23.1
|       |   |   |       `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |   |   |-- hickory-server v0.25.1
|       |   |   |   `-- watfaq-dns v0.8.0 (C:\Users\id\Projects\clash-rs\clash-dns) (*)
|       |   |   `-- watfaq-dns v0.8.0 (C:\Users\id\Projects\clash-rs\clash-dns) (*)
|       |   `-- hickory-server v0.25.1 (*)
|       |-- h3-quinn v0.0.10
|       |   `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|       |-- hickory-proto v0.25.2 (*)
|       `-- tuic-quinn v1.4.5 (https://github.com/Itsusinn/tuic.git?tag=v1.4.5#17ee3f70)
|           `-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|-- rcgen v0.13.2
|   `-- shadowquic v0.1.11 (https://github.com/spongebob888/shadowquic#ee6edf91) (*)
|-- ring-compat v0.8.0
|   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|   `-- shadowsocks-crypto v0.6.1
|       `-- shadowsocks v1.23.1 (*)
|-- rustls v0.23.25 (https://github.com/spongebob888/rustls-jls#7492120f)
|   |-- quinn v0.11.7 (https://github.com/spongebob888/quinn-jls#9646c428) (*)
|   |-- quinn-proto v0.11.10 (https://github.com/spongebob888/quinn-jls#9646c428) (*)
|   `-- shadowquic v0.1.11 (https://github.com/spongebob888/shadowquic#ee6edf91) (*)
|-- rustls v0.23.27
|   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|   |-- hickory-proto v0.25.2 (*)
|   |-- hickory-server v0.25.1 (*)
|   |-- hyper-rustls v0.27.7
|   |   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|   |   `-- reqwest v0.12.14
|   |       `-- sentry v0.40.0
|   |           `-- clash-rs v0.8.0 (C:\Users\id\Projects\clash-rs\clash-bin)
|   |-- quinn v0.11.7 (*)
|   |-- quinn-proto v0.11.12 (*)
|   |-- reqwest v0.12.14 (*)
|   |-- sentry v0.40.0 (*)
|   |-- tokio-rustls v0.26.2
|   |   |-- clash-lib v0.8.0 (C:\Users\id\Projects\clash-rs\clash-lib) (*)
|   |   |-- hickory-proto v0.25.2 (*)
|   |   |-- hickory-server v0.25.1 (*)
|   |   |-- hyper-rustls v0.27.7 (*)
|   |   `-- reqwest v0.12.14 (*)
|   `-- watfaq-dns v0.8.0 (C:\Users\id\Projects\clash-rs\clash-dns) (*)
`-- rustls-webpki v0.103.3
    |-- rustls v0.23.25 (https://github.com/spongebob888/rustls-jls#7492120f) (*)
    `-- rustls v0.23.27 (*)

☑️ Self-Check before Merge

⚠️ Please check all items below before requesting a reviewing. ⚠️

  • Doc is updated/provided or not needed
  • Changelog is provided or not needed

@ibigbug ibigbug requested a review from Copilot June 19, 2025 15:08
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR refactors and updates dependency naming and workspace configuration as part of the migration from ring to aws-lc-rs.

  • Renamed dependency and feature keys from underscore (e.g., clash_lib) to hyphen (e.g., clash‑lib) for consistency.
  • Updated the workspace member list in Cargo.toml to reflect new module names and added the clash‑dns member.
  • Modified the CI workflow to update the exclusion parameter for the renamed module.

Reviewed Changes

Copilot reviewed 3 out of 375 changed files in this pull request and generated no comments.

File Description
clash-bin/Cargo.toml Updated dependency keys and feature definitions for naming consistency.
Cargo.toml Revised workspace members to match new module naming conventions.
.github/workflows/ci.yml Adjusted test arguments to exclude the renamed clash‑ffi module.

Copy link

codecov bot commented Jun 22, 2025

Codecov Report

Attention: Patch coverage is 79.65779% with 107 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
clash-dns/src/handler.rs 80.68% 39 Missing and 40 partials ⚠️
clash-dns/src/utils.rs 38.70% 18 Missing and 1 partial ⚠️
clash-dns/src/tls.rs 83.33% 8 Missing ⚠️
clash-lib/src/app/logging.rs 0.00% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@ibigbug
Copy link
Member Author

ibigbug commented Jun 26, 2025

cross-rs/cross#1689

@Itsusinn
Copy link
Member

Itsusinn commented Jun 27, 2025

It shall be achieved through feature gate. Compilation on cross-rs is very random...

Especially arm-arch and i686-arch
https://github.com/Itsusinn/tuic/blob/dev/.github%2Fworkflows%2Fci.yml#L42-L138

@ibigbug
Copy link
Member Author

ibigbug commented Jun 27, 2025

sg

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

Successfully merging this pull request may close these issues.

2 participants