From 0f349fc70d283e15f42b663f4d555c6de20e691e Mon Sep 17 00:00:00 2001 From: Chris Mann Date: Sat, 22 Jul 2023 07:43:41 +0200 Subject: [PATCH] Factoring the model user and correcting password --- model-user.go | 6 ++++++ profile.go | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/model-user.go b/model-user.go index b8ac3e1..02ae95f 100644 --- a/model-user.go +++ b/model-user.go @@ -92,6 +92,12 @@ func modify(user User, config *ConfigFile, ldapConn *ldap.Conn) error { return nil } +func passwd(user User, config *ConfigFile, ldapConn *ldap.Conn) error { + passwordModifyRequest := ldap.NewPasswordModifyRequest(user.DN, "", user.Password) + _, err := ldapConn.PasswordModify(passwordModifyRequest) + return err +} + func replaceIfContent(modifReq *ldap.ModifyRequest, key string, value string) error { if value != "" { modifReq.Replace(key, []string{value}) diff --git a/profile.go b/profile.go index 050eed0..42a07bf 100644 --- a/profile.go +++ b/profile.go @@ -3,8 +3,6 @@ package main import ( "net/http" "strings" - - "github.com/go-ldap/ldap/v3" ) type ProfileTplData struct { @@ -141,8 +139,10 @@ func handlePasswd(w http.ResponseWriter, r *http.Request) { } else if password2 != password { data.NoMatchError = true } else { - passwordModifyRequest := ldap.NewPasswordModifyRequest(login.Info.DN, "", password) - _, err := login.conn.PasswordModify(passwordModifyRequest) + err := passwd(User{ + DN: login.Info.DN, + Password: password, + }, config, login.conn) if err != nil { data.ErrorMessage = err.Error() } else {