diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-10-07 11:17:02 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-10-07 11:17:02 +0000 |
commit | 17056f5c94a79ed04ac10680e5d90d6e17f19b95 (patch) | |
tree | a77040049cb804e09c65233f91332800015ffa82 /src/transport | |
parent | a129eafa4c349d30f6a1323f854bf31d69bb776f (diff) | |
download | gnunet-17056f5c94a79ed04ac10680e5d90d6e17f19b95.tar.gz gnunet-17056f5c94a79ed04ac10680e5d90d6e17f19b95.zip |
- fixing udp address handling for inbound sessions
- fixing some indentation
Diffstat (limited to 'src/transport')
-rw-r--r-- | src/transport/gnunet-service-transport.c | 71 | ||||
-rw-r--r-- | src/transport/plugin_transport_udp.c | 23 |
2 files changed, 33 insertions, 61 deletions
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index ba88d71f4..d6be384bd 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c | |||
@@ -532,52 +532,37 @@ plugin_env_update_metrics (void *cls, | |||
532 | */ | 532 | */ |
533 | 533 | ||
534 | static void | 534 | static void |
535 | plugin_env_session_start (void *cls, | 535 | plugin_env_session_start (void *cls, const struct GNUNET_PeerIdentity *peer, |
536 | const struct GNUNET_PeerIdentity *peer, | 536 | const char *plugin, const void *address, uint16_t address_len, |
537 | const char *plugin, | 537 | struct Session *session, const struct GNUNET_ATS_Information *ats, |
538 | const void *address, | 538 | uint32_t ats_count) |
539 | uint16_t address_len, | ||
540 | struct Session *session, | ||
541 | const struct GNUNET_ATS_Information *ats, | ||
542 | uint32_t ats_count) | ||
543 | { | 539 | { |
544 | struct GNUNET_HELLO_Address *addr; | 540 | struct GNUNET_HELLO_Address *addr; |
545 | if (NULL == peer) | 541 | if (NULL == peer) |
546 | { | 542 | { |
547 | GNUNET_break (0); | 543 | GNUNET_break(0); |
548 | return; | 544 | return; |
549 | } | 545 | } |
550 | if (NULL == plugin) | 546 | if (NULL == plugin) |
551 | { | 547 | { |
552 | GNUNET_break (0); | 548 | GNUNET_break(0); |
553 | return; | 549 | return; |
554 | } | 550 | } |
555 | if ((address_len != 0) && (NULL == address)) | 551 | if (NULL == session) |
556 | { | 552 | { |
557 | GNUNET_break (0); | 553 | GNUNET_break(0); |
558 | return; | 554 | return; |
559 | } | 555 | } |
560 | if (NULL == session) | ||
561 | { | ||
562 | GNUNET_break (0); | ||
563 | return; | ||
564 | } | ||
565 | 556 | ||
566 | addr = GNUNET_HELLO_address_allocate (peer, plugin, address, address_len); | 557 | addr = GNUNET_HELLO_address_allocate (peer, plugin, address, address_len); |
567 | if (0 != address_len) | 558 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, |
568 | { | 559 | "Notification from plugin `%s' about new session %p from peer `%s' address `%s'\n", |
569 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 560 | plugin, session, GNUNET_i2s (peer), GST_plugins_a2s (addr)); |
570 | "Inbound session from plugin `%s' about new session %p from peer `%s' address `%s' does not have address length 0 but %u\n", | 561 | GST_ats_add_address (addr, session); |
571 | plugin, session, GNUNET_i2s (peer), GST_plugins_a2s(addr), address_len); | ||
572 | } | ||
573 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
574 | "Notification from plugin `%s' about new session %p from peer `%s' address `%s'\n", | ||
575 | plugin, session, GNUNET_i2s (peer), GST_plugins_a2s(addr)); | ||
576 | GST_ats_add_address (addr, session); | ||
577 | 562 | ||
578 | if (0 < ats_count) | 563 | if (0 < ats_count) |
579 | GST_ats_update_metrics (peer, addr, session, ats, ats_count); | 564 | GST_ats_update_metrics (peer, addr, session, ats, ats_count); |
580 | GNUNET_free (addr); | 565 | GNUNET_free(addr); |
581 | } | 566 | } |
582 | 567 | ||
583 | /** | 568 | /** |
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 6327d744f..043633ab1 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c | |||
@@ -578,11 +578,6 @@ udp_address_to_string (void *cls, const void *addr, size_t addrlen) | |||
578 | memcpy (&a4, &t4->ipv4_addr, sizeof (a4)); | 578 | memcpy (&a4, &t4->ipv4_addr, sizeof (a4)); |
579 | sb = &a4; | 579 | sb = &a4; |
580 | } | 580 | } |
581 | else if (addrlen == 0) | ||
582 | { | ||
583 | GNUNET_snprintf (rbuf, sizeof (rbuf), "%s", TRANSPORT_SESSION_INBOUND_STRING); | ||
584 | return rbuf; | ||
585 | } | ||
586 | else | 581 | else |
587 | { | 582 | { |
588 | return NULL; | 583 | return NULL; |
@@ -825,12 +820,6 @@ udp_plugin_address_pretty_printer (void *cls, const char *type, | |||
825 | sb = &a4; | 820 | sb = &a4; |
826 | sbs = sizeof (a4); | 821 | sbs = sizeof (a4); |
827 | } | 822 | } |
828 | else if (0 == addrlen) | ||
829 | { | ||
830 | asc (asc_cls, TRANSPORT_SESSION_INBOUND_STRING); | ||
831 | asc (asc_cls, NULL); | ||
832 | return; | ||
833 | } | ||
834 | else | 823 | else |
835 | { | 824 | { |
836 | /* invalid address */ | 825 | /* invalid address */ |
@@ -2051,9 +2040,7 @@ process_udp_message (struct Plugin *plugin, const struct UDPMessage *msg, | |||
2051 | { | 2040 | { |
2052 | s = udp_plugin_create_session (plugin, address, GNUNET_YES); | 2041 | s = udp_plugin_create_session (plugin, address, GNUNET_YES); |
2053 | plugin->env->session_start (NULL, &address->peer, PLUGIN_NAME, | 2042 | plugin->env->session_start (NULL, &address->peer, PLUGIN_NAME, |
2054 | (GNUNET_YES == s->inbound) ? NULL : address->address, | 2043 | address->address, address->address_length, s, NULL, 0); |
2055 | (GNUNET_YES == s->inbound) ? 0 : address->address_length, | ||
2056 | s, NULL, 0); | ||
2057 | } | 2044 | } |
2058 | GNUNET_free (address); | 2045 | GNUNET_free (address); |
2059 | 2046 | ||
@@ -3118,13 +3105,13 @@ libgnunet_plugin_transport_udp_init (void *cls) | |||
3118 | p->defrag_ctxs = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); | 3105 | p->defrag_ctxs = GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN); |
3119 | p->mst = GNUNET_SERVER_mst_create (&process_inbound_tokenized_messages, p); | 3106 | p->mst = GNUNET_SERVER_mst_create (&process_inbound_tokenized_messages, p); |
3120 | GNUNET_BANDWIDTH_tracker_init (&p->tracker, | 3107 | GNUNET_BANDWIDTH_tracker_init (&p->tracker, |
3121 | GNUNET_BANDWIDTH_value_init ((uint32_t)udp_max_bps), 30); | 3108 | GNUNET_BANDWIDTH_value_init ((uint32_t) udp_max_bps), 30); |
3122 | plugin = p; | 3109 | plugin = p; |
3123 | 3110 | ||
3124 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Setting up sockets\n"); | 3111 | LOG(GNUNET_ERROR_TYPE_DEBUG, "Setting up sockets\n"); |
3125 | res = setup_sockets (p, (GNUNET_YES == have_bind6) ? &serverAddrv6 : NULL, | 3112 | res = setup_sockets (p, (GNUNET_YES == have_bind6) ? &serverAddrv6 : NULL, |
3126 | (GNUNET_YES == have_bind4) ? &serverAddrv4 : NULL); | 3113 | (GNUNET_YES == have_bind4) ? &serverAddrv4 : NULL ); |
3127 | if ((res == 0) || ((p->sockv4 == NULL) && (p->sockv6 == NULL))) | 3114 | if ((res == 0) || ((p->sockv4 == NULL )&& (p->sockv6 == NULL))) |
3128 | { | 3115 | { |
3129 | LOG (GNUNET_ERROR_TYPE_ERROR, | 3116 | LOG (GNUNET_ERROR_TYPE_ERROR, |
3130 | _("Failed to create network sockets, plugin failed\n")); | 3117 | _("Failed to create network sockets, plugin failed\n")); |