Commit Graph

150 Commits

Author SHA1 Message Date
Charles Kerr b2a6def953 (trunk libT) fix small dead code. found by clang static analyzer and reported by d0k 2009-05-13 19:04:14 +00:00
Erick Turnquist 2719372bc6 (trunk) #1497 Options to listen on specific network sockets 2009-04-15 21:05:58 +00:00
Charles Kerr a2b53f5cbd (trunk libT) more speed tweaks from valgrind 2009-04-12 14:52:17 +00:00
Erick Turnquist 2f8d56e77f (trunk libT) make IPv6's two IPv4-compatible address formats invalid peer addresses
IPv4 peers should only be seen from an IPv4-connected tracker.
2009-03-27 01:31:17 +00:00
Erick Turnquist dd7eb76718 (trunk libT) remove tr_suspectAddress() since all seems well 2009-03-27 01:14:25 +00:00
Erick Turnquist 72297dbdb4 (trunk libT) suppress ipv6 EHOSTUNREACH as well as ENETUNREACH 2009-02-08 22:52:47 +00:00
Erick Turnquist fc767a3f03 (trunk libT) don't attempt to connect to (half-complete) ipv6 link-local addresses 2009-02-08 22:45:30 +00:00
Erick Turnquist 61e505b8d1 (trunk libT) don't attempt to set V6ONLY on ipv4 sockets 2009-02-07 01:14:41 +00:00
Erick Turnquist 94b98030cb (trunk libT) stop using ipv4-mapped listener sockets. this should have the added effect of fixing #1789 2009-02-07 00:34:10 +00:00
Charles Kerr 9c9c94a81d (trunk libT) discard peers from the tracker or pex that have a port of 0 or a multicast address. 2009-01-17 23:14:35 +00:00
Charles Kerr d95a45b701 (trunk libT) fix IPv6 reported & solved by erdgeist. add debugging message to help track down any future problems. 2009-01-16 23:17:31 +00:00
Charles Kerr bc2b7fcb03 (trunk libT) minor tweaks to reduce libtransmission shear between trunk and 1.5x 2009-01-16 17:29:42 +00:00
Charles Kerr 2f6b56671f (trunk libT) win32 portability patch from Alexey 2009-01-11 17:02:04 +00:00
Charles Kerr c6a454d2e2 (trunk libT) win32 portability fixes, reported by Alexey 2009-01-10 02:22:13 +00:00
Erick Turnquist 5086cbe47c (trunk libT) use IN_MULTICAST macro 2009-01-02 21:45:55 +00:00
Charles Kerr 0cd572a0da (trunk libT) make tr_isAddress() and tr_isDirection() inline 2009-01-02 04:47:37 +00:00
Erick Turnquist e9f32d7523 (trunk libT) < Rolcol> For example: I have a lot of addresses in the message
log as "funny looking address" as something like ::ffff:192.168.1.1

These were coming from pex6. Apparently there is a client out there that sends
us IPv4 peers in mapped form. It's valid, but a little strange...
2009-01-01 00:34:44 +00:00
Erick Turnquist bd5463a37e (trunk libT) fix another endian oops 2009-01-01 00:23:09 +00:00
Erick Turnquist 37ac4b3fbf (trunk libT) fix endian oops in tr_suspectAddress() 2009-01-01 00:15:15 +00:00
Erick Turnquist 50d73a884f (trunk libT) Stop trying to connect to multicast addresses. Also, bump "funny
looking address" messages from tr_dbg to tr_err so I can get bug reports with
the message for once!
2008-12-31 21:25:52 +00:00
Erick Turnquist 38efb62100 add some debugging stuff to track down where some bogus addresses are coming from 2008-12-21 19:13:52 +00:00
Erick Turnquist a68764fcba (trunk libT) Don't log two "errors" we expect to see from time-to-time.
EAFNOSUPPORT: On OS X, socket() incorrectly throws EAFNOSUPPORT for certain
IP/Port combinations. There is nothing we can do about this.

ENETUNREACH: #1606 is evidence that some trackers return IPv6 peers when
contacted over IPv4. This code will silently ignore "network unreachable"
errors for IPv6 connections.
2008-12-20 08:51:32 +00:00
Erick Turnquist 72ee19dcca (trunk libT) Refactor ipv6 bind socket check
This will let the RPC server use the same test mechanism eventually. Networking code belongs in net.c anyway.
2008-12-18 05:55:22 +00:00
Erick Turnquist 2d427751d6 fix another bad assert *eyes charles* 2008-12-16 21:44:53 +00:00
Erick Turnquist 0a2c5efb65 Fix "ISO C90 forbids mixed declarations and code" 2008-12-16 21:35:14 +00:00
Erick Turnquist 86257e03f1 Fix tr_isAddress() 2008-12-16 21:28:06 +00:00
Charles Kerr de5228c415 (trunk libT) more runtime safety checks 2008-12-16 21:06:47 +00:00
Charles Kerr 748a9f1c92 (trunk libT) add some assertions to tr_compareAddresses() 2008-12-16 06:46:27 +00:00
Charles Kerr 54be88dec3 (trunk libT) add ipv6 support by jhujhiti. I think this is the largest user-contributed patch we've ever used... thanks jhujhiti :) 2008-12-15 00:17:08 +00:00
Mitchell Livingston 31482813b9 BeOS and Amiga support is, at least for now, a lost cause and hasn't worked for long over a year - removing from the source (if you for whatever unknown reason still need this, get it through SVN) 2008-12-02 03:57:01 +00:00
Charles Kerr 0d5fed6442 (libT) re-apply jhujhiti's IPv6 patch. This merges in my tr_port cleanup, so any new bugs are mine :/ 2008-12-02 03:41:58 +00:00
Charles Kerr a14621c363 (libT) janitorial: use the tr_port type whenever we have a `port' as a function argument or as a field in a struct. 2008-12-01 20:51:01 +00:00
Charles Kerr 7fa9813955 (libT) #252: revert r7195 (jhujhiti's IPv6 test patch). It seems to be the culprit in a `thrashing' issue reported by Waldorf and m1b in irc -- the behavior appeared between r7183 and r7187 -- so this commit is to trigger off a nightly build w/o the patch to test with in irc. 2008-12-01 20:21:06 +00:00
Charles Kerr a2ad4f6543 (libT) patch from jhujhiti to add ipv6 support. 2008-11-30 00:47:18 +00:00
Charles Kerr 40299a2284 (libT) silence the net.c warnings I introduced yesterday :/ 2008-11-29 21:34:06 +00:00
Charles Kerr 516ba0564a (libT) disable the so_sndbuf / so_rcvbuf code for now 2008-11-28 07:42:08 +00:00
Charles Kerr f44248a7d7 (libT) yet another stab at getting bandwidth management under control. this version may suck less than previous attempts. It also breaks the mac build until someone adds iobuf.[ch] to xcode... 2008-11-25 21:35:17 +00:00
Charles Kerr 8e6529ad8f (libT) I wonder if this will have any affect on the bug reported by Wizardling. 2008-11-24 21:59:00 +00:00
Charles Kerr be5e6774ad (libT) #1468: another stab at getting the peer transfer speeds both fast and a little more consistent. 2008-11-24 04:21:23 +00:00
Charles Kerr 853a67fbfc (libT) define peer connections' sockets' so_sndbuf size in the tr_session struct. 2008-11-21 16:32:55 +00:00
Charles Kerr 93b3dc5617 increase the socket's SNDBUF size 2008-11-16 21:16:14 +00:00
Charles Kerr 84dcaab5f4 remove dead code 2008-10-22 13:57:30 +00:00
Charles Kerr b5c2f14387 (libT) dead code removal 2008-10-14 20:44:41 +00:00
Charles Kerr cc89872dd4 run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened 2008-09-23 19:11:04 +00:00
Charles Kerr d06f101e57 #220: lazy bitfields 2008-08-16 21:06:57 +00:00
Charles Kerr 93898401fb more connection management changes 2008-08-16 16:00:49 +00:00
Charles Kerr 20b283584b one more piece of Aloisius' performance patch: set SO_SNDBUF to 2x MTU 2008-07-24 20:58:58 +00:00
Charles Kerr 2f239319b0 add a portability wrapper ``tr_snprintf()'' around snprintf() 2008-07-15 17:16:57 +00:00
Charles Kerr 5ed97a1c04 refactor out some dead code in net.c, and probably give jhujhiti fits 2008-05-30 15:43:10 +00:00
Charles Kerr e6070f04f2 remove more dead code 2008-05-28 16:56:38 +00:00
Charles Kerr cd6ef35854 (libT) remove dead code 2008-05-28 16:52:31 +00:00
Charles Kerr 19fbb3ef2c string folding 2008-04-21 15:22:54 +00:00
Charles Kerr 57c7fcb507 #857: DSCP support for Transmission 2008-04-12 00:29:49 +00:00
Charles Kerr 21124a8de8 strings work: (1) folding similar strings together for easier tranlation (2) gtk: use consistent shortcuts/phrases/terminology between the preferences and "open torrent" dialogs (3) promote the port forwarding messages from Debug to Info as per BMW's request 2008-03-18 19:14:21 +00:00
Charles Kerr 777c0de53a more i18n strings work 2008-03-06 21:59:00 +00:00
Charles Kerr 84a8592d1d first cut at adding i18n hooks into libtransmission. 2008-03-04 02:02:25 +00:00
Charles Kerr deaeb24cb5 cleanup #includes for errno & strerror 2008-02-19 04:16:04 +00:00
Charles Kerr 939f1541c6 mingw portability fixes: libtransmission #includes 2008-01-10 19:52:56 +00:00
Charles Kerr ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr f8f4e1fc32 more helpful error message 2007-12-15 03:17:50 +00:00
Charles Kerr 99e8b9a19d two arguments were transposed. 2007-12-15 03:14:16 +00:00
Charles Kerr 67a86a2274 finish the `shared' update: bind & listen the incoming port.
better logging in network code.
2007-12-09 00:28:34 +00:00
Charles Kerr 73ee11f233 Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr f534d0929c use PMP_MCAST_ADDR, instead of a hardcoded address, in net.c 2007-12-01 05:11:30 +00:00
Charles Kerr 78f3c40484 get nat-pmp working again in Leopard. Thanks to Chinstrap for tracking down the problem & submitting a patch. See the comment in this changeset for more details. 2007-12-01 05:01:02 +00:00
Charles Kerr 8c0e2434f5 fix OpenBSD build error. 2007-10-25 13:59:46 +00:00
Charles Kerr f96cbd3ec3 * add intltool macros to make it easier to build from svn.
* minor error logging improvement in libtransmission
2007-10-09 02:49:24 +00:00
Charles Kerr fef89a3bc7 * record the ports of incoming sockets. we might need them later if we want to disconnect and reconnect.
* for portability, use libevent API for some socket upkeep
2007-09-25 23:10:34 +00:00
Mitchell Livingston 76da1185ca merge encryption branch to trunk (xcode project is still out of date) 2007-09-20 16:32:01 +00:00
Josh Elsasser 2ead51f79d Use __BEOS__ to test for beos instead of relying on the build to set SYS_BEOS.
Add missing headers and other miscellaneous fixes for beos.
2007-08-04 01:17:39 +00:00
Charles Kerr ef2fc4fdcf More win32 portability fixes. we now talk to tracker & peers; hash checks work, downloads seem to work. w00t 2007-08-02 23:33:40 +00:00
Charles Kerr 6763ec75e8 more portability fixes 2007-08-02 21:58:34 +00:00
Charles Kerr 1fd5f90a77 win32 cleanly compiles and starts now. (still doesn't atually *work*, but we're getting closer...) 2007-08-02 19:43:29 +00:00
Charles Kerr 26caf4f5dd More Win32 portability changes 2007-08-01 00:40:49 +00:00
Charles Kerr ba3dc008fc get the socket/net code working on win32 too 2007-07-31 16:55:47 +00:00
Charles Kerr 0f85cc3297 continue whittling away at internal.h to reduce the global #include dependencies 2007-07-31 14:26:44 +00:00
Charles Kerr d209052051 add portability wrapper for in_port_t... 2007-07-30 18:04:10 +00:00
Charles Kerr ebb141b232 better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t 2007-07-30 15:27:52 +00:00
Charles Kerr e07d0220a9 this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file 2007-07-29 18:11:21 +00:00
Josh Elsasser 1ecbe8da65 Change a couple functions to take an in_addr pointer instead of an in_addr.
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Charles Kerr e6e6d574db second draft of a fix for the tracker communication bug reported by TMT 2007-07-13 01:34:14 +00:00
Charles Kerr 790476ac23 clean up #includes a bit. 2007-07-12 17:51:45 +00:00
Charles Kerr b79beeff66 clean up #includes a bit. 2007-07-09 20:10:42 +00:00
Eric Petit 40d8abb68f More simplifications 2007-01-21 19:42:11 +00:00
Eric Petit 14aa4e5ab0 Officially give up on making libT reentrant, and simplify our code instead 2007-01-21 07:16:18 +00:00
Eric Petit 3e6d071e0d clean up 2007-01-19 01:39:33 +00:00
Eric Petit 4386cba273 Use tr_cond* a bit more 2007-01-14 12:11:06 +00:00
Eric Petit e5e6a8b5df Merge io branch into trunk 2007-01-14 12:00:21 +00:00
Josh Elsasser 0257761670 Merge nat-traversal branch to trunk. 2006-09-25 18:37:45 +00:00
Josh Elsasser d07b688c86 Unbreak BeOS build. 2006-08-18 08:46:19 +00:00
Eric Petit f199e0a9d9 Revert [619] 2006-07-16 19:39:23 +00:00
Mitchell Livingston 5d36721a15 Remove old Sparkle... 2006-07-16 19:28:19 +00:00
Eric Petit f98fe6a1b0 Added $Id$ keywords and updated a few headers 2006-05-29 21:21:23 +00:00
Eric Petit 1ec413ea5c Fixes warnings 2006-04-26 10:59:09 +00:00
Eric Petit 3db5194740 Clean up, perform all DNS resolutions in a common thread. This should
fix the remaining issues with many open torrents
2006-04-22 21:39:17 +00:00
Eric Petit 766e834cde Code cleanup 2006-04-22 17:12:59 +00:00
Eric Petit 62bcf17b22 Fixed a couple of bugs introduced in [164] 2006-04-08 15:10:52 +00:00
Eric Petit 256bda38ce Adds non-blocking (threaded) DNS resolution 2006-03-24 12:18:38 +00:00
Eric Petit 07b9da73fc Update 2006-01-11 2006-01-12 19:12:58 +00:00
Eric Petit a6aa884776 Import from 2005-10-26 2006-01-12 17:43:21 +00:00