Commit Graph

13347 Commits

Author SHA1 Message Date
Mike Gilbert 357cccb9cf 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
2018-02-23 20:48:14 -08:00
Mike Gelfand 4d5fe6ede9 Add support for mbedtls (formely polarssl) 2018-02-23 20:46:39 -08:00
Mike Gelfand cefd8a3149 Bump version to 2.93+, fix NEWS date 2018-02-22 23:44:19 +03:00
geertjan 23e469a6b2 Fix setting the ETA timestamps
Field etaDLSpeedCalculatedAt was set too early, causing the condition
following it to always be false. The same for etaULSpeedCalculatedAt.
2018-02-19 21:06:34 +01:00
Mike Gelfand 96926a8337 Update DHT library to 0.25
Fixes: #508
2018-02-10 11:35:14 +03:00
Mike Gelfand 896de2b593
Merge pull request #500 from michaelskree/null-terminate
Ensure buffer contents are null-terminated
2018-02-03 23:27:29 +03:00
Michael Skree 663c4532f0 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
2018-02-03 13:45:44 -06:00
Mike Gelfand 991f066618 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
2018-02-03 22:36:54 +03:00
Mike Gelfand ee259c617f Fix some leaks in tr-remote reported by GCC's sanitizer 2018-02-03 12:39:24 +03:00
Mike Gelfand 30a6a3244a
Merge pull request #494 from dubhater/patch-1
Qt: Fix assert with one-letter root folder names
2018-02-03 11:44:33 +03:00
Mike Gelfand 2c15ca024c
Merge pull request #495 from neheb/patch-1
Set compression to curl defaults
2018-02-03 11:27:43 +03:00
Rosen Penev a3ef28bd68 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.
2018-01-31 20:59:01 -08:00
dubhater 1e850cd874
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
2018-01-30 23:44:12 +02:00
Mike Gelfand 7669c97e12
Merge pull request #57 from Teteros/update-wiki-links
Update migrated wiki links in man pages
2018-01-26 08:38:14 +03:00
Mike Gelfand d86bd614bf Fix FTCBFS due to AC_RUN_IFELSE (patch by Helmut Grohne)
Fixes: #475
2018-01-26 08:31:16 +03:00
Mike Gelfand 6903f24ea8 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.
2018-01-26 07:56:11 +03:00
Mike Gelfand 94be7dbd9b Merge branch '2.9x' 2018-01-25 03:07:52 +03:00
Mike Gelfand 4b6529d883 Don't crash if path passed to tr-create doesn't exist 2018-01-24 23:45:13 +03:00
Mike Gelfand 3106675261 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.
2018-01-24 23:45:08 +03:00
Mike Gelfand 6da6629887 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.
2018-01-24 23:12:17 +03:00
Mike Gelfand 3c5870d4f5 Use `head` instead of bash extension to get revision substring 2018-01-23 22:14:01 +03:00
Mike Gelfand 7f008edab6 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).
2018-01-23 21:59:09 +03:00
Mike Gelfand f6b23c02f0 Don't search for SVN revision when calculating version 2018-01-23 21:58:50 +03:00
Mike Gelfand b875e79f3d Replace SVN and SCM with VCS everywhere 2018-01-23 21:58:33 +03:00
Mike Gelfand b237a260c5 Try getting SVN revision from Jenkins environment when using CMake (copy logic from update-version-h.sh) 2018-01-23 21:57:52 +03:00
Mike Gelfand 99c9b90965 Fix memory leak in `tr_dhtInit` in failure condition
Fixes: #482
2018-01-23 21:20:30 +03:00
Mike Gelfand 01985bfd1b Update NEWS 2018-01-19 02:52:01 +03:00
Sebastian Andrzej Siewior 22bde650ea transmission: build against openssl 1.1.0
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
2018-01-19 02:44:12 +03:00
Mike Gelfand c0c2ba0b13 Make host validation not depend on CSRF being enabled (see #468) 2018-01-17 23:38:12 +03:00
Mike Gelfand 90686f30ce Support IPv6 addresses when whitelisting hosts (see #468) 2018-01-17 23:32:14 +03:00
Mike Gelfand 4b359a52b2 Add DNS rebinding notes to RPC spec
Fixes: #472
2018-01-17 22:43:01 +03:00
Mike Gelfand 0b047f7aa5 Update NEWS, bump to 2.93 2018-01-17 20:52:37 +03:00
Mike Gelfand c22e687b51 Simplify `tr_ssha1_matches` logic
Gets rid of needless heap memory allocations and copying. Convert SHA1 hash
to hex in-place.

Fixes: #141
2018-01-17 01:17:50 +03:00
Mike Gelfand 1e8267d68c When building with Xcode, link against 'libcrypto.dylib' instead of 'libcrypto.0.9.8.dylib'
Fixes: #71
2018-01-17 01:14:52 +03:00
Mike Gelfand 1d04ea65d3 Don't switch trackers while announcing
Fixes: #297
2018-01-17 01:09:07 +03:00
Mike Gelfand 0994e96f31 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
2018-01-17 01:03:23 +03:00
Eric Petit 709ca6a4b2 Work around "error: m4_copy: won't overwrite defined macro: glib_DEFUN" on
Xenial, copied from https://github.com/Alexpux/MINGW-packages/issues/1351
2018-01-17 01:00:49 +03:00
Mike Gelfand 95109af459 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.
2018-01-17 00:46:54 +03:00
Mike Gelfand 15c91ec46e Add libevent submodule (should hopefully fix Mac build) 2018-01-17 00:36:34 +03:00
Mike Gelfand aa2730d47c Switch to HTTPS links, adjust wiki links where possible
Fixes #39
2018-01-16 01:12:59 +03:00
Tavis Ormandy 440f03e9ad mitigate dns rebinding attacks against daemon 2018-01-16 01:12:56 +03:00
Robert Vehse a6ef87b92d Update all instances of the donation link. Fixes #26. 2018-01-15 23:57:46 +03:00
Mike Gelfand 7cc4cfbe7b Abort handshake if establishing DH shared secret fails
Fixes #27
2018-01-15 23:51:44 +03:00
Mike Gelfand eb5d1a79cb
Merge pull request #468 from taviso/master
CVE-2018-5702: Mitigate dns rebinding attacks against daemon
2018-01-15 23:46:32 +03:00
Tavis Ormandy cf7173df93 mitigate dns rebinding attacks against daemon 2018-01-15 23:31:25 +03:00
Mike Gelfand c8696df516
Merge pull request #440 from lasers/manual
Remove whitespace and a comma in the manuals
2017-12-08 06:12:07 +03:00
Mike Gelfand ffcca3964d Adjust test names in CMake to be in line with autoconf ones 2017-12-02 17:58:15 +03:00
Mike Gelfand fae6b40002 Fix memory leaks in subprocess test 2017-12-02 17:57:11 +03:00
Mike Gelfand 4114fe6632
Merge pull request #449 from wjt/symbolic-icon
gtk: add symbolic icon
2017-12-01 01:12:27 +03:00
Will Thompson 01ffcd5dcf
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
2017-11-30 17:38:34 +00:00