#49790 Ticket 49789 - By default, do not manage unhashed password
Closed by spichugi. Opened by tbordaz.
tbordaz/389-ds-base Ticket-49789  into  master

Download 49790.patch

Bug Description:
By default, unhashed#user#password is recorded into changelog database.
It is a specific use when some plugin need to know the clear text password on update.
This should be disabled ('off') by default

Fix Description:
Swith the default value from 'on' to 'off'

https://pagure.io/389-ds-base/issue/49789

Reviewed by: ?

Platforms tested: F27

Flag Day: no

Doc impact: no

id can be generated using python -c 'import uuid; print(uuid.uuid4())', expected results are default ones, we should have something meaningful here ('pass' or 'fail' at least). The rest LGTM.

@vashirov Thanks for the review. At perfect timing as it is moving also on BZ side ;)

Thanks for the tip, I constantly commented uuid !

The C code looks good to me...

You can safely remove these lines. They are just the helper info when you create a new test case.

For the internal system tracking purposes, we need to name our tests properly and we need to give it a proper description (short one).
So it should be named something like this:
test_ticket49789 -> test_unhashed_pw_switch

and:
"""Specify a test case purpose or name here -> """Check that nsslapd-unhashed-pw-switch works corrently

Once again, for the internal system tracking purposes, we should have the expectedresults for the steps. This will be enough:

:expectedresults:
         1. Success
         2. Success
         3. Success
         4. Success
         5. Success

You have a small typo, it should be 5th step...

As we've decided to move all our tickets to the suites, we have to put new test cases to the suites from the beginning.

I think we can put the test case somewhere to suites/password.

rebased onto 30d5c72a3f8b3718e69934d3b99c2d4b7c63b622

@spichugi sorry I missed your last comment. What specific change do you expect ?
Change the path of the testcase from dirsrvtests/tests/tickets/ to dirsrvtests/tests/suites/password or duplicate the test in the two directories ?
Should I keep the test file name ticket49742_test.py

@spichugi sorry I missed your last comment. What specific change do you expect ?
Change the path of the testcase from dirsrvtests/tests/tickets/ to dirsrvtests/tests/suites/password or duplicate the test in the two directories ?
Should I keep the test file name ticket49742_test.py

Sure, np :)
We don't want to keep the tests in tests/tickets anymore. And we will move them from there eventually.
The changes I think are necessary:
1. Change the path dirsrvtests/tests/tickets/ticket49742_test.py to dirsrvtests/tests/suites/password/regression_test.py. We don't need to duplicate the test case and can put the test function to the regression_test.py file;
2. Rename the test function from def test_ticket49789(topo): to something like def test_unhashed_pw_switch(topo):
3. Additionaly, we can put the pytest mark for the test case, so it'll be easier to find:

@pytest.mark.ds49789
def test_unhashed_pw_switch(topo):

Thank you!

rebased onto 8316b3f2769b160bb0131e21814128b2fdf28369

We need to get this into a build (deadline is tomorrow - Tuesday), can this be merged yet? Or can we at least merge the C fix and deal with the little issues around the CI test later? Thanks!

Oh, sorry. I didn't see the rebase message.

LGTM!

rebased onto e81fa85954b2dc3150bfc19012e7caac03168650

Pull-Request has been merged by tbordaz

This needs to be backed out because it breaks FreeIPA

Can you explain why it breaks IPA ? It should only affect the presence of the unhashed userpassword in the changelog, so how would it affect the functionality ?
And it only changes the default (because of a security issue reported by IPA), so if IPA needs it it could change the value from off to on

IPA needs unhashed password for ipa-pwd-extop so setting 'nolog' is the configured option for IPA. This change is trivial but late in the release regarding the risk.
In addition there is a requirement due to winsync where the userpassword should be in changelog and this on all servers. This change is more difficult to implement and likely the main reason of backout that fix.

Now something I miss is why backout it from the master. I thought only 1.3.8 was creating an issue for ipa

thanks for the explanation. About the affected releases, I don't see why it affects 1.3.8 and not 1.3.7, ped-extop and winsync are probably the same

I didn't back it out of 1.3.7 because we aren't releasing 1.3.7 anymore. Eventually this fix will go back in, so no need to change 1.3.7.

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This pull request has been cloned to Github as issue and is available here:
- https://github.com/389ds/389-ds-base/issues/2849

If you want to continue to work on the PR, please navigate to the github issue,
download the patch from the attachments and file a new pull request.

Thank you for understanding. We apologize for all inconvenience.

Pull-Request has been closed by spichugi

Metadata