]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: relax valid_domain() checks to allow an underscore as the
authordjm@openbsd.org <djm@openbsd.org>
Thu, 24 Oct 2024 03:14:37 +0000 (03:14 +0000)
committerDamien Miller <djm@mindrot.org>
Thu, 24 Oct 2024 03:28:40 +0000 (14:28 +1100)
first character. ok deraadt@

OpenBSD-Commit-ID: 3f8be6d32496e5596dd8b14e19cb067ddd7969ef

misc.c

diff --git a/misc.c b/misc.c
index 1b4b55c5034dd949f752858477f564738f8672e5..dd0bd032ae3c0984e00c45edd2e513d49a56709b 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: misc.c,v 1.197 2024/09/25 01:24:04 djm Exp $ */
+/* $OpenBSD: misc.c,v 1.198 2024/10/24 03:14:37 djm Exp $ */
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
  * Copyright (c) 2005-2020 Damien Miller.  All rights reserved.
@@ -2406,7 +2406,8 @@ valid_domain(char *name, int makelower, const char **errstr)
                strlcpy(errbuf, "empty domain name", sizeof(errbuf));
                goto bad;
        }
-       if (!isalpha((u_char)name[0]) && !isdigit((u_char)name[0])) {
+       if (!isalpha((u_char)name[0]) && !isdigit((u_char)name[0]) &&
+          name[0] != '_' /* technically invalid, but common */) {
                snprintf(errbuf, sizeof(errbuf), "domain name \"%.100s\" "
                    "starts with invalid character", name);
                goto bad;