- Timestamp:
- 11/04/08 11:23:55 (11 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/res/Halite.rc
r616 r618 168 168 CONTROL "Enable DHT Extentions",HAL_BC_DHT_EXT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,120,90,10 169 169 CONTROL "to",HAL_BC_PORTCHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,29,40,12 170 CONTROL "Select random port within this range.",HAL_BITT_RANDOMIZE_PORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,205,29,40,12 170 171 LTEXT "Select the (TCP) port (or range) on which to listen for incoming connections.",HAL_BITT_SELECT_TEXT,12,17,300,11,SS_WORDELLIPSIS | SS_CENTERIMAGE 171 172 GROUPBOX "Distributed Hash Tables",HAL_BITT_GDHT,5,108,260,39 … … 181 182 CONTROL "UnPlug and Play",HAL_BITT_GPORTFORWARD_UPNG,"Button",BS_AUTOCHECKBOX,284,83,16,11 182 183 CONTROL "NAT-PMG",HAL_BIT_GPORTFORWARD_NATPMP,"Button",BS_AUTOCHECKBOX,284,93,16,11 184 LTEXT "UPnP router model (if recognised).",HAL_BIT_GPORTFORWARD_MODEL,12,17,300,11,SS_WORDELLIPSIS | SS_CENTERIMAGE 185 EDITTEXT HAL_BIT_GPORTFORWARD_MODELTEXT,135,29,65,12,ES_AUTOHSCROLL 183 186 PUSHBUTTON "Test",HAL_BITT_GPORTFORWARD_TEST,207,46,51,11,NOT WS_VISIBLE 184 187 -
trunk/sln/Halite/Halite.vcproj
r616 r618 1339 1339 </File> 1340 1340 <File 1341 RelativePath="..\..\src\global\string_conv.hpp"1342 >1343 </File>1344 <File1345 1341 RelativePath="..\..\src\advtabs\ThemeTestDialog.hpp" 1346 1342 > … … 1367 1363 > 1368 1364 <File 1369 RelativePath="..\..\src\WTLx\GenericAddListView.hpp"1370 >1371 </File>1372 <File1373 1365 RelativePath="..\..\src\global\ini.hpp" 1374 1366 > … … 1376 1368 <File 1377 1369 RelativePath="..\..\src\global\logger.hpp" 1370 > 1371 </File> 1372 <File 1373 RelativePath="..\..\src\global\string_conv.hpp" 1378 1374 > 1379 1375 </File> … … 1444 1440 <File 1445 1441 RelativePath="..\..\src\WTLx\GenericAddDialog.hpp" 1442 > 1443 </File> 1444 <File 1445 RelativePath="..\..\src\WTLx\GenericAddListView.hpp" 1446 1446 > 1447 1447 </File> -
trunk/src/ConfigOptions.hpp
r542 r618 74 74 #define HAL_CGLOBAL_SHARETIMET ID_CONFIG_BEGIN + 64 75 75 #define HAL_CGLOBAL_SHARETIME ID_CONFIG_BEGIN + 65 76 #define HAL_BITT_RANDOMIZE_PORT ID_CONFIG_BEGIN + 66 77 #define HAL_BIT_GPORTFORWARD_MODELTEXT ID_CONFIG_BEGIN + 67 78 #define HAL_BIT_GPORTFORWARD_MODEL ID_CONFIG_BEGIN + 68 79 76 80 77 81 #ifndef RC_INVOKED … … 268 272 BEGIN_DDX_MAP(thisClass) 269 273 DDX_CHECK(HAL_BC_PORTCHECK, hal::config().use_port_range_) 274 DDX_CHECK(HAL_BITT_RANDOMIZE_PORT, hal::config().randomize_port_) 270 275 DDX_INT(HAL_BC_PORTFROM, hal::config().port_range_.first) 271 276 DDX_INT(HAL_BC_PORTTO, hal::config().port_range_.second) … … 282 287 WMB_ROW(_auto, HAL_BITT_SELECT_TEXT, _r, _r, _r), \ 283 288 WMB_ROW(_auto, HAL_BITT_OPENPORT, HAL_BC_PORTFROM, HAL_BC_PORTCHECK, HAL_BC_PORTTO), \ 289 WMB_ROW(_auto, 0, HAL_BITT_RANDOMIZE_PORT, _r, _r), \ 284 290 WMB_ROW(_auto, HAL_BC_HALFCONN_CHECK, _r, HAL_BC_HALFCONN_NUM), \ 285 291 WMB_END() … … 294 300 WMB_HEAD(WMB_COL(_gap), WMB_COLNOMAX(_exp|50), WMB_COLNOMAX(_exp), WMB_COL(_gap)), \ 295 301 WMB_ROW(_gap|3, HAL_BITT_GPORTFORWARDING, _r, _r, _r),\ 296 WMB_ROW(_auto, _d, HAL_BITT_GPORTFORWARD_UPNG, HAL_BIT T_GPORTFORWARD_TEST), \297 WMB_ROW(_auto, _d, HAL_BIT_GPORTFORWARD_NATPMP, _r), \302 WMB_ROW(_auto, _d, HAL_BITT_GPORTFORWARD_UPNG, HAL_BIT_GPORTFORWARD_MODEL), \ 303 WMB_ROW(_auto, _d, HAL_BIT_GPORTFORWARD_NATPMP, HAL_BIT_GPORTFORWARD_MODELTEXT), \ 298 304 WMB_ROW(_gap, _d), \ 299 305 WMB_END() … … 326 332 onDHTCheck(0, 0, GetDlgItem(HAL_BC_DHT)); 327 333 334 SetDlgItemText(HAL_BIT_GPORTFORWARD_MODELTEXT, hal::bittorrent().upnp_router_model().c_str()); 335 328 336 autosizeClass::CtrlsArrange(); 329 337 return retval; … … 363 371 { 364 372 ::EnableWindow(GetDlgItem(HAL_BC_PORTTO), true); 373 ::EnableWindow(GetDlgItem(HAL_BITT_RANDOMIZE_PORT), true); 365 374 } 366 375 else 367 376 { 368 377 ::EnableWindow(GetDlgItem(HAL_BC_PORTTO), false); 369 boost::array<wchar_t, MAX_PATH> buffer; 370 GetDlgItemText(HAL_BC_PORTFROM, buffer.elems, MAX_PATH); 371 SetDlgItemText(HAL_BC_PORTTO, buffer.elems); 378 ::EnableWindow(GetDlgItem(HAL_BITT_RANDOMIZE_PORT), false); 379 380 hal::win_c_str<std::wstring> str(MAX_PATH); 381 GetDlgItemText(HAL_BC_PORTFROM, str, str.size()); 382 SetDlgItemText(HAL_BC_PORTTO, str); 372 383 } 373 384 } -
trunk/src/HaliteListView.cpp
r617 r618 378 378 }; 379 379 } 380 381 halWindow_.issueUiUpdate(); 380 382 381 383 return 0; -
trunk/src/halConfig.cpp
r569 r618 31 31 event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Applying BitTorrent session settings."))); 32 32 33 bittorrent().set_mapping(mapping_upnp_, mapping_nat_pmp_); 33 bittorrent().set_mapping(mapping_upnp_, mapping_nat_pmp_); 34 34 35 event_log.post(shared_ptr<EventDetail>(new EventMsg(36 hal::wform(L"Trying port in range %1% - %2%.") % port_range_.first % port_range_.second)));37 35 try 36 { 37 38 if (randomize_port_) 38 39 { 39 bool success = bittorrent().listen_on(port_range_); 40 if (!success) 40 std::srand(GetTickCount()); 41 42 for (int i=0, e=10; i!=e; ++i) 43 { 44 unsigned range = port_range_.second - port_range_.first; 45 unsigned port = port_range_.first + (range * std::rand())/RAND_MAX; 46 47 event_log.post(shared_ptr<EventDetail>(new EventMsg( 48 hal::wform(L"Attempting port %1%.") % port))); 49 50 bool success = bittorrent().listen_on(std::make_pair(port,port)); 51 if (success) break; 52 } 53 } 54 else 41 55 { 42 hal::event_log.post(boost::shared_ptr<hal::EventDetail>( 43 new hal::EventDebug(event_logger::critical, L"settingsThread, Init"))); 44 45 return false; 56 event_log.post(shared_ptr<EventDetail>(new EventMsg( 57 hal::wform(L"Trying port in range %1% - %2%.") % port_range_.first % port_range_.second))); 58 59 bool success = bittorrent().listen_on(port_range_); 60 if (!success) 61 { 62 hal::event_log.post(boost::shared_ptr<hal::EventDetail>( 63 new hal::EventDebug(event_logger::critical, L"settingsThread, Listen"))); 64 65 return false; 66 } 46 67 } 68 47 69 } 48 70 catch(const std::exception& e) 49 71 { 50 72 hal::event_log.post(boost::shared_ptr<hal::EventDetail>( 51 new hal::EventStdException(event_logger::critical, e, L"settingsThread, Init")));73 new hal::EventStdException(event_logger::critical, e, L"settingsThread, Listen"))); 52 74 53 75 return false; 54 76 } 77 55 78 56 79 event_log.post(shared_ptr<EventDetail>(new EventMsg(hal::wform(L"Opened listen port; %1%.") % bittorrent().is_listening_on()))); -
trunk/src/halConfig.hpp
r573 r618 31 31 port_range_(6881,6881), 32 32 use_port_range_(false), 33 randomize_port_(false), 33 34 enable_dht_(true), 34 35 dht_settings_(), … … 64 65 & make_nvp("use_move_to", use_move_to_) 65 66 & make_nvp("save_prompt", save_prompt_) 67 & make_nvp("randomize_port", randomize_port_) 66 68 & make_nvp("torrent_defaults", torrent_defaults_) 67 69 & make_nvp("queue_settings", queue_settings_) … … 140 142 std::pair<int, int> port_range_; 141 143 bool use_port_range_; 144 bool randomize_port_; 142 145 143 146 hal::connections torrent_defaults_; -
trunk/src/halSession.hpp
r614 r618 24 24 # include <libtorrent/entry.hpp> 25 25 # include <libtorrent/bencode.hpp> 26 # include <libtorrent/upnp.hpp> 27 # include <libtorrent/natpmp.hpp> 26 28 # include <libtorrent/session.hpp> 27 29 # include <libtorrent/ip_filter.hpp> … … 389 391 { 390 392 event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Starting UPnP mapping."))); 391 session_.start_upnp(); 393 394 upnp_ = session_.start_upnp(); 392 395 } 393 396 else 394 397 { 395 398 event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Stopping UPnP mapping."))); 399 396 400 session_.stop_upnp(); 401 upnp_ = NULL; 397 402 } 398 403 … … 400 405 { 401 406 event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Starting NAT-PMP mapping."))); 402 session_.start_natpmp(); 407 408 natpmp_ = session_.start_natpmp(); 403 409 } 404 410 else 405 411 { 406 412 event_log.post(shared_ptr<EventDetail>(new EventMsg(L"Stopping NAT-PMP mapping."))); 413 407 414 session_.stop_natpmp(); 408 } 415 natpmp_ = NULL; 416 } 417 } 418 419 std::wstring upnp_router_model() 420 { 421 if (upnp_) 422 return to_wstr_shim(upnp_->router_model()); 423 else 424 return L"UPnP not started"; 409 425 } 410 426 … … 1055 1071 libt::dht_settings dht_settings_; 1056 1072 libt::entry dht_state_; 1073 1074 libt::upnp* upnp_; 1075 libt::natpmp* natpmp_; 1057 1076 }; 1058 1077 -
trunk/src/halTorrent.cpp
r616 r618 141 141 { 142 142 pimpl->set_mapping(upnp, nat_pmp); 143 } 144 145 std::wstring bit::upnp_router_model() 146 { 147 return pimpl->upnp_router_model(); 143 148 } 144 149 -
trunk/src/halTorrent.hpp
r617 r618 809 809 810 810 void set_mapping(bool upnp, bool nat_pmp); 811 std::wstring upnp_router_model(); 811 812 812 813 void ip_v4_filter_block(boost::asio::ip::address_v4 first, boost::asio::ip::address_v4 last);
Note: See TracChangeset
for help on using the changeset viewer.