gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r11758 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r11758 - gnunet/src/transport
Date: Tue, 15 Jun 2010 14:12:55 +0200

Author: wachs
Date: 2010-06-15 14:12:55 +0200 (Tue, 15 Jun 2010)
New Revision: 11758

Modified:
   gnunet/src/transport/plugin_transport_http.c
Log:


Modified: gnunet/src/transport/plugin_transport_http.c
===================================================================
--- gnunet/src/transport/plugin_transport_http.c        2010-06-15 11:50:33 UTC 
(rev 11757)
+++ gnunet/src/transport/plugin_transport_http.c        2010-06-15 12:12:55 UTC 
(rev 11758)
@@ -382,14 +382,14 @@
   struct sockaddr_in6 *addrin6;
   struct Session * ses = GNUNET_malloc ( sizeof( struct Session) );
 
-  ses->addr_outbound = GNUNET_malloc ( sizeof (struct sockaddr_in) );
+  ses->addr_inbound  = GNUNET_malloc ( sizeof (struct sockaddr_in) );
+  ses->addr_outbound  = GNUNET_malloc ( sizeof (struct sockaddr_in) );
 
-
   ses->next = NULL;
   ses->plugin = plugin;
   if (NULL != addr_in)
   {
-    ses->addr_inbound  = GNUNET_malloc ( sizeof (struct sockaddr_in) );
+
     memcpy(ses->addr_inbound, addr_in, sizeof (struct sockaddr_in));
     if ( AF_INET == addr_in->sin_family)
     {
@@ -404,16 +404,10 @@
       inet_ntop(addrin6->sin6_family, &(addrin6->sin6_addr) 
,ses->ip,INET6_ADDRSTRLEN);
     }
   }
-  else
-    ses->addr_inbound = NULL;
-
   if (NULL != addr_out)
   {
-    ses->addr_outbound  = GNUNET_malloc ( sizeof (struct sockaddr_in) );
     memcpy(ses->addr_outbound, addr_out, sizeof (struct sockaddr_in));
   }
-  else
-    ses->addr_outbound = NULL;
 
   memcpy(&ses->sender, peer, sizeof (struct GNUNET_PeerIdentity));
   GNUNET_CRYPTO_hash_to_enc(&ses->sender.hashPubKey,&(ses->hash));
@@ -569,7 +563,7 @@
       GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"New Session `%s' inserted, count %u 
\n", address, plugin->session_count);
     }
     /* Updating session */
-    cs->addr_inbound=addrin;
+    memcpy(cs->addr_inbound,addrin, sizeof(struct sockaddr_in));
 
     /* Set closure */
     if (*httpSessionCache == NULL)
@@ -1566,9 +1560,10 @@
 
   while ( NULL != cs)
     {
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Freeing session for peer 
`%s'\n",GNUNET_i2s(cs->sender));
+      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,"Freeing session for peer 
`%s'\n",GNUNET_i2s(&cs->sender));
 
       cs_next = cs->next;
+
       /* freeing messages */
       struct HTTP_Message *cur;
       struct HTTP_Message *tmp;
@@ -1585,14 +1580,16 @@
       GNUNET_free (cs->pending_inbound_msg->buf);
       GNUNET_free (cs->pending_inbound_msg);
       GNUNET_free (cs->ip);
-      GNUNET_free (cs->addr_inbound);
+      GNUNET_free_non_null (cs->addr_inbound);
       GNUNET_free_non_null (cs->addr_outbound);
       GNUNET_free (cs);
+
       plugin->session_count--;
       cs = cs_next;
-
     }
 
+
+
   /* GNUNET_SERVICE_stop (plugin->service); */
   GNUNET_free (hostname);
   GNUNET_free (plugin);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]