|
From: <arn...@us...> - 2006-09-19 19:21:18
|
Revision: 653
http://svn.sourceforge.net/dcplusplus/?rev=653&view=rev
Author: arnetheduck
Date: 2006-09-19 12:20:45 -0700 (Tue, 19 Sep 2006)
Log Message:
-----------
search socket fix, init order
Modified Paths:
--------------
dcplusplus/trunk/DCPlusPlus.rc
dcplusplus/trunk/Example.xml
dcplusplus/trunk/changelog.txt
dcplusplus/trunk/client/AdcHub.cpp
dcplusplus/trunk/client/ConnectionManager.cpp
dcplusplus/trunk/client/ConnectionManager.h
dcplusplus/trunk/client/SearchManager.cpp
dcplusplus/trunk/client/SearchManager.h
dcplusplus/trunk/client/StringDefs.cpp
dcplusplus/trunk/client/StringDefs.h
dcplusplus/trunk/client/version.h
dcplusplus/trunk/windows/SearchFrm.cpp
dcplusplus/trunk/windows/main.cpp
Modified: dcplusplus/trunk/DCPlusPlus.rc
===================================================================
--- dcplusplus/trunk/DCPlusPlus.rc 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/DCPlusPlus.rc 2006-09-19 19:20:45 UTC (rev 653)
@@ -942,8 +942,8 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,6,9,5
- PRODUCTVERSION 0,6,9,5
+ FILEVERSION 0,6,9,6
+ PRODUCTVERSION 0,6,9,6
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -960,12 +960,12 @@
BEGIN
VALUE "Comments", "http://dcplusplus.sourceforge.net"
VALUE "FileDescription", "DC++"
- VALUE "FileVersion", "0, 6, 9, 5"
+ VALUE "FileVersion", "0, 6, 9, 6"
VALUE "InternalName", "DC++"
VALUE "LegalCopyright", "Copyright 2001-2006 Jacek Sieka"
VALUE "OriginalFilename", "DCPlusPlus.exe"
VALUE "ProductName", "DC++"
- VALUE "ProductVersion", "0, 6, 9, 5"
+ VALUE "ProductVersion", "0, 6, 9, 6"
END
END
BLOCK "VarFileInfo"
Modified: dcplusplus/trunk/Example.xml
===================================================================
--- dcplusplus/trunk/Example.xml 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/Example.xml 2006-09-19 19:20:45 UTC (rev 653)
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<Language Name="Example Language" Native="English" Code="en" Author="arnetheduck" Version="0.695" Revision="1" RightToLeft="0">
+<Language Name="Example Language" Native="English" Code="en" Author="arnetheduck" Version="0.696" Revision="1" RightToLeft="0">
<Strings>
<String Name="Active">Active</String>
<String Name="ActiveSearchString">Enabled / Search String</String>
@@ -304,6 +304,7 @@
<String Name="NoUsers">No users</String>
<String Name="NoUsersToDownloadFrom">No users to download from</String>
<String Name="Normal">Normal</String>
+ <String Name="NotListening">Not listening for connections - please restart DC++</String>
<String Name="Notepad">Notepad</String>
<String Name="Offline">Offline</String>
<String Name="Online">Online</String>
Modified: dcplusplus/trunk/changelog.txt
===================================================================
--- dcplusplus/trunk/changelog.txt 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/changelog.txt 2006-09-19 19:20:45 UTC (rev 653)
@@ -1,4 +1,4 @@
--- --
+-- 0.696 --
* Fixed a possible deadlock
* [bug 1058] Removed some whitespace (big thanks to pothead)
* Removed the possibility to download files without TTH
Modified: dcplusplus/trunk/client/AdcHub.cpp
===================================================================
--- dcplusplus/trunk/client/AdcHub.cpp 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/AdcHub.cpp 2006-09-19 19:20:45 UTC (rev 653)
@@ -30,6 +30,8 @@
#include "UserCommand.h"
#include "FavoriteManager.h"
#include "CryptoManager.h"
+#include "ResourceManager.h"
+#include "LogManager.h"
const string AdcHub::CLIENT_PROTOCOL("ADC/0.10");
const string AdcHub::SECURE_CLIENT_PROTOCOL("ADCS/0.10");
@@ -383,7 +385,11 @@
const string& proto = secure ? SECURE_CLIENT_PROTOCOL : CLIENT_PROTOCOL;
short port = secure ? ConnectionManager::getInstance()->getSecurePort() : ConnectionManager::getInstance()->getPort();
-
+ if(port == 0) {
+ // Oops?
+ LogManager::getInstance()->message(STRING(NOT_LISTENING));
+ return;
+ }
if(ClientManager::getInstance()->isActive()) {
send(AdcCommand(AdcCommand::CMD_CTM, user.getIdentity().getSID()).addParam(proto).addParam(Util::toString(port)).addParam(token));
} else {
Modified: dcplusplus/trunk/client/ConnectionManager.cpp
===================================================================
--- dcplusplus/trunk/client/ConnectionManager.cpp 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/ConnectionManager.cpp 2006-09-19 19:20:45 UTC (rev 653)
@@ -51,6 +51,7 @@
server = new Server(false, port, SETTING(BIND_ADDRESS));
if(!CryptoManager::getInstance()->TLSOk()) {
+ dcdebug("Skipping secure port: %d\n", SETTING(USE_TLS));
return;
}
Modified: dcplusplus/trunk/client/ConnectionManager.h
===================================================================
--- dcplusplus/trunk/client/ConnectionManager.h 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/ConnectionManager.h 2006-09-19 19:20:45 UTC (rev 653)
@@ -115,8 +115,8 @@
void listen() throw(SocketException);
void disconnect() throw();
- unsigned short getPort() { return static_cast<unsigned short>(server->getPort()); }
- unsigned short getSecurePort() { return static_cast<unsigned short>(secureServer->getPort()); }
+ unsigned short getPort() { return server ? static_cast<unsigned short>(server->getPort()) : 0; }
+ unsigned short getSecurePort() { return secureServer ? static_cast<unsigned short>(secureServer->getPort()) : 0; }
private:
class Server : public Thread {
Modified: dcplusplus/trunk/client/SearchManager.cpp
===================================================================
--- dcplusplus/trunk/client/SearchManager.cpp 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/SearchManager.cpp 2006-09-19 19:20:45 UTC (rev 653)
@@ -96,37 +96,14 @@
return getFile().substr(i + 1);
}
-void SearchManager::listen() throw(Exception) {
- unsigned short lastPort = (unsigned short)SETTING(UDP_PORT);
+void SearchManager::listen() throw(SocketException) {
- if(lastPort == 0)
- lastPort = (unsigned short)Util::rand(1025, 32000);
-
- unsigned short firstPort = lastPort;
-
disconnect();
- while(true) {
- try {
- if(socket != NULL) {
- disconnect();
- } else {
- socket = new Socket();
- }
+ socket = new Socket();
+ socket->create(Socket::TYPE_UDP);
+ port = socket->bind(static_cast<short>(SETTING(UDP_PORT)));
- socket->create(Socket::TYPE_UDP);
- socket->bind(lastPort);
- port = lastPort;
- break;
- } catch(const Exception&) {
- short newPort = (short)((lastPort == 32000) ? 1025 : lastPort + 1);
- if(!SettingsManager::getInstance()->isDefault(SettingsManager::UDP_PORT) || (firstPort == newPort)) {
- throw Exception("Could not find a suitable free port");
- }
- lastPort = newPort;
- }
- }
-
start();
}
Modified: dcplusplus/trunk/client/SearchManager.h
===================================================================
--- dcplusplus/trunk/client/SearchManager.h 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/SearchManager.h 2006-09-19 19:20:45 UTC (rev 653)
@@ -38,6 +38,7 @@
#include "AdcCommand.h"
class SearchManager;
+class SocketException;
class SearchResult : public FastAlloc<SearchResult> {
public:
@@ -146,7 +147,7 @@
return port;
}
- void listen() throw(Exception);
+ void listen() throw(SocketException);
void disconnect() throw();
void onSearchResult(const string& aLine) {
onData((const u_int8_t*)aLine.data(), aLine.length(), Util::emptyString);
Modified: dcplusplus/trunk/client/StringDefs.cpp
===================================================================
--- dcplusplus/trunk/client/StringDefs.cpp 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/StringDefs.cpp 2006-09-19 19:20:45 UTC (rev 653)
@@ -305,6 +305,7 @@
"No users",
"No users to download from",
"Normal",
+"Not listening for connections - please restart DC++",
"Notepad",
"Offline",
"Online",
@@ -931,6 +932,7 @@
"NoUsers",
"NoUsersToDownloadFrom",
"Normal",
+"NotListening",
"Notepad",
"Offline",
"Online",
Modified: dcplusplus/trunk/client/StringDefs.h
===================================================================
--- dcplusplus/trunk/client/StringDefs.h 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/StringDefs.h 2006-09-19 19:20:45 UTC (rev 653)
@@ -308,6 +308,7 @@
NO_USERS, // "No users"
NO_USERS_TO_DOWNLOAD_FROM, // "No users to download from"
NORMAL, // "Normal"
+ NOT_LISTENING, // "Not listening for connections - please restart DC++"
NOTEPAD, // "Notepad"
OFFLINE, // "Offline"
ONLINE, // "Online"
Modified: dcplusplus/trunk/client/version.h
===================================================================
--- dcplusplus/trunk/client/version.h 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/client/version.h 2006-09-19 19:20:45 UTC (rev 653)
@@ -17,8 +17,8 @@
*/
#define APPNAME "DC++"
-#define VERSIONSTRING "0.695"
-#define VERSIONFLOAT 0.695
+#define VERSIONSTRING "0.696"
+#define VERSIONFLOAT 0.696
/* Update the .rc file as well... */
Modified: dcplusplus/trunk/windows/SearchFrm.cpp
===================================================================
--- dcplusplus/trunk/windows/SearchFrm.cpp 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/windows/SearchFrm.cpp 2006-09-19 19:20:45 UTC (rev 653)
@@ -778,7 +778,9 @@
ucParams["fileFN"] = sr->getFile();
ucParams["fileSI"] = Util::toString(sr->getSize());
ucParams["fileSIshort"] = Util::formatBytes(sr->getSize());
- ucParams["fileTR"] = sr->getTTH().toBase32();
+ if(sr->getType() == SearchResult::TYPE_FILE) {
+ ucParams["fileTR"] = sr->getTTH().toBase32();
+ }
// compatibility with 0.674 and earlier
ucParams["file"] = ucParams["fileFN"];
@@ -854,8 +856,9 @@
if(ctrlResults.GetSelectedCount() == 1) {
int i = ctrlResults.GetNextItem(-1, LVNI_SELECTED);
SearchResult* sr = ctrlResults.getItemData(i)->sr;
-
- WinUtil::searchHash(sr->getTTH());
+ if(sr->getType() == SearchResult::TYPE_FILE) {
+ WinUtil::searchHash(sr->getTTH());
+ }
}
return 0;
@@ -865,7 +868,9 @@
if(ctrlResults.GetSelectedCount() == 1) {
int i = ctrlResults.GetNextItem(-1, LVNI_SELECTED);
SearchResult* sr = ctrlResults.getItemData(i)->sr;
- WinUtil::bitziLink(sr->getTTH());
+ if(sr->getType() == SearchResult::TYPE_FILE) {
+ WinUtil::bitziLink(sr->getTTH());
+ }
}
return 0;
}
@@ -874,7 +879,9 @@
if(ctrlResults.GetSelectedCount() == 1) {
int i = ctrlResults.GetNextItem(-1, LVNI_SELECTED);
SearchResult* sr = ctrlResults.getItemData(i)->sr;
- WinUtil::copyMagnet(sr->getTTH(), Text::toT(sr->getFileName()));
+ if(sr->getType() == SearchResult::TYPE_FILE) {
+ WinUtil::copyMagnet(sr->getTTH(), Text::toT(sr->getFileName()));
+ }
}
return 0;
}
@@ -1140,7 +1147,9 @@
if(!tmpCountry.empty())
columns[COLUMN_IP] = tmpCountry + _T(" (") + columns[COLUMN_IP] + _T(")");
}
- columns[COLUMN_TTH] = Text::toT(sr->getTTH().toBase32());
+ if(sr->getType() == SearchResult::TYPE_FILE) {
+ columns[COLUMN_TTH] = Text::toT(sr->getTTH().toBase32());
+ }
columns[COLUMN_CID] = Text::toT(sr->getUser()->getCID().toBase32());
}
Modified: dcplusplus/trunk/windows/main.cpp
===================================================================
--- dcplusplus/trunk/windows/main.cpp 2006-09-19 13:00:44 UTC (rev 652)
+++ dcplusplus/trunk/windows/main.cpp 2006-09-19 19:20:45 UTC (rev 653)
@@ -212,8 +212,6 @@
CMessageLoop theLoop;
_Module.AddMessageLoop(&theLoop);
- MainFrame wndMain;
-
CEdit dummy;
CEdit splash;
@@ -249,6 +247,8 @@
SettingsManager::getInstance()->setDefault(SettingsManager::BACKGROUND_COLOR, (int)(GetSysColor(COLOR_WINDOW)));
SettingsManager::getInstance()->setDefault(SettingsManager::TEXT_COLOR, (int)(GetSysColor(COLOR_WINDOWTEXT)));
+ MainFrame wndMain;
+
rc = wndMain.rcDefault;
if( (SETTING(MAIN_WINDOW_POS_X) != CW_USEDEFAULT) &&
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|