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

Switch from MbedTLS to OpenSSL #56708

Merged
merged 34 commits into from
Jan 4, 2025
Merged

Conversation

eschnett
Copy link
Contributor

@eschnett eschnett commented Nov 28, 2024

Based on @fxcoudert's openssl branch and pull request at #53891.

  • diff re-applied to current Julia master (hence the new commit)
  • LibCURL, LibGit2, LibSSH2, OpenSSL updated to newest version
  • MbedTLS removed

Fix #48799.

@eschnett
Copy link
Contributor Author

eschnett commented Nov 28, 2024

Current to-do list:

  • Understand how NetworkOptions and OpenSSL cooperate regarding CA roots. Possibly remove all NetworkOptions stuff from the OpenSSL_jll stdlib.
  • NetworkOptions has some MbedTLS-specific code. This needs to be switched to OpenSSL.
  • I added some OpenSSL CA-root work-around into the test cases. That should probably be removed again.
  • Something is off with LibCURL. We need to decide what to do, at the moment likely just staying at an older version.

@giordano
Copy link
Contributor

Something is off with LibCURL. We need to decide what to do, at the moment likely just staying at an older version.

If you mean with libcurl v8.10+ JuliaLang/Downloads.jl#260, JuliaLang/Downloads.jl#260 (comment) should fix it. But there are still other failures: JuliaLang/Downloads.jl#261

@eschnett
Copy link
Contributor Author

eschnett commented Nov 29, 2024

This PR requires the two other PRs

Currently these other PRs are hardcoded in stdlib/NetworkOptions.version and Pkg.version. That also needs to be undone.

@eschnett
Copy link
Contributor Author

@giordano There is a likely-spurious test failure. Can you restart test x86_64-unknown-freebsd?

deps/checksums/clang Outdated Show resolved Hide resolved
deps/checksums/llvm Outdated Show resolved Hide resolved
deps/checksums/suitesparse Outdated Show resolved Hide resolved
deps/checksums/unwind Outdated Show resolved Hide resolved
deps/curl.mk Outdated Show resolved Hide resolved
@giordano giordano added building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries stdlib Julia's standard library labels Nov 29, 2024
@IanButterworth

This comment has been minimized.

@giordano

This comment has been minimized.

@IanButterworth

This comment has been minimized.

@giordano

This comment has been minimized.

@IanButterworth

This comment has been minimized.

@IanButterworth

This comment has been minimized.

@giordano

This comment has been minimized.

@IanButterworth

This comment has been minimized.

@IanButterworth

This comment has been minimized.

@giordano

This comment has been minimized.

@giordano giordano added the merge me PR is reviewed. Merge when all tests are passing label Jan 4, 2025
@fxcoudert
Copy link
Contributor

Single failure in test x86_64-apple-darwin, codegen:

Compiler/codegen                                 (3) |        started at 2025-01-04T08:05:48.661
      From worker 3:	WARNING: method definition for f56739 at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-grannysmith-C07ZQ07RJYVY.0/build/default-grannysmith-C07ZQ07RJYVY-0/julialang/julia-master/julia-8bb516f20e/share/julia/Compiler/test/codegen.jl:1034 declares type variable T but does not use it.
Compiler/codegen                                 (3) |         failed at 2025-01-04T08:07:22.987
Test Failed at /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-grannysmith-C07ZQ07RJYVY.0/build/default-grannysmith-C07ZQ07RJYVY-0/julialang/julia-master/julia-8bb516f20e/share/julia/Compiler/test/codegen.jl:412
  Expression: abs(#= /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-grannysmith-C07ZQ07RJYVY.0/build/default-grannysmith-C07ZQ07RJYVY-0/julialang/julia-master/julia-8bb516f20e/share/julia/Compiler/test/codegen.jl:412 =# @allocated(f_dict_hash_alloc()) / #= /Users/julia/.julia/scratchspaces/a66863c6-20e8-4ff4-8a62-49f30b1f605e/agent-cache/default-grannysmith-C07ZQ07RJYVY.0/build/default-grannysmith-C07ZQ07RJYVY-0/julialang/julia-master/julia-8bb516f20e/share/julia/Compiler/test/codegen.jl:412 =# @allocated(g_dict_hash_alloc()) - 1) < 0.1
   Evaluated: 0.3193392980041294 < 0.1

@giordano
Copy link
Contributor

giordano commented Jan 4, 2025

That's #56748

@giordano giordano merged commit 638dacc into JuliaLang:master Jan 4, 2025
7 of 9 checks passed
@giordano giordano removed the merge me PR is reviewed. Merge when all tests are passing label Jan 4, 2025
giordano added a commit to giordano/julia that referenced this pull request Jan 5, 2025
* Curl was missing a dependency on OpenSSL after JuliaLang#56708
* openssl is missing configuration target for riscv64
giordano added a commit that referenced this pull request Jan 5, 2025
* Curl was missing a dependency on OpenSSL after #56708
* openssl is missing configuration target for riscv64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies external dependencies Involves LLVM, OpenBLAS, or other linked libraries JLLs stdlib Julia's standard library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drop mbedTLS and migrate to OpenSSL