[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r17392 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r17392 - gnunet/src/transport |
Date: |
Tue, 11 Oct 2011 19:07:45 +0200 |
Author: wachs
Date: 2011-10-11 19:07:45 +0200 (Tue, 11 Oct 2011)
New Revision: 17392
Modified:
gnunet/src/transport/plugin_transport_udp.c
Log:
address expiration
Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2011-10-11 16:48:57 UTC (rev
17391)
+++ gnunet/src/transport/plugin_transport_udp.c 2011-10-11 17:07:45 UTC (rev
17392)
@@ -33,6 +33,7 @@
#include "gnunet_protocols.h"
#include "gnunet_resolver_service.h"
#include "gnunet_signatures.h"
+#include "gnunet_constants.h"
#include "gnunet_statistics_service.h"
#include "gnunet_transport_service.h"
#include "gnunet_transport_plugin.h"
@@ -170,6 +171,8 @@
*/
struct GNUNET_FRAGMENT_Context *frag;
+ struct GNUNET_TIME_Absolute valid_until;
+
};
@@ -576,6 +579,13 @@
if ((session != NULL) && (addr != NULL) && (addrlen != 0))
{
inbound_session = (struct PeerSession *) session;
+ /* session timed out */
+ if (GNUNET_TIME_absolute_get().abs_value >
inbound_session->valid_until.abs_value)
+ {
+ /* TODO: remove session */
+ if (force_address == GNUNET_SYSERR)
+ return GNUNET_SYSERR;
+ }
if (0 != memcmp (&inbound_session->target, target, sizeof (struct
GNUNET_PeerIdentity)))
return GNUNET_SYSERR;
switch (addrlen)
@@ -802,6 +812,7 @@
s,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
}
+ s->valid_until = GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT);
/* iterate over all embedded messages */
si.sender = msg->sender;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r17392 - gnunet/src/transport,
gnunet <=