)]}'
{"id":"openstack%2Fkeystone~999083","triplet_id":"openstack%2Fkeystone~master~I8f487fd9abb7f5b4329defeca2d66e71b34ebc58","project":"openstack/keystone","branch":"master","attention_set":{"35125":{"account":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"last_update":"2026-07-29 11:25:38.000000000","reason":"\u003cGERRIT_ACCOUNT_14250\u003e replied on the change","reason_account":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"}}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I8f487fd9abb7f5b4329defeca2d66e71b34ebc58","subject":"Sign SAML assertions with SHA-256 instead of SHA-1","status":"NEW","created":"2026-07-29 11:12:59.000000000","updated":"2026-07-29 18:26:45.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"28d8e37331e179902f34ee08c02a9164c8fc8249","_number":999083,"virtual_id_number":999083,"owner":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},{"tag":"autogenerated:zuul:check","value":1,"date":"2026-07-29 12:44:05.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":{"all":[{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-07-29 11:25:38.000000000","updated_by":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"reviewer":{"_account_id":35125,"name":"Mauricio Harley","email":"mharley@redhat.com","username":"mharley-rh"},"state":"REVIEWER"},{"updated":"2026-07-29 12:44:05.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"8398d8271d2eb6733a27b3ae33a2f3794d1de07e","tag":"autogenerated:gerrit:newWipPatchSet","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-07-29 11:12:59.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2e3f32f58d10f976335b6054310fe573a6b08b89","author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"date":"2026-07-29 11:25:38.000000000","message":"Patch Set 1:\n\nThis change is ready for review.","accounts_in_message":[],"_revision_number":1},{"id":"af8a9694ad855868f7c0ae1dbbcbf9db54189dcb","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 12:44:05.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/02e18f40487647519bb0b25ed61815ff\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b45cc7007d3449f3a71cd3c58362c6c7 : SUCCESS in 18m 04s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8be45ea9ca0f4905b8498a313e73f90c : SUCCESS in 5m 04s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/cd94df037a8541eb8d2d586535094c38 : SUCCESS in 11m 40s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/c65b4072457e476897a5ed595d03343a : SUCCESS in 11m 37s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/8e635acf464948db8d06394cb060ae97 : SUCCESS in 14m 55s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/5c98aec849584e8dbd3ee2acd5b71dfe : SUCCESS in 14m 14s\n- grenade https://zuul.opendev.org/t/openstack/build/e1194d0435834a7d8c0a6f23e9cdff8f : SUCCESS in 1h 18m 21s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/60a585b0b1a046b0bbdc2239e0341c05 : SUCCESS in 1h 25m 41s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/f604454d3f26453ebf0330f575e4335b : SUCCESS in 14m 05s\n- keystoneclient-devstack-functional https://zuul.opendev.org/t/openstack/build/e3481d4bf01444f9a08ca3f2d4e2e46b : SUCCESS in 19m 13s (non-voting)\n- keystone-tempest https://zuul.opendev.org/t/openstack/build/3878f41fb7a548a0b8ac9470c9b1e35b : SUCCESS in 50m 57s\n- keystone-tempest-fips https://zuul.opendev.org/t/openstack/build/cfa9b0e56f1447cebc96b28ea49a9bbc : FAILURE in 22m 18s (non-voting)\n- keystone-tempest-federation https://zuul.opendev.org/t/openstack/build/495171f224334caaa53394fd84908edc : FAILURE in 26m 44s (non-voting)\n- keystone-tempest-federation-k2k https://zuul.opendev.org/t/openstack/build/c73ce969cf5e4eb7b9858d90340b969e : SUCCESS in 54m 24s\n- keystone-tempest-oidc-federation https://zuul.opendev.org/t/openstack/build/10c9936cc28145a2ace7ee6d3e9d482a : SUCCESS in 52m 13s\n- keystone-tempest-ldap-domain-specific-driver https://zuul.opendev.org/t/openstack/build/415bde52190f4e199ec6eb5a5833c02f : SUCCESS in 38m 27s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/aa5fd0b6c77f4372a52d8e6efeb4a331 : SUCCESS in 1h 04m 15s\n- keystone-protection-functional https://zuul.opendev.org/t/openstack/build/f62a8d2e11fe4123bfd9a2b09f22c458 : SUCCESS in 45m 55s\n- codegenerator-openapi-identity-tips-with-api-ref https://zuul.opendev.org/t/openstack/build/f2eefe2426ea4d968ddec99e527898ee : SUCCESS in 7m 25s (non-voting)\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job keystone-tempest-fips.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job keystone-tempest-fips.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":1},{"id":"28d8e37331e179902f34ee08c02a9164c8fc8249","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-29 18:26:45.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/38511cb2f18340288619d765deb2b78c\n\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/19c331b992b74cea9c12ae74efafb941 : SUCCESS in 38m 36s (non-voting)\n- openstack-tox-py313-arm64 https://zuul.opendev.org/t/openstack/build/50b3da06c2c2409d9c7d5d2b656dad47 : SUCCESS in 40m 00s (non-voting)\n- openstack-tox-py314-arm64 https://zuul.opendev.org/t/openstack/build/0e15732329214c12accecafec9d7ded1 : SUCCESS in 31m 41s (non-voting)","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"ebf9a9bd368b1864a8f85a8b24c5c304ed040cdc","revisions":{"ebf9a9bd368b1864a8f85a8b24c5c304ed040cdc":{"kind":"REWORK","_number":1,"created":"2026-07-29 11:12:59.000000000","uploader":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"ref":"refs/changes/83/999083/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/keystone","ref":"refs/changes/83/999083/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/keystone refs/changes/83/999083/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/keystone refs/changes/83/999083/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/keystone refs/changes/83/999083/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/keystone refs/changes/83/999083/1"}}},"commit":{"parents":[{"commit":"30ef2ffa65a3486ef882f00538e20f2253c57d4c","subject":"Merge \"Make JWT token signing algorithm configurable\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/30ef2ffa65a3486ef882f00538e20f2253c57d4c"}]}],"author":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-07-29 07:03:15.000000000","tz":120},"committer":{"name":"Grzegorz Grasza","email":"xek@redhat.com","date":"2026-07-29 11:12:19.000000000","tz":120},"subject":"Sign SAML assertions with SHA-256 instead of SHA-1","message":"Sign SAML assertions with SHA-256 instead of SHA-1\n\n_create_signature() hardcoded SIG_RSA_SHA1/DIGEST_SHA1 for signing\nSAML assertions issued by Keystone\u0027s IdP, with no configuration\noverride. SHA-1 is deprecated for digital signatures by NIST and\nindustry standards, and Service Providers enforcing SHA-256+ reject\nassertions signed this way, causing authentication failures.\n\nSwitch to SIG_RSA_SHA256/DIGEST_SHA256, matching pysaml2\u0027s supported\nmodern algorithm constants.\n\nAssisted-by: Claude Sonnet 5\nChange-Id: I8f487fd9abb7f5b4329defeca2d66e71b34ebc58\nSigned-off-by: Grzegorz Grasza \u003cxek@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/ebf9a9bd368b1864a8f85a8b24c5c304ed040cdc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/keystone/commit/ebf9a9bd368b1864a8f85a8b24c5c304ed040cdc"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
