EV_DNS_syslog(LOG_DEBUG, "C-ARES: Failed by: %s error %s\n",
__FUNCTION__,
ares_strerror(status));
- StrBufPlain(IO->ErrMsg, ares_strerror(status), -1);
+ StrBufPrintf(IO->ErrMsg,
+ "%s-lookup %s - %s",
+ IO->DNS.Query->QueryTYPE,
+ (IO->DNS.Query->QStr != NULL)? IO->DNS.Query->QStr : "",
+ ares_strerror(status));
IO->DNS.Query->DNSStatus = status;
}
}
+const char* QT[] = {
+ "A",
+ "AAAA",
+ "MX",
+ "NS",
+ "TXT",
+ "SRV",
+ "CNAME",
+ "PTR"
+};
+
int QueueQuery(ns_type Type,
const char *name,
AsyncIO *IO,
IO->DNS.Query = QueryParts;
IO->DNS.Query->PostDNS = PostDNS;
IO->DNS.Start = IO->Now;
+ IO->DNS.Query->QStr = name;
InitC_ares_dns(IO);
switch(Type) {
case ns_t_a:
IO->DNS.Query->DNS_CB = ParseAnswerA;
+ IO->DNS.Query->QueryTYPE = QT[0];
break;
case ns_t_aaaa:
IO->DNS.Query->DNS_CB = ParseAnswerAAAA;
+ IO->DNS.Query->QueryTYPE = QT[1];
break;
case ns_t_mx:
IO->DNS.Query->DNS_CB = ParseAnswerMX;
+ IO->DNS.Query->QueryTYPE = QT[2];
break;
case ns_t_ns:
IO->DNS.Query->DNS_CB = ParseAnswerNS;
+ IO->DNS.Query->QueryTYPE = QT[3];
break;
case ns_t_txt:
IO->DNS.Query->DNS_CB = ParseAnswerTXT;
+ IO->DNS.Query->QueryTYPE = QT[4];
break;
case ns_t_srv:
IO->DNS.Query->DNS_CB = ParseAnswerSRV;
+ IO->DNS.Query->QueryTYPE = QT[5];
break;
case ns_t_cname:
IO->DNS.Query->DNS_CB = ParseAnswerCNAME;
+ IO->DNS.Query->QueryTYPE = QT[6];
break;
case ns_t_ptr:
-
-
+ IO->DNS.Query->QueryTYPE = QT[7];
if (inet_pton(AF_INET, name, &address_b) == 1) {
length = sizeof(struct in_addr);
family = AF_INET;