* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: message.c,v 1.205 2002/02/06 04:20:23 marka Exp $ */
+/* $Id: message.c,v 1.206 2002/02/11 02:03:23 marka Exp $ */
/***
*** Imports
dns_name_t *name = NULL;
isc_result_t result;
char buf[sizeof("1234567890")];
+ isc_uint32_t mbz;
REQUIRE(DNS_MESSAGE_VALID(msg));
REQUIRE(target != NULL);
if ((flags & DNS_MESSAGETEXTFLAG_NOCOMMENTS) == 0)
ADD_STRING(target, ";; OPT PSEUDOSECTION:\n");
ADD_STRING(target, "; EDNS: version: ");
- sprintf(buf, "%4u",
- (unsigned int)((ps->ttl &
+ snprintf(buf, sizeof(buf), "%u",
+ (unsigned int)((ps->ttl &
0x00ff0000 >> 16)));
ADD_STRING(target, buf);
- ADD_STRING(target, ", udp=");
- sprintf(buf, "%7u\n",
- (unsigned int)ps->rdclass);
+ ADD_STRING(target, ", flags:");
+ if ((ps->ttl & DNS_MESSAGEEXTFLAG_DO) != 0)
+ ADD_STRING(target, " do");
+ mbz = ps->ttl & ~DNS_MESSAGEEXTFLAG_DO & 0xffff;
+ if (mbz != 0) {
+ ADD_STRING(target, "; MBZ: ");
+ snprintf(buf, sizeof(buf), "%.4x ", mbz);
+ ADD_STRING(target, buf);
+ ADD_STRING(target, ", udp: ");
+ } else
+ ADD_STRING(target, "; udp: ");
+ snprintf(buf, sizeof(buf), "%u\n", (unsigned int)ps->rdclass);
ADD_STRING(target, buf);
return (ISC_R_SUCCESS);
case DNS_PSEUDOSECTION_TSIG: