fix 文件编辑后缀识别支持配置文件名或者正则表达式

This commit is contained in:
bwcx_jzy 2023-04-13 15:04:45 +08:00
parent 6714aa7527
commit 25c9f7c0d9
No known key found for this signature in database
GPG Key ID: E187D6E9DDDE8C53
2 changed files with 17 additions and 11 deletions

View File

@ -7,6 +7,7 @@
1. 【server】优化 构建 SSH 发布命令支持 `SSH_RELEASE_PATH` 环境变量(感谢@定格)
2. 【server】修复 全屏终端无法打开文件管理(感谢@Pluto
3. 【server】优化 自动探测服务端登录验证码是否可用
4. 【all】优化 文件编辑后缀识别支持配置文件名或者正则表达式(感谢@MichelleChung
------

View File

@ -27,6 +27,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.text.StrSplitter;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -108,16 +109,16 @@ public class AgentWhitelist extends BaseJsonModel {
return null;
}
return list.stream()
.map(s -> {
String val = String.format("/%s/", s);
val = FileUtil.normalize(val);
FileUtils.checkSlip(val);
// 判断是否保护jpom 路径
Assert.state(!StrUtil.startWith(ExtConfigBean.getPath(), val), errorMsg);
return val;
})
.distinct()
.collect(Collectors.toList());
.map(s -> {
String val = String.format("/%s/", s);
val = FileUtil.normalize(val);
FileUtils.checkSlip(val);
// 判断是否保护jpom 路径
Assert.state(!StrUtil.startWith(ExtConfigBean.getPath(), val), errorMsg);
return val;
})
.distinct()
.collect(Collectors.toList());
}
/**
@ -240,7 +241,11 @@ public class AgentWhitelist extends BaseJsonModel {
}
Set<Map.Entry<String, Charset>> entries = map.entrySet();
for (Map.Entry<String, Charset> entry : entries) {
if (StrUtil.endWithIgnoreCase(filename, StrUtil.DOT + entry.getKey())) {
if (StrUtil.endWithAnyIgnoreCase(filename, entry.getKey(), StrUtil.DOT + entry.getKey())) {
return entry.getValue();
}
if (ReUtil.isMatch(entry.getKey(), filename)) {
// 满足正则条件
return entry.getValue();
}
}