diff options
| author | Ilya Kryuchkov <42733472+kr-ilya@users.noreply.github.com> | 2026-01-05 07:54:56 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-05 07:54:56 +0300 |
| commit | 6041d10e3d5d8b0021dd596bdee8f0064a495f80 (patch) | |
| tree | 897ac55d8389dfea859e6071d08c56f97e843a09 /util | |
| parent | 4800f8fb706a092a38255ee70904227238b2a6f6 (diff) | |
Refactor code and fix linter warnings (#3627)
* refactor: use any instead of empty interface
* refactor: code cleanup
Diffstat (limited to 'util')
| -rw-r--r-- | util/crypto/crypto.go | 3 | ||||
| -rw-r--r-- | util/ldap/ldap.go | 38 | ||||
| -rw-r--r-- | util/random/random.go | 6 | ||||
| -rw-r--r-- | util/reflect_util/reflect.go | 4 | ||||
| -rw-r--r-- | util/sys/sys_darwin.go | 4 |
5 files changed, 36 insertions, 19 deletions
diff --git a/util/crypto/crypto.go b/util/crypto/crypto.go index 05d088a8..2db5bd83 100644 --- a/util/crypto/crypto.go +++ b/util/crypto/crypto.go @@ -13,6 +13,5 @@ func HashPasswordAsBcrypt(password string) (string, error) { // CheckPasswordHash verifies if the given password matches the bcrypt hash. func CheckPasswordHash(hash, password string) bool { - err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) - return err == nil + return bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) == nil } diff --git a/util/ldap/ldap.go b/util/ldap/ldap.go index 795d0e23..1b9faa53 100644 --- a/util/ldap/ldap.go +++ b/util/ldap/ldap.go @@ -24,13 +24,22 @@ type Config struct { // FetchVlessFlags returns map[email]enabled func FetchVlessFlags(cfg Config) (map[string]bool, error) { addr := fmt.Sprintf("%s:%d", cfg.Host, cfg.Port) - var conn *ldap.Conn - var err error + + scheme := "ldap" + if cfg.UseTLS { + scheme = "ldaps" + } + + ldapURL := fmt.Sprintf("%s://%s", scheme, addr) + + var opts []ldap.DialOpt if cfg.UseTLS { - conn, err = ldap.DialTLS("tcp", addr, &tls.Config{InsecureSkipVerify: false}) - } else { - conn, err = ldap.Dial("tcp", addr) + opts = append(opts, ldap.DialWithTLSConfig(&tls.Config{ + InsecureSkipVerify: false, + })) } + + conn, err := ldap.DialURL(ldapURL, opts...) if err != nil { return nil, err } @@ -91,13 +100,22 @@ func FetchVlessFlags(cfg Config) (map[string]bool, error) { // AuthenticateUser searches user by cfg.UserAttr and attempts to bind with provided password. func AuthenticateUser(cfg Config, username, password string) (bool, error) { addr := fmt.Sprintf("%s:%d", cfg.Host, cfg.Port) - var conn *ldap.Conn - var err error + + scheme := "ldap" + if cfg.UseTLS { + scheme = "ldaps" + } + + ldapURL := fmt.Sprintf("%s://%s", scheme, addr) + + var opts []ldap.DialOpt if cfg.UseTLS { - conn, err = ldap.DialTLS("tcp", addr, &tls.Config{InsecureSkipVerify: false}) - } else { - conn, err = ldap.Dial("tcp", addr) + opts = append(opts, ldap.DialWithTLSConfig(&tls.Config{ + InsecureSkipVerify: false, + })) } + + conn, err := ldap.DialURL(ldapURL, opts...) if err != nil { return false, err } diff --git a/util/random/random.go b/util/random/random.go index c746df63..ddb819c1 100644 --- a/util/random/random.go +++ b/util/random/random.go @@ -18,10 +18,10 @@ var ( // init initializes the character sequences used for random string generation. // It sets up arrays for numbers, lowercase letters, uppercase letters, and combinations. func init() { - for i := 0; i < 10; i++ { + for i := range 10 { numSeq[i] = rune('0' + i) } - for i := 0; i < 26; i++ { + for i := range 26 { lowerSeq[i] = rune('a' + i) upperSeq[i] = rune('A' + i) } @@ -40,7 +40,7 @@ func init() { // Seq generates a random string of length n containing alphanumeric characters (numbers, lowercase and uppercase letters). func Seq(n int) string { runes := make([]rune, n) - for i := 0; i < n; i++ { + for i := range n { idx, err := rand.Int(rand.Reader, big.NewInt(int64(len(allSeq)))) if err != nil { panic("crypto/rand failed: " + err.Error()) diff --git a/util/reflect_util/reflect.go b/util/reflect_util/reflect.go index 1f557e0d..b56f1456 100644 --- a/util/reflect_util/reflect.go +++ b/util/reflect_util/reflect.go @@ -7,7 +7,7 @@ import "reflect" func GetFields(t reflect.Type) []reflect.StructField { num := t.NumField() fields := make([]reflect.StructField, 0, num) - for i := 0; i < num; i++ { + for i := range num { fields = append(fields, t.Field(i)) } return fields @@ -17,7 +17,7 @@ func GetFields(t reflect.Type) []reflect.StructField { func GetFieldValues(v reflect.Value) []reflect.Value { num := v.NumField() fields := make([]reflect.Value, 0, num) - for i := 0; i < num; i++ { + for i := range num { fields = append(fields, v.Field(i)) } return fields diff --git a/util/sys/sys_darwin.go b/util/sys/sys_darwin.go index 6ecc78c0..b635b549 100644 --- a/util/sys/sys_darwin.go +++ b/util/sys/sys_darwin.go @@ -47,11 +47,11 @@ func CPUPercentRaw() (float64, error) { var out [5]uint64 switch len(raw) { case 5 * 8: - for i := 0; i < 5; i++ { + for i := range 5 { out[i] = binary.LittleEndian.Uint64(raw[i*8 : (i+1)*8]) } case 5 * 4: - for i := 0; i < 5; i++ { + for i := range 5 { out[i] = uint64(binary.LittleEndian.Uint32(raw[i*4 : (i+1)*4])) } default: |
