Description: Accept and ignore SSHFP and LOC entries.
 The record types are defined in RFC 1876 (LOC) and RFC 4255 (SSHFP).
Author: Petter Reinholdtsen <pere@debian.org>
Bug-Debian: https://bugs.debian.org/841179
Forwarded: no
Last-Update: 2024-08-08
---
--- nslint-3.2.orig/nslint.c
+++ nslint-3.2/nslint.c
@@ -122,6 +122,8 @@ struct ignoredzone {
 #define REC_RP		0x0200
 #define REC_TXT		0x0400
 #define REC_SRV		0x0800
+#define REC_LOC		0x08000
+#define REC_SSHFP	0x10000
 
 /* These aren't real records */
 #define REC_OTHER	0x1000
@@ -147,11 +149,13 @@ enum rrtype {
 	RR_WKS,
 	RR_RRSIG,
 	RR_NSEC,
+	RR_LOC,
+	RR_SSHFP,
 };
 
 /* Test for records we want to map to REC_OTHER */
 #define MASK_TEST_REC (REC_WKS | REC_HINFO | \
-    REC_MX | REC_SOA | REC_RP | REC_TXT | REC_SRV | REC_UNKNOWN)
+    REC_MX | REC_SOA | REC_RP | REC_TXT | REC_SRV | REC_LOC | REC_SSHFP | REC_UNKNOWN)
 
 /* Mask away records we don't care about in the final processing to REC_OTHER */
 #define MASK_CHECK_REC \
@@ -2723,6 +2727,14 @@ process(const char *file, const char *do
 			/* XXX */
 			continue;
 
+		case RR_LOC:
+			/* XXX */
+			continue;
+
+		case RR_SSHFP:
+			/* XXX */
+			continue;
+
 		default:
 			/* Unknown record type */
 			++errors;
@@ -2825,6 +2837,10 @@ txt2rrtype(const char *str)
 		return (RR_RRSIG);
 	if (strcasecmp(str, "NSEC") == 0)
 		return (RR_NSEC);
+	if (strcasecmp(str, "LOC") == 0)
+		return (RR_LOC);
+	if (strcasecmp(str, "SSHFP") == 0)
+		return (RR_SSHFP);
 	return (RR_UNDEF);
 }
 
