userwithuid [Wed, 18 Apr 2018 09:25:13 +0000 (09:25 +0000)]
cmake: replace intltool with gettext
requires gettext 0.19.7 or higher
Zachary J. Slater [Tue, 17 Apr 2018 10:50:33 +0000 (00:50 -1000)]
Updated copyright string to 2018
Small update to copyright string
Mike Gelfand [Fri, 23 Feb 2018 19:37:20 +0000 (22:37 +0300)]
HTML-escape torrent name displayed in trackers inspector tab
This will prevent injection of arbitrary HTML when multiple torrents are
selected. Follow-up to the previous commit.
Mike Gelfand [Thu, 22 Feb 2018 22:27:31 +0000 (01:27 +0300)]
Tracker error XSS in inspector (web client)
Tracker error messages are inadequately output encoded when rendered by the
tracker information page inside the WebUI, allowing a malicious tracker to
inject an XSS payload into the page. Esploiting this issue allows an
attacker to supply arbitrary client-side code that will ultimately be
rendered and executed within the end user's web browser.
Found by Rory McNamara (Gotham Digital Science). CVE pending.
Mike Gelfand [Tue, 17 Apr 2018 09:16:18 +0000 (12:16 +0300)]
Adjust CFBundleVersion format to fix Sparkle update check
Set the first version component to be the same as the last Subversion-based
release build version and add two more components (major and minor version
numbers). To allow for nightly build updates this should probably include
another component (e.g. build timestamp), but we're not there yet.
geertjan [Mon, 19 Feb 2018 20:06:34 +0000 (21:06 +0100)]
Fix setting the ETA timestamps
Field etaDLSpeedCalculatedAt was set too early, causing the condition
following it to always be false. The same for etaULSpeedCalculatedAt.
Mike Gelfand [Fri, 6 Apr 2018 19:49:27 +0000 (22:49 +0300)]
Merge pull request #522 from gjalsem/master
Fix setting the ETA timestamps
dubhater [Thu, 8 Mar 2018 12:12:52 +0000 (14:12 +0200)]
Qt: Fix bad downloaded percentage in DetailsDialog
It was always 0.0% as long as the torrent was not finished.
Mike Gelfand [Fri, 6 Apr 2018 19:44:54 +0000 (22:44 +0300)]
Merge pull request #547 from dubhater/patch-6
Qt: Fix bad downloaded percentage in DetailsDialog
Mike Gelfand [Fri, 6 Apr 2018 19:34:11 +0000 (22:34 +0300)]
Merge pull request #528 from neheb/patches
Fix compile errors for 2.9x
Bernard Spil [Sun, 1 Apr 2018 20:39:09 +0000 (22:39 +0200)]
Fix build with LibreSSL 2.7
LibreSSL 2.7 adds OpenSSL 1.1 API
See also: https://bugs.freebsd.org/226953
Signed-off-by: Bernard Spil <brnrd@FreeBSD.org>
Niklas Haas [Sat, 20 May 2017 05:16:53 +0000 (07:16 +0200)]
LibreSSL compatibility
This seems to be the idiomatic way to fix libressl compatibility issues,
judging by what most other open source projects seem to be doing.
I've confirmed that transmission builds with libressl for me after this
patch is applied.
Mike Gelfand [Tue, 6 Sep 2016 22:09:04 +0000 (01:09 +0300)]
Fix coding style and building with !TR_LIGHTWEIGHT
Mike Gelfand [Fri, 6 Apr 2018 19:03:24 +0000 (22:03 +0300)]
Merge pull request #570 from Sp1l/master
Fix build with LibreSSL 2.7
Bernard Spil [Sun, 1 Apr 2018 20:39:09 +0000 (22:39 +0200)]
Fix build with LibreSSL 2.7
LibreSSL 2.7 adds OpenSSL 1.1 API
See also: https://bugs.freebsd.org/226953
Signed-off-by: Bernard Spil <brnrd@FreeBSD.org>
dubhater [Thu, 8 Mar 2018 12:12:52 +0000 (14:12 +0200)]
Qt: Fix bad downloaded percentage in DetailsDialog
It was always 0.0% as long as the torrent was not finished.
Mike Gelfand [Fri, 26 Jan 2018 05:31:16 +0000 (08:31 +0300)]
Fix FTCBFS due to AC_RUN_IFELSE (patch by Helmut Grohne)
Fixes: #475
Mike Gilbert [Sun, 18 Dec 2016 19:20:30 +0000 (14:20 -0500)]
cmake: link against libmbedcrypto if available
In recent versions of mbed TLS, several symbols are moved to
libmbedcrypto.
Fixes: https://github.com/transmission/transmission/issues/115
Mike Gelfand [Wed, 26 Oct 2016 17:37:10 +0000 (20:37 +0300)]
Add support for mbedtls (formely polarssl)
Mike Gelfand [Thu, 22 Feb 2018 20:44:19 +0000 (23:44 +0300)]
Bump version to 2.93+, fix NEWS date
geertjan [Mon, 19 Feb 2018 20:06:34 +0000 (21:06 +0100)]
Fix setting the ETA timestamps
Field etaDLSpeedCalculatedAt was set too early, causing the condition
following it to always be false. The same for etaULSpeedCalculatedAt.
Mike Gelfand [Sat, 10 Feb 2018 08:35:14 +0000 (11:35 +0300)]
Update DHT library to 0.25
Fixes: #508
Mike Gelfand [Sat, 3 Feb 2018 20:27:29 +0000 (23:27 +0300)]
Merge pull request #500 from michaelskree/null-terminate
Ensure buffer contents are null-terminated
Michael Skree [Fri, 2 Feb 2018 03:03:59 +0000 (21:03 -0600)]
Ensure buffer contents are null-terminated
Data added with `evbuffer_add` isn't null-terminated. This was causing
extra characters to appear at the end of the output.
Fixes: #174
Mike Gelfand [Sat, 3 Feb 2018 19:36:54 +0000 (22:36 +0300)]
Fix progress bar width with Breeze style (Qt client)
In compact torrents view, use BAR_WIDTH as groove area width instead of
total progress bar width, to improve the appearance in case progress text
is drawn outside of the groove area (because of style settings).
Initial patch provided by dubhater.
Fixes: #491
Mike Gelfand [Sat, 3 Feb 2018 09:39:24 +0000 (12:39 +0300)]
Fix some leaks in tr-remote reported by GCC's sanitizer
Mike Gelfand [Sat, 3 Feb 2018 08:44:33 +0000 (11:44 +0300)]
Merge pull request #494 from dubhater/patch-1
Qt: Fix assert with one-letter root folder names
Mike Gelfand [Sat, 3 Feb 2018 08:27:43 +0000 (11:27 +0300)]
Merge pull request #495 from neheb/patch-1
Set compression to curl defaults
Rosen Penev [Tue, 30 Jan 2018 21:56:24 +0000 (13:56 -0800)]
Set compression to curl defaults
While zlib is mandatory for transmission, it is not mandatory for curl.
A libcurl that has been compiled with no support for zlib will return no data if compressed responses are set to on.
In the basic case this prevents the port checking functionality from working properly. It also prevents web seeding from working as well.
dubhater [Tue, 30 Jan 2018 21:44:12 +0000 (23:44 +0200)]
Qt: Fix assert with one-letter root folder names
An assertion failure happens shortly after opening the
"Torrent properties" dialog if the torrent's root folder has
a one-letter name, e. g.
A/
A/Some Linux distro.iso
A/Some other Linux distro.iso
Off by one errors are great, eh?
This fixes https://trac.transmissionbt.com/ticket/6141
Mike Gelfand [Fri, 26 Jan 2018 05:38:14 +0000 (08:38 +0300)]
Merge pull request #57 from Teteros/update-wiki-links
Update migrated wiki links in man pages
Mike Gelfand [Fri, 26 Jan 2018 05:31:16 +0000 (08:31 +0300)]
Fix FTCBFS due to AC_RUN_IFELSE (patch by Helmut Grohne)
Fixes: #475
Mike Gelfand [Fri, 26 Jan 2018 04:56:11 +0000 (07:56 +0300)]
Use `magick convert` instead of `convert`
This adjusts to the new ImageMagick command naming (way to go,
GraphicsMagick had this from the beginning) and avoids confusion with
same-named windows utility which serves completely different purpose.
Mike Gelfand [Thu, 25 Jan 2018 00:07:52 +0000 (03:07 +0300)]
Merge branch '2.9x'
Mike Gelfand [Wed, 24 Jan 2018 20:17:05 +0000 (23:17 +0300)]
Don't crash if path passed to tr-create doesn't exist
Mike Gelfand [Wed, 24 Jan 2018 20:10:21 +0000 (23:10 +0300)]
Fix UNC paths resolution on Windows
While resolved paths always contain the `\\?\` prefix, it's not always
correct to strip only those 4 chars. In case of UNC paths, the prefix
is actually a bit longer (`\\?\UNC\`) and needs to be replaced with `\\`
instead.
Failing to do so results in invalid paths, e.g. `\\Host\Share\File` becomes
`UNC\Host\Share\File` which totally wrong.
Mike Gelfand [Wed, 24 Jan 2018 20:06:21 +0000 (23:06 +0300)]
Add unit tests uncovering improper UNC paths resolution
While resolved paths always contain the `\\?\` prefix, it's not always
correct to strip only those 4 chars. In case of UNC paths, the prefix
is actually a bit longer (`\\?\UNC\`) and needs to be replaced with `\\`
instead.
Failing to do so results in invalid paths, e.g. `\\Host\Share\File` becomes
`UNC\Host\Share\File` which totally wrong.
Mike Gelfand [Tue, 23 Jan 2018 19:14:01 +0000 (22:14 +0300)]
Use `head` instead of bash extension to get revision substring
Mike Gelfand [Sat, 14 Jan 2017 21:54:56 +0000 (00:54 +0300)]
Improve version.h file generation
Store full revision hash in REVISION file. Write fixes 10 chars of revision
hash to version.h. Use `#pragma once` in version.h. Support getting revision
from TeamCity environment variable (similar to Jenkins).
Mike Gelfand [Fri, 2 Sep 2016 19:45:03 +0000 (22:45 +0300)]
Don't search for SVN revision when calculating version
Mike Gelfand [Fri, 2 Sep 2016 19:02:51 +0000 (22:02 +0300)]
Replace SVN and SCM with VCS everywhere
Mike Gelfand [Sun, 3 Apr 2016 05:53:32 +0000 (05:53 +0000)]
Try getting SVN revision from Jenkins environment when using CMake (copy logic from update-version-h.sh)
Mike Gelfand [Tue, 23 Jan 2018 18:20:30 +0000 (21:20 +0300)]
Fix memory leak in `tr_dhtInit` in failure condition
Fixes: #482
Mike Gelfand [Thu, 18 Jan 2018 23:52:01 +0000 (02:52 +0300)]
Update NEWS
Sebastian Andrzej Siewior [Mon, 5 Sep 2016 21:49:07 +0000 (21:49 +0000)]
transmission: build against openssl 1.1.0
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Mike Gelfand [Wed, 17 Jan 2018 20:34:40 +0000 (23:34 +0300)]
Make host validation not depend on CSRF being enabled (see #468)
Mike Gelfand [Wed, 17 Jan 2018 20:32:14 +0000 (23:32 +0300)]
Support IPv6 addresses when whitelisting hosts (see #468)
Mike Gelfand [Wed, 17 Jan 2018 18:19:59 +0000 (21:19 +0300)]
Add DNS rebinding notes to RPC spec
Fixes: #472
Mike Gelfand [Wed, 17 Jan 2018 17:52:37 +0000 (20:52 +0300)]
Update NEWS, bump to 2.93
Mike Gelfand [Mon, 9 Jan 2017 11:15:07 +0000 (14:15 +0300)]
Simplify `tr_ssha1_matches` logic
Gets rid of needless heap memory allocations and copying. Convert SHA1 hash
to hex in-place.
Fixes: #141
Mike Gelfand [Wed, 18 Jan 2017 18:52:56 +0000 (21:52 +0300)]
When building with Xcode, link against 'libcrypto.dylib' instead of 'libcrypto.0.9.8.dylib'
Fixes: #71
Mike Gelfand [Tue, 4 Jul 2017 18:22:26 +0000 (21:22 +0300)]
Don't switch trackers while announcing
Fixes: #297
Mike Gelfand [Tue, 4 Jul 2017 19:59:55 +0000 (22:59 +0300)]
Uncaught exception when dragging multiple items between groups (macOS)
Change group after all the torrents are retrieved from drop data to avoid
premature view item index changes.
Fixes: #51
Eric Petit [Sun, 12 Mar 2017 05:20:14 +0000 (06:20 +0100)]
Work around "error: m4_copy: won't overwrite defined macro: glib_DEFUN" on
Xenial, copied from https://github.com/Alexpux/MINGW-packages/issues/1351
Mike Gelfand [Tue, 16 Jan 2018 21:46:54 +0000 (00:46 +0300)]
Allow host whitelist control via plist on Mac
Add RPCUseHostWhitelist (maps to rpc-host-whitelist-enabled) and
RPCHostWhitelist (maps to rpc-host-whitelist) keys loading from the plist
to allow adjustment via `defaults` command.
Mike Gelfand [Sat, 24 Sep 2016 21:22:44 +0000 (00:22 +0300)]
Add libevent submodule (should hopefully fix Mac build)
Mike Gelfand [Mon, 15 Jan 2018 21:57:25 +0000 (00:57 +0300)]
Switch to HTTPS links, adjust wiki links where possible
Fixes #39
Tavis Ormandy [Thu, 11 Jan 2018 18:00:41 +0000 (10:00 -0800)]
mitigate dns rebinding attacks against daemon
Robert Vehse [Fri, 23 Sep 2016 02:36:41 +0000 (04:36 +0200)]
Update all instances of the donation link. Fixes #26.
Mike Gelfand [Sun, 18 Sep 2016 10:58:15 +0000 (13:58 +0300)]
Abort handshake if establishing DH shared secret fails
Fixes #27
Mike Gelfand [Mon, 15 Jan 2018 20:46:32 +0000 (23:46 +0300)]
Merge pull request #468 from taviso/master
CVE-2018-5702: Mitigate dns rebinding attacks against daemon
Tavis Ormandy [Thu, 11 Jan 2018 18:00:41 +0000 (10:00 -0800)]
mitigate dns rebinding attacks against daemon
Mike Gelfand [Fri, 8 Dec 2017 03:12:07 +0000 (06:12 +0300)]
Merge pull request #440 from lasers/manual
Remove whitespace and a comma in the manuals
Mike Gelfand [Sat, 2 Dec 2017 14:58:15 +0000 (17:58 +0300)]
Adjust test names in CMake to be in line with autoconf ones
Mike Gelfand [Sat, 2 Dec 2017 14:57:11 +0000 (17:57 +0300)]
Fix memory leaks in subprocess test
Mike Gelfand [Thu, 30 Nov 2017 22:12:27 +0000 (01:12 +0300)]
Merge pull request #449 from wjt/symbolic-icon
gtk: add symbolic icon
Will Thompson [Thu, 30 Nov 2017 16:41:39 +0000 (16:41 +0000)]
gtk: add symbolic icon
The -symbolic icon variant (if available) is used in the GNOME top bar,
and when the high contrast theme is in use. This icon was created by
Jakub Steiner, and comes from the gnome-icons repository:
https://github.com/gnome-design-team/gnome-icons/blob/master/apps-symbolic/Adwaita/scalable/apps/transmission-symbolic.svg
https://bugzilla.redhat.com/show_bug.cgi?id=
1221292
There is some confusion over whether symbolic app icons should be
installed to icons/hicolor/scalable/apps (alongside the regular scalable
icon) or to icons/hicolor/symbolic/apps. On the one hand,
https://wiki.gnome.org/Initiatives/GnomeGoals/HighContrastAppIcons has
this to say:
> […] obtain a suitable symbolic style icon […] and install it to the
> hicolor prefix, the same way you would for the full color variant.
>
> cp myapp-symbolic.svg /usr/share/icons/hicolor/scalable/apps/myapp-symbolic.svg
On the other hand, the Fedora package at
https://src.fedoraproject.org/rpms/transmission/blob/master/f/transmission.spec
ships this icon in icons/hicolor/symbolic/apps:
> # Install the symbolic icon
> mkdir -p %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps
> cp %{SOURCE1} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps/transmission-symbolic.svg
Anecdotally, icons in scalable/ have minimum size 64×64 on openSUSE, so
symbolic/ is the safer location (given the GNOME top bar uses 32×32
icons). This has the advantage of matching the location used in the
distribution which already ships this file.
https://github.com/transmission/transmission/issues/414
lasers [Wed, 15 Nov 2017 00:07:50 +0000 (18:07 -0600)]
remove whitespace and a comma in the manuals
Mike Gelfand [Tue, 28 Nov 2017 21:59:04 +0000 (00:59 +0300)]
Merge pull request #387 from DevilDimon/noGrowl
Remove Growl support
Dmitry Serov [Sat, 26 Aug 2017 12:55:45 +0000 (19:55 +0700)]
Remove Growl support
Mike Gelfand [Tue, 28 Nov 2017 19:48:10 +0000 (22:48 +0300)]
Merge pull request #364 from futekov/patch-2
Download/upload speed typography changes for web ui
Mike Gelfand [Tue, 28 Nov 2017 19:45:48 +0000 (22:45 +0300)]
Merge pull request #411 from dubhater/master
Qt: Show file names in tooltips in Torrent Properties
Mike Gelfand [Tue, 28 Nov 2017 19:43:45 +0000 (22:43 +0300)]
Merge pull request #429 from Fish2/master
lossless compression of images
Mike Gelfand [Mon, 27 Nov 2017 22:22:44 +0000 (01:22 +0300)]
Refactor completion scripts execution
There're still a few issues here and there, but overall I believe it's now
better than it was before.
Mike Gelfand [Tue, 14 Nov 2017 20:21:28 +0000 (23:21 +0300)]
Ensure include guard is the first non-comment line
Fish2 [Sat, 4 Nov 2017 00:26:40 +0000 (00:26 +0000)]
lossless compression of images
Mike Gelfand [Wed, 1 Nov 2017 06:38:20 +0000 (09:38 +0300)]
Merge pull request #394 from Allezxandre/fix/no-visible-interface
Fix `No @interface declares "containsIndex:"`
Mike Gelfand [Tue, 31 Oct 2017 07:01:06 +0000 (10:01 +0300)]
Fix potential NULL pointer dereference introduced by last commit
Mike Gelfand [Fri, 27 Oct 2017 13:12:55 +0000 (16:12 +0300)]
Take another approach to creating intermediate dirs on *NIX
Walk up one level at a time until the directory creation succeeds, then go
back down one level at a time. This reduces the number of operations in the
most common case (when directory already exists).
cantabile [Sat, 30 Sep 2017 17:26:49 +0000 (20:26 +0300)]
Show file names in tooltips in Torrent Properties
File names are often too long to fit. Hovering is much easier than
resizing the column and possibly the window.
Alexandre Jouandin [Wed, 30 Aug 2017 22:21:08 +0000 (01:21 +0300)]
Fix `No @interface declares "containsIndex:"`
This fixes the `No visible @interface for NSArray declares the selector "containsIndex:"` error that prevented Xcode (9b6) from compiling.
Mike Gelfand [Sun, 27 Aug 2017 07:22:30 +0000 (10:22 +0300)]
Merge pull request #386 from kholia/Netdisk
Add Peer ID for Baidu Netdisk
Mike Gelfand [Sun, 27 Aug 2017 06:50:24 +0000 (09:50 +0300)]
Fix torrent list styling issue in Chrome 59+ (patch by @kyleinprogress)
Fixes: #384
Dhiru Kholia [Sat, 26 Aug 2017 05:39:31 +0000 (11:09 +0530)]
Add Peer ID for Baidu Netdisk
Baidu Netdisk uses Azureus-style Peer ID with "-BN" prefix.
Mike Gelfand [Wed, 23 Aug 2017 19:51:03 +0000 (22:51 +0300)]
Merge pull request #371 from bobbyhopere/anti-brute
anti-brute force for RPC Server
Mike Gelfand [Wed, 23 Aug 2017 19:47:35 +0000 (22:47 +0300)]
Merge pull request #353 from DevilDimon/master
Transition to ARC
Dmitry Serov [Fri, 18 Aug 2017 11:47:55 +0000 (18:47 +0700)]
Use NSInvocation to make Growl compile under ARC
bobbyhopere [Sun, 13 Aug 2017 11:53:41 +0000 (13:53 +0200)]
All modifications suggested by mikedld
bobbyhopere [Sat, 12 Aug 2017 14:36:43 +0000 (16:36 +0200)]
anti-brute force for RPC Server
Mike Gelfand [Fri, 11 Aug 2017 07:50:03 +0000 (10:50 +0300)]
Merge pull request #367 from clyang/master
Disable autocomplete on torrent url field from WebUI
clyang [Thu, 10 Aug 2017 16:52:40 +0000 (00:52 +0800)]
Disable browser to autocomplete on torrent url field
It disrupts the view and I can't come up a daily usage scenario that needs to utilize autocomplete function.
Mike Gelfand [Tue, 8 Aug 2017 15:32:44 +0000 (18:32 +0300)]
Merge pull request #360 from clyang/master
Improving ToS on IPv6 connections
Alexander Futekov [Mon, 7 Aug 2017 03:34:00 +0000 (06:34 +0300)]
DL/UL speed typography changes for web ui
The current icons are very hard to read at the current font size and it's not immediately visible which icon i which.
Additionally, spaces after icons are removed because upload icon is equally positioned between DL/UL speeds (like so `↓ 273 kB/s **↑** 0 kB/s`) which requires reading the whole line to make sense of which number the arrow applies to.
To further separate one type of information from another the hyphen is replaced by the slightly wider en dash.
Old vs New:
Downloading from 7 of 19 peers - ↓ 273 kB/s ↑ 167 kB/s
Downloading from 7 of 19 peers – ▼273 kB/s ▲167 kB/s
Mike Gelfand [Sun, 6 Aug 2017 22:33:47 +0000 (01:33 +0300)]
Merge pull request #363 from kholia/Folx
Add Peer ID for Folx
Dmitry Serov [Sat, 5 Aug 2017 11:42:15 +0000 (18:42 +0700)]
Merge remote-tracking branch 'origin/master'
Dmitry Serov [Sat, 5 Aug 2017 11:41:36 +0000 (18:41 +0700)]
Enforce VDKQueue destruction before closing transmission session
Dhiru Kholia [Sat, 5 Aug 2017 06:57:14 +0000 (12:27 +0530)]
Add Peer ID for Folx
Based on experiments with Folx version 5.2.1.13690 running on macOS
Sierra.
Folx uses Azureus-style Peer ID with "-FL" prefix.
clyang [Wed, 2 Aug 2017 10:01:39 +0000 (18:01 +0800)]
Improve ToS on IPv6 connections
Mike Gelfand [Wed, 2 Aug 2017 20:10:28 +0000 (23:10 +0300)]
Merge pull request #355 from kholia/FDM
Add Peer ID for Free Download Manager (FDM)
Dhiru Kholia [Tue, 1 Aug 2017 08:43:33 +0000 (14:13 +0530)]
Add Peer ID for Free Download Manager (FDM)
Based on experiments with FDM 5.1.32 running on Windows 10.
FDM uses Azureus-style Peer ID with "-FD" prefix.