aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-10-07 11:17:02 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-10-07 11:17:02 +0000
commit17056f5c94a79ed04ac10680e5d90d6e17f19b95 (patch)
treea77040049cb804e09c65233f91332800015ffa82 /src/transport
parenta129eafa4c349d30f6a1323f854bf31d69bb776f (diff)
downloadgnunet-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.c71
-rw-r--r--src/transport/plugin_transport_udp.c23
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
534static void 534static void
535plugin_env_session_start (void *cls, 535plugin_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"));