diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-12 16:22:01 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-10-12 16:22:01 +0000 |
commit | 4cb7ba24d6bfa8c701902050c373a5ba29813d0e (patch) | |
tree | cce0e37d7bfd99853cc545c9aea2a4b39815b44d | |
parent | a00198eb1bc4e9da858d9ac513ebe30ccef941a1 (diff) | |
download | gnunet-4cb7ba24d6bfa8c701902050c373a5ba29813d0e.tar.gz gnunet-4cb7ba24d6bfa8c701902050c373a5ba29813d0e.zip |
safety check
-rw-r--r-- | src/transport/plugin_transport_udp.c | 34 |
1 files changed, 6 insertions, 28 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 1e0f6e686..adb9277c4 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c | |||
@@ -625,8 +625,10 @@ udp_plugin_send (void *cls, const struct GNUNET_PeerIdentity *target, | |||
625 | } | 625 | } |
626 | 626 | ||
627 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 627 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
628 | "UDP transmits %u-byte message to `%s' using address `%s' session 0x%X mode %i\n", | 628 | "UDP transmits %u-byte message to `%s' using address `%s' session 0x%X mode %i\n", |
629 | msgbuf_size, GNUNET_i2s (target), udp_address_to_string (NULL, addr, addrlen), session, force_address); | 629 | msgbuf_size, GNUNET_i2s (target), |
630 | udp_address_to_string (NULL, addr, addrlen), | ||
631 | session, force_address); | ||
630 | 632 | ||
631 | if ((force_address == GNUNET_SYSERR) && (session == NULL)) | 633 | if ((force_address == GNUNET_SYSERR) && (session == NULL)) |
632 | return GNUNET_SYSERR; | 634 | return GNUNET_SYSERR; |
@@ -635,33 +637,9 @@ udp_plugin_send (void *cls, const struct GNUNET_PeerIdentity *target, | |||
635 | if ((session != NULL) && (addr != NULL) && (addrlen != 0)) | 637 | if ((session != NULL) && (addr != NULL) && (addrlen != 0)) |
636 | { | 638 | { |
637 | s = session; | 639 | s = session; |
638 | /* session timed out */ | 640 | GNUNET_assert (GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains_value ( |
639 | /* | 641 | plugin->inbound_sessions, &target->hashPubKey, s)); |
640 | if (GNUNET_TIME_absolute_get().abs_value > s->valid_until.abs_value) | ||
641 | { | ||
642 | LOG (GNUNET_ERROR_TYPE_ERROR, | ||
643 | "UDP Session %X is invalid %u\n", session, force_address); | ||
644 | |||
645 | plugin->env->session_end (plugin->env->cls, &s->target, s); | ||
646 | GNUNET_CONTAINER_multihashmap_remove (plugin->inbound_sessions, &s->target.hashPubKey, s); | ||
647 | |||
648 | if (s->invalidation_task != GNUNET_SCHEDULER_NO_TASK) | ||
649 | { | ||
650 | if (s->invalidation_task != GNUNET_SCHEDULER_NO_TASK) | ||
651 | GNUNET_SCHEDULER_cancel(s->invalidation_task); | ||
652 | 642 | ||
653 | } | ||
654 | GNUNET_free (s); | ||
655 | if ((force_address != GNUNET_SYSERR) && (addr != NULL) && (addrlen != 0)) | ||
656 | { | ||
657 | LOG (GNUNET_ERROR_TYPE_ERROR, | ||
658 | "goto session_invalid: %X %u %s\n", addr, addrlen, udp_address_to_string(NULL, addr, addrlen)); | ||
659 | goto session_invalid; | ||
660 | } | ||
661 | LOG (GNUNET_ERROR_TYPE_ERROR, | ||
662 | "return GNUNET_SYSERR;\n"); | ||
663 | return GNUNET_SYSERR; | ||
664 | }*/ | ||
665 | if (0 != memcmp (&s->target, target, sizeof (struct GNUNET_PeerIdentity))) | 643 | if (0 != memcmp (&s->target, target, sizeof (struct GNUNET_PeerIdentity))) |
666 | return GNUNET_SYSERR; | 644 | return GNUNET_SYSERR; |
667 | switch (addrlen) | 645 | switch (addrlen) |