Merge branch '2.9x'

This commit is contained in:
Mike Gelfand 2018-01-25 03:07:52 +03:00
commit 94be7dbd9b
26 changed files with 82 additions and 33 deletions

View File

@ -44,8 +44,8 @@ set(TR_NAME ${PROJECT_NAME})
# "Z" for unsupported trunk builds,
# "0" for stable, supported releases
# these should be the only two lines you need to change
set(TR_USER_AGENT_PREFIX "2.92+")
set(TR_PEER_ID_PREFIX "-TR292Z-")
set(TR_USER_AGENT_PREFIX "2.93+")
set(TR_PEER_ID_PREFIX "-TR293Z-")
string(REGEX MATCH "^([0-9]+)\\.([0-9]+).*" TR_VERSION "${TR_USER_AGENT_PREFIX}")
set(TR_VERSION_MAJOR "${CMAKE_MATCH_1}")

13
NEWS
View File

@ -1,3 +1,16 @@
=== Transmission 2.93 (2018/01/xx) ===
[https://github.com/transmission/transmission/releases/tag/2.93 All tickets closed by this release]
==== All Platforms ====
* Fix CVE-2018-5702 (#468)
* Fix crash on handshake if establishing DH shared secret fails (#27)
* Fix crash when switching to next tracker during announcement (#297)
* Fix potential issue during password salt extraction in OOM situation (#141)
* Workaround `glib_DEFUN`- and `glib_REQUIRE`-related configuration issue (#215)
* Fix building against OpenSSL 1.1.0+ (#24)
==== Mac Client ====
* Fix uncaught exception when dragging multiple items between groups (#51)
* Don't hard-code libcrypto version to 0.9.8 in Xcode project (#71)
=== Transmission 2.92 (2016/03/06) ===
[https://trac.transmissionbt.com/query?milestone=2.92&group=component&order=severity All tickets closed by this release]
==== Mac Client ====

View File

@ -65,7 +65,7 @@ Prefer unencrypted peer connections.
Set a script to run when the torrent finishes
.It Fl g, Fl -config-dir Ar directory
Where to look for configuration files. This can be used to swap between using the cli, daemon, gtk, and qt clients.
See https://trac.transmissionbt.com/wiki/ConfigFiles for more information.
See https://github.com/transmission/transmission/wiki/Configuration-Files for more information.
.It Fl h, Fl -help
Prints a short usage summary.
.It Fl m, Fl -portmap

View File

@ -3,10 +3,10 @@ dnl STATUS: "X" for prerelease beta builds,
dnl "Z" for unsupported trunk builds,
dnl "0" for stable, supported releases
dnl these should be the only two lines you need to change
m4_define([user_agent_prefix],[2.92+])
m4_define([peer_id_prefix],[-TR292Z-])
m4_define([user_agent_prefix],[2.93+])
m4_define([peer_id_prefix],[-TR293Z-])
AC_INIT([transmission],[user_agent_prefix],[https://trac.transmissionbt.com/newticket])
AC_INIT([transmission],[user_agent_prefix],[https://github.com/transmission/transmission])
AC_SUBST(USERAGENT_PREFIX,[user_agent_prefix])
AC_SUBST(PEERID_PREFIX,[peer_id_prefix])

View File

@ -59,7 +59,7 @@ Dump transmission-daemon's settings to stderr.
Run in the foreground and print errors to stderr.
.It Fl g Fl -config-dir Ar directory
Where to look for configuration files. This can be used to swap between using the cli, daemon, gtk, and qt clients.
See https://trac.transmissionbt.com/wiki/ConfigFiles for more information.
See https://github.com/transmission/transmission/wiki/Configuration-Files for more information.
.It Fl er Fl -encryption-required
Encrypt all peer connections.
.It Fl ep Fl -encryption-preferred
@ -148,7 +148,7 @@ The config-dir used when neither
nor
.Op Fl g
is specified.
See https://trac.transmissionbt.com/wiki/ConfigFiles for more information.
See https://github.com/transmission/transmission/wiki/Configuration-Files for more information.
.El
.Sh AUTHORS
.An -nosplit

View File

@ -66,6 +66,21 @@
So, the correct way to handle a 409 response is to update your
X-Transmission-Session-Id and to resend the previous request.
2.3.2. DNS Rebinding Protection
Additional check is being made on each RPC request to make sure that the
client sending the request does so using one of the allowed hostnames by
which RPC server is meant to be available.
If host whitelisting is enabled (which is true by default), Transmission
inspects the "Host:" HTTP header value (with port stripped, if any) and
matches it to one of the whitelisted names. Regardless of host whitelist
content, "localhost" and "localhost." domain names as well as all the IP
addresses are always implicitly allowed.
For more information on configuration, see settings.json documentation for
"rpc-host-whitelist-enabled" and "rpc-host-whitelist" keys.
3. Torrent Requests
3.1. Torrent Action Requests

View File

@ -47,7 +47,7 @@ Start with all torrents paused
Start minimized in notification area
.It Fl g, Fl -config-dir Ar directory
Where to look for configuration files. This can be used to swap between using the cli, daemon, gtk, and qt clients.
See https://trac.transmissionbt.com/wiki/ConfigFiles for more information.
See https://github.com/transmission/transmission/wiki/Configuration-Files for more information.
.El
.Pp
Multiple .torrent files may be added at startup

View File

@ -549,6 +549,15 @@ static bool isAddressAllowed(tr_rpc_server const* server, char const* address)
return false;
}
static bool isIPAddressWithOptionalPort(char const* host)
{
struct sockaddr_storage address;
int address_len = sizeof(address);
/* TODO: move to net.{c,h} */
return evutil_parse_sockaddr_port(host, (struct sockaddr *) &address, &address_len) != -1;
}
static bool isHostnameAllowed(tr_rpc_server const* server, struct evhttp_request* req)
{
/* If password auth is enabled, any hostname is permitted. */
@ -571,11 +580,17 @@ static bool isHostnameAllowed(tr_rpc_server const* server, struct evhttp_request
return false;
}
/* IP address is always acceptable. */
if (isIPAddressWithOptionalPort(host))
{
return true;
}
/* Host header might include the port. */
char* const hostname = tr_strndup(host, strcspn(host, ":"));
/* localhost or ipaddress is always acceptable. */
if (strcmp(hostname, "localhost") == 0 || strcmp(hostname, "localhost.") == 0 || tr_addressIsIP(hostname))
/* localhost is always acceptable. */
if (strcmp(hostname, "localhost") == 0 || strcmp(hostname, "localhost.") == 0)
{
tr_free(hostname);
return true;
@ -681,9 +696,6 @@ static void handle_request(struct evhttp_request* req, void* arg)
{
handle_upload(req, server);
}
#ifdef REQUIRE_SESSION_ID
else if (!isHostnameAllowed(server, req))
{
char* const tmp = tr_strdup_printf(
@ -700,6 +712,9 @@ static void handle_request(struct evhttp_request* req, void* arg)
send_simple_response(req, 421, tmp);
tr_free(tmp);
}
#ifdef REQUIRE_SESSION_ID
else if (!test_session_id(server, req))
{
char const* sessionId = get_current_session_id(server);

View File

@ -256,7 +256,7 @@ typedef enum
- (void) linkHomepage: (id) sender;
- (void) linkForums: (id) sender;
- (void) linkTrac: (id) sender;
- (void) linkGitHub: (id) sender;
- (void) linkDonate: (id) sender;
- (void) rpcCallback: (tr_rpc_callback_type) type forTorrentStruct: (struct tr_torrent *) torrentStruct;

View File

@ -128,7 +128,7 @@ typedef enum
#define WEBSITE_URL @"https://transmissionbt.com/"
#define FORUM_URL @"https://forum.transmissionbt.com/"
#define TRAC_URL @"https://trac.transmissionbt.com/"
#define GITHUB_URL @"https://github.com/transmission/transmission"
#define DONATE_URL @"https://transmissionbt.com/donate/"
#define DONATE_NAG_TIME (60 * 60 * 24 * 7)
@ -376,6 +376,7 @@ static void removeKeRangerRansomware()
tr_variantDictAddInt(&settings, TR_KEY_rpc_port, [fDefaults integerForKey: @"RPCPort"]);
tr_variantDictAddStr(&settings, TR_KEY_rpc_username, [[fDefaults stringForKey: @"RPCUsername"] UTF8String]);
tr_variantDictAddBool(&settings, TR_KEY_rpc_whitelist_enabled, [fDefaults boolForKey: @"RPCUseWhitelist"]);
tr_variantDictAddBool(&settings, TR_KEY_rpc_host_whitelist_enabled, [fDefaults boolForKey: @"RPCUseHostWhitelist"]);
tr_variantDictAddBool(&settings, TR_KEY_seed_queue_enabled, [fDefaults boolForKey: @"QueueSeed"]);
tr_variantDictAddInt(&settings, TR_KEY_seed_queue_size, [fDefaults integerForKey: @"QueueSeedNumber"]);
tr_variantDictAddBool(&settings, TR_KEY_start_added_torrents, [fDefaults boolForKey: @"AutoStartDownload"]);
@ -383,6 +384,9 @@ static void removeKeRangerRansomware()
tr_variantDictAddStr(&settings, TR_KEY_script_torrent_done_filename, [[fDefaults stringForKey: @"DoneScriptPath"] UTF8String]);
tr_variantDictAddBool(&settings, TR_KEY_utp_enabled, [fDefaults boolForKey: @"UTPGlobal"]);
// TODO: Add to GUI
if ([fDefaults objectForKey: @"RPCHostWhitelist"])
tr_variantDictAddStr(&settings, TR_KEY_rpc_host_whitelist, [[fDefaults stringForKey: @"RPCHostWhitelist"] UTF8String]);
NSByteCountFormatter * unitFormatter = [[NSByteCountFormatter alloc] init];
[unitFormatter setIncludesCount: NO];
@ -4488,9 +4492,9 @@ static void removeKeRangerRansomware()
[[NSWorkspace sharedWorkspace] openURL: [NSURL URLWithString: FORUM_URL]];
}
- (void) linkTrac: (id) sender
- (void) linkGitHub: (id) sender
{
[[NSWorkspace sharedWorkspace] openURL: [NSURL URLWithString: TRAC_URL]];
[[NSWorkspace sharedWorkspace] openURL: [NSURL URLWithString: GITHUB_URL]];
}
- (void) linkDonate: (id) sender

View File

@ -138,6 +138,8 @@
<false/>
<key>RPCPort</key>
<integer>9091</integer>
<key>RPCUseHostWhitelist</key>
<true/>
<key>RPCUsername</key>
<string>admin</string>
<key>RPCUseWhitelist</key>

View File

@ -37,7 +37,7 @@
<div id="pagetitle">
<h1>Transmission crashed, what should I do? </h1>
</div>
<p>Post the crash log on the <a href="https://forum.transmissionbt.com/viewforum.php?f=2">support forums</a> so that the issue can be fixed as quickly as possible. Crash logs are held in <i>~/Library/Logs/CrashReporter/</i>.
<p>Post the crash log on the <a href="https://forum.transmissionbt.com/viewforum.php?f=4">support forums</a> so that the issue can be fixed as quickly as possible. Crash logs are held in <i>~/Library/Logs/CrashReporter/</i>.
<p>If your torrents' progress are incorrect when you reopen Transmission (e.g. they are starting from 0%) then you should manually recheck them. <a href="check.html">Click here</a> for instructions.
<p>
<div id="pagetitle">

View File

@ -23,7 +23,7 @@
<p>If your port is still not open, even after you have enabled automatic port forwarding, here are some tips you can use which may get it working.
<div summary="To do this" id="taskbox">
<p>If you are still having problems, open the Message Log (in the Window menu) and post the debug output on the <a href="http://transmission.m0k.org/forum/viewforum.php?f=2">support forums</a>.
<p>If you are still having problems, open the Message Log (in the Window menu) and post the debug output on the <a href="https://forum.transmissionbt.com/viewforum.php?f=4">support forums</a>.
<ol>
<li>Pause your torrents</li>
<li>Clear the log and set it to 'Debug'</li>

View File

@ -35,7 +35,7 @@
<h2>More Information</h2>
<p><a href="https://forum.transmissionbt.com/">Transmission Forums</a></p>
<p><a href="https://trac.transmissionbt.com/">Trac - Wiki and Development</a></p>
<p><a href="https://github.com/transmission/transmission">GitHub - Wiki and Development</a></p>
</div>
</div>
</body>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Support og udvikling" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -697,7 +697,7 @@ CA
</menuItem>
<menuItem title="Support und Entwicklung" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Support &amp; Development" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Wiki y Desarrollo de Transmission" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -695,7 +695,7 @@ CA
</menuItem>
<menuItem title="Support &amp; Développement" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Supporto &amp; sviluppo" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -695,7 +695,7 @@ CA
</menuItem>
<menuItem title="Support &amp; ontwikkeling " id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Suporte e desenvolvimento" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Transmission wiki и разработка" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -696,7 +696,7 @@ CA
</menuItem>
<menuItem title="Destek ve Geliştirme" id="3170">
<connections>
<action selector="linkTrac:" target="206" id="3171"/>
<action selector="linkGitHub:" target="206" id="3171"/>
</connections>
</menuItem>
</items>

View File

@ -1,7 +1,7 @@
VOLUNTEERS WANTED
- Qt developers and translators are needed
- If you find a bug, please report it at https://trac.transmissionbt.com/
- If you find a bug, please report it at https://github.com/transmission/transmission
ABOUT TRANSMISSION-QT

View File

@ -23,7 +23,7 @@ information on the BitTorrent protocol see http://www.bittorrent.org/
Show help options
.It Fl g, Fl -config-dir Ar directory
Where to look for configuration files. This can be used to swap between using the cli, daemon, gtk, and qt clients.
See https://trac.transmissionbt.com/wiki/ConfigFiles for more information.
See https://github.com/transmission/transmission/wiki/Configuration-Files for more information.
.It Fl m Fl -minimized
Start minimized in notification area
.It Fl p, Fl -port Ar port