Mike Gelfand
5c43b5c23c
#4400 , #5462 : Move BASE64 helpers to crypto-utils
...
On a way to factoring out OpenSSL support to a standalone file to ease
addition of other crypto libraries support in the future, move helpers
providing BASE64 encoding and decoding to crypto-utils.{c,h}. OpenSSL-
related functionality is moved to crypto-utils-openssl.c.
Add new functions to be implemented by crypto backends:
* tr_base64_encode_impl - encode from binary to BASE64,
* tr_base64_decode_impl - decode from BASE64 to binary.
Change `tr_base64_encode` and `tr_base64_decode` functions to expect
non-negative input data length which is considered real and never adjusted.
To process null-terminated strings (which was achieved before by passing 0
or -1 as input data length), add new `tr_base64_encode_str` and
`tr_base64_decode_str` functions which do not accept input data length as
an argument but calculate it on their own.
2014-12-04 19:58:34 +00:00
Jordan Lee
b33a7d4dc1
(trunk, libt) #4160 - the slow slog to catch trunk up to mike.dld's 4160 diff continues. This step applies 4160-03b-file.patch, which replaces native file operations with the tr_sys_file_*() portability wrappers added in r14321.
2014-07-28 04:13:38 +00:00
Jordan Lee
2e3ffdc6ec
since libz's been required in rpcimpl.c for ages and nobody's complained, remove the HAVE_ZLIB cruft for conditional-compiling with and without zlib.
2014-07-13 21:50:56 +00:00
Jordan Lee
0323639e57
(trunk, libT) #4160 'foreign character support' -- merge mike.dld's 4160-02b-path.patch, which updates the codebase to use the new tr_sys_path_*() portability wrappers introduced in 4160-02a
2014-07-08 00:08:43 +00:00
Jordan Lee
02cff80c2d
Copyedit the license's revised text: (1) remove unnecessary repitition use of the word 'license' from the top of the header and source files (2) add the standard 'we hope it's useful, but no warranty' clause to COPYING (3) make explicit that linking OpenSSL is allowed (see https://people.gnome.org/~markmc/openssl-and-the-gpl.html for background) (4) sync the Qt and GTK+ clients' license popups with COPYING's revised text
2014-01-21 03:10:30 +00:00
Jordan Lee
f470ab3210
(trunk, libT) #5583 'blockfile.tmp file descriptor is leaked when importing blocklist' -- fix by rb07.
2014-01-19 02:03:41 +00:00
Jordan Lee
4b9626bb83
Licensing changes:
...
1. add the option the code to be used under GPLv2 or GPLv3; previously only GPLv2 was allowed
2. add the "proxy option" as described in GPLv3 so we can add future licenses without having to bulk-edit everything again :)
3. remove the awkward "exception for MIT code in Mac client" clause; it was unnecessary and confusing.
2014-01-19 01:09:44 +00:00
Jordan Lee
4904b923fb
(trunk) restore copyright year as suggested in email by rms
2014-01-18 20:56:57 +00:00
Jordan Lee
cd00ad4f55
(trunk, libT) #5450 : when starting torrents via RPC with torrent-start or torrent-start-now requests, work through the rpc-supplied torrent list in queue order
2013-10-20 17:24:57 +00:00
Jordan Lee
0ba7c5f3cf
fix a handful of CL warnings & errors in libtransmission. mikedld
2013-09-08 17:58:14 +00:00
Jordan Lee
ea7d2482dd
introduce TR_PRIuSIZE macro for portable printf()ing of size_t. mikedld
2013-09-08 17:32:09 +00:00
Jordan Lee
35638e210e
add inline wrapper functions to tr_torrent to decouple the rest of the code from tr_completion
2013-08-18 13:06:39 +00:00
Jordan Lee
ba688e2811
silence a small handful of minor gcc compiler warnings in libtransmission
2013-08-17 16:31:03 +00:00
Jordan Lee
fe79ad39bc
add tr_sessionGetTorrents(), a private utility to avoid code duplication in libtransmission
2013-07-20 15:37:13 +00:00
Jordan Lee
af3481400f
fix a couple of unlikely-to-be-triggered errors reported by clang static analyzer
2013-07-10 22:28:40 +00:00
Jordan Lee
74d0f305a6
move platform.c's quota code into its own file. Fixes FTBFS reported in bug #5389 and is also a nice piece of encapsulation. Patch by rb07
2013-07-08 17:07:31 +00:00
Jordan Lee
e39c11316f
whitespace/indentation
2013-05-23 00:11:09 +00:00
Jordan Lee
027e3f3066
(trunk, libT) #4682 'Add return id from duplicate torrent torrent-add rpc' -- added.
2013-05-22 20:35:38 +00:00
Jordan Lee
96786b7fa1
(trunk) update web.h's API s.t. there's an explicit function to use when downloading webseed content.
2013-04-13 20:25:28 +00:00
Jordan Lee
5040778a92
(libT) restore the RPC download-dir-free-space argument to avoid unscheduled breakage. Document the timetable for its removal in rpc-spec.txt.
2013-02-10 19:36:13 +00:00
Jordan Lee
cd09204a6e
(trunk) first draft of changing the FreeSpace API to behave as https://trac.transmissionbt.com/ticket/4076#comment:25 -- libT, rpc, qt, and gtk implementations.
2013-02-09 04:05:03 +00:00
Jordan Lee
445609f690
(trunk) prefer tr_remove() to unlink() or rmdir()
2013-02-04 21:53:19 +00:00
Jordan Lee
69f3e31230
(libT) change the API signature for tr_torrentVerify() s.t. client code can be notified when the verify is finished
2013-01-31 21:58:25 +00:00
Jordan Lee
f75027d5e9
make all the log functions/structs/enums use a single 'tr_log' namespace, such as tr_logGetQueue, tr_logAddInfo, tr_logIsLevelActive
2013-01-25 23:34:20 +00:00
Jordan Lee
473c20f612
(libT) #5234 'typo causing RPC session-get error in nightlies': add a fix, which causes r13814's test to pass
2013-01-21 00:03:52 +00:00
Jordan Lee
dd955b121e
(trunk) #1220 'change top folder names' -- add file-renaming to the Qt client
2013-01-20 01:31:58 +00:00
Jordan Lee
016f38f066
(trunk) #1220 'change top folder names' -- added support for this in libtransmission's C and RPC APIs.
2013-01-19 08:43:26 +00:00
Jordan Lee
03da3e0a60
(libT) #5220 'add etaIdle to torrent-get in RPC' -- done.
2013-01-13 20:39:56 +00:00
Jordan Lee
3c9640bb8f
make tr_info.webseedCount and tr_info.trackerCount unsigned.
2012-12-30 22:06:45 +00:00
Jordan Lee
c1559f3cc4
(trunk, libT) first drop of the tr_quark patch.
2012-12-22 20:35:19 +00:00
Jordan Lee
df5b6365bd
(trunk, libT) faster JSON parsing for tr_variant. This mostly helps the Qt client, which makes heavy use of the JSON-based RPC calls.
2012-12-15 00:01:59 +00:00
Jordan Lee
e96ed247fe
refactor libtransmission's tr_benc class as tr_variant.
2012-12-14 04:34:42 +00:00
Jordan Lee
079c78981c
(trunk) #5168 'make libtransmission's public funcs nonblocking when possible' -- first attempt.
2012-12-12 20:22:57 +00:00
Jordan Lee
a2d2a10226
(trunk, libT) #5165 : fix r13625 oops
2012-12-07 01:53:31 +00:00
Jordan Lee
3d38723ad9
Follow more common whitespace style conventions in the C code (libtransmission, daemon, utils, cli, gtk).
2012-12-05 17:29:46 +00:00
Jordan Lee
624c8ff1cc
(trunk, libt) #4932 'crash on magnet links' -- fixed.
2012-09-19 05:11:19 +00:00
Jordan Lee
df80c1ce03
Fix the size for the peers and peersFrom dictionaries.
...
By setting the initial allocation size correctly, we can avoid unnecessary resizing when adding all the dictionary's fields.
2012-07-01 01:42:58 +00:00
Jordan Lee
4d74095591
(trunk libT) #4571 "can't edit UDP trackers via RPC" -- fixed.
2011-10-17 12:44:17 +00:00
Jordan Lee
0c4fe00658
(trunk libT) #4511 "fromLpd in rpc" -- add to torrent-get's "peersFrom" response.
2011-09-26 20:49:26 +00:00
Mitchell Livingston
516164e78e
add an RPC session callback for when queue order changes
2011-08-27 23:54:10 +00:00
Jordan Lee
398b6ad8dc
bump RPC_VERSION to 14 because of the queuing changes
2011-08-07 19:25:36 +00:00
Jordan Lee
313bd9e211
Add a mechanism for enabling/disabling the stalled minutes feature. This is a pre-existing feature in the Mac client.
2011-08-07 19:24:33 +00:00
Jordan Lee
307754e807
#671 "torrent queuing" -- modify the queue implementation s.t. every torrent has a queuePosition, even if it's not currently in the queue.
2011-08-02 03:59:54 +00:00
Jordan Lee
2e9d419bd4
#671 "torrent queuing" -- add a tr_stat.isStalled flag.
2011-08-01 23:27:11 +00:00
Jordan Lee
61174b007e
(trunk) #671 "torrent queuing" -- Preliminary implementation. Covers libtransmission; GTK+ and Qt clients, and rudimentary web client support.
2011-08-01 22:24:24 +00:00
Jordan Lee
23adb55d2e
(trunk libT) #4101 "RPC method blocklist-update is broken" -- use lower-level zlib API calls so that we can skip writing a temporary gzipped file to disk
2011-06-26 17:05:17 +00:00
Jordan Lee
f6d68844bd
(trunk libT) #4101 "RPC method blocklist-update is broken" -- add debugging error messages for cases where gzopen/gzread fails
2011-06-10 05:34:16 +00:00
Jordan Lee
c0e1cd8007
(trunk libT) torrent-get CPU optimization.
...
Move the tr_torrentStat() call outside of the addField() loop so that it's only called once instead of N times.
2011-05-09 04:13:14 +00:00
Jordan Lee
c9b54799e3
(trunk libT) tweak the ABI of tr_bencToBuf() to match the way it's being used
2011-04-27 21:22:08 +00:00
Jordan Lee
83c0e4f011
(trunk libT) break the mac build and introduce new crashes.
...
This is partially to address #4145 "Downloads stuck at 100%" by refactoring the bitset, bitfield, and tr_completion; however, the ripple effect is larger than usual so things may get worse in the short term before getting better.
livings124: to fix the mac build, remove bitset.[ch] from xcode
2011-03-28 16:31:05 +00:00