← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 534440] Re: Incorrect encoding of file names, directories ...in the search box.

 

Well, I doubt you'll get a passive result after leaving the hub....

Aww.... I really don't want to go checking the code or protocol right
now so I might be just talking BS, but here goes anyway...

If hub has multiple IPs or ports, the SRs coming in will contain the
IP:port where that user has connected to. If local client is connected
to another address/port, like private IP of the hub, (it's the same hub
still) obviously the IP:port won't be found by ClientManager. (Can you
even download those results, if the client doesn't know the hub?)

If I'm correct, this really isn't fixable. At best the default hub
encoding could be used instead systemCharset, but that was GUI only?

--RZ

-- 
Incorrect encoding of file names, directories ...in the search box.
https://bugs.launchpad.net/bugs/534440
You received this bug notification because you are a member of LinuxDC++
Team, which is subscribed to LinuxDC++.

Status in Linux DC++: New

Bug description:
The problem with the coding in the search box if the user is connected to a hub such as the external IP address, and I'm on the inside then the function
ClientManager::getInstance()->findHub(hubIpPort) returns an empty url and a subsequent call to ClientManager::getInstance()->findHubEncoding(url)
returns the system encoding, and encoding CP1251 hub as a result of the search box in the file names, paths, nicknames does not display correctly.

void SearchManager:: onData (const uint8_t * buf, size_t aLen, const string & remoteIp) {

..........

	string hubIpPort = x.substr(i, j-i);
	string url = ClientManager::getInstance()->findHub(hubIpPort);                       >>> returns an empty url

	string encoding = ClientManager::getInstance()->findHubEncoding(url);            >>> does not return the correct encoding hub
	nick = Text:: toUtf8 (nick, encoding);
	file = Text:: toUtf8 (file, encoding);
	hubName = Text:: toUtf8 (hubName, encoding);

...........

	SearchResultPtr sr (new SearchResult (user, type, _slots, freeSlots, size,
		file, hubName, url, remoteIp, TTHValue (tth), Util:: emptyString));

	fire (SearchManagerListener:: SR (), sr);

...........

}

Forgive me, I used google translate





References