mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-04-19 21:42:24 +00:00
avoid empty client id
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
This commit is contained in:
parent
47243f0374
commit
0633a25d29
1 changed files with 36 additions and 2 deletions
|
@ -172,6 +172,23 @@ func (s *InboundService) AddInbound(inbound *model.Inbound) (*model.Inbound, boo
|
||||||
return inbound, false, err
|
return inbound, false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Secure client ID
|
||||||
|
for _, client := range clients {
|
||||||
|
if inbound.Protocol == "trojan" {
|
||||||
|
if client.Password == "" {
|
||||||
|
return inbound, false, common.NewError("empty client ID")
|
||||||
|
}
|
||||||
|
} else if inbound.Protocol == "shadowsocks" {
|
||||||
|
if client.Email == "" {
|
||||||
|
return inbound, false, common.NewError("empty client ID")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if client.ID == "" {
|
||||||
|
return inbound, false, common.NewError("empty client ID")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
db := database.GetDB()
|
db := database.GetDB()
|
||||||
tx := db.Begin()
|
tx := db.Begin()
|
||||||
defer func() {
|
defer func() {
|
||||||
|
@ -413,6 +430,23 @@ func (s *InboundService) AddInboundClient(data *model.Inbound) (bool, error) {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Secure client ID
|
||||||
|
for _, client := range clients {
|
||||||
|
if oldInbound.Protocol == "trojan" {
|
||||||
|
if client.Password == "" {
|
||||||
|
return false, common.NewError("empty client ID")
|
||||||
|
}
|
||||||
|
} else if oldInbound.Protocol == "shadowsocks" {
|
||||||
|
if client.Email == "" {
|
||||||
|
return false, common.NewError("empty client ID")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if client.ID == "" {
|
||||||
|
return false, common.NewError("empty client ID")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var oldSettings map[string]interface{}
|
var oldSettings map[string]interface{}
|
||||||
err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings)
|
err = json.Unmarshal([]byte(oldInbound.Settings), &oldSettings)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -496,9 +530,9 @@ func (s *InboundService) DelInboundClient(inboundId int, clientId string) (bool,
|
||||||
client_key = "email"
|
client_key = "email"
|
||||||
}
|
}
|
||||||
|
|
||||||
inerfaceClients := settings["clients"].([]interface{})
|
interfaceClients := settings["clients"].([]interface{})
|
||||||
var newClients []interface{}
|
var newClients []interface{}
|
||||||
for _, client := range inerfaceClients {
|
for _, client := range interfaceClients {
|
||||||
c := client.(map[string]interface{})
|
c := client.(map[string]interface{})
|
||||||
c_id := c[client_key].(string)
|
c_id := c[client_key].(string)
|
||||||
if c_id == clientId {
|
if c_id == clientId {
|
||||||
|
|
Loading…
Reference in a new issue