[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21786 - in gnunet/src: gns include
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21786 - in gnunet/src: gns include |
Date: |
Wed, 6 Jun 2012 16:07:30 +0200 |
Author: schanzen
Date: 2012-06-06 16:07:30 +0200 (Wed, 06 Jun 2012)
New Revision: 21786
Modified:
gnunet/src/gns/gnunet-gns-proxy.c
gnunet/src/include/gnunet_gns_service.h
Log:
-leho, proxy ssl
Modified: gnunet/src/gns/gnunet-gns-proxy.c
===================================================================
--- gnunet/src/gns/gnunet-gns-proxy.c 2012-06-06 13:53:41 UTC (rev 21785)
+++ gnunet/src/gns/gnunet-gns-proxy.c 2012-06-06 14:07:30 UTC (rev 21786)
@@ -131,6 +131,9 @@
/* Optional header replacements for curl (LEHO) */
struct curl_slist *headers;
+ /* Optional resolver replacements for curl (LEHO) */
+ struct curl_slist *resolver;
+
/* The URL to fetch */
char url[2048];
@@ -880,6 +883,10 @@
int i;
CURLcode ret;
CURLMcode mret;
+ struct hostent *phost;
+ char *ssl_ip;
+ char resolvename[512];
+ char curlurl[512];
ctask->headers = NULL;
@@ -912,6 +919,19 @@
}
+ if (ctask->mhd->is_ssl)
+ {
+ phost = (struct hostent*)gethostbyname (ctask->host);
+ ssl_ip = inet_ntoa(*((struct in_addr*)(phost->h_addr)));
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "SSL target server: %s\n", ssl_ip);
+ sprintf (resolvename, "%s:%d:%s", ctask->leho, HTTPS_PORT, ssl_ip);
+ ctask->resolver = curl_slist_append ( ctask->resolver, resolvename);
+ curl_easy_setopt (ctask->curl, CURLOPT_RESOLVE, ctask->resolver);
+ sprintf (curlurl, "https://%s%s", ctask->leho, ctask->url);
+ curl_easy_setopt (ctask->curl, CURLOPT_URL, curlurl);
+ }
+
if (CURLM_OK != (mret=curl_multi_add_handle (curl_multi, ctask->curl)))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -1001,6 +1021,9 @@
char curlurl[512];
int ret = MHD_YES;
+ struct hostent *phost;
+ char *ssl_ip;
+
struct ProxyCurlTask *ctask;
if (0 != strcmp (meth, "GET"))
@@ -1058,9 +1081,10 @@
curl_easy_setopt (ctask->curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt (ctask->curl, CURLOPT_MAXREDIRS, 4);
/* no need to abort if the above failed */
- sprintf (curlurl, "http://%s%s", host, url);
+ if (GNUNET_NO == ctask->mhd->is_ssl)
+ sprintf (curlurl, "http://%s%s", host, url);
strcpy (ctask->host, host);
- strcpy (ctask->url, curlurl);
+ strcpy (ctask->url, url);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Adding new curl task for %s\n", curlurl);
Modified: gnunet/src/include/gnunet_gns_service.h
===================================================================
--- gnunet/src/include/gnunet_gns_service.h 2012-06-06 13:53:41 UTC (rev
21785)
+++ gnunet/src/include/gnunet_gns_service.h 2012-06-06 14:07:30 UTC (rev
21786)
@@ -79,7 +79,8 @@
/* GNS specific */
GNUNET_GNS_RECORD_PKEY = GNUNET_NAMESTORE_TYPE_PKEY,
GNUNET_GNS_RECORD_PSEU = GNUNET_NAMESTORE_TYPE_PSEU,
- GNUNET_GNS_RECORD_ANY = GNUNET_NAMESTORE_TYPE_ANY
+ GNUNET_GNS_RECORD_ANY = GNUNET_NAMESTORE_TYPE_ANY,
+ GNUNET_GNS_RECORD_LEHO = GNUNET_NAMESTORE_TYPE_LEHO
};
/**
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21786 - in gnunet/src: gns include,
gnunet <=