dnsd: add more -v messages
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
b55d652400
commit
e66a09ba9c
@ -388,24 +388,32 @@ static int process_packet(struct dns_entry *conf_data,
|
|||||||
|
|
||||||
move_from_unaligned16(type, &unaligned_type_class->type);
|
move_from_unaligned16(type, &unaligned_type_class->type);
|
||||||
if (type != htons(REQ_A) && type != htons(REQ_PTR)) {
|
if (type != htons(REQ_A) && type != htons(REQ_PTR)) {
|
||||||
/* we can't handle the query type */
|
/* we can't handle this query type */
|
||||||
|
//TODO: handle REQ_AAAA (0x1c) requests
|
||||||
|
bb_error_msg("type %u is !REQ_A and !REQ_PTR%s",
|
||||||
|
(int)ntohs(type),
|
||||||
|
", returning Not Implemented reply");
|
||||||
goto empty_packet;
|
goto empty_packet;
|
||||||
}
|
}
|
||||||
move_from_unaligned16(class, &unaligned_type_class->class);
|
move_from_unaligned16(class, &unaligned_type_class->class);
|
||||||
if (class != htons(1)) { /* not class INET? */
|
if (class != htons(1)) { /* not class INET? */
|
||||||
|
bb_error_msg("class != 1%s",
|
||||||
|
", returning Not Implemented reply");
|
||||||
goto empty_packet;
|
goto empty_packet;
|
||||||
}
|
}
|
||||||
/* OPCODE != 0 "standard query" ? */
|
/* OPCODE != 0 "standard query" ? */
|
||||||
if ((head->flags & htons(0x7800)) != 0) {
|
if ((head->flags & htons(0x7800)) != 0) {
|
||||||
|
bb_error_msg("opcode != 0%s",
|
||||||
|
", returning Not Implemented reply");
|
||||||
goto empty_packet;
|
goto empty_packet;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* look up the name */
|
/* look up the name */
|
||||||
#if DEBUG
|
|
||||||
/* need to convert lengths to dots before we can use it in non-debug */
|
|
||||||
bb_info_msg("%s", query_string);
|
|
||||||
#endif
|
|
||||||
answstr = table_lookup(conf_data, type, query_string);
|
answstr = table_lookup(conf_data, type, query_string);
|
||||||
|
#if DEBUG
|
||||||
|
/* Shows lengths instead of dots, unusable for !DEBUG */
|
||||||
|
bb_error_msg("'%s'->'%s'", query_string, answstr);
|
||||||
|
#endif
|
||||||
outr_rlen = 4;
|
outr_rlen = 4;
|
||||||
if (answstr && type == htons(REQ_PTR)) {
|
if (answstr && type == htons(REQ_PTR)) {
|
||||||
/* returning a host name */
|
/* returning a host name */
|
||||||
@ -417,6 +425,8 @@ static int process_packet(struct dns_entry *conf_data,
|
|||||||
/* QR = 1 "response"
|
/* QR = 1 "response"
|
||||||
* AA = 1 "Authoritative Answer"
|
* AA = 1 "Authoritative Answer"
|
||||||
* RCODE = 3 "Name Error" */
|
* RCODE = 3 "Name Error" */
|
||||||
|
if (OPT_verbose)
|
||||||
|
bb_error_msg("returning Name Error reply");
|
||||||
outr_flags = htons(0x8000 | 0x0400 | 3);
|
outr_flags = htons(0x8000 | 0x0400 | 3);
|
||||||
goto empty_packet;
|
goto empty_packet;
|
||||||
}
|
}
|
||||||
@ -438,6 +448,8 @@ static int process_packet(struct dns_entry *conf_data,
|
|||||||
* "** server can't find HOSTNAME"
|
* "** server can't find HOSTNAME"
|
||||||
* RCODE = 0 "success"
|
* RCODE = 0 "success"
|
||||||
*/
|
*/
|
||||||
|
if (OPT_verbose)
|
||||||
|
bb_error_msg("returning positive reply");
|
||||||
outr_flags = htons(0x8000 | 0x0400 | 0);
|
outr_flags = htons(0x8000 | 0x0400 | 0);
|
||||||
/* we have one answer */
|
/* we have one answer */
|
||||||
head->nansw = htons(1);
|
head->nansw = htons(1);
|
||||||
@ -492,7 +504,7 @@ int dnsd_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
|
|
||||||
{
|
{
|
||||||
char *p = xmalloc_sockaddr2dotted(&lsa->u.sa);
|
char *p = xmalloc_sockaddr2dotted(&lsa->u.sa);
|
||||||
bb_info_msg("Accepting UDP packets on %s", p);
|
bb_error_msg("accepting UDP packets on %s", p);
|
||||||
free(p);
|
free(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,7 +522,7 @@ int dnsd_main(int argc UNUSED_PARAM, char **argv)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (OPT_verbose)
|
if (OPT_verbose)
|
||||||
bb_info_msg("Got UDP packet");
|
bb_error_msg("got UDP packet");
|
||||||
buf[r] = '\0'; /* paranoia */
|
buf[r] = '\0'; /* paranoia */
|
||||||
r = process_packet(conf_data, conf_ttl, buf);
|
r = process_packet(conf_data, conf_ttl, buf);
|
||||||
if (r <= 0)
|
if (r <= 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user