projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
regex profiler cleanup
[oweals/gnunet.git]
/
src
/
dns
/
dnsstub.c
diff --git
a/src/dns/dnsstub.c
b/src/dns/dnsstub.c
index 49254b8d625eb466356b1b463e3fb8bdb5f6f655..c755aff16032b0d4e45b36bbafa4d86de7b294a5 100644
(file)
--- a/
src/dns/dnsstub.c
+++ b/
src/dns/dnsstub.c
@@
-279,6
+279,10
@@
GNUNET_DNSSTUB_resolve (struct GNUNET_DNSSTUB_Context *ctx,
else
ret = rs->dnsout6;
GNUNET_assert (NULL != ret);
else
ret = rs->dnsout6;
GNUNET_assert (NULL != ret);
+ memcpy (&rs->addr,
+ sa,
+ sa_len);
+ rs->addrlen = sa_len;
rs->rc = rc;
rs->rc_cls = rc_cls;
if (GNUNET_SYSERR ==
rs->rc = rc;
rs->rc_cls = rc_cls;
if (GNUNET_SYSERR ==
@@
-290,6
+294,10
@@
GNUNET_DNSSTUB_resolve (struct GNUNET_DNSSTUB_Context *ctx,
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
_("Failed to send DNS request to %s\n"),
GNUNET_a2s (sa, sa_len));
GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
_("Failed to send DNS request to %s\n"),
GNUNET_a2s (sa, sa_len));
+ else
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ _("Sent DNS request to %s\n"),
+ GNUNET_a2s (sa, sa_len));
return rs;
}
return rs;
}
@@
-409,7
+417,9
@@
do_dns_read (struct GNUNET_DNSSTUB_RequestSocket *rs,
/* port the code above? */
len = UINT16_MAX;
#endif
/* port the code above? */
len = UINT16_MAX;
#endif
-
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Receiving %d byte DNS reply\n",
+ len);
{
unsigned char buf[len] GNUNET_ALIGN;
{
unsigned char buf[len] GNUNET_ALIGN;
@@
-437,11
+447,16
@@
do_dns_read (struct GNUNET_DNSSTUB_RequestSocket *rs,
&addr,
addrlen)) ||
(0 == GNUNET_TIME_absolute_get_remaining (rs->timeout).rel_value) )
&addr,
addrlen)) ||
(0 == GNUNET_TIME_absolute_get_remaining (rs->timeout).rel_value) )
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Request timeout or invalid sender address; ignoring reply\n");
return GNUNET_NO;
return GNUNET_NO;
- rs->rc (rs->rc_cls,
- rs,
- dns,
- r);
+ }
+ if (NULL != rs->rc)
+ rs->rc (rs->rc_cls,
+ rs,
+ dns,
+ r);
}
return GNUNET_OK;
}
}
return GNUNET_OK;
}
@@
-492,6
+507,17
@@
read_response (void *cls,
}
}
+/**
+ * Cancel DNS resolution.
+ *
+ * @param rs resolution to cancel
+ */
+void
+GNUNET_DNSSTUB_resolve_cancel (struct GNUNET_DNSSTUB_RequestSocket *rs)
+{
+ rs->rc = NULL;
+}
+
/**
* Start a DNS stub resolver.
/**
* Start a DNS stub resolver.