|
@@ -573,15 +573,19 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin
|
|
|
}
|
|
|
|
|
|
oldEmail := ""
|
|
|
+ newClientId := ""
|
|
|
clientIndex := 0
|
|
|
for index, oldClient := range oldClients {
|
|
|
oldClientId := ""
|
|
|
if oldInbound.Protocol == "trojan" {
|
|
|
oldClientId = oldClient.Password
|
|
|
+ newClientId = clients[0].Password
|
|
|
} else if oldInbound.Protocol == "shadowsocks" {
|
|
|
oldClientId = oldClient.Email
|
|
|
+ newClientId = clients[0].Email
|
|
|
} else {
|
|
|
oldClientId = oldClient.ID
|
|
|
+ newClientId = clients[0].ID
|
|
|
}
|
|
|
if clientId == oldClientId {
|
|
|
oldEmail = oldClient.Email
|
|
@@ -590,6 +594,11 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // Validate new client ID
|
|
|
+ if newClientId == "" {
|
|
|
+ return false, common.NewError("empty client ID")
|
|
|
+ }
|
|
|
+
|
|
|
if len(clients[0].Email) > 0 && clients[0].Email != oldEmail {
|
|
|
existEmail, err := s.checkEmailsExistForClients(clients)
|
|
|
if err != nil {
|
|
@@ -682,7 +691,7 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin
|
|
|
return needRestart, tx.Save(oldInbound).Error
|
|
|
}
|
|
|
|
|
|
-func (s *InboundService) AddTraffic(traffics []*xray.Traffic, clientTraffics []*xray.ClientTraffic) (error, bool) {
|
|
|
+func (s *InboundService) AddTraffic(inboundTraffics []*xray.Traffic, clientTraffics []*xray.ClientTraffic) (error, bool) {
|
|
|
var err error
|
|
|
db := database.GetDB()
|
|
|
tx := db.Begin()
|
|
@@ -694,7 +703,7 @@ func (s *InboundService) AddTraffic(traffics []*xray.Traffic, clientTraffics []*
|
|
|
tx.Commit()
|
|
|
}
|
|
|
}()
|
|
|
- err = s.addInboundTraffic(tx, traffics)
|
|
|
+ err = s.addInboundTraffic(tx, inboundTraffics)
|
|
|
if err != nil {
|
|
|
return err, false
|
|
|
}
|