Commit Graph

256 Commits

Author SHA1 Message Date
Arvid Norberg 6c67da08d6 split socket.hpp up in multiple headers to lower build time somewhat 2009-09-16 03:46:36 +00:00
Arvid Norberg 18b911768c improve upnp port mapping description 2009-07-19 02:20:38 +00:00
Arvid Norberg fb6130bd95 another try to fix the upnp problems 2009-07-01 04:02:16 +00:00
Arvid Norberg 690467d4ee turned test_upnp into a proper unit-test with a simple program acting as a UPnP router 2009-06-29 08:09:32 +00:00
Arvid Norberg 10eb3fa00f handle torrents with duplicate filenames 2009-06-26 16:20:57 +00:00
Arvid Norberg 7328b30517 fixed potential deadlock in natpmp and upnp 2009-06-13 08:04:53 +00:00
Arvid Norberg 07bcb3545a converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes 2009-06-12 16:40:38 +00:00
Andrew Resch d230dfaf3a Fix upnp when checking for "http://" in control_url there is an improper substr call 2009-05-31 02:41:59 +00:00
Arvid Norberg 2cfb4e8205 printf formatting fixes 2009-05-25 08:55:43 +00:00
Arvid Norberg 32a42bae99 removed some dependencies on stringstream 2009-04-13 04:22:03 +00:00
Andrew Resch 2ad491cfd3 fixed UPnP issue where the control url contained the base url 2009-03-12 20:15:05 +00:00
Arvid Norberg ee3075ec12 upnp delete mapping bugfix 2009-03-11 00:42:46 +00:00
Arvid Norberg 079c6e6e03 no need to wait for 4 retries before mapping ports on a router 2009-03-04 09:40:16 +00:00
Arvid Norberg 614dec05aa fixed UPnP crash caused by UPnP was giving up while there were still outstanding http requests pending 2009-03-01 02:25:46 +00:00
Arvid Norberg 25dd5c86b9 fixed upnp bug that could cause stack overflow 2009-02-18 03:46:36 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 8030454c96 fixes problem whith lexical_cast being locale dependent 2009-01-27 06:17:55 +00:00
Arvid Norberg 3b7e484d6a various fixes for potential shutdown freezes 2008-12-07 20:25:04 +00:00
Arvid Norberg aeee715dd6 slight upnp optimization 2008-12-04 06:24:57 +00:00
Arvid Norberg 3c90672b2f fixed upnp parsing problem #427 2008-11-21 18:23:44 +00:00
Arvid Norberg a48ffe36e0 improved natpmp logging and handling of mapped ports in session 2008-11-16 02:11:04 +00:00
Arvid Norberg 19c66a1826 exception fixes 2008-11-05 05:39:18 +00:00
Arvid Norberg 19660306e0 more exception defines 2008-11-03 04:23:16 +00:00
Arvid Norberg bb02c7f985 fixed bug in upnp xml service parser introduced in last update 2008-11-02 21:11:00 +00:00
Arvid Norberg 972450e766 support for UPnP routers that don't provide a urlbase 2008-10-29 01:17:19 +00:00
Arvid Norberg 669da96ae2 typo 2008-10-28 21:53:58 +00:00
Arvid Norberg 0b47f69afd upnp fix with unit test 2008-10-28 09:49:26 +00:00
Arvid Norberg 49c01d7754 moved UPNP_LOGGING out of upnp.cpp and added alerts for when upnp logs something 2008-10-22 01:12:14 +00:00
Arvid Norberg c7b1977431 uses http 1.0 for soap traffic to dodge chunked transfer encodings 2008-10-14 08:07:27 +00:00
Arvid Norberg 9a5e261c64 Fixed UPnP bug where the port and host would be re-used from the xml url when connecting to the control url 2008-10-14 07:19:46 +00:00
Arvid Norberg b8f58f149e made UPnP not give up as soon. To give routers some time to send a NOTIFY message 2008-10-14 02:41:22 +00:00
Arvid Norberg 5b28964c22 don't take the ip_interface vector by reference when it's returned by value 2008-08-16 21:26:23 +00:00
Arvid Norberg ae1af66724 fixed typo. Fixes #355 2008-06-27 09:44:14 +00:00
Arvid Norberg b183b2e593 made it possible to export the upnp state and insert it into a different upnp instance 2008-06-20 16:14:10 +00:00
Andrew Resch aed8f355b0 Make libtorrent build with boost <1.35 2008-05-20 06:03:46 +00:00
Arvid Norberg 7f639e57de improved error handling with regards to parse_url_components. For trunk, moved that function to its own file 2008-05-17 14:19:34 +00:00
Arvid Norberg 5ec7da07e6 fixes #332 2008-05-17 00:27:26 +00:00
Arvid Norberg e54d1dfffe upnp bugfix (fixes #323) 2008-05-13 17:38:03 +00:00
Arvid Norberg 0de312c80c ignores UPnP routers that are not configured as routers on the local machine 2008-05-13 04:59:56 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg d91a256386 UPnP fix 2008-04-20 03:02:31 +00:00
Arvid Norberg 2e6b9c2dce revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp} 2008-04-06 19:17:58 +00:00
Arvid Norberg 35fd9aec61 msvc build fixes and warning fixes 2008-04-05 21:18:27 +00:00
Arvid Norberg 0c3e64b231 fixed potential upnp crash 2008-03-15 16:07:49 +00:00
Arvid Norberg cd65fb8b0c added priority to connection queue. trackers and upnp connections have higher priority than peers 2008-03-12 07:44:27 +00:00
Arvid Norberg bf7552a4cd merged upnp fixes from trunk to RC_0_13. Added some upnp logging 2008-02-19 18:50:04 +00:00
Arvid Norberg 72edfc2ee7 improved network interface enumeration and upnp device filtering 2008-01-11 06:49:37 +00:00
Arvid Norberg 695cd6407b remove use of strand 2008-01-08 05:47:43 +00:00
Arvid Norberg e05f396a5d made UPnP ignore devices that don't respond from a router IP (optional but on by default) 2008-01-07 05:48:28 +00:00
Arvid Norberg e5d1456c58 added a failcounter to upnp portmaps 2008-01-07 02:35:29 +00:00
Arvid Norberg 2050b03727 made upnp build without exception support 2007-12-29 23:14:59 +00:00
Arvid Norberg 6c42830f97 made http_parser not use exceptions 2007-12-29 18:24:50 +00:00
Arvid Norberg d5748419c1 fixed upnp bug when connecting without network 2007-12-24 08:18:53 +00:00
Arvid Norberg 1724ce5974 fixed bug in UPnP and added functionality to grab router model 2007-12-22 16:47:46 +00:00
Arvid Norberg 636d5f2005 upnp fixes and more debug asserts and more logging. Might fix #167 2007-10-26 00:47:30 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg 973e7be386 added router_for_interface along with a proper windows implementation. NAT-PMP support is now good on windows 2007-10-01 17:21:19 +00:00
Arvid Norberg 0048f343cd upnp, natpmp and lsd now have proper lifetime management by using intrusive_ptr 2007-09-29 21:31:51 +00:00
Arvid Norberg d48236a738 changed http_parser slightly. uses http_parser in lsd.cpp. added more tests to the http_parser 2007-09-25 03:14:05 +00:00
Arvid Norberg 053f499ec6 better upnp support 2007-09-20 23:25:40 +00:00
Arvid Norberg fbac9f785a disabled loopback for upnp 2007-09-18 01:25:28 +00:00
Arvid Norberg e51d9b9590 upnp fix 2007-09-17 09:55:48 +00:00
Arvid Norberg 8cbc53074d upnp fix 2007-09-12 21:08:29 +00:00
Arvid Norberg 07ba2b8362 made upnp log the entire HTTP message sent to the router 2007-09-12 19:38:52 +00:00
Arvid Norberg 28be72e7b6 added ; for msvc-7.1 2007-09-10 06:56:30 +00:00
Arvid Norberg 0d02fe0539 upnp and lsd update. added a broadcast_socket and made the upnp connection use the locally bound ip to specify its address in the soap requests 2007-09-09 23:52:34 +00:00
Arvid Norberg fd42f3232b upnp more logging and error recovery 2007-09-01 04:08:39 +00:00
Arvid Norberg b626bd96d5 reverted fix in 1435 2007-08-08 21:02:35 +00:00
Arvid Norberg 2a9d68376d upnp fixes, improved upnp logging and error handling 2007-08-07 07:59:51 +00:00
Arvid Norberg 6b86e5faa3 fixed #109 2007-08-07 07:29:51 +00:00
Arvid Norberg 3a27e51720 fixed bug in recent UPnP change 2007-05-23 06:23:22 +00:00
Arvid Norberg cbd67ed729 added support for authentication in the url_parser and added a test for it 2007-05-22 20:44:18 +00:00
Arvid Norberg 8987d7077d refactoring in natpmp, upnp and lsd. made lsd (probably) work on windows 2007-05-17 02:54:13 +00:00
Arvid Norberg 633f174947 improved natpmp, upnp and lsd 2007-05-16 21:36:27 +00:00
Arvid Norberg 674e1f96b1 improved local IP guessing slightly 2007-05-16 18:58:31 +00:00
Arvid Norberg 1d68e10684 made it build in msvc by inserting ; at the end of function try blocks 2007-05-16 01:17:14 +00:00
Arvid Norberg 36898ecc12 added more logging to upnp. fixed upnp test 2007-05-14 08:56:46 +00:00
Arvid Norberg c5e150ee69 upnp fixes 2007-05-14 07:31:01 +00:00
Arvid Norberg acf973fe39 added exception handling to upnp 2007-05-10 18:00:10 +00:00
Arvid Norberg 25d38ff1fc fixed typo 2007-05-08 23:22:57 +00:00
Arvid Norberg 2b18189ef8 upnp fixes + logging 2007-05-08 18:02:10 +00:00
Arvid Norberg daa6534972 upnp fix. suggested by Massaroddel 2007-05-08 17:46:32 +00:00
Arvid Norberg 708202575f upnp fix 2007-05-08 11:10:05 +00:00
Arvid Norberg ce63e79758 cleaned up upnp error codes 2007-05-07 00:12:33 +00:00
Arvid Norberg b239eecc04 updates to upnp code 2007-05-05 22:06:26 +00:00
Arvid Norberg d320928e8f more upnp logging and made the upnp test build again 2007-05-05 20:00:28 +00:00
Arvid Norberg 49bd69cad4 introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds 2007-05-05 00:29:33 +00:00
Arvid Norberg 328f335a4d fixed bug in latest upnp change 2007-05-04 17:39:44 +00:00
Arvid Norberg c7b4f49d5a moved initialization of multicast addresses from global initializers to local constructors to avoid WSAStartup issues on windows 2007-05-04 06:47:32 +00:00
Arvid Norberg 675781d604 upnp mapping is attempted after all broadcasts are complete. changed the logging configuration to log UPnP traffic with TORRENT_UPNP_LOGGING define 2007-05-04 05:34:03 +00:00
Arvid Norberg 90bff3d1ca Fixed building issues on windows with msvc-8.0 2007-04-17 21:18:35 +00:00
Arvid Norberg 0a32fffdfd exception fixes for UPnP and NAT-PMP. port fix for lsd 2007-04-14 15:51:36 +00:00
Arvid Norberg d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +00:00
Arvid Norberg 5be60cc125 upnp made destructor not sync.ing 2007-04-10 05:14:37 +00:00
Arvid Norberg 11136650d6 updates to multicast lsd and upnp 2007-04-09 21:59:40 +00:00
Arvid Norberg 2dea7f072c upnp fix 2007-04-09 00:26:00 +00:00
Arvid Norberg af21efb861 upnp fix 2007-04-05 17:53:42 +00:00
Arvid Norberg 306d015924 added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient 2007-04-04 22:27:36 +00:00
Arvid Norberg 2555daa95f fixed upnp when set_mappings are called multiple times before the upnp requests can finish 2007-04-04 00:08:00 +00:00
Arvid Norberg 15ad0a36f6 possible fix to upnp close-down in case there are UPnP devices without WANIPConnection 2007-04-02 20:09:48 +00:00
Arvid Norberg 2fc73e9aeb fixed upnp so that it doesn't overwrite valid ports with 0 2007-04-02 19:17:08 +00:00
Arvid Norberg 2f9611a1a9 UPnP seems to work 2007-04-01 15:39:08 +00:00
Arvid Norberg 3d2a4e00b9 upnp fixes 2007-04-01 01:18:10 +00:00
Arvid Norberg 9e1123eb9e more UPnP work. updated ChangeLog and features documentation 2007-03-31 23:23:30 +00:00
Arvid Norberg b8721ad854 updates to the upnp code 2007-03-30 16:57:55 +00:00
Arvid Norberg 29e43d7f62 added http_connection and a simple xml parser, used by a upnp implementation that still isn't finished 2007-03-27 07:04:31 +00:00