diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-04-26 11:37:50 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-04-26 11:37:50 +0000 |
commit | 435eded3cf216363f75e1904254c22c7c5fd987a (patch) | |
tree | 00a06f617239fec39770968c423294953fab2e3e /src/transport/plugin_transport_http_server.c | |
parent | 074ec517f192b7a74b1180c20144facf4cf8cf7d (diff) | |
download | gnunet-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.c | 18 |
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 | ||
33 | static struct Plugin * p; | ||
34 | |||
33 | struct ServerConnection | 35 | struct 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 | |||
309 | server_send_callback (void *cls, uint64_t pos, char *buf, size_t max) | 316 | server_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; |