mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 00:49:22 +08:00
fix: lint
This commit is contained in:
@@ -637,7 +637,9 @@ func (s *App) diskWriteTest(fileName string, blockSize int64, fileSize int64) (f
|
||||
if err != nil {
|
||||
return 0, 0
|
||||
}
|
||||
defer file.Close()
|
||||
defer func(file *os.File) {
|
||||
_ = file.Close()
|
||||
}(file)
|
||||
|
||||
start := time.Now()
|
||||
|
||||
@@ -670,7 +672,9 @@ func (s *App) diskReadTest(fileName string, blockSize int64, fileSize int64) (fl
|
||||
if err != nil {
|
||||
return 0, 0
|
||||
}
|
||||
defer file.Close()
|
||||
defer func(file *os.File) {
|
||||
_ = file.Close()
|
||||
}(file)
|
||||
|
||||
start := time.Now()
|
||||
|
||||
|
||||
@@ -42,7 +42,9 @@ func (s *App) Load(w http.ResponseWriter, r *http.Request) {
|
||||
service.Success(w, []types.NV{})
|
||||
return
|
||||
}
|
||||
defer conn.Close()
|
||||
defer func(conn net.Conn) {
|
||||
_ = conn.Close()
|
||||
}(conn)
|
||||
|
||||
_, err = conn.Write([]byte("stats\nquit\n"))
|
||||
if err != nil {
|
||||
|
||||
@@ -210,7 +210,9 @@ func (s *App) SetRootPassword(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
} else {
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
if err = mysql.UserPassword("root", req.Password, "localhost"); err != nil {
|
||||
service.Error(w, http.StatusInternalServerError, "%v", err)
|
||||
return
|
||||
|
||||
@@ -86,7 +86,9 @@ func (r databaseRepo) Create(req *request.DatabaseCreate) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
if req.CreateUser {
|
||||
if err = r.user.Create(&request.DatabaseUserCreate{
|
||||
ServerID: req.ServerID,
|
||||
@@ -110,7 +112,9 @@ func (r databaseRepo) Create(req *request.DatabaseCreate) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
if req.CreateUser {
|
||||
if err = r.user.Create(&request.DatabaseUserCreate{
|
||||
ServerID: req.ServerID,
|
||||
@@ -149,14 +153,18 @@ func (r databaseRepo) Delete(serverID uint, name string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
return mysql.DatabaseDrop(name)
|
||||
case biz.DatabaseTypePostgresql:
|
||||
postgres, err := db.NewPostgres(server.Username, server.Password, server.Host, server.Port)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
return postgres.DatabaseDrop(name)
|
||||
}
|
||||
|
||||
@@ -177,7 +185,9 @@ func (r databaseRepo) Comment(req *request.DatabaseComment) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
return postgres.DatabaseComment(req.Name, req.Comment)
|
||||
}
|
||||
|
||||
|
||||
@@ -139,7 +139,9 @@ func (r databaseServerRepo) Sync(id uint) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
allUsers, err := mysql.Users()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -164,7 +166,9 @@ func (r databaseServerRepo) Sync(id uint) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
allUsers, err := postgres.Users()
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -68,7 +68,9 @@ func (r databaseUserRepo) Create(req *request.DatabaseUserCreate) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
if err = mysql.UserCreate(req.Username, req.Password, req.Host); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -87,7 +89,9 @@ func (r databaseUserRepo) Create(req *request.DatabaseUserCreate) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
if err = postgres.UserCreate(req.Username, req.Password); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -129,7 +133,9 @@ func (r databaseUserRepo) Update(req *request.DatabaseUserUpdate) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
if req.Password != "" {
|
||||
if err = mysql.UserPassword(user.Username, req.Password, user.Host); err != nil {
|
||||
return err
|
||||
@@ -145,7 +151,9 @@ func (r databaseUserRepo) Update(req *request.DatabaseUserUpdate) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
if req.Password != "" {
|
||||
if err = postgres.UserPassword(user.Username, req.Password); err != nil {
|
||||
return err
|
||||
@@ -192,14 +200,18 @@ func (r databaseUserRepo) Delete(id uint) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
_ = mysql.UserDrop(user.Username, user.Host)
|
||||
case biz.DatabaseTypePostgresql:
|
||||
postgres, err := db.NewPostgres(server.Username, server.Password, server.Host, server.Port)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
_ = postgres.UserDrop(user.Username)
|
||||
}
|
||||
|
||||
@@ -218,7 +230,9 @@ func (r databaseUserRepo) DeleteByNames(serverID uint, names []string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
users := make([]*biz.DatabaseUser, 0)
|
||||
if err = r.db.Where("server_id = ? AND username IN ?", serverID, names).Find(&users).Error; err != nil {
|
||||
return err
|
||||
@@ -238,7 +252,9 @@ func (r databaseUserRepo) DeleteByNames(serverID uint, names []string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
for name := range slices.Values(names) {
|
||||
_ = postgres.UserDrop(name)
|
||||
}
|
||||
@@ -254,7 +270,9 @@ func (r databaseUserRepo) fillUser(user *biz.DatabaseUser) {
|
||||
case biz.DatabaseTypeMysql:
|
||||
mysql, err := db.NewMySQL(server.Username, server.Password, fmt.Sprintf("%s:%d", server.Host, server.Port))
|
||||
if err == nil {
|
||||
defer mysql.Close()
|
||||
defer func(mysql *db.MySQL) {
|
||||
_ = mysql.Close()
|
||||
}(mysql)
|
||||
privileges, _ := mysql.UserPrivileges(user.Username, user.Host)
|
||||
user.Privileges = privileges
|
||||
}
|
||||
@@ -267,7 +285,9 @@ func (r databaseUserRepo) fillUser(user *biz.DatabaseUser) {
|
||||
case biz.DatabaseTypePostgresql:
|
||||
postgres, err := db.NewPostgres(server.Username, server.Password, server.Host, server.Port)
|
||||
if err == nil {
|
||||
defer postgres.Close()
|
||||
defer func(postgres *db.Postgres) {
|
||||
_ = postgres.Close()
|
||||
}(postgres)
|
||||
privileges, _ := postgres.UserPrivileges(user.Username)
|
||||
user.Privileges = privileges
|
||||
}
|
||||
|
||||
@@ -421,8 +421,8 @@ func (s *CliService) Port(ctx context.Context, cmd *cli.Command) error {
|
||||
fw := firewall.NewFirewall()
|
||||
err = fw.Port(firewall.FireInfo{
|
||||
Type: firewall.TypeNormal,
|
||||
PortStart: uint(config.HTTP.Port),
|
||||
PortEnd: uint(config.HTTP.Port),
|
||||
PortStart: config.HTTP.Port,
|
||||
PortEnd: config.HTTP.Port,
|
||||
Direction: firewall.DirectionIn,
|
||||
Strategy: firewall.StrategyAccept,
|
||||
}, firewall.OperationAdd)
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/knadh/koanf/v2"
|
||||
stdssh "golang.org/x/crypto/ssh"
|
||||
|
||||
"github.com/tnb-labs/panel/internal/biz"
|
||||
"github.com/tnb-labs/panel/internal/http/request"
|
||||
@@ -44,21 +45,27 @@ func (s *WsService) Session(w http.ResponseWriter, r *http.Request) {
|
||||
ErrorSystem(w)
|
||||
return
|
||||
}
|
||||
defer ws.Close()
|
||||
defer func(ws *websocket.Conn) {
|
||||
_ = ws.Close()
|
||||
}(ws)
|
||||
|
||||
client, err := ssh.NewSSHClient(info.Config)
|
||||
if err != nil {
|
||||
_ = ws.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, err.Error()))
|
||||
return
|
||||
}
|
||||
defer client.Close()
|
||||
defer func(client *stdssh.Client) {
|
||||
_ = client.Close()
|
||||
}(client)
|
||||
|
||||
turn, err := ssh.NewTurn(ws, client)
|
||||
if err != nil {
|
||||
_ = ws.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, err.Error()))
|
||||
return
|
||||
}
|
||||
defer turn.Close()
|
||||
defer func(turn *ssh.Turn) {
|
||||
_ = turn.Close()
|
||||
}(turn)
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
wg := sync.WaitGroup{}
|
||||
@@ -83,7 +90,9 @@ func (s *WsService) Exec(w http.ResponseWriter, r *http.Request) {
|
||||
ErrorSystem(w)
|
||||
return
|
||||
}
|
||||
defer ws.Close()
|
||||
defer func(ws *websocket.Conn) {
|
||||
_ = ws.Close()
|
||||
}(ws)
|
||||
|
||||
// 第一条消息是命令
|
||||
_, cmd, err := ws.ReadMessage()
|
||||
@@ -135,7 +144,7 @@ func (s *WsService) upgrade(w http.ResponseWriter, r *http.Request) (*websocket.
|
||||
func (s *WsService) readLoop(c *websocket.Conn) {
|
||||
for {
|
||||
if _, _, err := c.NextReader(); err != nil {
|
||||
c.Close()
|
||||
_ = c.Close()
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,9 @@ func (r *MySQL) DatabaseExists(name string) (bool, error) {
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
for rows.Next() {
|
||||
var database string
|
||||
@@ -134,7 +136,9 @@ func (r *MySQL) UserPrivileges(user, host string) ([]string, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
re := regexp.MustCompile(`GRANT\s+ALL PRIVILEGES\s+ON\s+[\x60'"]?([^\s\x60'"]+)[\x60'"]?\.\*\s+TO\s+`)
|
||||
var databases []string
|
||||
@@ -167,7 +171,9 @@ func (r *MySQL) Users() ([]types.MySQLUser, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
var users []types.MySQLUser
|
||||
for rows.Next() {
|
||||
@@ -204,7 +210,9 @@ func (r *MySQL) Databases() ([]types.MySQLDatabase, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
var databases []types.MySQLDatabase
|
||||
for rows.Next() {
|
||||
@@ -227,7 +235,9 @@ func (r *MySQL) userGrants(user, host string) ([]string, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
var grants []string
|
||||
for rows.Next() {
|
||||
|
||||
@@ -140,7 +140,9 @@ func (r *Postgres) UserPrivileges(user string) ([]string, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
var databases []string
|
||||
|
||||
@@ -190,7 +192,9 @@ func (r *Postgres) Users() ([]types.PostgresUser, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
var users []types.PostgresUser
|
||||
for rows.Next() {
|
||||
@@ -241,7 +245,9 @@ func (r *Postgres) Databases() ([]types.PostgresDatabase, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
defer func(rows *sql.Rows) {
|
||||
_ = rows.Close()
|
||||
}(rows)
|
||||
|
||||
var databases []types.PostgresDatabase
|
||||
for rows.Next() {
|
||||
|
||||
@@ -35,7 +35,9 @@ func Write(path string, data string, permission os.FileMode) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
defer func(file *os.File) {
|
||||
_ = file.Close()
|
||||
}(file)
|
||||
|
||||
_, err = file.WriteString(data)
|
||||
if err != nil {
|
||||
@@ -71,7 +73,9 @@ func WriteAppend(path string, data string, permission os.FileMode) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
defer func(file *os.File) {
|
||||
_ = file.Close()
|
||||
}(file)
|
||||
|
||||
_, err = file.WriteString(data)
|
||||
if err != nil {
|
||||
|
||||
12
pkg/os/os.go
12
pkg/os/os.go
@@ -13,7 +13,9 @@ func readOSRelease() map[string]string {
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
defer file.Close()
|
||||
defer func(file *os.File) {
|
||||
_ = file.Close()
|
||||
}(file)
|
||||
|
||||
osRelease := make(map[string]string)
|
||||
scanner := bufio.NewScanner(file)
|
||||
@@ -67,7 +69,9 @@ func TCPPortInUse(port uint) bool {
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
defer conn.Close()
|
||||
defer func(conn net.Listener) {
|
||||
_ = conn.Close()
|
||||
}(conn)
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -77,6 +81,8 @@ func UDPPortInUse(port uint) bool {
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
defer conn.Close()
|
||||
defer func(conn net.PacketConn) {
|
||||
_ = conn.Close()
|
||||
}(conn)
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -203,7 +203,9 @@ func ExecfWithTTY(shell string, args ...any) (string, error) {
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("run %s failed", shell)
|
||||
}
|
||||
defer f.Close()
|
||||
defer func(f *os.File) {
|
||||
_ = f.Close()
|
||||
}(f)
|
||||
|
||||
if _, err = io.Copy(&out, f); ptyError(err) != nil {
|
||||
return "", fmt.Errorf("run %s failed, out: %s, err: %w", shell, strings.TrimSpace(out.String()), err)
|
||||
|
||||
@@ -58,7 +58,9 @@ func (t *Turn) Write(p []byte) (n int, err error) {
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
defer writer.Close()
|
||||
defer func(writer io.WriteCloser) {
|
||||
_ = writer.Close()
|
||||
}(writer)
|
||||
|
||||
return writer.Write(p)
|
||||
}
|
||||
|
||||
@@ -155,7 +155,9 @@ func GetLocalIPv4() (string, error) {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer conn.Close()
|
||||
defer func(conn stdnet.Conn) {
|
||||
_ = conn.Close()
|
||||
}(conn)
|
||||
|
||||
local := conn.LocalAddr().(*stdnet.UDPAddr)
|
||||
return local.IP.String(), nil
|
||||
@@ -167,7 +169,9 @@ func GetLocalIPv6() (string, error) {
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer conn.Close()
|
||||
defer func(conn stdnet.Conn) {
|
||||
_ = conn.Close()
|
||||
}(conn)
|
||||
|
||||
local := conn.LocalAddr().(*stdnet.UDPAddr)
|
||||
return local.IP.String(), nil
|
||||
|
||||
Reference in New Issue
Block a user