)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"50db2a85692a6c9fe77a403905f5f576957a216c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add openstack_project_domain to assertion"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, a keystone IdP do not provide the domain of the project"},{"line_number":10,"context_line":"when generating SAML assertions. Since it is possible to have two"},{"line_number":11,"context_line":"projects with the same name but in different domains, this patch"},{"line_number":12,"context_line":"adds an additional attribute called \"openstack_project_domain\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7aaa499b_ca24f0b0","line":9,"updated":"2015-04-11 09:06:10.000000000","message":"(nit): s/do not/does not/","commit_id":"5fa94f97a3b30416870bbf7b8330af667420c249"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6387b3d58d7fa72135f1c0037a81a79a70133d04","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add openstack_project_domain to assertion"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently, a keystone IdP do not provide the domain of the project"},{"line_number":10,"context_line":"when generating SAML assertions. Since it is possible to have two"},{"line_number":11,"context_line":"projects with the same name but in different domains, this patch"},{"line_number":12,"context_line":"adds an additional attribute called \"openstack_project_domain\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7aaa499b_4cb6bddd","line":9,"in_reply_to":"7aaa499b_ca24f0b0","updated":"2015-04-11 14:37:52.000000000","message":"Done","commit_id":"5fa94f97a3b30416870bbf7b8330af667420c249"}],"keystone/contrib/federation/controllers.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2d786313eb5ac906504d0fa859a5058bd8110886","unresolved":false,"context_lines":[{"line_number":335,"context_line":"        domain \u003d token_ref.project_domain_name"},{"line_number":336,"context_line":"        generator \u003d keystone_idp.SAMLGenerator()"},{"line_number":337,"context_line":"        response \u003d generator.samlize_token(issuer, sp_url, subject, roles,"},{"line_number":338,"context_line":"                                           project, domain)"},{"line_number":339,"context_line":"        return (response, service_provider)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"    def _build_response_headers(self, service_provider):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3acd31a7_f34adc82","line":338,"updated":"2015-04-30 15:46:22.000000000","message":"this should be passed as project_domain_name to match the function parameter name.","commit_id":"fa844bc88edb417f9513d19c749886a61d7b26ce"}],"keystone/contrib/federation/idp.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"50db2a85692a6c9fe77a403905f5f576957a216c","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        project_domain_attribute.name \u003d openstack_project_domain"},{"line_number":212,"context_line":"        project_domain_value \u003d saml.AttributeValue()"},{"line_number":213,"context_line":"        project_domain_value.set_text(project_domain)"},{"line_number":214,"context_line":"        project_domain_attribute.attribute_value \u003d project_domain_value"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        attribute_statement \u003d saml.AttributeStatement()"},{"line_number":217,"context_line":"        attribute_statement.attribute.append(user_attribute)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_aa3ac4cb","line":214,"updated":"2015-04-11 09:06:10.000000000","message":"see my comment in the follow on patch....","commit_id":"5fa94f97a3b30416870bbf7b8330af667420c249"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"6387b3d58d7fa72135f1c0037a81a79a70133d04","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        project_domain_attribute.name \u003d openstack_project_domain"},{"line_number":212,"context_line":"        project_domain_value \u003d saml.AttributeValue()"},{"line_number":213,"context_line":"        project_domain_value.set_text(project_domain)"},{"line_number":214,"context_line":"        project_domain_attribute.attribute_value \u003d project_domain_value"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        attribute_statement \u003d saml.AttributeStatement()"},{"line_number":217,"context_line":"        attribute_statement.attribute.append(user_attribute)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_2cbb71c6","line":214,"in_reply_to":"7aaa499b_aa3ac4cb","updated":"2015-04-11 14:37:52.000000000","message":"will add the refactoring patch to the top of the chain, so we can have the bug fix merged quicker","commit_id":"5fa94f97a3b30416870bbf7b8330af667420c249"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"8db3ea1ace16955df347bc0eb8308bf92dd53e5e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.assertion_id \u003d uuid.uuid4().hex"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def samlize_token(self, issuer, recipient, user, roles, project,"},{"line_number":47,"context_line":"                      project_domain, expires_in\u003dNone):"},{"line_number":48,"context_line":"        \"\"\"Convert Keystone attributes to a SAML assertion."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        :param issuer: URL of the issuing party"}],"source_content_type":"text/x-python","patch_set":9,"id":"5ad0253b_919f395f","line":47,"updated":"2015-04-29 09:14:42.000000000","message":"you could rename it to project_domain_name","commit_id":"7641dd6f34a44f63e8ec69f9d0b5f7eb511cd992"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"425cd957b6c006034c405adc19799f4362855bf5","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.assertion_id \u003d uuid.uuid4().hex"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def samlize_token(self, issuer, recipient, user, roles, project,"},{"line_number":47,"context_line":"                      project_domain, expires_in\u003dNone):"},{"line_number":48,"context_line":"        \"\"\"Convert Keystone attributes to a SAML assertion."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        :param issuer: URL of the issuing party"}],"source_content_type":"text/x-python","patch_set":9,"id":"5ad0253b_d865c8e1","line":47,"in_reply_to":"5ad0253b_919f395f","updated":"2015-04-29 13:33:54.000000000","message":"Done","commit_id":"7641dd6f34a44f63e8ec69f9d0b5f7eb511cd992"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2d786313eb5ac906504d0fa859a5058bd8110886","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        :param project: Project name"},{"line_number":59,"context_line":"        :type project: string"},{"line_number":60,"context_line":"        :param project_domain_name: Project Domain name"},{"line_number":61,"context_line":"        :type project_domain_name: string"},{"line_number":62,"context_line":"        :param expires_in: Sets how long the assertion is valid for, in seconds"},{"line_number":63,"context_line":"        :type expires_in: int"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3acd31a7_b3446474","line":61,"updated":"2015-04-30 15:46:22.000000000","message":"the type in python is str","commit_id":"fa844bc88edb417f9513d19c749886a61d7b26ce"}],"keystone/tests/unit/saml2/signed_saml2_assertion.xml":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8229a9c8b2ca2fb215525eef36714e19280073f6","unresolved":false,"context_lines":[{"line_number":60,"context_line":"      \u003cns0:AttributeValue xsi:type\u003d\"xs:string\"\u003edevelopment\u003c/ns0:AttributeValue\u003e"},{"line_number":61,"context_line":"    \u003c/ns0:Attribute\u003e"},{"line_number":62,"context_line":"    \u003cns0:Attribute Name\u003d\"openstack_project_domain\" NameFormat\u003d\"urn:oasis:names:tc:SAML:2.0:attrname-format:uri\"\u003e"},{"line_number":63,"context_line":"      \u003cns0:AttributeValue xsi:type\u003d\"xs:string\"\u003edefault\u003c/ns0:AttributeValue\u003e"},{"line_number":64,"context_line":"    \u003c/ns0:Attribute\u003e"},{"line_number":65,"context_line":"  \u003c/ns0:AttributeStatement\u003e"},{"line_number":66,"context_line":"\u003c/ns0:Assertion\u003e"}],"source_content_type":"application/xml","patch_set":7,"id":"7aaa499b_7cf33c0b","line":63,"updated":"2015-04-13 22:15:17.000000000","message":"I think this should be Default, rather than default","commit_id":"9d859388317bacbbe67a6767740046cb4e6da6ce"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"c3b59df89ce3befaba51e4c798f90c72af293b22","unresolved":false,"context_lines":[{"line_number":60,"context_line":"      \u003cns0:AttributeValue xsi:type\u003d\"xs:string\"\u003edevelopment\u003c/ns0:AttributeValue\u003e"},{"line_number":61,"context_line":"    \u003c/ns0:Attribute\u003e"},{"line_number":62,"context_line":"    \u003cns0:Attribute Name\u003d\"openstack_project_domain\" NameFormat\u003d\"urn:oasis:names:tc:SAML:2.0:attrname-format:uri\"\u003e"},{"line_number":63,"context_line":"      \u003cns0:AttributeValue xsi:type\u003d\"xs:string\"\u003edefault\u003c/ns0:AttributeValue\u003e"},{"line_number":64,"context_line":"    \u003c/ns0:Attribute\u003e"},{"line_number":65,"context_line":"  \u003c/ns0:AttributeStatement\u003e"},{"line_number":66,"context_line":"\u003c/ns0:Assertion\u003e"}],"source_content_type":"application/xml","patch_set":7,"id":"7aaa499b_9c9a8813","line":63,"in_reply_to":"7aaa499b_7cf33c0b","updated":"2015-04-13 22:40:26.000000000","message":"Done","commit_id":"9d859388317bacbbe67a6767740046cb4e6da6ce"}],"keystone/tests/unit/test_v3_federation.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8229a9c8b2ca2fb215525eef36714e19280073f6","unresolved":false,"context_lines":[{"line_number":2991,"context_line":"    SUBJECT \u003d \u0027test_user\u0027"},{"line_number":2992,"context_line":"    ROLES \u003d [\u0027admin\u0027, \u0027member\u0027]"},{"line_number":2993,"context_line":"    PROJECT \u003d \u0027development\u0027"},{"line_number":2994,"context_line":"    DOMAIN \u003d \u0027default\u0027"},{"line_number":2995,"context_line":"    SAML_GENERATION_ROUTE \u003d \u0027/auth/OS-FEDERATION/saml2\u0027"},{"line_number":2996,"context_line":"    ECP_GENERATION_ROUTE \u003d \u0027/auth/OS-FEDERATION/saml2/ecp\u0027"},{"line_number":2997,"context_line":"    ASSERTION_VERSION \u003d \"2.0\""}],"source_content_type":"text/x-python","patch_set":7,"id":"7aaa499b_9cee0821","line":2994,"updated":"2015-04-13 22:15:17.000000000","message":"...I think the name of the default domain is \"Default\", while the ID is \"default\"....I think this is meant to be the name not the ID?","commit_id":"9d859388317bacbbe67a6767740046cb4e6da6ce"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"c3b59df89ce3befaba51e4c798f90c72af293b22","unresolved":false,"context_lines":[{"line_number":2991,"context_line":"    SUBJECT \u003d \u0027test_user\u0027"},{"line_number":2992,"context_line":"    ROLES \u003d [\u0027admin\u0027, \u0027member\u0027]"},{"line_number":2993,"context_line":"    PROJECT \u003d \u0027development\u0027"},{"line_number":2994,"context_line":"    DOMAIN \u003d \u0027default\u0027"},{"line_number":2995,"context_line":"    SAML_GENERATION_ROUTE \u003d \u0027/auth/OS-FEDERATION/saml2\u0027"},{"line_number":2996,"context_line":"    ECP_GENERATION_ROUTE \u003d \u0027/auth/OS-FEDERATION/saml2/ecp\u0027"},{"line_number":2997,"context_line":"    ASSERTION_VERSION \u003d \"2.0\""}],"source_content_type":"text/x-python","patch_set":7,"id":"7aaa499b_bc9544e5","line":2994,"in_reply_to":"7aaa499b_9cee0821","updated":"2015-04-13 22:40:26.000000000","message":"Done","commit_id":"9d859388317bacbbe67a6767740046cb4e6da6ce"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"2d786313eb5ac906504d0fa859a5058bd8110886","unresolved":false,"context_lines":[{"line_number":2991,"context_line":"    SUBJECT \u003d \u0027test_user\u0027"},{"line_number":2992,"context_line":"    ROLES \u003d [\u0027admin\u0027, \u0027member\u0027]"},{"line_number":2993,"context_line":"    PROJECT \u003d \u0027development\u0027"},{"line_number":2994,"context_line":"    DOMAIN \u003d \u0027Default\u0027"},{"line_number":2995,"context_line":"    SAML_GENERATION_ROUTE \u003d \u0027/auth/OS-FEDERATION/saml2\u0027"},{"line_number":2996,"context_line":"    ECP_GENERATION_ROUTE \u003d \u0027/auth/OS-FEDERATION/saml2/ecp\u0027"},{"line_number":2997,"context_line":"    ASSERTION_VERSION \u003d \"2.0\""}],"source_content_type":"text/x-python","patch_set":10,"id":"3acd31a7_1e355fd9","line":2994,"updated":"2015-04-30 15:46:22.000000000","message":"this should be a random name if that\u0027s possible. Otherwise add a comment why this needs to be Default.","commit_id":"fa844bc88edb417f9513d19c749886a61d7b26ce"}]}
