Bug 29971 - Allow user password change expired password at UMC login prompt
Allow user password change expired password at UMC login prompt
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.1
Other Linux
: P5 enhancement (vote)
: UCS 3.1-1
Assigned To: Dirk Wiesenthal
Felix Botner
:
: 30571 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-01-09 08:31 CET by Janis Meybohm
Modified: 2013-03-25 19:57 CET (History)
5 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Usability
Max CVSS v3 score:


Attachments
pamtest.py (deleted)
2013-01-31 07:53 CET, Stefan Gohmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Janis Meybohm univentionstaff 2013-01-09 08:31:09 CET
Whith UCS 2.4 it was possible to change expired user passwords via UDM. Starting with UCS 3.x, users with expired passwords (e.g. "change password on next login") can not login via UMC and therefore can't change their passwords.
Comment 1 Alexander Kläser univentionstaff 2013-01-10 09:31:30 CET
This feature would certainly be nice from a usability point of view. As UMC currently uses PAM, it would be necessary to detect an expired password and change it through PAM.
Comment 2 Stefan Gohmann univentionstaff 2013-01-31 07:53:18 CET
Created attachment 5024 [details]
pamtest.py

With this test script it works for me to change the password via python PAM:

echo "password sufficient pam_krb5.so use_first_pass" >> /etc/pam.d/univention-management-console

root@master501:~# ./pamtest.py stefan
Password: 
Current Kerberos password: 
Your password will expire at Thu Jan  1 01:00:00 1970

Enter new Kerberos password: 
Retype new Kerberos password: 
root@master501:~# ./pamtest.py stefan
Password: 
Good to go!
root@master501:~#
Comment 3 Stefan Gohmann univentionstaff 2013-02-26 07:04:15 CET
*** Bug 30571 has been marked as a duplicate of this bug. ***
Comment 4 Erik Damrose univentionstaff 2013-02-26 13:25:34 CET
Changing the password this way should only be able via a https connection
Comment 5 Dirk Wiesenthal univentionstaff 2013-03-11 17:57:35 CET
(In reply to comment #4)
> Changing the password this way should only be able via a https connection

Agreed, but not implemented. Reason: You can login via HTTP, this is not different from changing a password via HTTP. In both cases, the password is sent unencrypted.
Comment 6 Dirk Wiesenthal univentionstaff 2013-03-11 18:14:18 CET
Fixed in
  univention-management-console 5.0.61-1.726.201303111755
and
  univention-management-console-frontend 2.0.220-1.591.201303111757

If an expired password is detected, the LoginDialog shows two additional inputs (New Password and Retype), summing up to 4 inputs. If username/password is given again and a new password is chosen, UMC tries to update the password (only works if old password is really expired) in PAM/Kerberos. At least Firefox asks if a saved password shall be updated (other browsers not tested). New Status Code added (415).

QA: Not fully tested: Does it behave differently in a Samba None/3/4 environment?
Not fully tested: Can it be used on Master/Backup/Slaves without problems?
Does a new password via LoginDialog pass every test that a new password via UDM update passes? Is at least every possible error message ("too short", "already used", ...) presented to the user?

Sometimes there were problems with localisation.

Changelog entry added.
Comment 7 Stefan Gohmann univentionstaff 2013-03-12 07:04:04 CET
(In reply to comment #6)
> Fixed in
>   univention-management-console 5.0.61-1.726.201303111755
> and
>   univention-management-console-frontend 2.0.220-1.591.201303111757
> 
> If an expired password is detected, the LoginDialog shows two additional inputs
> (New Password and Retype), summing up to 4 inputs. If username/password is
> given again and a new password is chosen, UMC tries to update the password
> (only works if old password is really expired) in PAM/Kerberos. At least
> Firefox asks if a saved password shall be updated (other browsers not tested).
> New Status Code added (415).

Currently the user has to fill in the user name and the old password again. I think these should be pre-filled.

If I change the password to an password which is too short or which is in the history I get no message.
Comment 8 Dirk Wiesenthal univentionstaff 2013-03-13 13:24:17 CET
(In reply to comment #7)
> Currently the user has to fill in the user name and the old password again. I
> think these should be pre-filled.

Fixed in
  univention-management-console-frontend 2.0.226-1.595.201303131309
Comment 9 Alexander Kläser univentionstaff 2013-03-14 10:53:36 CET
The changes have the effect that IE9 is not proposing to store the entered username + password. This is due to the dynamic changes in the form through JavaScript (adding dijitHidden), in this case IE9 is refusing to store a password field. A possible solution would be to set dijitHidden as CSS class in the HTML code and to remove it when the password needs to be changed. This would probably have the only problem that upon the next login after changing the password, IE would propose the old password the first time. But I think that is less of a problem.
Comment 10 Dirk Wiesenthal univentionstaff 2013-03-15 20:18:52 CET
More error messages are recognized, localisation added (done in the frontend, the backend sends english where it is possible), overall login.html and LoginDialog improvements.

univention-management-console-frontend 2.0.231-1.601.201303152007
univention-management-console 5.0.62-1.727.201303152004
Comment 11 Felix Botner univentionstaff 2013-03-18 13:18:20 CET
OK, works with FF, Chrome, IE8 and IE10.

Changelog entry exists.
Comment 12 Alexander Kläser univentionstaff 2013-03-18 13:55:11 CET
(In reply to comment #11)
> OK, works with FF, Chrome, IE8 and IE10.

Maybe also a quick check with iPad and Android would be good?
Comment 13 Felix Botner univentionstaff 2013-03-18 16:40:22 CET
(In reply to comment #12)
> (In reply to comment #11)
> > OK, works with FF, Chrome, IE8 and IE10.
> 
> Maybe also a quick check with iPad and Android would be good?

ok, works with both
Comment 14 Stefan Gohmann univentionstaff 2013-03-25 19:57:18 CET
UCS 3.1-1 has been released: 
 http://download.univention.de/doc/release-notes-3.1-1_en.pdf
 http://download.univention.de/doc/release-notes-3.1-1.pdf

If this error occurs again, please use "Clone This Bug".