fix panic

This commit is contained in:
2023-07-07 23:06:47 +02:00
parent b2e65a9df0
commit 40d11f97f4
2 changed files with 17 additions and 2 deletions

View File

@@ -18,7 +18,7 @@ func (acc *account) unmarshal(data map[string]interface{}) {
typeOfPerson := valueOfPerson.Type()
for i := 0; i < valueOfPerson.NumField(); i++ {
field := valueOfPerson.Field(i)
tag := typeOfPerson.Field(i).Tag.Get("mytag")
tag := typeOfPerson.Field(i).Tag.Get("prosody")
if val, ok := data[tag]; ok {
field.Set(reflect.ValueOf(val))
@@ -28,7 +28,10 @@ func (acc *account) unmarshal(data map[string]interface{}) {
// loadAccount read the user .dat file and retrieves the data store in it
func (p *Prosody) loadAccount(username string) (*account, error) {
var acc *account
if strings.HasSuffix(username, p.plainDomain) {
username = strings.Replace(username, p.plainDomain, "", -1)
}
data, err := os.ReadFile(p.accountsPath + username + ".dat")
if err != nil {
return nil, err
@@ -45,6 +48,7 @@ func (p *Prosody) loadAccount(username string) (*account, error) {
}
}
acc := &account{}
acc.unmarshal(mapValues)
return acc, nil
}