summaryrefslogtreecommitdiff
path: root/indra/newview/llxmlrpctransaction.cpp
diff options
context:
space:
mode:
authorRobin Cornelius <robin.cornelius@gmail.com>2011-03-28 11:20:06 +0100
committerRobin Cornelius <robin.cornelius@gmail.com>2011-03-28 11:20:06 +0100
commit74d9bf0d5525426feae4ea21e2a81034ddcf4d7f (patch)
tree5174ee85c5242295fa26c1b6da777932de27eba5 /indra/newview/llxmlrpctransaction.cpp
parentb7b9a37bc13d40a3caf7ea77d6857c2bb6036e06 (diff)
VWR-20801 Implement SOCKS 5 Proxy for the viewer
Diffstat (limited to 'indra/newview/llxmlrpctransaction.cpp')
-rw-r--r--indra/newview/llxmlrpctransaction.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/indra/newview/llxmlrpctransaction.cpp b/indra/newview/llxmlrpctransaction.cpp
index 257884d921..b3d899c61a 100644
--- a/indra/newview/llxmlrpctransaction.cpp
+++ b/indra/newview/llxmlrpctransaction.cpp
@@ -41,6 +41,8 @@
#include "llappviewer.h"
#include "lltrans.h"
+#include "llsocks5.h"
+
// Static instance of LLXMLRPCListener declared here so that every time we
// bring in this code, we instantiate a listener. If we put the static
// instance of LLXMLRPCListener into llxmlrpclistener.cpp, the linker would
@@ -307,16 +309,23 @@ void LLXMLRPCTransaction::Impl::init(XMLRPC_REQUEST request, bool useGzip)
}
mErrorCert = NULL;
- if (gSavedSettings.getBOOL("BrowserProxyEnabled"))
+ if (LLSocks::getInstance()->isHttpProxyEnabled())
{
- mProxyAddress = gSavedSettings.getString("BrowserProxyAddress");
- S32 port = gSavedSettings.getS32 ( "BrowserProxyPort" );
-
- // tell curl about the settings
- mCurlRequest->setoptString(CURLOPT_PROXY, mProxyAddress);
+ std::string address = LLSocks::getInstance()->getHTTPProxy().getIPString();
+ U16 port = LLSocks::getInstance()->getHTTPProxy().getPort();
+ mCurlRequest->setoptString(CURLOPT_PROXY, address.c_str());
mCurlRequest->setopt(CURLOPT_PROXYPORT, port);
+ if (LLSocks::getInstance()->getHttpProxyType() == LLPROXY_SOCKS)
+ {
+ mCurlRequest->setopt(CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
+ if(LLSocks::getInstance()->getSelectedAuthMethod()==METHOD_PASSWORD)
+ mCurlRequest->setoptString(CURLOPT_PROXYUSERPWD,LLSocks::getInstance()->getProxyUserPwd());
+ }
+ else
+ {
mCurlRequest->setopt(CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
}
+ }
// mCurlRequest->setopt(CURLOPT_VERBOSE, 1); // usefull for debugging
mCurlRequest->setopt(CURLOPT_NOSIGNAL, 1);