upstream: relax valid_domain() checks to allow an underscore as the

first character. ok deraadt@

OpenBSD-Commit-ID: 3f8be6d32496e5596dd8b14e19cb067ddd7969ef
This commit is contained in:
djm@openbsd.org 2024-10-24 03:14:37 +00:00 committed by Damien Miller
parent 1b05d5437b
commit 94cdfebec8
No known key found for this signature in database

5
misc.c
View File

@ -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;