MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / LoadBaseInfo

Method LoadBaseInfo

agent/app/service/fail2ban.go:33–76  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

31}
32
33func (u *Fail2BanService) LoadBaseInfo() (dto.Fail2BanBaseInfo, error) {
34 var baseInfo dto.Fail2BanBaseInfo
35 client, err := toolbox.NewFail2Ban()
36 if err != nil {
37 return baseInfo, err
38 }
39 baseInfo.IsEnable, baseInfo.IsActive, baseInfo.IsExist = client.Status()
40 if !baseInfo.IsActive {
41 baseInfo.Version = "-"
42 } else {
43 baseInfo.Version = client.Version()
44 }
45 conf, err := os.ReadFile(defaultFail2BanPath)
46 if err != nil {
47 if baseInfo.IsActive {
48 return baseInfo, fmt.Errorf("read fail2ban conf of %s failed, err: %v", defaultFail2BanPath, err)
49 } else {
50 return baseInfo, nil
51 }
52 }
53 lines := strings.Split(string(conf), "\n")
54
55 block := ""
56 for _, line := range lines {
57 if strings.HasPrefix(strings.ToLower(line), "[default]") {
58 block = "default"
59 continue
60 }
61 if strings.HasPrefix(line, "[sshd]") {
62 block = "sshd"
63 continue
64 }
65 if strings.HasPrefix(line, "[") {
66 block = ""
67 continue
68 }
69 if block != "default" && block != "sshd" {
70 continue
71 }
72 loadFailValue(line, &baseInfo)
73 }
74
75 return baseInfo, nil
76}
77
78func (u *Fail2BanService) Search(req dto.Fail2BanSearch) ([]string, error) {
79 var list []string

Callers

nothing calls this directly

Calls 3

loadFailValueFunction · 0.85
StatusMethod · 0.65
VersionMethod · 0.65

Tested by

no test coverage detected