[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21700 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21700 - gnunet/src/transport |
Date: |
Fri, 1 Jun 2012 16:35:15 +0200 |
Author: grothoff
Date: 2012-06-01 16:35:15 +0200 (Fri, 01 Jun 2012)
New Revision: 21700
Modified:
gnunet/src/transport/plugin_transport_tcp.c
Log:
-trying to make issues such as #2389 less likely, but I doubt this fixes it
Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2012-06-01 14:18:40 UTC (rev
21699)
+++ gnunet/src/transport/plugin_transport_tcp.c 2012-06-01 14:35:15 UTC (rev
21700)
@@ -1694,20 +1694,20 @@
session->nat_connection_timeout = GNUNET_SCHEDULER_NO_TASK;
}
- GNUNET_assert (GNUNET_CONTAINER_multihashmap_remove
- (plugin->nat_wait_conns,
- &tcp_nat_probe->clientIdentity.hashPubKey,
- session) == GNUNET_YES);
if (GNUNET_OK != GNUNET_SERVER_client_get_address (client, &vaddr, &alen))
{
GNUNET_break (0);
- GNUNET_free (session);
- GNUNET_SERVER_receive_done (client, GNUNET_OK);
+ GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+ disconnect_session (session);
return;
}
-
- GNUNET_SERVER_client_keep (client);
- session->client = client;
+ GNUNET_assert (GNUNET_CONTAINER_multihashmap_remove
+ (plugin->nat_wait_conns,
+ &tcp_nat_probe->clientIdentity.hashPubKey,
+ session) == GNUNET_YES);
+ GNUNET_CONTAINER_multihashmap_put(plugin->sessionmap,
+ &session->target.hashPubKey, session,
+
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
session->last_activity = GNUNET_TIME_absolute_get ();
session->inbound = GNUNET_NO;
LOG (GNUNET_ERROR_TYPE_DEBUG,
@@ -1736,15 +1736,14 @@
LOG (GNUNET_ERROR_TYPE_DEBUG,
"Bad address for incoming connection!\n");
GNUNET_free (vaddr);
-
GNUNET_SERVER_client_drop (client);
- GNUNET_free (session);
GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+ disconnect_session (session);
return;
}
GNUNET_free (vaddr);
-
- GNUNET_CONTAINER_multihashmap_put(plugin->sessionmap,
&session->target.hashPubKey, session,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE);
+ GNUNET_SERVER_client_keep (client);
+ session->client = client;
inc_sessions (plugin, session, __LINE__);
GNUNET_STATISTICS_update (plugin->env->stats,
gettext_noop ("# TCP sessions active"), 1,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21700 - gnunet/src/transport,
gnunet <=