Mike Gelfand
949e02b933
Define and use tr_socket_t and TR_BAD_SOCKET instead of int and -1.
...
Test socket validity by comparing to TR_BAD_SOCKET instead of various
(and sometimes wrong) other tests like `x >= 0`, `x != -1`, `x > 0`,
`x > -1`, `x` (valid), and `x < 0`, `x == -1` (invalid).
2015-03-18 07:34:26 +00:00
Mike Gelfand
3f9575fcc8
Minor type adjustments (incomplete, it takes way too much time)
2015-03-15 11:43:32 +00:00
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
1637da5c1d
when we free the UDP trackers on shutdown, make sure to cancel any DNS requests that are pending for them.
2014-01-20 23:18:52 +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
d9a6539e19
fix pedantic compiler warnings
2013-09-09 01:32:09 +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
4c8bda8805
function pointer type correctness. mikedld
2013-09-08 17:08:18 +00:00
Jordan Lee
73d4be24c7
(trunk, libT) #5426 'Crash when adding UDP tracker with a large number of characters in the tracker URL' -- fixed.
2013-07-20 23:29:42 +00:00
Jordan Lee
6d5a54e52c
(libT) add '#include errno.h' to announcer-udp.c to ensure errno is declared
2013-02-04 20:46:16 +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
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
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
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
1101ba8d57
(trunk libT) strip trailing whitespace
2011-03-28 13:37:46 +00:00
Jordan Lee
b54ebeafd7
(trunk libT) remove the tr_session argument from the announce/scrape response callbacks
2011-03-26 12:06:04 +00:00
Jordan Lee
9aafb0cb00
(trunk libT) minor code cleanup in announcer-udp: whitespace & function names
2011-03-26 10:22:25 +00:00
Jordan Lee
324f0f470c
(trunk libT) copyediting: '#include "crypto.h"' cleanup
2011-03-25 01:21:31 +00:00
Jordan Lee
b4d36aeb54
(trunk) #4138 "use stdbool.h instead of tr_bool" -- done.
2011-03-22 15:19:54 +00:00
Jordan Lee
3b9142f75e
(trunk libT) #117 "UDP tracker protocol support" -- (1) fix connection attempt retries after a failed connection attempt. (2) extract method from tau_tracker_upkeep() for clarity: tau_tracker_send_reqs() and tau_tracker_timeout_reqs()
...
refactor the timeout/request code a bit.
2011-03-20 15:28:41 +00:00
Jordan Lee
f996c4fbb9
(trunk libT) #4114 "crash on open r12168 in tau_sendto()" -- fixed.
2011-03-18 17:11:42 +00:00
Jordan Lee
f4b4ddd231
(trunk libT) better shutdown management of libutp and UDP trackers in tr_sessionClose().
...
This is a little overlapping since the utp code can be closed more-or-less immediately, but the udp manager needs to stay open in order to process the udp tracker connection requests before sending out event=stopped. Moreover DNS resolver can be shut down after the UDP tracker is shutdown.
2011-03-17 18:51:31 +00:00
Jordan Lee
686103ae49
(trunk libT) #117 "UDP tracker protocol suppoort" -- in case the tracker gives an error message in response to a connection response, store the error message in the scrape/announce response structs' errmsg fields.
2011-03-17 04:16:19 +00:00
Jordan Lee
374ed10f3b
(trunk) it's bad form to #include so many system headers in libtransmission/utils.h...
2011-03-16 18:04:23 +00:00
Jordan Lee
cc55286261
(trunk libT) #117 "UDP tracker protocol support (BEP #15 )": (1) use the UDP tracker error response's error string (2) better handling of requests that timeout (3) better filtering of non-tracker UDP messages
2011-03-14 14:15:58 +00:00
Jordan Lee
11e0883ee4
(trunk libT) fix array-bounds-read in the UDP tracker code when an announce or scrape request times out
2011-03-14 02:39:11 +00:00
Jordan Lee
e3fab720d1
(trunk) make sure all files with $Id$ has svn:properties set
2011-03-13 14:38:49 +00:00
Jordan Lee
4f6d031a9f
(trunk libT) fix tau_send crash reported by Waldorf overnight in #4114
2011-03-13 14:18:35 +00:00
Jordan Lee
2cca699f06
(trunk libT) #117 "UDP tracker support (BEP #15 )" -- added request timeout
...
UDP announce and scrapes now have a 120 second TTL.
2011-03-13 06:38:54 +00:00
Jordan Lee
3cfef5eded
(trunk libT) #117 "UDP tracker protocol support" -- working implementation; needs testing and valgrinding and review.
2011-03-13 00:18:11 +00:00