$(top_builddir)/src/hello/libgnunethello.la \
$(top_builddir)/src/statistics/libgnunetstatistics.la \
$(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
+ @LIBCURL@ \
$(top_builddir)/src/util/libgnunetutil.la
libgnunet_plugin_transport_http_la_LDFLAGS = \
$(GN_LIBMHD) \
#include "gnunet_transport_service.h"
#include "plugin_transport.h"
#include "microhttpd.h"
+#include <curl/curl.h>
#define VERBOSE GNUNET_YES
#define DEBUG GNUNET_YES
*/
static struct MHD_Daemon *http_daemon;
+/**
+ * Curl multi for managing client operations.
+ */
+static CURLM *curl_multi;
+
/**
* Function that can be used by the transport service to transmit
* a message using the plugin.
MHD_OPTION_END);
}
}
- if ( NULL != http_daemon )
+
+ curl_multi = curl_multi_init ();
+
+ if ( (NULL != http_daemon) && (NULL != curl_multi))
return api;
else
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,"Starting MHD on port %u with IPv6 disabled\n",port);
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,"Initializing http plugin failed\n");
return NULL;
}
}
MHD_stop_daemon (http_daemon);
http_daemon = NULL;
}
+
+ curl_multi_cleanup (curl_multi);
+ curl_multi = NULL;
+
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Shutting down http plugin...\n");
GNUNET_free (plugin);