)]}'
{"id":"openstack%2Fkeystone~892333","triplet_id":"openstack%2Fkeystone~stable%2Fyoga~Iea95a3c2df041a0046647b3d3dadead1a6d054d1","project":"openstack/keystone","branch":"stable/yoga","topic":"trimm_bcrypt","hashtags":[],"change_id":"Iea95a3c2df041a0046647b3d3dadead1a6d054d1","subject":"Properly trimm bcrypt hashed passwords","status":"ABANDONED","created":"2023-08-22 13:45:55.000000000","updated":"2023-08-22 13:47:55.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"1b0d6bcdca754093301a512df480d4778311d49d","_number":892333,"virtual_id_number":892333,"owner":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"actions":{},"labels":{"Verified":{"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"CC":[{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-08-22 13:45:55.000000000","updated_by":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"reviewer":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"state":"CC"}],"messages":[{"id":"d39f74108c1a0c87c0e17ea38ed5b7df073a95e7","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2023-08-22 13:45:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"1b0d6bcdca754093301a512df480d4778311d49d","tag":"autogenerated:gerrit:abandon","author":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"date":"2023-08-22 13:47:55.000000000","message":"Abandoned\n\nLooks like this backport is happening elsewhere","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"4bcc9b7618154ea6fdeae32f06ba517fb345ad48","revisions":{"4bcc9b7618154ea6fdeae32f06ba517fb345ad48":{"kind":"REWORK","_number":1,"created":"2023-08-22 13:45:55.000000000","uploader":{"_account_id":7414,"name":"David Wilde","email":"dwilde@redhat.com","username":"d34dh0r53"},"ref":"refs/changes/33/892333/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/33/892333/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/33/892333/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/33/892333/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/33/892333/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/33/892333/1"}}},"commit":{"parents":[{"commit":"7c96280555d1de5ef5e7e3b12362439669427e4e","subject":"[PooledLDAPHandler] Ensure result3() invokes message.clean()","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/7c96280555d1de5ef5e7e3b12362439669427e4e"}]}],"author":{"name":"Dmitriy Rabotyagov","email":"dmitriy.rabotyagov@cleura.com","date":"2023-08-09 18:41:05.000000000","tz":120},"committer":{"name":"Dave Wilde","email":"dwilde@redhat.com","date":"2023-08-22 13:45:53.000000000","tz":-300},"subject":"Properly trimm bcrypt hashed passwords","message":"Properly trimm bcrypt hashed passwords\n\nbcrypt  hashing algorythm has a limitation on length of passwords it\ncan hash on 72 bytes. In [1] a password trimm to 54 symbols has been\nimplemented, which resulted in password being invalidated after the\nkeystone upgrade, since passwords are trimmed differently by bcrypt\nitself, as well as len(str()) is not always equal to\nlen(str().encode()) as trimming should be done based on bytes and not\nstring itself.\n\nWith the change we return a byte object from\n`verify_length_and_trunc_password`, so it does not need to\nbe encoded afterwards, since we need to strip based on bytes\nrather then on length of the string.\n\n[1] https://review.opendev.org/c/openstack/keystone/+/828595\n\nCloses-Bug: #2028809\nRelated-Bug: #1901891\nChange-Id: Iea95a3c2df041a0046647b3d3dadead1a6d054d1\n(cherry picked from commit 6730c761d18aa547998f2add833c13f45f257fe7)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4bcc9b7618154ea6fdeae32f06ba517fb345ad48"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/4bcc9b7618154ea6fdeae32f06ba517fb345ad48"}]},"branch":"refs/heads/stable/yoga"}},"requirements":[],"submit_records":[],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
