diff --git a/CHANGELOG b/CHANGELOG index b424fb0c6e..f92c74e314 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ +* Do not set LDAP password on set_preferences * Remove support for Python 2.7 Version 4.8.0 - 2018-04-23 diff --git a/res.py b/res.py index d1fe1ec113..0d5bfba52a 100644 --- a/res.py +++ b/res.py @@ -131,35 +131,6 @@ class User(metaclass=PoolMeta): cls._check_passwd_ldap_user(logins) super(User, cls).write(*args) - @classmethod - def set_preferences(cls, values, parameters): - if 'password' in values: - if 'password' not in parameters: - msg = cls.fields_get(['password'])['password']['string'] - raise LoginException('password', msg, type='password') - old_password = parameters['password'] - try: - server = ldap_server() - if server: - user = cls(Transaction().user) - uid = config.get(section, 'uid', default='uid') - users = cls.ldap_search_user( - user.login, server, attrs=[uid]) - if users and len(users) == 1: - [(dn, attrs)] = users - con = ldap3.Connection(server, dn, old_password) - if con.bind(): - con.extend.standard.modify_password( - dn, old_password, values['password']) - values = values.copy() - del values['password'] - else: - cls.raise_user_error('wrong_password') - except LDAPException: - logger.error('LDAPError when setting preferences', - exc_info=True) - super(User, cls).set_preferences(values, parameters) - @classmethod def _login_ldap(cls, login, parameters): if 'password' not in parameters: