gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r11793 - in gnunet/src: fs peerinfo statistics topology tra


From: gnunet
Subject: [GNUnet-SVN] r11793 - in gnunet/src: fs peerinfo statistics topology transport util
Date: Thu, 17 Jun 2010 23:56:21 +0200

Author: grothoff
Date: 2010-06-17 23:56:21 +0200 (Thu, 17 Jun 2010)
New Revision: 11793

Modified:
   gnunet/src/fs/fs_directory.c
   gnunet/src/fs/fs_download.c
   gnunet/src/fs/fs_search.c
   gnunet/src/fs/gnunet-service-fs.c
   gnunet/src/peerinfo/gnunet-service-peerinfo.c
   gnunet/src/statistics/statistics_api.c
   gnunet/src/topology/gnunet-daemon-topology.c
   gnunet/src/transport/plugin_transport_tcp.c
   gnunet/src/transport/plugin_transport_udp.c
   gnunet/src/util/os_priority.c
Log:
fixes

Modified: gnunet/src/fs/fs_directory.c
===================================================================
--- gnunet/src/fs/fs_directory.c        2010-06-17 21:12:09 UTC (rev 11792)
+++ gnunet/src/fs/fs_directory.c        2010-06-17 21:56:21 UTC (rev 11793)
@@ -401,16 +401,24 @@
 
   GNUNET_assert (! GNUNET_FS_uri_test_ksk (uri));
   if (NULL != data)
-    if (GNUNET_FS_uri_test_chk (uri))
-      fsize = GNUNET_FS_uri_chk_get_file_size (uri);
-    else
-      {
-       curi = GNUNET_FS_uri_loc_get_uri (uri);
-       fsize = GNUNET_FS_uri_chk_get_file_size (curi);
-       GNUNET_FS_uri_destroy (curi);
-      }
+    {
+      GNUNET_assert (! GNUNET_FS_uri_test_sks (uri));
+      if (GNUNET_FS_uri_test_chk (uri))
+       {
+         fsize = GNUNET_FS_uri_chk_get_file_size (uri);
+       }
+      else
+       {
+         curi = GNUNET_FS_uri_loc_get_uri (uri);
+         GNUNET_assert (NULL != curi);
+         fsize = GNUNET_FS_uri_chk_get_file_size (curi);
+         GNUNET_FS_uri_destroy (curi);
+       }
+    }
   else
-    fsize = 0; /* not given */
+    {
+      fsize = 0; /* not given */
+    }
   if (fsize > MAX_INLINE_SIZE)
     fsize = 0; /* too large */
   uris = GNUNET_FS_uri_to_string (uri);

Modified: gnunet/src/fs/fs_download.c
===================================================================
--- gnunet/src/fs/fs_download.c 2010-06-17 21:12:09 UTC (rev 11792)
+++ gnunet/src/fs/fs_download.c 2010-06-17 21:56:21 UTC (rev 11793)
@@ -330,10 +330,14 @@
          GNUNET_HashCode query;
 
          GNUNET_CRYPTO_hash_to_aes_key (&key, &sk, &iv);
-         GNUNET_CRYPTO_aes_encrypt (block, len,
-                                    &sk,
-                                    &iv,
-                                    enc);
+         if (-1 == GNUNET_CRYPTO_aes_encrypt (block, len,
+                                              &sk,
+                                              &iv,
+                                              enc))
+           {
+             GNUNET_break (0);
+             goto do_download;
+           }
          GNUNET_CRYPTO_hash (enc, len, &query);
          if (0 == memcmp (&query,
                           &chk->query,
@@ -364,6 +368,7 @@
          return;
        }
     }
+ do_download:
   if (fh != NULL)
     GNUNET_break (GNUNET_OK == GNUNET_DISK_file_close (fh));
   if (depth < dc->treedepth)
@@ -915,11 +920,16 @@
       ppos = ppos->next;
     }
   GNUNET_CRYPTO_hash_to_aes_key (&sm->chk.key, &skey, &iv);
-  GNUNET_CRYPTO_aes_decrypt (prc->data,
-                            prc->size,
-                            &skey,
-                            &iv,
-                            pt);
+  if (-1 == GNUNET_CRYPTO_aes_decrypt (prc->data,
+                                      prc->size,
+                                      &skey,
+                                      &iv,
+                                      pt))
+    {
+      GNUNET_break (0);
+      dc->emsg = GNUNET_strdup ("internal error decrypting content");
+      goto signal_error;
+    }
   off = compute_disk_offset (GNUNET_ntohll (dc->uri->data.chk.file_length),
                             sm->offset,
                             sm->depth,

Modified: gnunet/src/fs/fs_search.c
===================================================================
--- gnunet/src/fs/fs_search.c   2010-06-17 21:12:09 UTC (rev 11792)
+++ gnunet/src/fs/fs_search.c   2010-06-17 21:56:21 UTC (rev 11793)
@@ -574,11 +574,15 @@
     }
   /* decrypt */
   GNUNET_CRYPTO_hash_to_aes_key (&sc->requests[i].key, &skey, &iv);
-  GNUNET_CRYPTO_aes_decrypt (&kb[1],
-                            size - sizeof (struct KBlock),
-                            &skey,
-                            &iv,
-                            pt);
+  if (-1 == GNUNET_CRYPTO_aes_decrypt (&kb[1],
+                                      size - sizeof (struct KBlock),
+                                      &skey,
+                                      &iv,
+                                      pt))
+    {
+      GNUNET_break (0);
+      return;
+    }
   /* parse */
   eos = memchr (pt, 0, sizeof (pt));
   if (NULL == eos)
@@ -654,11 +658,15 @@
     }
   /* decrypt */
   GNUNET_CRYPTO_hash_to_aes_key (&sc->requests[i].key, &skey, &iv);
-  GNUNET_CRYPTO_aes_decrypt (&nb[1],
-                            size - sizeof (struct NBlock),
-                            &skey,
-                            &iv,
-                            pt);
+  if (-1 == GNUNET_CRYPTO_aes_decrypt (&nb[1],
+                                      size - sizeof (struct NBlock),
+                                      &skey,
+                                      &iv,
+                                      pt))
+    {
+      GNUNET_break (0);
+      return;
+    }
   /* parse */
   eos = memchr (pt, 0, sizeof (pt));
   if (NULL == eos)
@@ -736,11 +744,15 @@
                      strlen (identifier), 
                      &key);
   GNUNET_CRYPTO_hash_to_aes_key (&key, &skey, &iv);
-  GNUNET_CRYPTO_aes_decrypt (&sb[1],
-                            len,
-                            &skey,
-                            &iv,
-                            pt);
+  if (-1 == GNUNET_CRYPTO_aes_decrypt (&sb[1],
+                                      len,
+                                      &skey,
+                                      &iv,
+                                      pt))
+    {
+      GNUNET_break (0);
+      return;
+    }
   /* parse */
   off = GNUNET_STRINGS_buffer_tokenize (pt,
                                        len, 

Modified: gnunet/src/fs/gnunet-service-fs.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs.c   2010-06-17 21:12:09 UTC (rev 11792)
+++ gnunet/src/fs/gnunet-service-fs.c   2010-06-17 21:56:21 UTC (rev 11793)
@@ -760,7 +760,7 @@
  *            targets for (or NULL for none)
  * @param key ID of the peer 
  * @param value 'struct ConnectedPeer' of the peer
- * @return GNUNET_YES (always continue iteration)2
+ * @return GNUNET_YES (always continue iteration)
  */
 static int
 consider_migration (void *cls,
@@ -842,11 +842,12 @@
     }
   if (msize == 0)
     return GNUNET_YES; /* no content available */
+#if DEBUG_FS
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-             "Trying to migrate `%s' (%u bytes) to `%s'\n",
-             GNUNET_h2s (&mb->query),
+             "Trying to migrate at least %u bytes to peer `%s'\n",
              msize,
-             GNUNET_i2s (&cppid));
+             GNUNET_h2s (key));
+#endif
   cp->cth 
     = GNUNET_CORE_notify_transmit_ready (core,
                                         0, GNUNET_TIME_UNIT_FOREVER_REL,

Modified: gnunet/src/peerinfo/gnunet-service-peerinfo.c
===================================================================
--- gnunet/src/peerinfo/gnunet-service-peerinfo.c       2010-06-17 21:12:09 UTC 
(rev 11792)
+++ gnunet/src/peerinfo/gnunet-service-peerinfo.c       2010-06-17 21:56:21 UTC 
(rev 11793)
@@ -606,10 +606,11 @@
   int size;
 
   size = GNUNET_DISK_fn_read (fn, buffer, sizeof (buffer));
-  if ((size < sizeof (struct GNUNET_MessageHeader)) && (0 != UNLINK (fn)))
+  if (size < sizeof (struct GNUNET_MessageHeader))
     {
-      GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING |
-                                GNUNET_ERROR_TYPE_BULK, "unlink", fn);
+      if (0 != UNLINK (fn))
+       GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING |
+                                 GNUNET_ERROR_TYPE_BULK, "unlink", fn);
       return GNUNET_OK;
     }
   hello = (const struct GNUNET_HELLO_Message *) buffer;

Modified: gnunet/src/statistics/statistics_api.c
===================================================================
--- gnunet/src/statistics/statistics_api.c      2010-06-17 21:12:09 UTC (rev 
11792)
+++ gnunet/src/statistics/statistics_api.c      2010-06-17 21:56:21 UTC (rev 
11793)
@@ -196,7 +196,7 @@
 try_connect (struct GNUNET_STATISTICS_Handle *ret)
 {
   if (ret->client != NULL)
-    return GNUNET_OK;
+    return GNUNET_YES;
   ret->client = GNUNET_CLIENT_connect (ret->sched, "statistics", ret->cfg);
   if (ret->client != NULL)
     return GNUNET_YES;
@@ -235,9 +235,12 @@
   struct GNUNET_STATISTICS_GetHandle *pos = h->current;
   h->current = NULL;
   schedule_action (h);
-  if (pos->cont != NULL)
-    pos->cont (pos->cls, code);
-  free_action_item (pos);
+  if (pos != NULL)
+    {
+      if (pos->cont != NULL)
+       pos->cont (pos->cls, code);
+      free_action_item (pos);
+    }
 }
 
 

Modified: gnunet/src/topology/gnunet-daemon-topology.c
===================================================================
--- gnunet/src/topology/gnunet-daemon-topology.c        2010-06-17 21:12:09 UTC 
(rev 11792)
+++ gnunet/src/topology/gnunet-daemon-topology.c        2010-06-17 21:56:21 UTC 
(rev 11793)
@@ -1068,17 +1068,16 @@
       return;
     }
   if (GNUNET_OK != GNUNET_DISK_file_test (fn))
-    GNUNET_DISK_fn_write (fn, NULL, 0, GNUNET_DISK_PERM_USER_READ
-        | GNUNET_DISK_PERM_USER_WRITE);
+    GNUNET_DISK_fn_write (fn, NULL, 0, 
+                         GNUNET_DISK_PERM_USER_READ
+                         | GNUNET_DISK_PERM_USER_WRITE);
   if (0 != STAT (fn, &frstat))
     {
       if ((friends_only) || (minimum_friend_count > 0))
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                     _("Could not read friends list `%s'\n"), fn);
-         GNUNET_free (fn);
-          return;
-        }
+       GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                   _("Could not read friends list `%s'\n"), fn);
+      GNUNET_free (fn);
+      return;
     }
   if (frstat.st_size == 0)
     {

Modified: gnunet/src/transport/plugin_transport_tcp.c
===================================================================
--- gnunet/src/transport/plugin_transport_tcp.c 2010-06-17 21:12:09 UTC (rev 
11792)
+++ gnunet/src/transport/plugin_transport_tcp.c 2010-06-17 21:56:21 UTC (rev 
11793)
@@ -443,7 +443,11 @@
       GNUNET_break (0);
       return NULL;
     }
-  inet_ntop (af, sb, buf, INET6_ADDRSTRLEN);
+  if (NULL == inet_ntop (af, sb, buf, INET6_ADDRSTRLEN))
+    {
+      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "inet_ntop");
+      return NULL;
+    }
   GNUNET_snprintf (rbuf,
                   sizeof (rbuf),
                   (af == AF_INET6) ? "[%s]:%u" : "%s:%u",
@@ -859,9 +863,13 @@
     case AF_INET:
       if (addrlen != sizeof (struct sockaddr_in))
         return;
-      inet_ntop (AF_INET,
-                 &((struct sockaddr_in *) sa)->sin_addr,
-                 inet4, INET_ADDRSTRLEN);
+      if (NULL == inet_ntop (AF_INET,
+                            &((struct sockaddr_in *) sa)->sin_addr,
+                            inet4, INET_ADDRSTRLEN))
+       {
+         GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "inet_ntop");
+         return;
+       }
       address_as_string = GNUNET_strdup (inet4);
       break;
     case AF_INET6:

Modified: gnunet/src/transport/plugin_transport_udp.c
===================================================================
--- gnunet/src/transport/plugin_transport_udp.c 2010-06-17 21:12:09 UTC (rev 
11792)
+++ gnunet/src/transport/plugin_transport_udp.c 2010-06-17 21:56:21 UTC (rev 
11793)
@@ -581,9 +581,13 @@
     case AF_INET:
       if (addrlen != sizeof (struct sockaddr_in))
         return;
-      inet_ntop (AF_INET,
-                 &((struct sockaddr_in *) sa)->sin_addr,
-                 inet4, INET_ADDRSTRLEN);
+      if (NULL == inet_ntop (AF_INET,
+                            &((struct sockaddr_in *) sa)->sin_addr,
+                            inet4, INET_ADDRSTRLEN))
+       {
+         GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "inet_ntop");
+         return;
+       }
       address_as_string = GNUNET_strdup (inet4);
       break;
     case AF_INET6:
@@ -1097,7 +1101,13 @@
       if (sender_addr->ss_family == AF_INET)
         {
           memset(&addr_buf, 0, sizeof(addr_buf));
-          inet_ntop(AF_INET, &((struct sockaddr_in *) sender_addr)->sin_addr, 
addr_buf, INET_ADDRSTRLEN);
+          if (NULL == inet_ntop (AF_INET, 
+                                &((struct sockaddr_in *) 
sender_addr)->sin_addr, addr_buf, 
+                                INET_ADDRSTRLEN))
+           {
+             GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "inet_ntop");
+             return;
+           }
           outgoing_probe = find_probe(plugin, &addr_buf[0]);
           if (outgoing_probe != NULL)
             {

Modified: gnunet/src/util/os_priority.c
===================================================================
--- gnunet/src/util/os_priority.c       2010-06-17 21:12:09 UTC (rev 11792)
+++ gnunet/src/util/os_priority.c       2010-06-17 21:56:21 UTC (rev 11793)
@@ -430,6 +430,11 @@
 
   GNUNET_assert (0 != proc);
   ret = waitpid (proc, &status, WNOHANG);
+  if (ret < 0)
+    {
+      GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "waitpid");
+      return GNUNET_SYSERR;
+    }
   if (0 == ret)
     {
       *type = GNUNET_OS_PROCESS_RUNNING;




reply via email to

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