/*
This file is part of GNUnet
- (C) 2003-2013 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2003-2013 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
* @file fs/fs_namespace.c
* @brief publishing to namespaces, and tracking updateable entries
+ * for our namespaces
* @author Christian Grothoff
*/
#include "platform.h"
/**
* Private key for the namespace.
*/
- struct GNUNET_CRYPTO_EccPrivateKey ns;
+ struct GNUNET_CRYPTO_EcdsaPrivateKey ns;
/**
* Hash map mapping identifiers of update nodes
*/
static char *
get_update_information_directory (struct GNUNET_FS_Handle *h,
- const struct GNUNET_CRYPTO_EccPrivateKey *ns)
+ const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns)
{
char *dn;
char *ret;
- struct GNUNET_CRYPTO_EccPublicKey pub;
- struct GNUNET_CRYPTO_ShortHashCode hc;
- struct GNUNET_CRYPTO_ShortHashAsciiEncoded enc;
+ struct GNUNET_CRYPTO_EcdsaPublicKey pub;
+ struct GNUNET_HashCode hc;
+ struct GNUNET_CRYPTO_HashAsciiEncoded enc;
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_filename (h->cfg, "FS", "UPDATE_DIR",
"fs", "UPDATE_DIR");
return NULL;
}
- GNUNET_CRYPTO_ecc_key_get_public (ns, &pub);
- GNUNET_CRYPTO_short_hash (&pub, sizeof (pub), &hc);
- GNUNET_CRYPTO_short_hash_to_enc (&hc,
- &enc);
- GNUNET_asprintf (&ret, "%s%s%s",
- dn,
- DIR_SEPARATOR_STR,
- (const char *) enc.short_encoding);
+ GNUNET_CRYPTO_ecdsa_key_get_public (ns, &pub);
+ GNUNET_CRYPTO_hash (&pub, sizeof (pub), &hc);
+ GNUNET_CRYPTO_hash_to_enc (&hc,
+ &enc);
+ GNUNET_asprintf (&ret, "%s%s%s",
+ dn,
+ DIR_SEPARATOR_STR,
+ (const char *) enc.encoding);
GNUNET_free (dn);
return ret;
}
/**
* Release memory occupied by UIG datastructure.
- *
+ *
* @param uig data structure to free
*/
static void
if (NULL == wh)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Failed to open `%s' for writing: %s\n"), STRERROR (errno));
+ _("Failed to open `%s' for writing: %s\n"),
+ fn,
+ STRERROR (errno));
GNUNET_free (fn);
return;
}
}
END:
if (GNUNET_OK != GNUNET_BIO_write_close (wh))
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Failed to write `%s': %s\n"),
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ _("Failed to write `%s': %s\n"),
+ fn,
STRERROR (errno));
GNUNET_free (fn);
}
*/
static struct GNUNET_FS_UpdateInformationGraph *
read_update_information_graph (struct GNUNET_FS_Handle *h,
- const struct GNUNET_CRYPTO_EccPrivateKey *ns)
+ const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns)
{
struct GNUNET_FS_UpdateInformationGraph *uig;
char *fn;
END:
if (GNUNET_OK != GNUNET_BIO_read_close (rh, &emsg))
{
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Failed to read `%s': %s\n"),
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Failed to read `%s': %s\n"),
fn, emsg);
GNUNET_free (emsg);
}
/**
* Namespace we're publishing to.
*/
- struct GNUNET_CRYPTO_EccPrivateKey ns;
+ struct GNUNET_CRYPTO_EcdsaPrivateKey ns;
/**
* Handle to the datastore.
* @param msg error message (or NULL)
*/
static void
-sks_publish_cont (void *cls,
+sks_publish_cont (void *cls,
const char *msg)
{
struct GNUNET_FS_PublishSksContext *psc = cls;
uig = read_update_information_graph (psc->h,
&psc->ns);
GNUNET_array_append (uig->update_nodes,
- uig->update_node_count,
+ uig->update_node_count,
psc->nsn);
psc->nsn = NULL;
write_update_information_graph (uig);
*/
struct GNUNET_FS_PublishSksContext *
GNUNET_FS_publish_sks (struct GNUNET_FS_Handle *h,
- const struct GNUNET_CRYPTO_EccPrivateKey *ns,
+ const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns,
const char *identifier, const char *update,
const struct GNUNET_CONTAINER_MetaData *meta,
const struct GNUNET_FS_Uri *uri,
sks_uri = GNUNET_new (struct GNUNET_FS_Uri);
sks_uri->type = GNUNET_FS_URI_SKS;
sks_uri->data.sks.identifier = GNUNET_strdup (identifier);
- GNUNET_CRYPTO_ecc_key_get_public (ns,
+ GNUNET_CRYPTO_ecdsa_key_get_public (ns,
&sks_uri->data.sks.ns);
psc = GNUNET_new (struct GNUNET_FS_PublishSksContext);
* GNUNET_NO if not.
*/
static int
-process_update_node (void *cls,
- const struct GNUNET_HashCode *key,
+process_update_node (void *cls,
+ const struct GNUNET_HashCode *key,
void *value)
{
struct ProcessUpdateClosure *pc = cls;
struct NamespaceUpdateNode *nsn = value;
pc->ip (pc->ip_cls,
- nsn->id,
- nsn->uri,
+ nsn->id,
+ nsn->uri,
nsn->md,
nsn->update);
return GNUNET_YES;
*/
static int
find_trees (void *cls,
- const struct GNUNET_HashCode *key,
+ const struct GNUNET_HashCode *key,
void *value)
{
struct FindTreeClosure *fc = cls;
*/
void
GNUNET_FS_namespace_list_updateable (struct GNUNET_FS_Handle *h,
- const struct GNUNET_CRYPTO_EccPrivateKey *ns,
+ const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns,
const char *next_id,
GNUNET_FS_IdentifierProcessor ip,
void *ip_cls)
fc.tree_array[fc.id] = nsn;
nsn->tree_id = fc.id;
}
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"TREE of node `%s' is %u\n", nsn->id,
fc.id);
}