Skip to content

Commit

Permalink
aria2: build with GNUTLS instead of OpenSSL
Browse files Browse the repository at this point in the history
aria2's OpenSSL integration breaks down when interacting with TLS v1.3
enabled websites which manifests in errors like these:

```
07/05 12:26:53 [NOTICE] Downloading 1 item(s)

07/05 12:26:54 [ERROR] CUID#7 - Download aborted. URI=https://catbox.moe
Exception: [AbstractCommand.cc:351] errorCode=1 URI=https://catbox.moe
  -> [SocketCore.cc:1018] errorCode=1 SSL/TLS handshake failure: protocol error
```

There are multiple instances[1] of users reporting this to the aria2 issue
tracker, and one of those issues[2] documents using GnuTLS in place of OpenSSL
as a workaround for the TLS v1.3 woes. I've verified that it indeed fixes
the problem, and hence making this change in Nixpkgs.

1: https://github.com/aria2/aria2/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+%22protocol+error%22
2: aria2/aria2#1494
  • Loading branch information
msfjarvis authored and Mic92 committed Jul 30, 2023
1 parent b1a4a88 commit 0f7c49e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions pkgs/tools/networking/aria2/default.nix
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
, openssl, c-ares, libxml2, sqlite, zlib, libssh2
, gnutls, c-ares, libxml2, sqlite, zlib, libssh2
, cppunit, sphinx
, Security
}:
Expand All @@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
strictDeps = true;
nativeBuildInputs = [ pkg-config autoreconfHook sphinx ];

buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
buildInputs = [ gnutls c-ares libxml2 sqlite zlib libssh2 ] ++
lib.optional stdenv.isDarwin Security;

outputs = [ "bin" "dev" "out" "doc" "man" ];
Expand Down

0 comments on commit 0f7c49e

Please sign in to comment.