[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/libCERTI SocketHTTPProxy.cc
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/libCERTI SocketHTTPProxy.cc |
Date: |
Tue, 19 May 2009 15:52:47 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Petr Gotthard <gotthardp> 09/05/19 15:52:47
Modified files:
libCERTI : SocketHTTPProxy.cc
Log message:
Bug #26621 fixed.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libCERTI/SocketHTTPProxy.cc?cvsroot=certi&r1=3.3&r2=3.4
Patches:
Index: SocketHTTPProxy.cc
===================================================================
RCS file: /sources/certi/certi/libCERTI/SocketHTTPProxy.cc,v
retrieving revision 3.3
retrieving revision 3.4
diff -u -b -r3.3 -r3.4
--- SocketHTTPProxy.cc 27 Oct 2008 10:26:49 -0000 3.3
+++ SocketHTTPProxy.cc 19 May 2009 15:52:46 -0000 3.4
@@ -17,7 +17,7 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
-// $Id: SocketHTTPProxy.cc,v 3.3 2008/10/27 10:26:49 erk Exp $
+// $Id: SocketHTTPProxy.cc,v 3.4 2009/05/19 15:52:46 gotthardp Exp $
// ----------------------------------------------------------------------------
#include "SocketHTTPProxy.hh"
@@ -112,17 +112,27 @@
if (http_proxy == NULL)
http_proxy = getenv("http_proxy"); // global settings
- if (http_proxy != NULL) {
+ if (http_proxy != NULL && *http_proxy != '\0') {
std::string proxy_address;
in_port_t proxy_port;
- const char *strpport = strchr(http_proxy, ':');
+ // skip http://
+ const char *protoend = strchr(http_proxy, ':');
+ if (protoend == NULL ||
+ protoend[1] != '/' || protoend[2] != '/' || protoend[3] == '\0')
+ {
+ D.Out(pdDebug, "Invalid HTTP proxy URL.");
+ throw NetworkError("Invalid HTTP proxy URL.");
+ }
+
+ const char *strpaddress = protoend+3;
+ const char *strpport = strchr(strpaddress, ':');
if (strpport) {
- proxy_address.assign(http_proxy, strpport-http_proxy);
+ proxy_address.assign(strpaddress, strpport-strpaddress);
proxy_port = atoi(strpport+1);
}
else {
- proxy_address.assign(http_proxy);
+ proxy_address.assign(strpaddress);
proxy_port = 3128;
}
@@ -242,4 +252,4 @@
} // namespace
-// $Id: SocketHTTPProxy.cc,v 3.3 2008/10/27 10:26:49 erk Exp $
+// $Id: SocketHTTPProxy.cc,v 3.4 2009/05/19 15:52:46 gotthardp Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi/libCERTI SocketHTTPProxy.cc,
certi-cvs <=