Changeset 641


Ignore:
Timestamp:
11/28/08 14:32:13 (11 years ago)
Author:
Eoin
Message:
 
Location:
trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/res/Halite.rc

    r634 r641  
    155155    CONTROL         "uTorrent Peer Exchange",HAL_BC_uT_PEEER_EX_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
    156156    CONTROL         "Smart Ban Plugin",HAL_BC_SMART_BAN_PLUGIN_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
     157    CONTROL         "Resolve Countries from IP",HAL_BC_RESOLVE_COUNTRIES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,11 
    157158 
    158159    GROUPBOX        "Current Cache Status",HAL_BC_CACHE_GROUP,5,6,315,54 
  • trunk/src/ConfigOptions.hpp

    r633 r641  
    105105#define HAL_BC_DHT_RAND_PORT_R                          ID_CONFIG_BEGIN + 96 
    106106#define HAL_BC_DHT_PORT_UPPER_E                         ID_CONFIG_BEGIN + 97 
     107#define HAL_BC_RESOLVE_COUNTRIES                        ID_CONFIG_BEGIN + 98 
    107108 
    108109#ifndef RC_INVOKED 
     
    232233 
    233234    BEGIN_DDX_MAP(thisClass) 
     235        DDX_CHECK(HAL_BC_METADATADHT_EXT, hal::config().metadata_plugin_) 
     236        DDX_CHECK(HAL_BC_uT_METADATA_EXT, hal::config().ut_metadata_plugin_) 
     237        DDX_CHECK(HAL_BC_uT_PEEER_EX_EXT, hal::config().ut_pex_plugin_) 
     238        DDX_CHECK(HAL_BC_SMART_BAN_PLUGIN_EXT, hal::config().smart_ban_plugin_) 
     239        DDX_CHECK(HAL_BC_RESOLVE_COUNTRIES, hal::config().resolve_countries_) 
     240 
    234241        DDX_FLOAT(HAL_BC_CACHE_MS_E, cache_size_) 
    235242        DDX_INT(HAL_BC_CACHE_PE_E, hal::config().cache_settings_.cache_expiry)           
     
    243250                WMB_ROW(_auto,  _d, HAL_BC_uT_PEEER_EX_EXT), \ 
    244251                WMB_ROW(_auto,  _d, HAL_BC_SMART_BAN_PLUGIN_EXT), \ 
     252                WMB_ROW(_auto,  _d, HAL_BC_RESOLVE_COUNTRIES), \ 
    245253                WMB_ROW(_gap,   _d), \ 
    246254        WMB_END() 
     
    665673 
    666674    BEGIN_DDX_MAP(thisClass) 
    667         DDX_CHECK(HAL_BC_FILTERCHECK, hal::config().enableIPFilter) 
     675        DDX_CHECK(HAL_BC_FILTERCHECK, hal::config().enable_ip_filter_) 
    668676        DDX_CHECK(HAL_SC_ENABLE_PE, hal::config().enable_pe_) 
    669677        DDX_RADIO(HAL_SC_PE_ENC_PLAIN, hal::config().pe_settings_.encrypt_level) 
  • trunk/src/HaliteWindow.cpp

    r634 r641  
    44//    (See accompanying file LICENSE_1_0.txt or copy at 
    55//          http://www.boost.org/LICENSE_1_0.txt) 
    6  
    7 #include <string> 
    8 #include <boost/format.hpp> 
    9 #include <boost/bind.hpp> 
    106 
    117#include "stdAfx.hpp" 
  • trunk/src/halConfig.cpp

    r634 r641  
    3232        event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Applying BitTorrent session settings.")));         
    3333        unsigned listen_port = port_range_.first; 
     34        int current_port = bittorrent().is_listening_on(); 
    3435 
    3536        bittorrent().set_mapping(mapping_upnp_, mapping_nat_pmp_); 
     
    3839        {                
    3940 
    40         if (randomize_port_) 
     41        if (randomize_port_ && (current_port < port_range_.first || current_port > port_range_.second)) 
    4142        { 
    4243                for (int i=0, e=10; i!=e; ++i) 
     
    8182        try 
    8283        { 
    83         if (enableIPFilter) 
     84        if (enable_ip_filter_) 
    8485        { 
    8586                ProgressDialog progDlg(L"Loading IP filters...", bind( 
     
    122123        bittorrent().set_timeouts(timeouts_);    
    123124        bittorrent().set_queue_settings(queue_settings_); 
     125        bittorrent().set_resolve_countries(resolve_countries_); 
     126 
     127        if (metadata_plugin_) 
     128                bittorrent().start_metadata_plugin(); 
     129        if (ut_metadata_plugin_) 
     130                bittorrent().start_ut_metadata_plugin(); 
     131        if (ut_pex_plugin_) 
     132                bittorrent().start_ut_pex_plugin(); 
     133        if (smart_ban_plugin_) 
     134                bittorrent().start_smart_ban_plugin(); 
    124135         
    125136        if (enable_dht_) 
     
    134145                else if (dht_radio_ == 1) 
    135146                { 
    136                         dht_settings_.service_port = listen_port; 
     147                        dht_settings_.service_port = bittorrent().is_listening_on(); 
    137148                } 
    138149 
  • trunk/src/halConfig.hpp

    r633 r641  
    3737                dht_upper_port_(0), 
    3838                dht_radio_(1), 
    39                 enableIPFilter(false), 
     39                enable_ip_filter_(false), 
    4040                enableProxy(false), 
    4141                proxyPort(0), 
     
    4949                half_connections_limit_(10), 
    5050                mapping_upnp_(false), 
    51                 mapping_nat_pmp_(false) 
     51                mapping_nat_pmp_(false), 
     52                resolve_countries_(false), 
     53                metadata_plugin_(false), 
     54                ut_metadata_plugin_(false), 
     55                ut_pex_plugin_(false), 
     56                smart_ban_plugin_(false) 
    5257        { 
    5358                queue_settings_ = hal::bittorrent().get_queue_settings(); 
     
    7883                        & make_nvp("dht_radio", dht_radio_) 
    7984                        & make_nvp("enable_pe", enable_pe_) 
     85                        & make_nvp("enable_ip_filter", enable_ip_filter_) 
    8086                        & make_nvp("pe_settings", pe_settings_) 
    8187                        & make_nvp("port_range", port_range_) 
     
    8591                        & make_nvp("mapping_upnp", mapping_upnp_) 
    8692                        & make_nvp("mapping_nat_pmp", mapping_nat_pmp_) 
    87                         & make_nvp("cache_settings", cache_settings_); 
    88  
     93                        & make_nvp("cache_settings", cache_settings_) 
     94                        & make_nvp("resolve_countries", resolve_countries_) 
     95                        & make_nvp("plugins/metadata", metadata_plugin_) 
     96                        & make_nvp("plugins/ut_metadata", ut_metadata_plugin_) 
     97                        & make_nvp("plugins/ut_pex", ut_pex_plugin_) 
     98                        & make_nvp("plugins/smart_ban", smart_ban_plugin_); 
    8999                break; 
    90100 
     
    122132                        & make_nvp("trackerTimeout", timeouts_.tracker_receive_timeout); 
    123133 
    124                 ar      & BOOST_SERIALIZATION_NVP(enableIPFilter) 
     134                ar      & make_nvp("enableIPFilter", enable_ip_filter_) 
    125135                        & make_nvp("portRange", use_port_range_) 
    126136                        & make_nvp("torrentMaxConnections", torrent_defaults_.total) 
     
    165175        int dht_radio_; 
    166176         
    167         bool enableIPFilter; 
     177        bool enable_ip_filter_; 
    168178         
    169179        bool enableProxy; 
     
    182192        bool mapping_nat_pmp_; 
    183193 
     194        bool resolve_countries_; 
     195        bool metadata_plugin_; 
     196        bool ut_metadata_plugin_; 
     197        bool ut_pex_plugin_; 
     198        bool smart_ban_plugin_; 
     199 
    184200        hal::cache_settings cache_settings_; 
    185201 
  • trunk/src/halSession.hpp

    r634 r641  
    3232#       include <libtorrent/extensions/metadata_transfer.hpp> 
    3333#       include <libtorrent/extensions/ut_pex.hpp> 
     34#       include <libtorrent/extensions/ut_metadata.hpp> 
     35#       include <libtorrent/extensions/smart_ban.hpp> 
    3436#pragma warning (pop)  
    3537 
     
    720722        } 
    721723        #endif 
     724         
     725        void set_resolve_countries(bool b) 
     726        {                
     727                for (TorrentManager::torrentByName::iterator i=the_torrents_.begin(), e=the_torrents_.end();  
     728                        i != e; ++i) 
     729                { 
     730                        (*i).torrent->set_resolve_countries(b); 
     731                } 
     732 
     733                if (b)                   
     734                        event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Set to resolve countries."))); 
     735                else                     
     736                        event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Not resolving countries."))); 
     737        } 
     738 
     739        void start_smart_ban_plugin() 
     740        { 
     741                session_.add_extension(&libt::create_smart_ban_plugin); 
     742                event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Started smart ban plugin."))); 
     743        } 
     744 
     745        void start_ut_pex_plugin() 
     746        { 
     747                session_.add_extension(&libt::create_ut_pex_plugin); 
     748                event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Started uTorrent peer exchange plugin."))); 
     749        } 
     750 
     751        void start_ut_metadata_plugin() 
     752        { 
     753                session_.add_extension(&libt::create_ut_metadata_plugin); 
     754                event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Started uTorrent metadata plugin."))); 
     755        } 
     756 
     757        void start_metadata_plugin() 
     758        { 
     759                session_.add_extension(&libt::create_metadata_plugin); 
     760                event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Started metadata plugin."))); 
     761        } 
    722762 
    723763        void ip_v4_filter_block(boost::asio::ip::address_v4 first, boost::asio::ip::address_v4 last) 
  • trunk/src/halTorrent.cpp

    r634 r641  
    186186{ 
    187187        pimpl->ensure_ip_filter_off(); 
     188} 
     189 
     190void bit::set_resolve_countries(bool b) 
     191{ 
     192        pimpl->set_resolve_countries(b); 
     193} 
     194 
     195void bit::start_smart_ban_plugin() 
     196{ 
     197        pimpl->start_smart_ban_plugin(); 
     198} 
     199 
     200void bit::start_ut_pex_plugin() 
     201{ 
     202        pimpl->start_ut_pex_plugin(); 
     203} 
     204 
     205void bit::start_ut_metadata_plugin() 
     206{ 
     207        pimpl->start_ut_metadata_plugin(); 
     208} 
     209 
     210void bit::start_metadata_plugin() 
     211{ 
     212        pimpl->start_metadata_plugin(); 
    188213} 
    189214 
  • trunk/src/halTorrent.hpp

    r634 r641  
    877877        void ensure_ip_filter_off(); 
    878878 
     879        void set_resolve_countries(bool); 
     880        void start_smart_ban_plugin(); 
     881        void start_ut_pex_plugin(); 
     882        void start_ut_metadata_plugin(); 
     883        void start_metadata_plugin(); 
     884 
    879885        void set_mapping(bool upnp, bool nat_pmp); 
    880886        std::wstring upnp_router_model(); 
  • trunk/src/halTorrentInternal.hpp

    r634 r641  
    11851185                        state(torrent_details::torrent_paused); 
    11861186        } 
     1187 
     1188        void set_resolve_countries(bool b) 
     1189        { 
     1190                resolve_countries_ = b; 
     1191                apply_resolve_countries(); 
     1192        } 
    11871193         
    11881194        void extract_names(boost::intrusive_ptr<libt::torrent_info> metadata) 
Note: See TracChangeset for help on using the changeset viewer.