Hello community,

here is the log from the commit of package libtorrent-rasterbar for 
openSUSE:Factory checked in at 2012-04-12 09:38:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libtorrent-rasterbar (Old)
 and      /work/SRC/openSUSE:Factory/.libtorrent-rasterbar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libtorrent-rasterbar", Maintainer is ""

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/libtorrent-rasterbar/libtorrent-rasterbar.changes    
    2012-01-26 14:06:14.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.libtorrent-rasterbar.new/libtorrent-rasterbar.changes
   2012-04-12 09:38:45.000000000 +0200
@@ -1,0 +2,11 @@
+Tue Mar 27 13:29:53 UTC 2012 - [email protected]
+
+- Upstream update to 0.15.10, bugfix release:
+  + fixed peer_tos (type of service) setting
+  + fix connection queue issue causing shutdown delays
+  + fix overflow bug in progress_ppm field
+  + don't filter local peers received from a non-local tracker
+  + fix python deadlock when using python extensions
+  + fixed small memory leak in DHT
+
+-------------------------------------------------------------------

Old:
----
  libtorrent-rasterbar-0.15.9.tar.gz

New:
----
  libtorrent-rasterbar-0.15.10.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libtorrent-rasterbar.spec ++++++
--- /var/tmp/diff_new_pack.PtJ8Jn/_old  2012-04-12 09:38:46.000000000 +0200
+++ /var/tmp/diff_new_pack.PtJ8Jn/_new  2012-04-12 09:38:46.000000000 +0200
@@ -23,7 +23,7 @@
 %bcond_with examples
 
 Name:           libtorrent-rasterbar
-Version:        0.15.9
+Version:        0.15.10
 Release:        0
 Summary:        Libtorrent is a C++ implementation of the BitTorrent protocol
 License:        BSD-3-Clause

++++++ libtorrent-rasterbar-0.15.9.tar.gz -> 
libtorrent-rasterbar-0.15.10.tar.gz ++++++
++++ 3024 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/CMakeLists.txt 
new/libtorrent-rasterbar-0.15.10/CMakeLists.txt
--- old/libtorrent-rasterbar-0.15.9/CMakeLists.txt      2011-11-19 
21:09:35.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/CMakeLists.txt     2012-02-22 
10:29:49.000000000 +0100
@@ -226,7 +226,7 @@
        SOVERSION 1
        VERSION 1)
 
-set (VERSION "0.15.9")
+set (VERSION "0.15.10")
 
 get_property (COMPILETIME_OPTIONS_LIST
        DIRECTORY ${CMAKE_CURRENT_SOURCE_DIRECTORY}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/ChangeLog 
new/libtorrent-rasterbar-0.15.10/ChangeLog
--- old/libtorrent-rasterbar-0.15.9/ChangeLog   2011-11-18 09:08:19.000000000 
+0100
+++ new/libtorrent-rasterbar-0.15.10/ChangeLog  2012-02-22 06:21:25.000000000 
+0100
@@ -1,3 +1,19 @@
+0.15.10 release
+
+       * fix 'parameter incorrect' issue when using unbuffered IO on windows
+       * fixed UDP socket error handling on windows
+       * fixed peer_tos (type of service) setting
+       * fixed crash when loading resume file with more files than the torrent 
in it
+       * fix invalid-parameter error on windows when disabling filesystem disk 
cache
+       * fix connection queue issue causing shutdown delays
+       * fixed mingw build
+       * fix overflow bug in progress_ppm field
+       * don't filter local peers received from a non-local tracker
+       * fix python deadlock when using python extensions
+       * fixed small memory leak in DHT
+
+0.15.9 release
+
        * fixed https crash
        * added some functions missing from the python binding
        * fixed rare piece picker bug
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/Jamfile new/libtorrent-rasterbar-0.15.10/Jamfile
--- old/libtorrent-rasterbar-0.15.9/Jamfile     2011-11-19 21:09:35.000000000 
+0100
+++ new/libtorrent-rasterbar-0.15.10/Jamfile    2012-02-22 10:29:49.000000000 
+0100
@@ -21,7 +21,7 @@
        use-project /boost : $(BOOST_ROOT) ;
 }
 
-VERSION = 0.15.9 ;
+VERSION = 0.15.10 ;
 
 # rule for linking the correct libraries depending
 # on features and target-os
@@ -41,7 +41,7 @@
                        result += <library>gdi32 ;
                }
 
-               if <target-os>windows in $(properties) && ! <toolset>gcc in 
$(properties)
+               if <target-os>windows in $(properties)
                {
                        result += <library>ssleay32
                                <library>libeay32
@@ -94,6 +94,11 @@
                result += <library>librt ;
        }
 
+       if <iconv>on in $(properties)
+       {
+               result += <library>libiconv ;
+       }
+
        if <tcmalloc>yes in $(properties)
        {
                result += <library>tcmalloc ;
@@ -198,7 +203,7 @@
                if <target-os>linux in $(properties)
                {
                        # linker library on linux, required when using openssl
-                       result += <source>/usr/lib/libdl.so ;
+                       result += <library>dl ;
                }
 
        }
@@ -231,6 +236,10 @@
 feature fiemap : off on : composite propagated ;
 feature.compose <fiemap>on : <define>HAVE_LINUX_FIEMAP_H ;
 
+feature iconv : auto on off : composite propagated ;
+feature.compose <iconv>on : <define>TORRENT_USE_ICONV=1 ;
+feature.compose <iconv>off : <define>TORRENT_USE_ICONV=0 ;
+
 feature pool-allocators : on off : composite propagated link-incompatible ;
 feature.compose <pool-allocators>off : <define>TORRENT_DISABLE_POOL_ALLOCATOR ;
 
@@ -301,9 +310,6 @@
 feature.compose <fpic>on : <cflags>-fPIC ;
 feature.compose <fpic>off : <toolset>darwin:<cflags>-mdynamic-no-pic ;
 
-feature visibility : default hidden : composite propagated link-incompatible ;
-feature.compose <visibility>hidden : <cflags>-fvisibility=hidden ;
-
 # required for openssl on windows
 lib ssleay32 : : <name>ssleay32 ;
 lib libeay32 : : <name>libeay32 ;
@@ -312,6 +318,9 @@
 lib shell32 : : <name>shell32 ;
 lib gdi32 : : <name>gdi32 ;
 
+# when using iconv
+lib libiconv : : <name>iconv <link>shared ;
+
 local boost-library-search-path =
   <search>/opt/local/lib
   <search>/usr/lib
@@ -331,6 +340,7 @@
 # openssl on linux/bsd/macos etc.
 lib crypto : : <name>crypto <search>/lib ;
 lib ssl : : <name>ssl ;
+lib dl : : <link>shared <name>dl ;
 
 # time functions used on linux require librt
 lib librt : : <name>rt ;
@@ -489,6 +499,12 @@
        <zlib>shipped:<source>zlib/$(ZLIB_SOURCES).c
        <conditional>@building
        <boost>system:<cxxflags>$(CXXFLAGS)
+
+# hide non-external symbols
+       <toolset>darwin:<cflags>-fvisibility=hidden
+       <toolset>gcc:<cflags>-fvisibility=hidden
+       <toolset>llvm:<cflags>-fvisibility=hidden
+
        $(usage-requirements)
 
        : # default build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/bindings/python/setup.py 
new/libtorrent-rasterbar-0.15.10/bindings/python/setup.py
--- old/libtorrent-rasterbar-0.15.9/bindings/python/setup.py    2011-11-21 
02:11:29.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/bindings/python/setup.py   2012-02-23 
08:02:03.000000000 +0100
@@ -43,7 +43,7 @@
        except: pass
        
shutil.copyfile(r'bin\msvc-9.0\release\boost-source\geoip-static\link-static\optimization-space\threading-multi\libtorrent.pyd',
 r'.\build\lib\libtorrent.pyd')
        setup( name='python-libtorrent',
-               version='0.15.9',
+               version='0.15.10',
                author = 'Arvid Norberg',
                author_email='[email protected]',
                description = 'Python bindings for libtorrent-rasterbar',
@@ -67,7 +67,7 @@
 extra_cmd = ' -DTORRENT_USE_OPENSSL  -DWITH_SHIPPED_GEOIP_H  
-DBOOST_ASIO_HASH_MAP_BUCKETS=1021  -DBOOST_EXCEPTION_DISABLE  
-DBOOST_FILESYSTEM_VERSION=2  -DTORRENT_LINKING_SHARED  -I/opt/local/include    
-lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -lboost_python-mt  
-lssl -lcrypto -lz   -L/opt/local/lib   -I/opt/local/include  '
 
 setup( name='python-libtorrent',
-       version='0.15.9',
+       version='0.15.10',
        author = 'Arvid Norberg',
        author_email='[email protected]',
        description = 'Python bindings for libtorrent-rasterbar',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/bindings/python/src/magnet_uri.cpp 
new/libtorrent-rasterbar-0.15.10/bindings/python/src/magnet_uri.cpp
--- old/libtorrent-rasterbar-0.15.9/bindings/python/src/magnet_uri.cpp  
2011-11-16 08:18:22.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/bindings/python/src/magnet_uri.cpp 
2011-11-29 12:06:57.000000000 +0100
@@ -47,7 +47,9 @@
             p.auto_managed = params["auto_managed"];
         if (params.has_key("duplicate_is_error"))
             p.duplicate_is_error = params["duplicate_is_error"];
-        
+
+        allow_threading_guard guard;
+
         return add_magnet_uri(s, uri, p);
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/configure.ac 
new/libtorrent-rasterbar-0.15.10/configure.ac
--- old/libtorrent-rasterbar-0.15.9/configure.ac        2011-11-19 
21:09:35.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/configure.ac       2012-02-22 
10:29:49.000000000 +0100
@@ -5,7 +5,7 @@
 
 AC_PREREQ([2.63])
 
-AC_INIT([libtorrent-rasterbar],[0.15.9],[[email protected]],
+AC_INIT([libtorrent-rasterbar],[0.15.10],[[email protected]],
         [libtorrent-rasterbar],[http://www.libtorrent.org])
 AC_CONFIG_SRCDIR([src/torrent.cpp])
 AC_CONFIG_AUX_DIR([build-aux])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/docs/building.rst 
new/libtorrent-rasterbar-0.15.10/docs/building.rst
--- old/libtorrent-rasterbar-0.15.9/docs/building.rst   2011-11-19 
21:09:35.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/docs/building.rst  2012-02-22 
10:29:49.000000000 +0100
@@ -3,7 +3,7 @@
 =================
 
 :Author: Arvid Norberg, [email protected]
-:Version: 0.15.9
+:Version: 0.15.10
 
 .. contents:: Table of contents
   :depth: 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/docs/features.rst 
new/libtorrent-rasterbar-0.15.10/docs/features.rst
--- old/libtorrent-rasterbar-0.15.9/docs/features.rst   2011-11-19 
21:09:35.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/docs/features.rst  2012-02-22 
10:29:49.000000000 +0100
@@ -3,7 +3,7 @@
 =================
 
 :Author: Arvid Norberg, [email protected]
-:Version: 0.15.9
+:Version: 0.15.10
 
 .. contents:: Table of contents
   :depth: 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/docs/make_torrent.rst 
new/libtorrent-rasterbar-0.15.10/docs/make_torrent.rst
--- old/libtorrent-rasterbar-0.15.9/docs/make_torrent.rst       2011-11-19 
21:10:33.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/docs/make_torrent.rst      2012-02-22 
10:29:49.000000000 +0100
@@ -3,7 +3,7 @@
 =================
 
 :Author: Arvid Norberg, [email protected]
-:Version: 0.15.9
+:Version: 0.15.10
 
 .. contents:: Table of contents
   :depth: 2
@@ -276,7 +276,8 @@
 If a ``pad_size_limit`` is specified (other than -1), any file larger than
 the specified number of bytes will be preceeded by a pad file to align it
 with the start of a piece. The pad_file_limit is ignored unless the
-``optimize`` flag is passed.
+``optimize`` flag is passed. Typically it doesn't make sense to set this
+any lower than 4kiB.
 
 The overload that takes a ``torrent_info`` object will make a verbatim
 copy of its info dictionary (to preserve the info-hash). The copy of
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/docs/manual.rst 
new/libtorrent-rasterbar-0.15.10/docs/manual.rst
--- old/libtorrent-rasterbar-0.15.9/docs/manual.rst     2011-11-19 
21:09:35.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/docs/manual.rst    2012-02-22 
10:29:49.000000000 +0100
@@ -3,7 +3,7 @@
 ============================
 
 :Author: Arvid Norberg, [email protected]
-:Version: 0.15.9
+:Version: 0.15.10
 
 .. contents:: Table of contents
   :depth: 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/docs/tuning.rst 
new/libtorrent-rasterbar-0.15.10/docs/tuning.rst
--- old/libtorrent-rasterbar-0.15.9/docs/tuning.rst     2011-11-19 
21:09:35.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/docs/tuning.rst    2012-02-22 
10:29:49.000000000 +0100
@@ -3,7 +3,7 @@
 =================
 
 :Author: Arvid Norberg, [email protected]
-:Version: 0.15.9
+:Version: 0.15.10
 
 .. contents:: Table of contents
   :depth: 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/config.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/config.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/config.hpp       
2011-09-25 23:30:14.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/include/libtorrent/config.hpp      
2012-01-19 08:39:18.000000000 +0100
@@ -133,7 +133,6 @@
 #define TORRENT_MINGW
 #define TORRENT_WINDOWS
 #define TORRENT_HAS_FALLOCATE 0
-#define TORRENT_ICONV_ARG (const char**)
 #elif defined WIN32
 #define TORRENT_WINDOWS
 #define TORRENT_HAS_FALLOCATE 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/escape_string.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/escape_string.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/escape_string.hpp        
2010-05-03 00:28:48.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/include/libtorrent/escape_string.hpp       
2012-01-22 03:40:27.000000000 +0100
@@ -72,6 +72,9 @@
        TORRENT_EXPORT boost::optional<std::string> url_has_argument(
                std::string const& url, std::string argument, size_t* out_pos = 
0);
 
+       // replaces \ with /
+       TORRENT_EXPORT void convert_path_to_posix(std::string& path);
+
        TORRENT_EXPORT std::string read_until(char const*& str, char delim, 
char const* end);
        TORRENT_EXPORT std::string to_hex(std::string const& s);
        TORRENT_EXPORT bool is_hex(char const *in, int len);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/kademlia/dht_tracker.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/kademlia/dht_tracker.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/kademlia/dht_tracker.hpp 
2010-02-14 08:25:03.000000000 +0100
+++ 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/kademlia/dht_tracker.hpp    
    2011-11-28 12:08:45.000000000 +0100
@@ -112,7 +112,6 @@
                void refresh_timeout(error_code const& e);
                void tick(error_code const& e);
 
-               void on_bootstrap();
                void send_packet(msg const& m);
 
                void incoming_error(char const* msg, lazy_entry const& e, 
udp::endpoint const& ep);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/socket.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/socket.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/socket.hpp       
2010-05-24 08:36:06.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/include/libtorrent/socket.hpp      
2012-01-29 21:42:27.000000000 +0100
@@ -257,16 +257,21 @@
 
        struct type_of_service
        {
+#ifdef WIN32
+               typedef DWORD tos_t;
+#else
+               typedef int tos_t;
+#endif
                type_of_service(char val): m_value(val) {}
                template<class Protocol>
                int level(Protocol const&) const { return IPPROTO_IP; }
                template<class Protocol>
                int name(Protocol const&) const { return IP_TOS; }
                template<class Protocol>
-               char const* data(Protocol const&) const { return &m_value; }
+               tos_t const* data(Protocol const&) const { return &m_value; }
                template<class Protocol>
                size_t size(Protocol const&) const { return sizeof(m_value); }
-               char m_value;
+               tos_t m_value;
        };
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/udp_socket.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/udp_socket.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/udp_socket.hpp   
2011-09-13 09:40:20.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/include/libtorrent/udp_socket.hpp  
2012-02-18 11:57:49.000000000 +0100
@@ -117,12 +117,12 @@
 
                udp::socket m_ipv4_sock;
                udp::endpoint m_v4_ep;
-               char m_v4_buf[1600];
+               char m_v4_buf[2000];
 
 #if TORRENT_USE_IPV6
                udp::socket m_ipv6_sock;
                udp::endpoint m_v6_ep;
-               char m_v6_buf[1600];
+               char m_v6_buf[2000];
 #endif
 
                boost::uint16_t m_bind_port;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/version.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/version.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/version.hpp      
2011-11-19 21:11:47.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/include/libtorrent/version.hpp     
2012-02-22 10:29:49.000000000 +0100
@@ -35,9 +35,9 @@
 
 #define LIBTORRENT_VERSION_MAJOR 0
 #define LIBTORRENT_VERSION_MINOR 15
-#define LIBTORRENT_VERSION_TINY 9
+#define LIBTORRENT_VERSION_TINY 10
 
-#define LIBTORRENT_VERSION "0.15.9.0"
-#define LIBTORRENT_REVISION "$Rev: 6246 $" 
+#define LIBTORRENT_VERSION "0.15.10.0"
+#define LIBTORRENT_REVISION "$Rev: 6415 $" 
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/include/libtorrent/xml_parse.hpp 
new/libtorrent-rasterbar-0.15.10/include/libtorrent/xml_parse.hpp
--- old/libtorrent-rasterbar-0.15.9/include/libtorrent/xml_parse.hpp    
2010-01-27 05:58:28.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/include/libtorrent/xml_parse.hpp   
2012-02-18 11:09:06.000000000 +0100
@@ -63,7 +63,7 @@
                        char const* val_start = 0;
                        int token;
                        // look for tag start
-                       for(; *p != '<' && p != end; ++p);
+                       for(; p != end && *p != '<'; ++p);
 
                        if (p != start)
                        {
@@ -83,7 +83,7 @@
                        ++p;    
 
                        // parse the name of the tag.
-                       for (start = p; p != end && *p != '>' && !isspace(*p); 
++p);
+                       for (start = p; p != end && *p != '>' && !is_space(*p); 
++p);
 
                        char* tag_name_end = p;
 
@@ -150,11 +150,11 @@
                        for (char* i = tag_name_end; i < tag_end; ++i)
                        {
                                // find start of attribute name
-                               for (; i != tag_end && isspace(*i); ++i);
+                               for (; i != tag_end && is_space(*i); ++i);
                                if (i == tag_end) break;
                                start = i;
                                // find end of attribute name
-                               for (; i != tag_end && *i != '=' && 
!isspace(*i); ++i);
+                               for (; i != tag_end && *i != '=' && 
!is_space(*i); ++i);
                                char* name_end = i;
 
                                // look for equality sign
@@ -170,7 +170,7 @@
                                }
 
                                ++i;
-                               for (; i != tag_end && isspace(*i); ++i);
+                               for (; i != tag_end && is_space(*i); ++i);
                                // check for parse error (values must be quoted)
                                if (i == tag_end || (*i != '\'' && *i != '\"'))
                                {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/libtorrent-rasterbar-cmake.pc 
new/libtorrent-rasterbar-0.15.10/libtorrent-rasterbar-cmake.pc
--- old/libtorrent-rasterbar-0.15.9/libtorrent-rasterbar-cmake.pc       
2011-11-21 02:11:29.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/libtorrent-rasterbar-cmake.pc      
2012-02-23 08:02:03.000000000 +0100
@@ -1,6 +1,6 @@
 Name: libtorrent-rasterbar
 Description: Bittorrent library.
-Version: 0.15.9
+Version: 0.15.10
 Libs: -L${CMAKE_INSTALL_PREFIX}/lib -ltorrent-rasterbar
 Cflags: -I${CMAKE_INSTALL_PREFIX}/include 
-I${CMAKE_INSTALL_PREFIX}/include/libtorrent  -DTORRENT_USE_OPENSSL  
-DWITH_SHIPPED_GEOIP_H  -DBOOST_ASIO_HASH_MAP_BUCKETS=1021  
-DBOOST_EXCEPTION_DISABLE  -DBOOST_FILESYSTEM_VERSION=2  
-DTORRENT_LINKING_SHARED  @CXX_DEFINES@
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/libtorrent-rasterbar.pc 
new/libtorrent-rasterbar-0.15.10/libtorrent-rasterbar.pc
--- old/libtorrent-rasterbar-0.15.9/libtorrent-rasterbar.pc     2011-11-21 
02:11:29.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/libtorrent-rasterbar.pc    2012-02-23 
08:02:03.000000000 +0100
@@ -10,7 +10,7 @@
 
 Name: libtorrent-rasterbar
 Description: Bittorrent library.
-Version: 0.15.9
+Version: 0.15.10
 Libs: -L${libdir} -ltorrent-rasterbar
 Libs.private:   -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt  
-lssl -lcrypto -lz  
 Cflags: -I${includedir} -I${includedir}/libtorrent  -DTORRENT_USE_OPENSSL  
-DWITH_SHIPPED_GEOIP_H  -DBOOST_ASIO_HASH_MAP_BUCKETS=1021  
-DBOOST_EXCEPTION_DISABLE  -DBOOST_FILESYSTEM_VERSION=2  
-DTORRENT_LINKING_SHARED 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/assert.cpp 
new/libtorrent-rasterbar-0.15.10/src/assert.cpp
--- old/libtorrent-rasterbar-0.15.9/src/assert.cpp      2009-10-24 
23:34:45.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/assert.cpp     2012-02-16 
11:40:26.000000000 +0100
@@ -32,6 +32,8 @@
 
 #ifdef TORRENT_DEBUG
 
+#include "libtorrent/config.hpp"
+
 #ifdef __APPLE__
 #include <AvailabilityMacros.h>
 #endif
@@ -116,7 +118,7 @@
 
 #endif
 
-void assert_fail(char const* expr, int line, char const* file, char const* 
function)
+TORRENT_EXPORT void assert_fail(char const* expr, int line, char const* file, 
char const* function)
 {
 
        fprintf(stderr, "assertion failed. Please file a bugreport at "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/bt_peer_connection.cpp 
new/libtorrent-rasterbar-0.15.10/src/bt_peer_connection.cpp
--- old/libtorrent-rasterbar-0.15.9/src/bt_peer_connection.cpp  2011-10-25 
07:55:58.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/bt_peer_connection.cpp 2011-11-28 
12:07:17.000000000 +0100
@@ -2820,7 +2820,9 @@
                        {
                                char hex_pid[41];
                                to_hex(recv_buffer.begin, 20, hex_pid);
+                               hex_pid[40] = 0;
                                char ascii_pid[21];
+                               ascii_pid[20] = 0;
                                for (int i = 0; i != 20; ++i)
                                {
                                        if (is_print(recv_buffer.begin[i])) 
ascii_pid[i] = recv_buffer.begin[i];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/connection_queue.cpp 
new/libtorrent-rasterbar-0.15.10/src/connection_queue.cpp
--- old/libtorrent-rasterbar-0.15.9/src/connection_queue.cpp    2011-09-17 
23:10:22.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/connection_queue.cpp   2012-01-20 
09:05:09.000000000 +0100
@@ -124,7 +124,7 @@
        {
                error_code ec;
                mutex_t::scoped_lock l(m_mutex);
-               m_timer.cancel(ec);
+               if (m_num_connecting == 0) m_timer.cancel(ec);
                m_abort = true;
 
                std::list<entry> to_keep;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/escape_string.cpp 
new/libtorrent-rasterbar-0.15.10/src/escape_string.cpp
--- old/libtorrent-rasterbar-0.15.9/src/escape_string.cpp       2011-07-23 
21:11:36.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/escape_string.cpp      2012-02-16 
09:52:12.000000000 +0100
@@ -80,7 +80,7 @@
                        un /= 10;
                } while (un);
                if (n < 0) *--p = '-';
-               std::memmove(&ret.front(), p, sizeof(ret.elems));
+               std::memmove(&ret[0], p, &ret.back() - p + 1);
                return ret;
        }
 
@@ -246,6 +246,13 @@
                return false;
        }
        
+       void convert_path_to_posix(std::string& path)
+       {
+               for (std::string::iterator i = path.begin()
+                       , end(path.end()); i != end; ++i)
+                       if (*i == '\\') *i = '/';
+       }
+
        std::string read_until(char const*& str, char delim, char const* end)
        {
                TORRENT_ASSERT(str <= end);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/file.cpp 
new/libtorrent-rasterbar-0.15.10/src/file.cpp
--- old/libtorrent-rasterbar-0.15.9/src/file.cpp        2011-11-13 
05:39:20.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/src/file.cpp       2012-02-21 
09:28:12.000000000 +0100
@@ -952,6 +952,12 @@
                                }
                                return true;
                        }
+
+                       // couldn't find ntdll or NtSetFileInformation function
+                       // and the file is opened in unbuffered mode! There's
+                       // nothing we can do! (short of re-opening the file, but
+                       // that introduces all sorts of nasty race conditions)
+                       return false;
                }
 
                LARGE_INTEGER offs;
@@ -1121,13 +1127,24 @@
                error_code ec;
                size_type file_size = get_size(ec);
                if (ec) return start;
-               in.FileOffset.QuadPart = start;
-               in.Length.QuadPart = file_size - start;
+
+               if (m_open_mode & no_buffer)
+               {
+                       boost::uint64_t mask = size_alignment()-1;
+                       in.FileOffset.QuadPart = start & (~mask);
+                       in.Length.QuadPart = ((file_size + mask) & ~mask) - 
in.FileOffset.QuadPart;
+                       TORRENT_ASSERT((in.Length.QuadPart & mask) == 0);
+               }
+               else
+               {
+                       in.FileOffset.QuadPart = start;
+                       in.Length.QuadPart = file_size - start;
+               }
+
                if (!DeviceIoControl(m_file_handle, FSCTL_QUERY_ALLOCATED_RANGES
                        , &in, sizeof(FILE_ALLOCATED_RANGE_BUFFER)
                        , &buffer, sizeof(FILE_ALLOCATED_RANGE_BUFFER), 
&bytes_returned, 0))
                {
-                       int err = GetLastError();
                        if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) return 
start;
                }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/file_storage.cpp 
new/libtorrent-rasterbar-0.15.10/src/file_storage.cpp
--- old/libtorrent-rasterbar-0.15.9/src/file_storage.cpp        2011-02-21 
06:39:56.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/src/file_storage.cpp       2012-02-21 
08:44:29.000000000 +0100
@@ -163,7 +163,7 @@
 
                peer_request ret;
                ret.piece = int(offset / piece_length());
-               ret.start = int(offset - ret.piece * piece_length());
+               ret.start = int(offset % piece_length());
                ret.length = size;
                return ret;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/kademlia/dht_tracker.cpp 
new/libtorrent-rasterbar-0.15.10/src/kademlia/dht_tracker.cpp
--- old/libtorrent-rasterbar-0.15.9/src/kademlia/dht_tracker.cpp        
2011-06-01 10:23:44.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/kademlia/dht_tracker.cpp       
2011-11-28 12:08:42.000000000 +0100
@@ -229,6 +229,9 @@
                send_packet(reply);
        }
 
+       // defined in node.cpp
+       extern void nop();
+
        void dht_tracker::start(entry const& bootstrap)
        {
                std::vector<udp::endpoint> initial_nodes;
@@ -258,7 +261,7 @@
                m_refresh_timer.expires_from_now(seconds(5), ec);
                m_refresh_timer.async_wait(bind(&dht_tracker::refresh_timeout, 
self(), _1));
 
-               m_dht.bootstrap(initial_nodes, 
boost::bind(&dht_tracker::on_bootstrap, self()));
+               m_dht.bootstrap(initial_nodes, boost::bind(&nop));
        }
 
        void dht_tracker::stop()
@@ -957,9 +960,6 @@
                m_dht.add_router_node(node);
        }
 
-       void dht_tracker::on_bootstrap()
-       {}
-
        namespace
        {
                void write_nodes_entry(entry& r, libtorrent::dht::msg const& m)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/peer_connection.cpp 
new/libtorrent-rasterbar-0.15.10/src/peer_connection.cpp
--- old/libtorrent-rasterbar-0.15.9/src/peer_connection.cpp     2011-10-18 
04:56:04.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/peer_connection.cpp    2012-01-13 
02:13:02.000000000 +0100
@@ -3404,7 +3404,7 @@
 #else
                        p.progress = (float)p.pieces.count() / 
(float)p.pieces.size();
 #endif
-                       p.progress_ppm = p.pieces.count() * 1000000 / 
p.pieces.size();
+                       p.progress_ppm = boost::uint64_t(p.pieces.count()) * 
1000000 / p.pieces.size();
                }
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/storage.cpp 
new/libtorrent-rasterbar-0.15.10/src/storage.cpp
--- old/libtorrent-rasterbar-0.15.9/src/storage.cpp     2011-11-13 
05:39:20.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/src/storage.cpp    2012-02-22 
06:21:25.000000000 +0100
@@ -1492,7 +1492,7 @@
 
                const int size = bufs_size(bufs, num_bufs);
                const int start_adjust = file_offset & pos_align;
-               const int aligned_start = file_offset - start_adjust;
+               const size_type aligned_start = file_offset - start_adjust;
                const int aligned_size = ((size+start_adjust) & size_align)
                        ? ((size+start_adjust) & ~size_align) + size_align + 1 
: size + start_adjust;
                const int num_blocks = (aligned_size + block_size - 1) / 
block_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/torrent.cpp 
new/libtorrent-rasterbar-0.15.10/src/torrent.cpp
--- old/libtorrent-rasterbar-0.15.9/src/torrent.cpp     2011-10-28 
04:52:03.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/torrent.cpp    2012-02-19 
19:51:16.000000000 +0100
@@ -1566,7 +1566,14 @@
                        else
                        {
                                // ignore local addresses from the tracker 
(unless the tracker is local too)
-                               if (is_local(a.address()) && 
!is_local(tracker_ip)) continue;
+                               // there are 2 reasons to allow this:
+                               // 1. retrackers are popular in russia, where 
an ISP runs a tracker within
+                               //    the AS (but not on the local network) 
giving out peers only from the
+                               //    local network
+                               // 2. it might make sense to have a tracker 
extension in the future where
+                               //    trackers records a peer's internal and 
external IP, and match up
+                               //    peers on the same local network
+//                             if (is_local(a.address()) && 
!is_local(tracker_ip)) continue;
                                m_policy.add_peer(a, i->pid, 
peer_info::tracker, 0);
                        }
                }
@@ -2093,16 +2100,11 @@
                // increase the trust point of all peers that sent
                // parts of this piece.
                std::set<void*> peers;
-               std::copy(downloaders.begin(), downloaders.end(), 
std::inserter(peers, peers.begin()));
-
-               we_have(index);
 
-               for (peer_iterator i = m_connections.begin(); i != 
m_connections.end();)
-               {
-                       intrusive_ptr<peer_connection> p = *i;
-                       ++i;
-                       p->announce_piece(index);
-               }
+               // these policy::peer pointers are owned by m_policy and they 
may be
+               // invalidated if a peer disconnects. We cannot keep them 
across any
+               // significant operations, but we should use them right away
+               std::copy(downloaders.begin(), downloaders.end(), 
std::inserter(peers, peers.begin()));
 
                for (std::set<void*>::iterator i = peers.begin()
                        , end(peers.end()); i != end; ++i)
@@ -2117,6 +2119,20 @@
                        if (p->connection) 
p->connection->received_valid_data(index);
                }
 
+               // announcing a piece may invalidate the policy::peer pointers
+               // so we can't use them anymore
+               downloaders.clear();
+               peers.clear();
+
+               we_have(index);
+
+               for (peer_iterator i = m_connections.begin(); i != 
m_connections.end();)
+               {
+                       intrusive_ptr<peer_connection> p = *i;
+                       ++i;
+                       p->announce_piece(index);
+               }
+
                if (settings().max_sparse_regions > 0
                        && m_picker->sparse_regions() > 
settings().max_sparse_regions)
                {
@@ -2808,6 +2824,7 @@
                std::vector<int> pieces(m_torrent_file->num_pieces(), 0);
                for (int i = 0; i < int(m_file_priority.size()); ++i)
                {
+                       if (i >= m_torrent_file->num_files()) break;
                        size_type start = position;
                        size_type size = m_torrent_file->files().at(i).size;
                        if (size == 0) continue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/udp_socket.cpp 
new/libtorrent-rasterbar-0.15.10/src/udp_socket.cpp
--- old/libtorrent-rasterbar-0.15.9/src/udp_socket.cpp  2011-09-17 
23:15:59.000000000 +0200
+++ new/libtorrent-rasterbar-0.15.10/src/udp_socket.cpp 2012-02-18 
11:57:49.000000000 +0100
@@ -202,6 +202,10 @@
                        && e != asio::error::connection_refused
                        && e != asio::error::connection_aborted
                        && e != asio::error::operation_aborted
+#ifdef WIN32
+                       // ERROR_MORE_DATA means the same thing as EMSGSIZE
+                       && e != error_code(ERROR_MORE_DATA, 
get_system_category())
+#endif
                        && e != asio::error::message_size)
                {
                        maybe_clear_callback(l);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/src/web_peer_connection.cpp 
new/libtorrent-rasterbar-0.15.10/src/web_peer_connection.cpp
--- old/libtorrent-rasterbar-0.15.9/src/web_peer_connection.cpp 2011-11-03 
03:34:37.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/src/web_peer_connection.cpp        
2011-11-28 12:21:35.000000000 +0100
@@ -182,8 +182,22 @@
                {
                        // handle .torrent files that don't include the 
filename in the url
                        if (m_path.empty()) m_path += "/" + 
t->torrent_file().name();
-                       else if (m_path[m_path.size() - 1] == '/') m_path += 
t->torrent_file().name();
-                       if (!m_url.empty() && m_url[m_url.size() - 1] == '/') 
m_url += t->torrent_file().name();
+                       else if (m_path[m_path.size() - 1] == '/')
+                       {
+                               std::string tmp = 
t->torrent_file().files().at(0).path.string();
+#ifdef TORRENT_WINDOWS
+                               convert_path_to_posix(tmp);
+#endif
+                               m_path += tmp;
+                       }
+                       else if (!m_url.empty() && m_url[m_url.size() - 1] == 
'/')
+                       {
+                               std::string tmp = 
t->torrent_file().files().at(0).path.string();
+#ifdef TORRENT_WINDOWS
+                               convert_path_to_posix(tmp);
+#endif
+                               m_url += tmp;
+                       }
                }
 
                torrent_info const& info = t->torrent_file();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/test/test_primitives.cpp 
new/libtorrent-rasterbar-0.15.10/test/test_primitives.cpp
--- old/libtorrent-rasterbar-0.15.9/test/test_primitives.cpp    2011-01-06 
09:02:54.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/test/test_primitives.cpp   2012-02-18 
11:08:22.000000000 +0100
@@ -858,7 +858,7 @@
 
        parse_state xml_s;
        xml_s.reset("urn:schemas-upnp-org:service:WANIPConnection:1");
-       xml_parse((char*)upnp_xml, (char*)upnp_xml + sizeof(upnp_xml)
+       xml_parse(upnp_xml, upnp_xml + sizeof(upnp_xml)
                , boost::bind(&find_control_url, _1, _2, boost::ref(xml_s)));
 
        std::cerr << "namespace " << xml_s.service_type << std::endl;
@@ -870,7 +870,7 @@
        TEST_CHECK(xml_s.model == "D-Link Router");
 
        xml_s.reset("urn:schemas-upnp-org:service:WANPPPConnection:1");
-       xml_parse((char*)upnp_xml2, (char*)upnp_xml2 + sizeof(upnp_xml2)
+       xml_parse(upnp_xml2, upnp_xml2 + sizeof(upnp_xml2)
                , boost::bind(&find_control_url, _1, _2, boost::ref(xml_s)));
 
        std::cerr << "namespace " << xml_s.service_type << std::endl;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/libtorrent-rasterbar-0.15.9/test/test_storage.cpp 
new/libtorrent-rasterbar-0.15.10/test/test_storage.cpp
--- old/libtorrent-rasterbar-0.15.9/test/test_storage.cpp       2011-11-13 
05:39:20.000000000 +0100
+++ new/libtorrent-rasterbar-0.15.10/test/test_storage.cpp      2012-02-19 
19:51:17.000000000 +0100
@@ -922,7 +922,7 @@
                        if (print_alerts(ses, "ses", true, true, true, 
&got_file_rename_alert)) renamed = true;
                        test_sleep(1000);
                        torrent_status s = h.status();
-                       if (s.state == torrent_status::seeding && renamed) 
return;
+                       if (s.state == torrent_status::seeding && renamed) 
break;
                }
                std::cout << "stop loop" << std::endl;
                torrent_status s = h.status();

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to