ctask->ready_to_queue = MHD_YES;
ctask->download_is_finished = GNUNET_YES;
- //GNUNET_SCHEDULER_add_now (&run_mhd, ctask->mhd);
-
/* We MUST not modify the multi handle else we loose messages */
GNUNET_CONTAINER_DLL_remove (ctasks_head, ctasks_tail,
ctask);
GNUNET_assert ( num_ctasks == running );
- run_httpds ();
} while (mret == CURLM_CALL_MULTI_PERFORM);
if (mret != CURLM_OK)
ctask->mhd = hd;
*con_cls = ctask;
- // FIXME: probably not best here, also never free'ed...
- if (NULL == curl_multi)
- curl_multi = curl_multi_init ();
-
ctask->curl = curl_easy_init();
-
- if ((NULL == ctask->curl) || (NULL == curl_multi)) // ugh, curl_multi init failure check MUCH earlier
+ if (NULL == ctask->curl)
{
ctask->response = MHD_create_response_from_buffer (strlen (page),
(void*)page,
curl_easy_setopt (ctask->curl, CURLOPT_WRITEDATA, ctask);
curl_easy_setopt (ctask->curl, CURLOPT_FOLLOWLOCATION, 0);
curl_easy_setopt (ctask->curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
- //curl_easy_setopt (ctask->curl, CURLOPT_MAXREDIRS, 4);
- /* no need to abort if the above failed */
+
if (GNUNET_NO == ctask->mhd->is_ssl)
{
sprintf (curlurl, "http://%s%s", ctask->host, url);
MHD_GET_ARGUMENT_KIND,
&get_uri_val_iter, ctask->url);
- //curl_easy_setopt (ctask->curl, CURLOPT_URL, curlurl);
curl_easy_setopt (ctask->curl, CURLOPT_FAILONERROR, 1);
curl_easy_setopt (ctask->curl, CURLOPT_CONNECTTIMEOUT, 600L);
curl_easy_setopt (ctask->curl, CURLOPT_TIMEOUT, 600L);
{
struct MhdHttpList *hd;
- for (hd=mhd_httpd_head; hd != NULL; hd = hd->next)
+ for (hd=mhd_httpd_head; NULL != hd; hd = hd->next)
run_httpd (hd);
}
haveto = MHD_get_timeout (hd->daemon, &timeout);
- if (haveto == MHD_YES)
+ if (MHD_YES == haveto)
tv.rel_value = (uint64_t) timeout;
else
tv = GNUNET_TIME_UNIT_FOREVER_REL;
GNUNET_NETWORK_fdset_copy_native (wws, &ws, max + 1);
GNUNET_NETWORK_fdset_copy_native (wes, &es, max + 1);
- if (hd->httpd_task != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != hd->httpd_task)
GNUNET_SCHEDULER_cancel (hd->httpd_task);
hd->httpd_task =
GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH,
else
{
GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "write remote");
- //Really!?!?!?
- if (s5r->rtask != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != s5r->rtask)
GNUNET_SCHEDULER_cancel (s5r->rtask);
- if (s5r->wtask != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != s5r->wtask)
GNUNET_SCHEDULER_cancel (s5r->wtask);
- if (s5r->fwdrtask != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != s5r->fwdrtask)
GNUNET_SCHEDULER_cancel (s5r->fwdrtask);
GNUNET_NETWORK_socket_close (s5r->remote_sock);
GNUNET_NETWORK_socket_close (s5r->sock);
static void
cleanup_s5r (struct Socks5Request *s5r)
{
- if (s5r->rtask != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != s5r->rtask)
GNUNET_SCHEDULER_cancel (s5r->rtask);
- if (s5r->fwdwtask != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != s5r->fwdwtask)
GNUNET_SCHEDULER_cancel (s5r->fwdwtask);
- if (s5r->fwdrtask != GNUNET_SCHEDULER_NO_TASK)
+ if (GNUNET_SCHEDULER_NO_TASK != s5r->fwdrtask)
GNUNET_SCHEDULER_cancel (s5r->fwdrtask);
if (NULL != s5r->remote_sock)
}
- //GNUNET_CONTAINER_DLL_remove (s5conns.head, s5conns.tail, s5r);
-
}
s5r->rtask = GNUNET_SCHEDULER_add_read_net (GNUNET_TIME_UNIT_FOREVER_REL,
s5r->sock,
&do_read, s5r);
- //GNUNET_CONTAINER_DLL_insert (s5conns.head, s5conns.tail, s5r);
}
GNUNET_free (ctask);
}
+ curl_multi_cleanup (curl_multi);
GNUNET_GNS_disconnect (gns_handle);
}
char* cafile_cfg = NULL;
char* cafile;
- curl_multi = NULL;
+ curl_multi = curl_multi_init ();
+ if (NULL == curl_multi)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed to create cURL multo handle!\n");
+ return;
+ }
+
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Loading CA\n");
-
cafile = cafile_opt;
-
if (NULL == cafile)
{
if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename (cfg, "gns-proxy",
}
gnutls_global_init ();
-
gnutls_x509_crt_init (&proxy_ca.cert);
gnutls_x509_privkey_init (&proxy_ca.key);