/*
This file is part of GNUnet.
- (C) 2011-2013 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2011-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.
*/
/**
/**
* Task to abort DHT lookup operation.
*/
- GNUNET_SCHEDULER_TaskIdentifier timeout_task;
+ struct GNUNET_SCHEDULER_Task * timeout_task;
};
GNUNET_NAMECACHE_cancel (gph->namecache_task);
gph->namecache_task = NULL;
}
- if (GNUNET_SCHEDULER_NO_TASK != gph->timeout_task)
+ if (NULL != gph->timeout_task)
{
GNUNET_SCHEDULER_cancel (gph->timeout_task);
- gph->timeout_task = GNUNET_SCHEDULER_NO_TASK;
+ gph->timeout_task = NULL;
}
GNUNET_CONTAINER_DLL_remove (gph_head, gph_tail, gph);
GNUNET_free_non_null (gph->current_label);
}
+/**
+ * Encountered an error in zone-to-name lookup, give up on shortening.
+ */
+static void
+zone_to_name_error_cb (void *cls)
+{
+ struct GetPseuAuthorityHandle* gph = cls;
+
+ gph->namestore_task = NULL;
+ GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+ "Shortening aborted, internal error talking to namestore\n");
+ free_get_pseu_authority_handle (gph);
+}
+
+
/**
* Callback called by namestore for a zone to name result. We're
* trying to see if a short name for a given zone already exists.
const struct GNUNET_GNSRECORD_Data *rd)
{
struct GetPseuAuthorityHandle* gph = cls;
-#if 0
- struct GNUNET_HashCode lookup_key;
-#endif
gph->namestore_task = NULL;
if (0 != rd_len)
GNUNET_break (0);
return;
}
- GNUNET_CRYPTO_ecdsa_key_get_public(shorten_zone, &shorten_pub);
- if (0 == memcmp (&shorten_pub, pub, sizeof (pub)))
+ GNUNET_CRYPTO_ecdsa_key_get_public (shorten_zone, &shorten_pub);
+ if (0 == memcmp (&shorten_pub, pub, sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey)))
{
/* Do not shorten the shorten zone */
return;
gph->namestore_task = GNUNET_NAMESTORE_zone_to_name (namestore_handle,
shorten_zone,
pub,
+ &zone_to_name_error_cb,
+ gph,
&process_zone_to_name_discover,
gph);
}