Mike Gelfand
f6f7bf8227
#4400 , #5462 : Move random 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 random numbers/data generation to crypto-utils.{c,h}. OpenSSL-
related functionality (generation of cryptographically strong random
data) is moved to crypto-utils-openssl.c.
Rename functions to follow currently accepted style:
* tr_cryptoRandBuf -> tr_rand_buffer
* tr_cryptoRandInt -> tr_rand_int
* tr_cryptoWeakRandInt -> tr_rand_int_weak
Fix rare case of invalid value being returned from tr_rand_int. Return
value for abs(INT_MIN) may be undefined and thus negative, and so
tr_rand_int will return negative value which is incorrect (out of
requested and expected range).
2014-12-04 11:27:38 +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
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
ea7d2482dd
introduce TR_PRIuSIZE macro for portable printf()ing of size_t. mikedld
2013-09-08 17:32:09 +00:00
Jordan Lee
98dd141449
correct function pointer type correctness. mikedld
2013-09-08 17:29:25 +00:00
Jordan Lee
605e2e89ad
use evutil_socket_t instead of int to define socket types. Patch my mikedLd :)
2013-09-08 17:03:11 +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
db6fd6630d
tweak previous commit
2013-07-21 21:11:54 +00:00
Jordan Lee
4787364b1a
(trunk, libT) #5432 'on scrape and announce failures, the retry interval is longer than intended' -- fixed.
2013-07-21 21:10:28 +00:00
Jordan Lee
ee130e773d
(trunk, libT) #5395 : when announces fail, lower the period before the first retry to fix unspecified 'network problems'.
2013-07-16 00:13:30 +00:00
Jordan Lee
d4d2a04560
libT: undo r13901 regression to #4888 in the nightlies
2013-04-13 19:28:49 +00:00
Jordan Lee
1f2bccd17b
(libT) recycle the peer id used for public torrents after N hours of use
2013-02-02 13:42:50 +00:00
Jordan Lee
1b5cc093e6
(libT) when announcing a magnet link for the first time, send 'left=0'
2013-01-30 19:59:55 +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
399c3233b7
remove a couple of unnecessary torrentIsLocked() assertions for #5168
2012-12-12 20:57:13 +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
f226d8a03f
(trunk libT) #4914 if a tracker has no scrape URL but the announce response contains any scrape fields, that's as close to a scrape as we're going to get, so use those fields.
2012-05-22 20:21:00 +00:00
Jordan Lee
e9e76fa970
(trunk libT) #4888 : when scraping magnet links, don't send a left=0 argument to the tracker.
2012-05-20 14:14:59 +00:00
Jordan Lee
6948852013
(trunk libT) #4894 -- don't use evbuffer_add_printf() and evbuffer_pullup() together.
2012-05-17 17:40:31 +00:00
Mitchell Livingston
3eb8b12fa8
#4704 req->left = tr_cpLeftUntilComplete( &tor->completion ) should end with a semicolon
2012-01-11 22:31:02 +00:00
Jordan Lee
ed56cd1193
(trunk libT) #4526 "do not skip scrape unless all three scrape fields came with announce" -- add field initializers.
2011-10-14 00:27:14 +00:00
Jordan Lee
c9421c4041
(trunk libT) #4530 "lastAnnounceResult is not properly set" -- fixed.
2011-10-09 00:21:36 +00:00
Jordan Lee
bc4e3f137c
(trunk libT) #4526 "do not skip scrape unless all three scrape fields came with announce" -- fixed.
2011-10-09 00:18:18 +00:00
Jordan Lee
177f2398a5
(trunk libT) #4396 "Scrape requests not showing in logfile" -- when the announce response contains scrape information, add a log message saying that the next scrape has been rescheduled.
2011-08-14 14:45:54 +00:00
Jordan Lee
60f9191fdc
(trunk libT) modify announcer's scrape triggers as per discussion with Elbandi
2011-07-31 00:58:05 +00:00
Jordan Lee
3928a9d8e9
(trunk libT) #3219 "Don't scrape paused torrents" -- allow this as a 'hidden' option in settings.json, but don't add it to the GUI or to RPC.
2011-07-23 17:14:12 +00:00
Jordan Lee
b4ffdaac42
(trunk libT) #4277 "Checkmarks for leechers" -- possible fix.
...
It appears 2.30 and 2.31 might be making too many assumptions about which peers are seeds.
2011-06-25 19:29:25 +00:00
Jordan Lee
34642e7259
(trukn libT) lessen the importance of error messages returned by trackers in a multi-tracker torrent. It's all too often that people will load up a .torrent file with dozens of announce URLs, many of them dead...
2011-06-25 18:47:35 +00:00
Jordan Lee
bcf89fa9c3
(trunk libT) modify how the "stops" sorted container is used s.t. the container's uniqueness requirements are met.
2011-06-19 18:26:04 +00:00
Jordan Lee
50ceaafeb8
(trunk libT) very minor copyediting: remove a little unwanted whitespace
2011-04-30 00:08:24 +00:00
Jordan Lee
5681ea73e2
(trunk libT) heap pruning: avoid unnecessary malloc+memcpy+frees in announcer.
...
1. when creating announce URLs in announcer-http.c
2. when creating scrape URLs in announcer-http.c
3. when deep-logging what announces are in a torrent's queue in announcer.c
2011-04-27 20:41:47 +00:00
Jordan Lee
2043356876
(trunk libT) constify the tr_scrape_request argument to scrape_request_delegate().
2011-04-27 17:30:53 +00:00
Jordan Lee
96c180fd73
(trunk libT) fix 2.30b1 memory corruption bug when editing trackers.
...
The problem was that the new number of trackers was not being kept and the old count was retained. So if the count changed, tr_torrentTrackers() could return dangling pointers to the caller.
2011-04-11 19:44:16 +00:00
Mitchell Livingston
2b79fd7186
#4175 fix typo
2011-04-10 16:26:55 +00:00
Jordan Lee
e825bd66c7
(trunk libT) #4175 "very bizarre and unwieldly logfile in 2.30b2" -- fixed.
2011-04-10 14:15:52 +00:00
Jordan Lee
e2b7728637
6789ABCDE
2011-04-10 05:27:14 +00:00
Jordan Lee
9b96ced90a
(trunk libT) #4175 "very bizarre and unwieldy logfile in 2.30b2" -- another test commit for gunzip :)
2011-04-10 03:57:37 +00:00
Jordan Lee
42fbf1f646
(trunk libT) #4175 "bizarre and unwieldly logfile in 2.30b2" -- possible fix for gunzip to test
2011-04-10 00:05:18 +00:00
Jordan Lee
35eb016209
(trunk libT) use get_next_scrape_time() inside the scrape error handler.
...
get_next_scrape_time() was introduced in r12297. The rationale is that by rounding all scrape times to their nearest 10th second, they will tend to occur in batches and improve multiscrape.
2011-04-07 20:00:26 +00:00
Jordan Lee
4a5415e84c
(trunk libT) #3931 "'Announce is Queued' but torrent doesn't announce itself to trackers" -- add more debugging information for the next announce interval when an announce error is encountered, as requested by Sardok in comment:70 of #3931
2011-04-07 19:54:30 +00:00
Jordan Lee
7cef8dc8a8
(trunk libT) trivial commit fixing typo in the comments from r12297
2011-04-07 06:54:03 +00:00
Mitchell Livingston
3e451b2bf9
small cleanup when determining if two announce URLs differ only by scheme
2011-04-03 03:25:13 +00:00
Jordan Lee
5bee93361b
(trunk libT) fix UMR bug reported by wereHamster
2011-04-02 23:33:51 +00:00
Jordan Lee
11c4194da8
(trunk libT) better multiscrape
2011-04-02 07:44:19 +00:00
Jordan Lee
873396de2d
(trunk libT) announcer.c: fold the tiers and trackers into fewer mallocs/frees
2011-03-31 20:26:43 +00:00
Jordan Lee
c8bec40e3f
(trunk libT) fix potential null pointer dereference in announcer.c
2011-03-31 03:37:50 +00:00
Jordan Lee
9f122a021a
(trunk libT) better scrape management on private trackers.
...
If a private tracker scrape says that there are no downloaders in the swarm, mark all the peers in the private swarm as seeds. This can greatly reduce unnecessary overhead on large seedboxes. We don't do this same trick on public torrents, since a public tracker won't know of all the peers.
2011-03-29 15:18:25 +00:00
Jordan Lee
1101ba8d57
(trunk libT) strip trailing whitespace
2011-03-28 13:37:46 +00:00