Collapse common switch cases when emitting EDNS options
The CHAIN and REPORT-CHANNEL EDNS options are both domain names so they can be combined. THE CLIENT-TAG and SERVER-TAG EDNS options are both 16 bit integers so they can be combined.
This commit is contained in:
+2
-42
@@ -3740,6 +3740,7 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, dns_pseudosection_t section,
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_CHAIN:
|
||||
case DNS_OPT_REPORT_CHANNEL:
|
||||
if (optlen > 0U) {
|
||||
isc_buffer_t sb = optbuf;
|
||||
isc_buffer_setactive(&optbuf, optlen);
|
||||
@@ -3796,14 +3797,6 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, dns_pseudosection_t section,
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_CLIENT_TAG:
|
||||
if (optlen == 2U) {
|
||||
uint16_t id =
|
||||
isc_buffer_getuint16(&optbuf);
|
||||
snprintf(buf, sizeof(buf), " %u\n", id);
|
||||
ADD_STRING(target, buf);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_SERVER_TAG:
|
||||
if (optlen == 2U) {
|
||||
uint16_t id =
|
||||
@@ -3813,19 +3806,6 @@ dns_message_pseudosectiontoyaml(dns_message_t *msg, dns_pseudosection_t section,
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_REPORT_CHANNEL:
|
||||
if (optlen > 0U) {
|
||||
isc_buffer_t sb = optbuf;
|
||||
isc_buffer_setactive(&optbuf, optlen);
|
||||
result = render_nameopt(&optbuf,
|
||||
target);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
ADD_STRING(target, "\n");
|
||||
continue;
|
||||
}
|
||||
optbuf = sb;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -4169,6 +4149,7 @@ dns_message_pseudosectiontotext(dns_message_t *msg, dns_pseudosection_t section,
|
||||
ADD_STRING(target, "\n");
|
||||
continue;
|
||||
case DNS_OPT_CHAIN:
|
||||
case DNS_OPT_REPORT_CHANNEL:
|
||||
if (optlen > 0U) {
|
||||
isc_buffer_t sb = optbuf;
|
||||
isc_buffer_setactive(&optbuf, optlen);
|
||||
@@ -4229,14 +4210,6 @@ dns_message_pseudosectiontotext(dns_message_t *msg, dns_pseudosection_t section,
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_CLIENT_TAG:
|
||||
if (optlen == 2U) {
|
||||
uint16_t id =
|
||||
isc_buffer_getuint16(&optbuf);
|
||||
snprintf(buf, sizeof(buf), " %u\n", id);
|
||||
ADD_STRING(target, buf);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_SERVER_TAG:
|
||||
if (optlen == 2U) {
|
||||
uint16_t id =
|
||||
@@ -4246,19 +4219,6 @@ dns_message_pseudosectiontotext(dns_message_t *msg, dns_pseudosection_t section,
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case DNS_OPT_REPORT_CHANNEL:
|
||||
if (optlen > 0U) {
|
||||
isc_buffer_t sb = optbuf;
|
||||
isc_buffer_setactive(&optbuf, optlen);
|
||||
result = render_nameopt(&optbuf,
|
||||
target);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
ADD_STRING(target, "\n");
|
||||
continue;
|
||||
}
|
||||
optbuf = sb;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user