ldns_buffer_printf(output, "\n");
/* add some futher fields */
ldns_buffer_printf(output, ";; Query time: %d msec\n", ldns_pkt_querytime(pkt));
- ldns_buffer_printf(output, ";; SERVER: %s\n", ldns_rdf2str(ldns_pkt_answerfrom(pkt)));
-#if 0
-#endif
+ if (ldns_pkt_answerfrom(pkt)) {
+ ldns_buffer_printf(output, ";; Server: %s\n", ldns_pkt_answerfrom(pkt));
+ }
} else {
return ldns_buffer_status(output);
}
/* extra items needed in a packet */
/** \brief the size in bytes of the pkt */
uint16_t _answersize;
- /** \brief the server ip */
- ldns_rdf *_answerfrom;
+ char *_answerfrom;
/** \brief query duration */
uint32_t _querytime;
/** \brief query data */
uint16_t ldns_pkt_ancount(ldns_pkt *);
uint16_t ldns_pkt_nscount(ldns_pkt *);
uint16_t ldns_pkt_arcount(ldns_pkt *);
-ldns_rdf *ldns_pkt_answerfrom(ldns_pkt *packet);
+char *ldns_pkt_answerfrom(ldns_pkt *packet);
uint32_t ldns_pkt_querytime(ldns_pkt *);
ldns_rr_list *ldns_pkt_question(ldns_pkt *packet);
void ldns_pkt_set_ancount(ldns_pkt *, uint16_t);
void ldns_pkt_set_nscount(ldns_pkt *, uint16_t);
void ldns_pkt_set_arcount(ldns_pkt *, uint16_t);
-void ldns_pkt_set_answerfrom(ldns_pkt *, ldns_rdf *);
+void ldns_pkt_set_answerfrom(ldns_pkt *, char *);
void ldns_pkt_set_querytime(ldns_pkt *, uint32_t);
/**
ldns_pkt_set_querytime(reply,
((tv_e.tv_sec - tv_s.tv_sec) * 1000) +
(tv_e.tv_usec - tv_s.tv_usec) / 1000);
- printf("%x", ns_array[i]);
- printf("the answerfrom server\n");
- ldns_rdf_print(stdout, ns_array[i]);
- ldns_pkt_set_answerfrom(reply, ns_array[i]);
+ ldns_pkt_set_answerfrom(reply, ldns_rdf2str(ns_array[i]));
break;
}
}
return packet->_additional;
}
-ldns_rdf *
-ldns_pkt_answerfrom(ldns_pkt *packet)
-{
- return packet->_answerfrom;
-}
-
uint32_t
ldns_pkt_querytime(ldns_pkt *packet)
{
return packet->_querytime;
}
+char *
+ldns_pkt_answerfrom(ldns_pkt *packet)
+{
+ return packet->_answerfrom;
+}
+
uint16_t
ldns_pkt_xxcount(ldns_pkt *packet, ldns_pkt_section s)
{
}
void
-ldns_pkt_set_answerfrom(ldns_pkt *packet, ldns_rdf *answerfrom)
+ldns_pkt_set_querytime(ldns_pkt *packet, uint32_t time)
{
- packet->_answerfrom = answerfrom;
+ packet->_querytime = time;
}
void
-ldns_pkt_set_querytime(ldns_pkt *packet, uint32_t time)
+ldns_pkt_set_answerfrom(ldns_pkt *packet, char *answerfrom)
{
- packet->_querytime = time;
+ /* TODO if exists free? */
+ packet->_answerfrom = answerfrom;
}
/**
packet->_additional = ldns_rr_list_new();
ldns_pkt_set_querytime(packet, 0);
- packet->_answerfrom = MALLOC(ldns_rdf);
ldns_pkt_set_answerfrom(packet, NULL);
return packet;
return NULL;
}
+ ldns_pkt_set_answerfrom(packet, NULL);
+
return packet;
}
name = ldns_dname_new_frm_str("www.miek.nl");
pkt = ldns_pkt_query_new(name, LDNS_RR_TYPE_AAAA, 0, LDNS_RD);
- ldns_pkt_set_answerfrom(pkt, name);
ldns_pkt_print(stdout, pkt);
pkt = ldns_pkt_query_new(name, LDNS_RR_TYPE_AAAA, 0, LDNS_RD);
- ldns_pkt_set_answerfrom(pkt, name);
ldns_pkt_print(stdout, pkt);
pkt = ldns_pkt_query_new(name, LDNS_RR_TYPE_AAAA, 0, LDNS_RD);
- ldns_pkt_set_answerfrom(pkt, name);
ldns_pkt_print(stdout, pkt);
return 0;
}
/* print the resulting pkt to stdout */
ldns_pkt_print(stdout, pkt);
+ pkt = ldns_resolver_send(res, qname, ldns_rr_get_type_by_name(type), 0, LDNS_RD);
+
+ if (!pkt) {
+ printf("error pkt sending\n");
+ return 1;
+ }
+
+ /* print the resulting pkt to stdout */
+ ldns_pkt_print(stdout, pkt);
+
return 0;
}