about summary refs log tree commit diff
path: root/resolv/res_debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'resolv/res_debug.c')
-rw-r--r--resolv/res_debug.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/resolv/res_debug.c b/resolv/res_debug.c
index cc6f84fea1..49eef72cd2 100644
--- a/resolv/res_debug.c
+++ b/resolv/res_debug.c
@@ -671,7 +671,7 @@ __p_rr(cp, msg, file)
 		fprintf(file, "\t%s", inet_ntop(AF_INET6, cp, t, sizeof t));
 		cp += dlen;
 		break;
-	}
+	    }
 
 	case T_LOC: {
 		char t[255];
@@ -679,7 +679,30 @@ __p_rr(cp, msg, file)
 		(void) fprintf(file, "\t%s", loc_ntoa(cp, t));
 		cp += dlen;
 		break;
-	}
+	    }
+
+	case T_NAPTR: {
+		u_int order, preference;
+
+		order = _getshort(cp);  cp += INT16SZ;
+		preference   = _getshort(cp);  cp += INT16SZ;
+		fprintf(file, "\t%u %u ",order, preference);
+		/* Flags */
+		n = *cp++;
+		fprintf(file,"\"%.*s\" ", (int)n, cp);
+		cp += n;
+		/* Service */
+		n = *cp++;
+		fprintf(file,"\"%.*s\" ", (int)n, cp);
+		cp += n;
+		/* Regexp */
+		n = *cp++;
+		fprintf(file,"\"%.*s\" ", (int)n, cp);
+		cp += n;
+		if ((cp = p_fqname(cp, msg, file)) == NULL)
+			return (NULL);
+		break;
+	    }
 
 	case T_SRV: {
 		u_int priority, weight, port;
@@ -691,7 +714,7 @@ __p_rr(cp, msg, file)
 		if ((cp = p_fqname(cp, msg, file)) == NULL)
 			return (NULL);
 		break;
-	}
+	    }
 
 	case T_MINFO:
 	case T_RP:
@@ -908,6 +931,7 @@ const struct res_sym __p_type_syms[] = {
 	{T_UINFO,	"UINFO",	"user information (nonstandard)"},
 	{T_UID,		"UID",		"user ID (nonstandard)"},
 	{T_GID,		"GID",		"group ID (nonstandard)"},
+	{T_NAPTR,	"NAPTR",	"URN Naming Authority"},
 #ifdef ALLOW_T_UNSPEC
 	{T_UNSPEC,	"UNSPEC",	"unspecified data (nonstandard)"},
 #endif /* ALLOW_T_UNSPEC */