if (rd_count > 0)
{
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Name %s already taken in NS!\n", name);
+ "GNS_AUTO_PSEU: Name %s already taken in NS!\n", name);
if (0 == strcmp(gph->name, name))
{
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Intelligent replacement not implemented\n", name);
+ "GNS_AUTO_PSEU: Intelligent replacement not implemented\n",
+ name);
GNUNET_free(gph);
return;
}
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Trying delegated name %s\n", gph->name);
+ "GNS_AUTO_PSEU: Trying delegated name %s\n", gph->name);
memcpy(gph->new_name, gph->name, strlen(gph->name)+1);
GNUNET_NAMESTORE_lookup_record(namestore_handle,
&gph->zone,
/** name is free */
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Name %s not taken in NS! Adding\n", gph->new_name);
+ "GNS_AUTO_PSEU: Name %s not taken in NS! Adding\n", gph->new_name);
new_pkey.expiration = GNUNET_TIME_absolute_get_forever ();
new_pkey.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode);
}
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Checking %s for collision in NS\n", gph->new_name);
+ "GNS_AUTO_PSEU: Checking %s for collision in NS\n", gph->new_name);
/**
* Check for collision
struct GetPseuAuthorityHandle* gph = (struct GetPseuAuthorityHandle*)cls;
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "dht lookup for query PSEU timed out.\n");
+ "GNS_GET_AUTH: dht lookup for query PSEU timed out.\n");
GNUNET_DHT_get_stop (gph->get_handle);
process_pseu_result(gph, NULL);
}
size_t rd_size;
int i;
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "got dht result (size=%d)\n", size);
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "GNS_GET_AUTH: got dht result (size=%d)\n", size);
if (data == NULL)
{
- GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "got dht result null!\n", size);
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
+ "GNS_GET_AUTH: got dht result null!\n", size);
GNUNET_break(0);
GNUNET_free(gph);
return;
num_records,
rd))
{
- GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Error deserializing data!\n");
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
+ "GNS_GET_AUTH: Error deserializing data!\n");
GNUNET_break(0);
GNUNET_free(gph);
return;
GNUNET_CRYPTO_hash_to_enc (&lookup_key, &lookup_key_string);
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "starting dht lookup for %s with key: %s\n",
+ "GNS_BG: starting dht lookup for %s with key: %s\n",
"+", (char*)&lookup_key_string);
gph->timeout = GNUNET_SCHEDULER_add_delayed(DHT_LOOKUP_TIMEOUT,
struct GetPseuAuthorityHandle *gph;
size_t namelen;
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "New authority %s discovered\n",
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "GNS_BG: New authority %s discovered\n",
name);
gph = GNUNET_malloc(sizeof(struct GetPseuAuthorityHandle));
struct ResolverHandle *rh = (struct ResolverHandle *)element;
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Terminating background lookup for %s\n",
+ "GNS_CLEANUP: Terminating background lookup for %s\n",
rh->name);
GNUNET_DHT_get_stop(rh->get_handle);
rh->proc(rh->proc_cls, rh, 0, NULL);
void
gns_resolver_cleanup()
{
- if (0 != GNUNET_CONTAINER_heap_get_size(dht_lookup_heap))
+ unsigned int s = GNUNET_CONTAINER_heap_get_size(dht_lookup_heap);
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "GNS_CLEANUP: %d pending background queries to terminate\n", s);
+
+ if (0 != s)
{
GNUNET_CONTAINER_heap_iterate (dht_lookup_heap,
&cleanup_pending_background_queries,
{
if (GNUNET_NO == success)
{
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "records already in namestore\n");
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "GNS_NS: records already in namestore\n");
return;
}
else if (GNUNET_YES == success)
{
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "records successfully put in namestore\n");
+ "GNS_NS: records successfully put in namestore\n");
return;
}
GNUNET_log(GNUNET_ERROR_TYPE_ERROR,
- "Error putting records into namestore: %s\n", emsg);
+ "GNS_NS: Error putting records into namestore: %s\n", emsg);
}
static void
{
//We could do sth verbose/more useful here but it doesn't make any difference
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "background dht lookup finished.\n");
+ "GNS_BG: background dht lookup finished.\n");
}
/**
char new_name[MAX_DNS_NAME_LENGTH];
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "dht lookup for query %s timed out.\n",
+ "GNS_PHASE_REC: dht lookup for query %s timed out.\n",
rh->name);
/**
* Start resolution in bg
rh->name, GNUNET_GNS_TLD);
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Starting background lookup for %s type %d\n",
+ "GNS_PHASE_REC: Starting background lookup for %s type %d\n",
new_name, rlh->record_type);
gns_resolver_lookup_record(rh->authority,
GNUNET_TIME_UNIT_FOREVER_REL,
&background_lookup_result_processor,
NULL);
+ rh->timeout_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_DHT_get_stop (rh->get_handle);
rh->proc(rh->proc_cls, rh, 0, NULL);
int i;
int rd_size;
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "got dht result (size=%d)\n", size);
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "GNS_PHASE_REC: got dht result (size=%d)\n", size);
if (data == NULL)
return;
}
if (rh->timeout_task != GNUNET_SCHEDULER_NO_TASK)
+ {
GNUNET_SCHEDULER_cancel(rh->timeout_task);
+ rh->timeout_task = GNUNET_SCHEDULER_NO_TASK;
+ }
rh->get_handle = NULL;
name = (char*)&nrb[1];
for (i=0; i<num_records; i++)
{
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Got name: %s (wanted %s)\n", name, rh->name);
+ "GNS_PHASE_REC: Got name: %s (wanted %s)\n", name, rh->name);
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Got type: %d\n",
+ "GNS_PHASE_REC: Got type: %d\n",
rd[i].record_type);
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Got data length: %d\n", rd[i].data_size);
+ "GNS_PHASE_REC: Got data length: %d\n", rd[i].data_size);
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Got flag %d\n", rd[i].flags);
+ "GNS_PHASE_REC: Got flag %d\n", rd[i].flags);
if ((strcmp(name, rh->name) == 0) &&
(rd[i].record_type == rlh->record_type))
&zone);
remaining_time = GNUNET_TIME_absolute_get_remaining (expiration);
- if (rh->timeout_task != GNUNET_SCHEDULER_NO_TASK)
- {
- GNUNET_SCHEDULER_cancel(rh->timeout_task);
- rh->timeout_task = GNUNET_SCHEDULER_NO_TASK;
- }
+
rh->status = 0;
{
struct RecordLookupHandle *rlh = (struct RecordLookupHandle *)rh->proc_cls;
+ /* We cancel here as to not include the ns lookup in the timeout */
+ if (rh->timeout_task != GNUNET_SCHEDULER_NO_TASK)
+ {
+ GNUNET_SCHEDULER_cancel(rh->timeout_task);
+ rh->timeout_task = GNUNET_SCHEDULER_NO_TASK;
+ }
+
/**
* Try to resolve this record in our namestore.
* The name to resolve is now in rh->authority_name
rh->status |= TIMED_OUT;
+ rh->timeout_task = GNUNET_SCHEDULER_NO_TASK;
if (strcmp(rh->name, "") == 0)
{
GNUNET_DHT_get_stop (rh->get_handle);
- rh->timeout_task = GNUNET_SCHEDULER_NO_TASK;
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
"Terminating auth lookup\n");
* delegate
* FIXME in this case. should we ask namestore again?
*/
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "Answer from DHT for %s to resolve: %s\n",
+ rh->authority_name, rh->name);
if (strcmp(rh->name, "") == 0)
rh->proc(rh->proc_cls, rh, 0, NULL);
else
/**
* No pkey but name exists
+ * promote back
*/
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "Adding %s back to %s\n",
+ rh->authority_name, rh->name);
+ if (strcmp(rh->name, "") == 0)
+ strcpy(rh->name, rh->authority_name);
+ else
+ GNUNET_snprintf(rh->name, MAX_DNS_NAME_LENGTH, "%s.%s",
+ rh->name, rh->authority_name); //FIXME ret
+
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+ "%s restored\n", rh->name);
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "DHT authority lookup found no match!\n");
rh->proc(rh->proc_cls, rh, 0, NULL);
}
struct RecordLookupHandle* rlh;
rlh = (struct RecordLookupHandle*) cls;
-
if (strcmp(rh->name, "") == 0)
{
GNUNET_HashCode lookup_key;
struct ResolverHandle *rh_heap_root;
+ pop_tld(rh->name, rh->authority_name);
GNUNET_CRYPTO_short_hash(rh->authority_name,
strlen(rh->authority_name),
&name_hash);