deluge:master

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

Branch merges

Branch information

Name:
master
Repository:
lp:deluge

Recent commits

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

Merge branch 'release-2.2.0'

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

Release 2.2.0

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