You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
package http
|
|
|
|
|
|
|
|
import (
|
|
|
|
"google.golang.org/protobuf/proto"
|
|
|
|
|
|
|
|
"github.com/xtls/xray-core/common/protocol"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (a *Account) Equals(another protocol.Account) bool {
|
|
|
|
if account, ok := another.(*Account); ok {
|
|
|
|
return a.Username == account.Username
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
func (a *Account) ToProto() proto.Message {
|
|
|
|
return a
|
|
|
|
}
|
|
|
|
|
|
|
|
func (a *Account) AsAccount() (protocol.Account, error) {
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (sc *ServerConfig) HasAccount(username, password string) bool {
|
|
|
|
if sc.Accounts == nil {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
p, found := sc.Accounts[username]
|
|
|
|
if !found {
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
return p == password
|
|
|
|
}
|