IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
UserChangePassword followed this strategy:
a1. Eventually encrypt user password if the users
auth_driver is CORE_AUTH
a2. Set (probably encrypted) password with
User::set_password
a3. User::set_password tries to validate (probably
encrypted) password instead of the raw password
UserChangeAuth did something similar:
b1. If password is given (not empty) do a1 through a3
b2. Set auth_driver
The change proposes the following:
* In set_password:
1. Validate the raw password
2. Do encryption if needed
* In UserChangePassword: simply call set_password
* In UserChangeAuth: set auth_driver *before* calling
set_password, such that set_password does the right thing
if the auth_driver changes
Note: I needed to move the implementation of set_password
from User.h to User.cc since it seems impossible to access
UserPool::CORE_AUTH from within User.h.
--cluster param needs to create a client to search for the cluster. This
happens while the parameters are being parsed so it fails if there is no
ONE_AUTH. To make it work the parameters user, password and endpoint
are saved as OneHelper class variables as soon as they are parsed. This way
they can be used to create the XMLRPC client before all parameters are parsed.