cnt = 0;
b = dest;
dest++;
+ src++;
}
*b = 0;
}
{
size_t size = sizeof(struct dns_pkt) - 1;
int i;
- for (i = 0; i < ppkt->s.qdcount; i++)
+ for (i = 0; i < ntohs(ppkt->s.qdcount); i++)
size += ppkt->queries[i]->namelen + 1;
- for (i = 0; i < ppkt->s.ancount; i++)
+ for (i = 0; i < ntohs(ppkt->s.ancount); i++)
{
size += ppkt->answers[i]->namelen + 1;
size += ppkt->answers[i]->data_len;
}
- for (i = 0; i < ppkt->s.nscount; i++)
+ for (i = 0; i < ntohs(ppkt->s.nscount); i++)
{
size += ppkt->nameservers[i]->namelen + 1;
size += ppkt->nameservers[i]->data_len;
}
- for (i = 0; i < ppkt->s.arcount; i++)
+ for (i = 0; i < ntohs(ppkt->s.arcount); i++)
{
size += ppkt->additional[i]->namelen + 1;
size += ppkt->additional[i]->data_len;
}
- size += 4*ppkt->s.qdcount + 10*(
- ppkt->s.ancount+
- ppkt->s.arcount+
- ppkt->s.nscount);
+ size += 4*ntohs(ppkt->s.qdcount) + 10*(
+ ntohs(ppkt->s.ancount)+
+ ntohs(ppkt->s.arcount)+
+ ntohs(ppkt->s.nscount));
struct dns_pkt *pkt = GNUNET_malloc(size);
char *pkt_c = (char*)pkt;
memcpy(&pkt->s, &ppkt->s, sizeof ppkt->s);
size_t idx = sizeof ppkt->s;
- for (i = 0; i < ppkt->s.qdcount; i++)
+ for (i = 0; i < ntohs(ppkt->s.qdcount); i++)
{
unparse_dns_name(&pkt_c[idx], ppkt->queries[i]->name, ppkt->queries[i]->namelen);
idx += ppkt->queries[i]->namelen;
idx += sizeof(struct dns_query_line);
}
- for (i = 0; i < ppkt->s.ancount; i++)
+ for (i = 0; i < ntohs(ppkt->s.ancount); i++)
{
unparse_dns_name(&pkt_c[idx], ppkt->answers[i]->name, ppkt->answers[i]->namelen);
idx += ppkt->answers[i]->namelen;
idx += ppkt->answers[i]->data_len;
}
- for (i = 0; i < ppkt->s.nscount; i++)
+ for (i = 0; i < ntohs(ppkt->s.nscount); i++)
{
unparse_dns_name(&pkt_c[idx], ppkt->nameservers[i]->name, ppkt->nameservers[i]->namelen);
idx += ppkt->nameservers[i]->namelen;
idx += ppkt->nameservers[i]->data_len;
}
- for (i = 0; i < ppkt->s.arcount; i++)
+ for (i = 0; i < ntohs(ppkt->s.arcount); i++)
{
unparse_dns_name(&pkt_c[idx], ppkt->additional[i]->name, ppkt->additional[i]->namelen);
idx += ppkt->additional[i]->namelen;
int i = 0;
while (i < ntohs(pdns->s.ancount) &&
- pdns->answers[i]->type != 28 &&
- pdns->answers[i]->type != 1)
+ ntohs(pdns->answers[i]->type) != 28 &&
+ ntohs(pdns->answers[i]->type) != 1)
+{
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Answer contains %d.\n", ntohs(pdns->answers[i]->type));
i++;
+}
if (i >= ntohs (pdns->s.ancount))
{
cls_->hdr.size - sizeof (struct GNUNET_MessageHeader));
GNUNET_SCHEDULER_add_now (send_mesh_query, cls_);
- if (pdns->s.qdcount == 1)
+ if (ntohs(pdns->s.qdcount) == 1)
{
if (ntohs(pdns->queries[0]->qtype) == 1)
pdns->queries[0]->qtype = htons(28);
else if (ntohs(pdns->queries[0]->qtype) == 28)
pdns->queries[0]->qtype = htons(1);
else
+{
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "not sending second packet\n");
goto outfree;
+}
+ GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "sending second packet\n");
struct dns_pkt *rdns = unparse_dns_packet (pdns);
size_t size =
sizeof (struct GNUNET_MESH_Tunnel *) +