加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
treat-hyphen-as-valid-hostname-char.patch 1.62 KB
一键复制 编辑 原始数据 按行查看 历史
胡宇彪 提交于 2023-07-31 10:00 . sync the patch from v249
From c04904a4f54f8949a6a7821a0859e2732366259b Mon Sep 17 00:00:00 2001
From: licunlong <licunlong1@huawei.com>
Date: Tue, 24 Nov 2020 19:57:38 +0800
Subject: [PATCH] treat hyphen as valid hostname char
---
src/basic/hostname-util.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/basic/hostname-util.c b/src/basic/hostname-util.c
index 5bfa028..b80a2b8 100644
--- a/src/basic/hostname-util.c
+++ b/src/basic/hostname-util.c
@@ -77,6 +77,16 @@ bool valid_ldh_char(char c) {
c == '-';
}
+static bool hostname_valid_char(char c) {
+ return
+ (c >= 'a' && c <= 'z') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c >= '0' && c <= '9') ||
+ c == '-' ||
+ c == '_' ||
+ c == '.';
+}
+
bool hostname_is_valid(const char *s, ValidHostnameFlags flags) {
unsigned n_dots = 0;
const char *p;
@@ -117,7 +127,7 @@ bool hostname_is_valid(const char *s, bool allow_trailing_dot) {
hyphen = true;
} else {
- if (!valid_ldh_char(*p))
+ if (!hostname_valid_char(*p))
return false;
dot = false;
@@ -160,7 +170,7 @@ char* hostname_cleanup(char *s) {
dot = false;
hyphen = true;
- } else if (valid_ldh_char(*p)) {
+ } else if (hostname_valid_char(*p)) {
*(d++) = *p;
dot = false;
hyphen = false;
--
2.23.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化