diff --git a/pym/cl_client.py b/pym/cl_client.py index 0f10adf..b9394cd 100644 --- a/pym/cl_client.py +++ b/pym/cl_client.py @@ -1922,18 +1922,44 @@ class client(share, commandServer, encrypt): self.printERROR(_("The computer is not in domain")) self.printWARNING(_("Use passwd")) return False + count = 2 # Получаем старый пароль пользователя curPassword = self.getUserPassword(_("Enter current password")) if not curPassword: self.printERROR(_("Current password is empty")) + for i in range(count): + count -= 1 + # Получаем старый пароль пользователя + curPassword = self.getUserPassword(_("Enter current password")) + if curPassword: + break + self.printERROR(_("Current password is empty")) + if not curPassword: return False userDN = self.ldapDataObj.addDN("uid=%s"%os.environ["USER"], usersDN) # Проверяем в LDAP сервере текущий пароль пользователя ret, err = self.checkUserPwdLDAP(server, userDN, curPassword) if not ret: self.printERROR(err) + for i in range(count): + # Получаем старый пароль пользователя + curPassword = self.getUserPassword(_("Enter current password")) + if not curPassword: + self.printERROR(_("Current password is empty")) + continue + # Проверяем в LDAP сервере текущий пароль пользователя + ret, err = self.checkUserPwdLDAP(server, userDN, curPassword) + if ret: + break + self.printERROR(err) + if not ret: return False password = self.getUserPwd({"p":""}, "p", False) + if password is False: + for i in range(2): + password = self.getUserPwd({"p":""}, "p", False) + if password: + break if password is False: return False # Переменные для записи в env файл