#include "plugin_transport_http.h"
+static struct Plugin * p;
+
#if VERBOSE_CURL
/**
* Function to log curl debug messages with GNUNET_log
GNUNET_assert (s != NULL);
GNUNET_CONTAINER_DLL_insert (s->msg_head, s->msg_tail, msg);
+ if (GNUNET_YES != exist_session(p, s))
+ {
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
+
if (s->client_put_paused == GNUNET_YES)
{
#if VERBOSE_CLIENT
GNUNET_assert (CURLE_OK ==
curl_easy_getinfo (easy_h, CURLINFO_PRIVATE, &d));
s = (struct Session *) d;
+
+ if (GNUNET_YES != exist_session(plugin, s))
+ {
+ GNUNET_break (0);
+ return;
+ }
+
GNUNET_assert (s != NULL);
if (msg->msg == CURLMSG_DONE)
struct HTTP_Message *msg;
struct HTTP_Message *t;
-
+ if (GNUNET_YES != exist_session(plugin, s))
+ {
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
if (s->client_put != NULL)
{
struct Session *s = cls;
struct GNUNET_TIME_Relative delay;
+ if (GNUNET_YES != exist_session(p, s))
+ {
+ GNUNET_break (0);
+ return;
+ }
+
delay = http_plugin_receive (s, &s->target, message, s, s->addr, s->addrlen);
s->next_receive =
GNUNET_TIME_absolute_add (GNUNET_TIME_absolute_get (), delay);
{
struct Session *s = cls;
+ if (GNUNET_YES != exist_session(p, s))
+ {
+ GNUNET_break (0);
+ return;
+ }
+
s->recv_wakeup_task = GNUNET_SCHEDULER_NO_TASK;
if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
size_t len = size * nmemb;
+
+
#if VERBOSE_CLIENT
struct Plugin *plugin = s->plugin;
size_t bytes_sent = 0;
size_t len;
+ if (GNUNET_YES != exist_session(plugin, s))
+ {
+ GNUNET_break (0);
+ return GNUNET_SYSERR;
+ }
+
struct HTTP_Message *msg = s->msg_head;
if (msg == NULL)
client_start (struct Plugin *plugin)
{
int res = GNUNET_OK;
+ p = plugin;
curl_global_init (CURL_GLOBAL_ALL);
plugin->client_mh = curl_multi_init ();
GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
_
("Could not initialize curl multi handle, failed to start %s plugin!\n"),
- plugin->name);
+ plugin->name);
res = GNUNET_SYSERR;
}
return res;
void
client_stop (struct Plugin *plugin)
{
+ p = NULL;
if (plugin->client_perform_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (plugin->client_perform_task);
#define _RECEIVE 0
#define _SEND 1
+static struct Plugin * p;
+
struct ServerConnection
{
/* _RECV or _SEND */
const struct GNUNET_MessageHeader *message)
{
struct Session *s = cls;
+
+ GNUNET_assert (NULL != p);
+ if (GNUNET_NO == exist_session(p, s))
+ return;
+
struct Plugin *plugin = s->plugin;
struct GNUNET_TIME_Relative delay;
server_send_callback (void *cls, uint64_t pos, char *buf, size_t max)
{
struct Session *s = cls;
+ GNUNET_assert (NULL != p);
+ if (GNUNET_NO == exist_session(p, s))
+ return 0;
struct HTTP_Message *msg;
int bytes_read = 0;
return;
s = sc->session;
+ GNUNET_assert (NULL != p);
+ if (GNUNET_NO == exist_session(p, s))
+ return;
+
plugin = s->plugin;
if (sc->direction == _SEND)
{
{
int res = GNUNET_OK;
unsigned int timeout;
+ p = plugin;
+ GNUNET_assert (NULL != plugin);
#if BUILD_HTTPS
res = server_load_certificate (plugin);
struct Session *s = NULL;
struct Session *t = NULL;
+ p = NULL;
+
struct MHD_Daemon *server_v4_tmp = plugin->server_v4;
plugin->server_v4 = NULL;