diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-09-07 07:28:59 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-09-07 07:28:59 +0000 |
commit | 76f452ac1a791ee1e51f22c27203ecb3185bd359 (patch) | |
tree | 6517f8b220ab9102e66a587da1144b8595155f3c /src/transport | |
parent | 06d1cff412d88a1d9f4ad0ffaf205244707cd780 (diff) | |
download | gnunet-76f452ac1a791ee1e51f22c27203ecb3185bd359.tar.gz gnunet-76f452ac1a791ee1e51f22c27203ecb3185bd359.zip |
- change
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/Makefile.am | 3 | ||||
-rw-r--r-- | src/transport/plugin_transport_http_server.c | 27 | ||||
-rw-r--r-- | src/transport/template_cfg_peer1.conf | 2 | ||||
-rw-r--r-- | src/transport/template_cfg_peer2.conf | 2 | ||||
-rw-r--r-- | src/transport/test_transport_api_http_reverse_peer1.conf | 12 |
5 files changed, 28 insertions, 18 deletions
diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am index dc21e8ea0..a590f8077 100644 --- a/src/transport/Makefile.am +++ b/src/transport/Makefile.am | |||
@@ -168,6 +168,9 @@ gnunet_service_transport_LDADD = \ | |||
168 | $(top_builddir)/src/util/libgnunetutil.la \ | 168 | $(top_builddir)/src/util/libgnunetutil.la \ |
169 | $(GN_GLPK) \ | 169 | $(GN_GLPK) \ |
170 | $(GN_LIBINTL) | 170 | $(GN_LIBINTL) |
171 | gnunet_service_transport_CFLAGS = \ | ||
172 | $(CFLAGS) | ||
173 | # -DANALYZE | ||
171 | 174 | ||
172 | plugin_LTLIBRARIES = \ | 175 | plugin_LTLIBRARIES = \ |
173 | libgnunet_plugin_transport_tcp.la \ | 176 | libgnunet_plugin_transport_tcp.la \ |
diff --git a/src/transport/plugin_transport_http_server.c b/src/transport/plugin_transport_http_server.c index 5e77f71a7..4b36cfff6 100644 --- a/src/transport/plugin_transport_http_server.c +++ b/src/transport/plugin_transport_http_server.c | |||
@@ -646,9 +646,6 @@ server_delete_session (struct Session *s) | |||
646 | struct HTTP_Server_Plugin *plugin = s->plugin; | 646 | struct HTTP_Server_Plugin *plugin = s->plugin; |
647 | server_stop_session_timeout(s); | 647 | server_stop_session_timeout(s); |
648 | 648 | ||
649 | if ((GNUNET_YES == s->session_passed) && (GNUNET_NO == s->session_ended)) | ||
650 | plugin->env->session_end (plugin->env->cls, &s->target, s); | ||
651 | |||
652 | GNUNET_CONTAINER_DLL_remove (plugin->head, plugin->tail, s); | 649 | GNUNET_CONTAINER_DLL_remove (plugin->head, plugin->tail, s); |
653 | struct HTTP_Message *msg = s->msg_head; | 650 | struct HTTP_Message *msg = s->msg_head; |
654 | struct HTTP_Message *tmp = NULL; | 651 | struct HTTP_Message *tmp = NULL; |
@@ -1439,21 +1436,23 @@ server_disconnect_cb (void *cls, struct MHD_Connection *connection, | |||
1439 | GNUNET_free (sc); | 1436 | GNUNET_free (sc); |
1440 | plugin->cur_connections--; | 1437 | plugin->cur_connections--; |
1441 | 1438 | ||
1439 | if (((s->server_send == NULL) || (s->server_recv == NULL)) && | ||
1440 | ((GNUNET_YES == s->session_passed) && (GNUNET_NO == s->session_ended))) | ||
1441 | { | ||
1442 | /* Notify transport immediately that this session is invalid */ | ||
1443 | s->session_ended = GNUNET_YES; | ||
1444 | plugin->env->session_end (plugin->env->cls, &s->target, s); | ||
1445 | } | ||
1446 | |||
1442 | if ((s->server_send == NULL) && (s->server_recv == NULL)) | 1447 | if ((s->server_send == NULL) && (s->server_recv == NULL)) |
1443 | { | 1448 | { |
1444 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, | 1449 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
1445 | "Peer `%s' on address `%s' disconnected\n", | 1450 | "Peer `%s' on address `%s' disconnected\n", |
1446 | GNUNET_i2s (&s->target), | 1451 | GNUNET_i2s (&s->target), |
1447 | http_common_plugin_address_to_string (NULL, s->addr, s->addrlen)); | 1452 | http_common_plugin_address_to_string (NULL, s->addr, s->addrlen)); |
1448 | |||
1449 | server_delete_session (s); | 1453 | server_delete_session (s); |
1450 | } | 1454 | } |
1451 | else if ((GNUNET_YES == s->session_passed) && (GNUNET_NO == s->session_ended)) | 1455 | |
1452 | { | ||
1453 | /* Notify transport immediately that this session is invalid */ | ||
1454 | s->session_ended = GNUNET_YES; | ||
1455 | plugin->env->session_end (plugin->env->cls, &s->target, s); | ||
1456 | } | ||
1457 | } | 1456 | } |
1458 | 1457 | ||
1459 | 1458 | ||
@@ -2746,6 +2745,14 @@ LIBGNUNET_PLUGIN_TRANSPORT_DONE (void *cls) | |||
2746 | next = pos->next; | 2745 | next = pos->next; |
2747 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, | 2746 | GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name, |
2748 | "Removing left over session %p\n", pos); | 2747 | "Removing left over session %p\n", pos); |
2748 | |||
2749 | if ((GNUNET_YES == pos->session_passed) && (GNUNET_NO == pos->session_ended)) | ||
2750 | { | ||
2751 | /* Notify transport immediately that this session is invalid */ | ||
2752 | pos->session_ended = GNUNET_YES; | ||
2753 | plugin->env->session_end (plugin->env->cls, &pos->target, pos); | ||
2754 | } | ||
2755 | |||
2749 | server_delete_session (pos); | 2756 | server_delete_session (pos); |
2750 | } | 2757 | } |
2751 | 2758 | ||
diff --git a/src/transport/template_cfg_peer1.conf b/src/transport/template_cfg_peer1.conf index ab0c5b391..0fbc8e8db 100644 --- a/src/transport/template_cfg_peer1.conf +++ b/src/transport/template_cfg_peer1.conf | |||
@@ -38,7 +38,7 @@ PORT = 12002 | |||
38 | UNIXPATH = /tmp/gnunet-p1-service-peerinfo.sock | 38 | UNIXPATH = /tmp/gnunet-p1-service-peerinfo.sock |
39 | 39 | ||
40 | [transport] | 40 | [transport] |
41 | #PREFIX = valgrind --leak-check=full | 41 | PREFIX = valgrind --leak-check=full |
42 | PORT = 12001 | 42 | PORT = 12001 |
43 | #DEBUG = YES | 43 | #DEBUG = YES |
44 | UNIXPATH = /tmp/gnunet-p1-service-transport.sock | 44 | UNIXPATH = /tmp/gnunet-p1-service-transport.sock |
diff --git a/src/transport/template_cfg_peer2.conf b/src/transport/template_cfg_peer2.conf index a10dfc488..76f5196d5 100644 --- a/src/transport/template_cfg_peer2.conf +++ b/src/transport/template_cfg_peer2.conf | |||
@@ -39,7 +39,7 @@ UNIXPATH = /tmp/gnunet-p2-service-peerinfo.sock | |||
39 | TRUST = $SERVICEHOME/data/credit/ | 39 | TRUST = $SERVICEHOME/data/credit/ |
40 | 40 | ||
41 | [transport] | 41 | [transport] |
42 | #PREFIX = valgrind --leak-check=full | 42 | PREFIX = valgrind --leak-check=full |
43 | PORT = 12010 | 43 | PORT = 12010 |
44 | UNIXPATH = /tmp/gnunet-p2-service-transport.sock | 44 | UNIXPATH = /tmp/gnunet-p2-service-transport.sock |
45 | 45 | ||
diff --git a/src/transport/test_transport_api_http_reverse_peer1.conf b/src/transport/test_transport_api_http_reverse_peer1.conf index 3d4648938..3093a2482 100644 --- a/src/transport/test_transport_api_http_reverse_peer1.conf +++ b/src/transport/test_transport_api_http_reverse_peer1.conf | |||
@@ -7,28 +7,28 @@ DEFAULTCONFIG = test_transport_api_http_reverse_peer1.conf | |||
7 | [transport-http_client] | 7 | [transport-http_client] |
8 | 8 | ||
9 | [arm] | 9 | [arm] |
10 | PORT = 12085 | 10 | PORT = 12095 |
11 | DEFAULTSERVICES = transport | 11 | DEFAULTSERVICES = transport |
12 | UNIXPATH = /tmp/gnunet-p1-service-arm.sock | 12 | UNIXPATH = /tmp/gnunet-p1-service-arm.sock |
13 | 13 | ||
14 | [statistics] | 14 | [statistics] |
15 | PORT = 12084 | 15 | PORT = 12094 |
16 | UNIXPATH = /tmp/gnunet-p1-service-statistics.sock | 16 | UNIXPATH = /tmp/gnunet-p1-service-statistics.sock |
17 | 17 | ||
18 | [resolver] | 18 | [resolver] |
19 | PORT = 12083 | 19 | PORT = 12093 |
20 | UNIXPATH = /tmp/gnunet-p1-service-resolver.sock | 20 | UNIXPATH = /tmp/gnunet-p1-service-resolver.sock |
21 | 21 | ||
22 | [peerinfo] | 22 | [peerinfo] |
23 | PORT = 12082 | 23 | PORT = 12092 |
24 | UNIXPATH = /tmp/gnunet-p1-service-peerinfo.sock | 24 | UNIXPATH = /tmp/gnunet-p1-service-peerinfo.sock |
25 | 25 | ||
26 | [transport] | 26 | [transport] |
27 | #DEBUG = YES | 27 | #DEBUG = YES |
28 | PORT = 12081 | 28 | PORT = 12091 |
29 | PLUGINS = http_client | 29 | PLUGINS = http_client |
30 | #BINARY = .libs/gnunet-service-transport | 30 | #BINARY = .libs/gnunet-service-transport |
31 | UNIXPATH = /tmp/gnunet-p1-service-transport.sock | 31 | UNIXPATH = /tmp/gnunet-p1-service-transport.sock |
32 | #PREFIX = valgrind --leak-check=full | 32 | PREFIX = valgrind --leak-check=full |
33 | #PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args | 33 | #PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args |
34 | 34 | ||