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/ldap | |
| parent | 4800f8fb706a092a38255ee70904227238b2a6f6 (diff) | |
Refactor code and fix linter warnings (#3627)
* refactor: use any instead of empty interface
* refactor: code cleanup
Diffstat (limited to 'util/ldap')
| -rw-r--r-- | util/ldap/ldap.go | 38 |
1 files changed, 28 insertions, 10 deletions
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 } |
