summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1999-06-04 06:38:11 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1999-06-04 06:38:11 +0000
commit47c0e4c8e63846e5e7e1d4ba0b5fa2425209a162 (patch)
tree1e133c7036b4d496fc57106855858d2de630c618
parent8b44fe6976bc998d4f0e2aad3f16532a857e5794 (diff)
Be consistent about the relaxation of invalid host name checking.
This allows CNAMEs to PTRs with names including slashes, something not really RFC-compliant but still in general use.
-rw-r--r--lib/libc/net/gethostnamadr.c10
-rw-r--r--lib/libc/net/getnetnamadr.c8
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/libc/net/gethostnamadr.c b/lib/libc/net/gethostnamadr.c
index 495ca490893..024b7f44e54 100644
--- a/lib/libc/net/gethostnamadr.c
+++ b/lib/libc/net/gethostnamadr.c
@@ -52,7 +52,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.34 1999/05/30 14:20:29 niklas Exp $";
+static char rcsid[] = "$OpenBSD: gethostnamadr.c,v 1.35 1999/06/04 06:38:10 niklas Exp $";
#endif /* LIBC_SCCS and not lint */
#include <sys/param.h>
@@ -282,7 +282,11 @@ getanswer(answer, anslen, qname, qtype)
}
if (qtype == T_PTR && type == T_CNAME) {
n = dn_expand(answer->buf, eom, cp, tbuf, sizeof tbuf);
+#ifdef USE_RESOLV_NAME_OK
if ((n < 0) || !res_hnok(tbuf)) {
+#else
+ if ((n < 0) || !_hokchar(tbuf)) {
+#endif
had_error++;
continue;
}
@@ -316,7 +320,11 @@ getanswer(answer, anslen, qname, qtype)
continue; /* XXX - had_error++ ? */
}
n = dn_expand(answer->buf, eom, cp, bp, buflen);
+#ifdef USE_RESOLV_NAME_OK
if ((n < 0) || !res_hnok(bp)) {
+#else
+ if ((n < 0) || !_hokchar(bp)) {
+#endif
had_error++;
break;
}
diff --git a/lib/libc/net/getnetnamadr.c b/lib/libc/net/getnetnamadr.c
index 65a6bda9008..0ebc77b6568 100644
--- a/lib/libc/net/getnetnamadr.c
+++ b/lib/libc/net/getnetnamadr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: getnetnamadr.c,v 1.12 1999/05/30 14:20:29 niklas Exp $ */
+/* $OpenBSD: getnetnamadr.c,v 1.13 1999/06/04 06:38:10 niklas Exp $ */
/*
* Copyright (c) 1997, Jason Downs. All rights reserved.
@@ -77,7 +77,7 @@ static char sccsid[] = "@(#)getnetbyaddr.c 8.1 (Berkeley) 6/4/93";
static char sccsid_[] = "from getnetnamadr.c 1.4 (Coimbra) 93/06/03";
static char rcsid[] = "$From: getnetnamadr.c,v 8.7 1996/08/05 08:31:35 vixie Exp $";
#else
-static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.12 1999/05/30 14:20:29 niklas Exp $";
+static char rcsid[] = "$OpenBSD: getnetnamadr.c,v 1.13 1999/06/04 06:38:10 niklas Exp $";
#endif
#endif /* LIBC_SCCS and not lint */
@@ -192,7 +192,11 @@ getnetanswer(answer, anslen, net_i)
GETSHORT(n, cp);
if (class == C_IN && type == T_PTR) {
n = dn_expand(answer->buf, eom, cp, bp, buflen);
+#ifdef USE_RESOLV_NAME_OK
if ((n < 0) || !res_hnok(bp)) {
+#else
+ if ((n < 0) || !_hokchar(bp)) {
+#endif
cp += n;
return (NULL);
}