aboutsummaryrefslogtreecommitdiff
path: root/src/transport/plugin_transport_http_server.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2012-04-26 11:37:50 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2012-04-26 11:37:50 +0000
commit435eded3cf216363f75e1904254c22c7c5fd987a (patch)
tree00a06f617239fec39770968c423294953fab2e3e /src/transport/plugin_transport_http_server.c
parent074ec517f192b7a74b1180c20144facf4cf8cf7d (diff)
downloadgnunet-435eded3cf216363f75e1904254c22c7c5fd987a.tar.gz
gnunet-435eded3cf216363f75e1904254c22c7c5fd987a.zip
- fix for http
Diffstat (limited to 'src/transport/plugin_transport_http_server.c')
-rw-r--r--src/transport/plugin_transport_http_server.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c
index 499fd06c8..22196b218 100644
--- a/src/transport/plugin_transport_http_server.c
+++ b/src/transport/plugin_transport_http_server.c
@@ -30,6 +30,8 @@
30#define _RECEIVE 0 30#define _RECEIVE 0
31#define _SEND 1 31#define _SEND 1
32 32
33static struct Plugin * p;
34
33struct ServerConnection 35struct ServerConnection
34{ 36{
35 /* _RECV or _SEND */ 37 /* _RECV or _SEND */
@@ -279,6 +281,11 @@ server_receive_mst_cb (void *cls, void *client,
279 const struct GNUNET_MessageHeader *message) 281 const struct GNUNET_MessageHeader *message)
280{ 282{
281 struct Session *s = cls; 283 struct Session *s = cls;
284
285 GNUNET_assert (NULL != p);
286 if (GNUNET_NO == exist_session(p, s))
287 return;
288
282 struct Plugin *plugin = s->plugin; 289 struct Plugin *plugin = s->plugin;
283 struct GNUNET_TIME_Relative delay; 290 struct GNUNET_TIME_Relative delay;
284 291
@@ -309,6 +316,9 @@ static ssize_t
309server_send_callback (void *cls, uint64_t pos, char *buf, size_t max) 316server_send_callback (void *cls, uint64_t pos, char *buf, size_t max)
310{ 317{
311 struct Session *s = cls; 318 struct Session *s = cls;
319 GNUNET_assert (NULL != p);
320 if (GNUNET_NO == exist_session(p, s))
321 return 0;
312 322
313 struct HTTP_Message *msg; 323 struct HTTP_Message *msg;
314 int bytes_read = 0; 324 int bytes_read = 0;
@@ -736,6 +746,10 @@ server_disconnect_cb (void *cls, struct MHD_Connection *connection,
736 return; 746 return;
737 747
738 s = sc->session; 748 s = sc->session;
749 GNUNET_assert (NULL != p);
750 if (GNUNET_NO == exist_session(p, s))
751 return;
752
739 plugin = s->plugin; 753 plugin = s->plugin;
740 if (sc->direction == _SEND) 754 if (sc->direction == _SEND)
741 { 755 {
@@ -1018,6 +1032,8 @@ server_start (struct Plugin *plugin)
1018{ 1032{
1019 int res = GNUNET_OK; 1033 int res = GNUNET_OK;
1020 unsigned int timeout; 1034 unsigned int timeout;
1035 p = plugin;
1036 GNUNET_assert (NULL != plugin);
1021 1037
1022#if BUILD_HTTPS 1038#if BUILD_HTTPS
1023 res = server_load_certificate (plugin); 1039 res = server_load_certificate (plugin);
@@ -1150,6 +1166,8 @@ server_stop (struct Plugin *plugin)
1150 struct Session *s = NULL; 1166 struct Session *s = NULL;
1151 struct Session *t = NULL; 1167 struct Session *t = NULL;
1152 1168
1169 p = NULL;
1170
1153 struct MHD_Daemon *server_v4_tmp = plugin->server_v4; 1171 struct MHD_Daemon *server_v4_tmp = plugin->server_v4;
1154 1172
1155 plugin->server_v4 = NULL; 1173 plugin->server_v4 = NULL;