mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
dig: setup IDN whenever printing a message
because dig now uses the netmgr, printing of response messages happens in a different thread than setup. the IDN output filtering procedure, which set using dns_name_settotextfilter(), is stored as thread-local data, and so if it's set during setup, it won't be accessible when printing. we now set it immediately before printing, in the same thread, and clear it immedately afterward.
This commit is contained in:
@@ -552,6 +552,8 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
|
||||
|
||||
UNUSED(msgbuf);
|
||||
|
||||
dig_idnsetup(query->lookup, true);
|
||||
|
||||
styleflags |= DNS_STYLEFLAG_REL_OWNER;
|
||||
if (yaml) {
|
||||
msg->indent.string = " ";
|
||||
@@ -912,6 +914,9 @@ repopulate_buffer:
|
||||
if (style != NULL) {
|
||||
dns_master_styledestroy(&style, mctx);
|
||||
}
|
||||
|
||||
dig_idnsetup(query->lookup, false);
|
||||
|
||||
return (result);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user