Commit Graph

12862 Commits

Author SHA1 Message Date
Mike Gelfand 505561c055 #5802: Require absolute paths in "session-set" and "free-space" requests as well 2015-11-05 21:48:00 +00:00
Mike Gelfand 2bab67cb06 Add libcrypto library for Xcode 7 support (complements r14567) 2015-11-03 19:28:05 +00:00
Mike Gelfand f6f15d6937 Use tr_realloc (BSD reallocf-alike) instead of plain realloc 2015-10-25 17:13:14 +00:00
Mike Gelfand 57911bf349 GH-4: Allow downloading files from http servers (not https)
Since iOS 9 and OS X El Capitan Apple is enforcing https connections by
default. Added key allows to download files from http servers too.
2015-10-25 16:48:52 +00:00
Mike Gelfand 000895322f Clear filter upon double clicking on filtered torrent list notice 2015-10-24 20:56:45 +00:00
Mike Gelfand 8392476b30 #5777: Trim potential URIs from clipboard on Mac (patch by jeepston, a bit modified) 2015-10-23 18:53:47 +00:00
Mike Gelfand 3d8c4c3960 Support absolute paths longer than ~260 chars on Windows 2015-10-23 05:29:47 +00:00
Mike Gelfand 88983c1ac1 Use tr_sys_path_remove instead of remove 2015-10-23 04:09:40 +00:00
Mike Gelfand abb572fe26 Better support for UNC paths in tr_sys_path_is_relative
Accept \\ and // and valid UNC path prefixes, but not \/ or /\.
2015-10-23 03:55:04 +00:00
Mike Gelfand 5f420cafda Rework Win32 basename and dirname implementation
Don't use _splitpath_s and _makepath_s as they don't support long paths
and UNC paths properly. Report error if path is not valid.
2015-10-23 03:42:11 +00:00
Mike Gelfand 650db1f46e #5802: Don't make assumptions of remote path validity in transmission-remote
Defer validity checks until path gets to the remote side, where they
actually make sense. Add simple checks for download directory path to
ensure it's not relative, since one cannot know what current working
directory of the remote process is.
2015-10-20 21:22:19 +00:00
Mike Gelfand ca21c1f230 Always invoke async RPC callback, even if operation failed to start 2015-10-20 21:06:01 +00:00
Mike Gelfand 585e3df30c Show notice on top of filtered torrents list
This has a couple of benefits: 1) it is clearly visible to the user that
the list is filtered (doesn't display all the torrents) even when filter
bar is hidden, 2) doesn't lead to filter bar controls being shifted to
the left/right as when "Show:" label text changes.
2015-10-19 20:30:26 +00:00
Mike Gelfand f89fab72f9 Remove unused session tag 2015-10-18 18:39:14 +00:00
Mike Gelfand 3b8829d3fb Display notifications via tray icon if dbus is not available 2015-10-18 11:48:10 +00:00
Mike Gelfand 7f46aeeccf #5889: Sync with libutp before its API changed 2015-10-16 20:27:52 +00:00
Mike Gelfand 72f9dc6f92 #5992: Remove now obsolete check for 13th Baktun (already happened) 2015-10-16 19:49:07 +00:00
Mike Gelfand 7d972ed5e6 #6006: Don't use newlocale/uselocale with uClibc below 0.9.34
Incomplete locale internals initialization in uClibc leads to crash upon
`newlocale` call.

See also: http://git.uclibc.org/uClibc/commit/?id=3902d0c472
2015-10-15 20:19:27 +00:00
Mike Gelfand c059eea6b4 #6005: Style fix for previous commit (no functional changes) 2015-10-14 08:22:17 +00:00
Mike Gelfand 69687544d7 #6005: Bump minimum OpenSSL version to 0.9.7, fix build for versions less than 0.9.8b 2015-10-13 21:24:31 +00:00
Mike Gelfand 0420699ad6 Initialise networking in daemon before making libevent calls 2015-10-11 16:35:51 +00:00
Mike Gelfand 8beea92859 Improve error handling when formatting error messages on Windows 2015-10-11 16:15:19 +00:00
Mike Gelfand e745408f3b Fix parameters order in `tr_web_done_func` declaration 2015-10-08 19:47:59 +00:00
Mike Gelfand 3d497891ee #5867: Fix miniupnpc strings script re. r14269 (patch by demosdemon) 2015-10-08 19:12:03 +00:00
Mike Gelfand 8b4da8c22e #4518: Mark appropriate fields in prefs as html5 number fields (patch by e-moe) 2015-10-08 18:54:43 +00:00
Mike Gelfand 1e6a3c2039 #5732: Change length argument type to uint32_t for LTEP messages 2015-10-05 23:10:52 +00:00
Mike Gelfand fcbc2915eb #5732: Fix possible overflow in messageLengthIsCorrect (partial patch by cfpp2p) 2015-10-05 01:21:47 +00:00
Mike Gelfand 1fd7c46bfa Support compiling Mac client with Xcode 7
Latest Mac OS X SDK (10.11) doesn't include OpenSSL headers, but still
provides the libraries. Bundle our own copy of OpenSSL headers for now
(taken from running 10.10 system).
2015-10-05 00:25:13 +00:00
Mike Gelfand c8920abad6 #5993: Improve magnets handling in main window
Disable "Open Folder" and "Verify Local Data" actions for magnets in
Torrent menu. If more than one torrent is selected, "Verify Local Data"
is enabled but only non-magnets are verified if activated.
Add a few sanity checks when opening folder, just in case.
2015-10-04 06:16:59 +00:00
Mike Gelfand a90a473d48 #6003: Update to miniupnpc api 14 (slightly modified patch by infirit) 2015-10-04 04:53:18 +00:00
Mike Gelfand e89736fb17 #6001: Calculate header item size properly 2015-09-27 20:23:03 +00:00
Mike Gelfand 68c6c0aa3c Sync main context menu with "Torrent" menu; hide menu icons on Mac 2015-09-01 23:19:01 +00:00
Mike Gelfand 0f7bea1bd3 Fix session dialog not showing up after first close 2015-09-01 20:39:34 +00:00
Mike Gelfand 971cc6d2d9 Remove context help button from dialogs on Windows
We don't currently (if ever) provide context help, so the button is
useless. Moreover, on Windows 10 it's even larger than before and
sometimes title text doesn't fit because of it.
2015-09-01 20:19:26 +00:00
Mike Gelfand 1640a71127 #5982: Simplify filter bar connections by using needed slot directly 2015-08-17 08:14:45 +00:00
Mike Gelfand 63e4700a10 Simplify and speed up actions connected to file tree popup menu 2015-08-16 22:07:09 +00:00
Mike Gelfand 7f45029f18 Sync translations with Transifex
Add German and Indonesian (translated 95%+).
2015-08-10 20:43:26 +00:00
Mike Gelfand ddb0df51d4 #5608: Enter file renaming mode with keyboard only, not on mouse double-click (Qt client)
Since double-click is usually used to open things, don't use it to enter
edit mode, use platform-specific keyboard shortcut instead (Return, F2,
etc).
Add context menu duplicating available actions, resembling that of Mac
client. This includes new "only check selected" action.
Speed up DND/priority change for large numbers of files at once. Make
DND/priority toggling more natural: if both parent and its child are
selected, only act on parent (with all its children following).
2015-08-10 19:40:58 +00:00
Mike Gelfand 0aa572b657 Refactor action groups initialization/handling and trackers merging a bit 2015-08-06 20:28:44 +00:00
Mike Gelfand 0f9bdc6ac2 Use CMake-provided C/C++ standard selection capabilities; fix build (qtr.pro) 2015-08-01 16:05:02 +00:00
Mike Gelfand fd9c2c74f4 Remove some unused includes/macros; fix build (re. QPointer) 2015-07-30 06:55:28 +00:00
Mike Gelfand f592083f15 Create dialogs on demand, don't keep them ready all the time 2015-07-30 06:18:02 +00:00
Mike Gelfand 18ea8c429a Improve RPC performance for local sessions
Don't unnecessarily de-/serialize JSON data if local session is used.
2015-07-13 00:32:48 +00:00
Mike Gelfand 5296570476 Improve file tree population/update performance
Use simple tokenization instead of splitting the file path into
QStringList for each item. Don't expand each added item separetely
during population/update. Don't expand all the items but just up to the
point where parent has more than one expandable child.

Also, fix items order by sorting items after population/update. Fix
sorting by size on systems where uint64_t != quint64.
2015-07-12 20:48:54 +00:00
Mike Gelfand b9adf279ca #5912: Prevent completed pieces modification by webseeds (patch by cfpp2p)
This avoids blocks corruption in case webseed provides bad data.

As explained by cfpp2p, "The requirements to reproduce are at least one
webseed that sends corrupt block(s), and at least one other peer (webseed
or regular peer) that sends correct data for the same block. Then a peer
with correct block sends the block and transmission accepts and verifies
that block as good. But then the webseed thread comes around and the same
block is downloaded from the webseed that sends a bad block which is then
written even though the piece was previously deemed complete."
2015-07-05 07:54:46 +00:00
Mike Gelfand 6cbfcdc85e Fix `tr_net_strerror` on Windows (oops) 2015-07-01 00:58:00 +00:00
Mike Gelfand 79195614b2 Use `sockerrno` and `tr_net_strerror` for most of network-related errors
This ensures proper network errors formatting on Windows.

Also, disable IP_TOS socket option modification attempts on Windows
since it's not supported there and is considered deprecated: "Do not
use. Type of Service (TOS) settings should only be set using the
Quality of Service API" (c) MSDN. Using QoS API is a subject for
separate commit(s).
2015-07-01 00:54:41 +00:00
Mike Gelfand 1a885dcb17 Some look-and-feel improvements for Mac and GTK+ styles (Qt client) 2015-06-28 14:18:06 +00:00
Mike Gelfand ba7ea94c7d Avoid assert on passing negative values to `isprint` (due to type promotion) 2015-06-26 21:22:27 +00:00
Mike Gelfand 2b5a03a88c #5964: Another follow-up commit for #5456 (encrypted communication with libevent 2.1.x)
Decrypt only what is asked for, not more. This fixes previous commit
which changed semantics by processing the buffer to the very end,
starting with correct offset though.

Refactor encryption/decryption to a single function which callback.
2015-06-24 21:24:41 +00:00