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);
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,
return;
}
}
+ do_download:
if (fh != NULL)
GNUNET_break (GNUNET_OK == GNUNET_DISK_file_close (fh));
if (depth < dc->treedepth)
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,
}
/* 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)
}
/* 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)
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,
* 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,
}
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,
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;
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;
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);
+ }
}
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)
{
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",
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:
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:
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)
{
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;