- BUGFIX: Improved proxy support in search engine (HTTP only)

This commit is contained in:
Christophe Dumez
2007-11-16 20:01:15 +00:00
parent 5f48a51070
commit bc8ac43a54
3 changed files with 17 additions and 5 deletions

View File

@@ -69,6 +69,7 @@
- BUGFIX: Removed build dependency on Python
- BUGFIX: Catching DHT exception in case there is a problem
- BUGFIX: Remember properties window size and position
- BUGFIX: Improved proxy support in search engine (HTTP only)
- COSMETIC: Redesigned torrent properties a little
- COSMETIC: Totally redesigned program preferences
- COSMETIC: Display more logs messages concerning features

1
TODO
View File

@@ -55,3 +55,4 @@
rc8->final? changelog:
- FEATURE: Better media file preview (player detected automatically)
- BUGFIX: Remember properties window size and position
- BUGFIX: Improved proxy support in search engine (HTTP only)

View File

@@ -45,6 +45,7 @@
#include "options_imp.h"
#include "previewSelect.h"
#include "allocationDlg.h"
#include "stdlib.h"
using namespace libtorrent;
@@ -824,12 +825,21 @@ void GUI::configureSession(bool deleteOptions) {
// * Proxy settings
proxy_settings proxySettings;
if(options->isProxyEnabled()) {
proxySettings.hostname = options->getProxyIp().toStdString();
proxySettings.port = options->getProxyPort();
if(options->isProxyAuthEnabled()) {
proxySettings.username = options->getProxyUsername().toStdString();
proxySettings.password = options->getProxyPassword().toStdString();
}
QString proxy_str;
switch(options->getProxyType()) {
case HTTP:
proxySettings.type = proxy_settings::http;
proxy_str = misc::toQString("http://")+options->getProxyIp()+":"+misc::toQString(proxySettings.port);
break;
case HTTP_PW:
proxySettings.type = proxy_settings::http_pw;
proxy_str = misc::toQString("http://")+options->getProxyUsername()+":"+options->getProxyPassword()+"@"+options->getProxyIp()+":"+misc::toQString(proxySettings.port);
break;
case SOCKS5:
proxySettings.type = proxy_settings::socks5;
@@ -838,12 +848,12 @@ void GUI::configureSession(bool deleteOptions) {
proxySettings.type = proxy_settings::socks5_pw;
break;
}
proxySettings.hostname = options->getProxyIp().toStdString();
proxySettings.port = options->getProxyPort();
if(options->isProxyAuthEnabled()) {
proxySettings.username = options->getProxyUsername().toStdString();
proxySettings.password = options->getProxyPassword().toStdString();
if(!proxy_str.isEmpty()) {
// We need this for urllib in search engine plugins
setenv("http_proxy", proxy_str.toUtf8().data(), 1);
}
} else {
unsetenv("http_proxy");
}
BTSession->setProxySettings(proxySettings, options->useProxyForTrackers(), options->useProxyForPeers(), options->useProxyForWebseeds(), options->useProxyForDHT());
// * Session settings