deluge:develop

Last commit made on 2025-04-28
Get this branch:
git clone -b develop https://git.launchpad.net/deluge

Branch merges

Branch information

Name:
develop
Repository:
lp:deluge

Recent commits

6ec1479... by Leonardo Colman Lopes <email address hidden>

Update Copyright Year

Closes: https://github.com/deluge-torrent/deluge/pull/471

66d2757... by Calum Lind <email address hidden>

Update translations from launchpad

99f2f12... by Calum Lind <email address hidden>

Update Changelog for notable fixes and features

3a80697... by Gavin Zhao <email address hidden>

[Core] Respect listen_reuse_port to randomize port on startup

The `listen_reuse_port` config is never respected in deluge.
Practically, this means that users cannot randomize the listen port on
startup. Before this change, this is what happens in `_set_listen_on`:

1. On run 1, `listen_random_port` is empty.
2. A random port is chosen, and its value is written into
   `listen_random_port` in `core.conf`.
3. On all subsequent runs, `deluged` reads `core.conf` and picks up
   `listen_random_port` from the previous run, so `listen_random_port`
   will never be randomized again.

To fix this, we should read `listen_reuse_port` and if it's `false`,
always disregard the current `listen_random_port` and randomly
pick a new value for it.

Signed-off-by: Gavin Zhao <email address hidden>
Closes: https://github.com/deluge-torrent/deluge/pull/477

22e9adb... by Dei-Cas Jeremie <email address hidden>

[Core][RPC] Log authentication error on user/password

Log authentication error due to wrong username or password sent by client.

Closes: https://github.com/deluge-torrent/deluge/pull/475

c5ce83e... by Martin Hertz <email address hidden>

[Packaging] deluge-console Windows workaround

Deluge-console broke on Windows after commit d559f67, which before that was working because it's source files getting included with rest UI/plugin data copied into place. This workaround here, copies back it's source files into place.

The underlying workarounded issues here is two-fold. It's not that anything is missing from the freezing, but rather that there at runtime is generated subparsers for the commands, using path_[0] (UI_PATH var in init.py, joined in console.py with rest path), so looking for files/paths not there anymore, as freezed now, and second, the use of 'overrides' decorator which breaks in freezed env since in decorators.py trying use inspect.stack()[2][4][0], and in freezed env inspect.stack()[2][4] is None, and hence any mention of former breaks with 'NoneType object is not subscriptable'. In non-freezed, it returns the call-context correctly, as source code readily available here.

Closes: https://github.com/deluge-torrent/deluge/pull/456

a49b436... by Cas

[WebUI] Fix potential flag endpoint path traversal

Fixes issue that allows for reading arbitrary OS files but is limited to PNG files only.

Ref: GHSL-2024-191
Issue: https://github.com/deluge-torrent/deluge/security/advisories/GHSA-4w2r-55hx-ppgc

a83f56a... by Calum Lind <email address hidden>

[WebUI] Fix js script dir traversal vulnerability

Normalise the path to find scripts and skip any scripts located outside
of the deluge scripts directory.

Ref: GHSL-2024-188
Issue: https://github.com/deluge-torrent/deluge/security/advisories/GHSA-3mmw-mvr2-44rw

757a782... by Calum Lind <email address hidden>

[WebUI] Fix insecure tracker icon endpoint

GitHub Security Lab (GHSL) Vulnerability Report identified a potential
SSRF information leak and limited unauthenticated file write.

The report identified that the unsecured tracker endpoint was able to
be exploited to place an image file outside of the tracker icons
directory.

* Use `basename` to get only tracker domain name to prevent path
  traversal.
* Require auth for tracker endpoint which also required modifying the
  cookie path to base path not just `/json`. Note for not auth'd must
  call server.NOT_DONE_YET after request.finish.
* Removed Deluge version from user-agent header to prevent attacker
  identifying compromised versions. A future task would be to determine
  if this should be a generic browser user-agent or configurable.
* Only auth when downloading tracker icon
* addCookie accepts str/bytes so use str, getCookie requires bytes only.

Ref: GHSL-2024-190
Related: https://docs.twistedmatrix.com/en/stable/web/howto/using-twistedweb.html#resource-rendering
Issue: https://github.com/deluge-torrent/deluge/security/advisories/GHSA-w6r6-6rxf-62x9

ba7c489... by =?utf-8?q?Jaroslav_Loba=C4=8Devski?= <email address hidden>

[Core|GTK] Ensure use HTTPS for new version check

Fixes issue that may allow attackers to spoof HTTP site and trick the user installing malware.

Ref: GHSL-2024-189
Issue: https://github.com/deluge-torrent/deluge/security/advisories/GHSA-r8gw-7g3r-h58q