fix parse to int

This commit is contained in:
Urko 2023-07-07 23:40:57 +02:00
parent 0d4f34f6d5
commit 44c8c96fbd
3 changed files with 10 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package handler
import (
"fmt"
"log"
"gitea.urkob.com/urko/prosody-password/internal/services/fail2ban"
"gitea.urkob.com/urko/prosody-password/internal/services/prosody"
@ -33,6 +34,7 @@ func (handler ProsodyHandler) Post(c *fiber.Ctx) error {
}
if err := handler.prosodyService.ChangePassword(req.User, req.CurrentPassword, req.NewPassword); err != nil {
log.Println("c.IPs()", c.IPs())
for _, ip := range c.IPs() {
handler.fail2banSrv.FailedAttempt(ip)
}

View File

@ -10,7 +10,7 @@ import (
type account struct {
Salt string `prosody:"salt"`
StoredKey string `prosody:"stored_key"`
IterationCount int `prosody:"iteration_count"`
IterationCount string `prosody:"iteration_count"`
}
func (acc *account) unmarshal(data map[string]interface{}) {

View File

@ -8,6 +8,7 @@ import (
"fmt"
"log"
"os/exec"
"strconv"
"github.com/xdg-go/pbkdf2"
)
@ -18,7 +19,12 @@ func (p *Prosody) ChangePassword(user string, currentPwd string, newPwd string)
return fmt.Errorf("p.loadAccount %w", err)
}
storedKey, err := hashPassword(currentPwd, acc.Salt, acc.IterationCount)
iterationCount, err := strconv.Atoi(acc.IterationCount)
if err != nil {
return fmt.Errorf("strconv.Atoi %w", err)
}
storedKey, err := hashPassword(currentPwd, acc.Salt, iterationCount)
if err != nil {
return fmt.Errorf("hashPassword: %w", err)
}