)]}'
{"id":"openstack%2Fpython-glanceclient~597730","triplet_id":"openstack%2Fpython-glanceclient~master~I76a1c9a361b6c9f6eb95ae766b8c3bcf2267703a","project":"openstack/python-glanceclient","branch":"master","topic":"bug/1788942","hashtags":[],"change_id":"I76a1c9a361b6c9f6eb95ae766b8c3bcf2267703a","subject":"Don\u0027t quote colon in HTTP headers","status":"MERGED","created":"2018-08-29 23:14:55.000000000","updated":"2018-11-16 01:41:00.000000000","submitted":"2018-11-15 07:01:55.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"597730-1542265315376-bba6691b","meta_rev_id":"4ca231a59f183d0371be82ea59f08d64821e53fc","_number":597730,"virtual_id_number":597730,"owner":{"_account_id":23561,"name":"iain MacDonnell","email":"iain.macdonnell@oracle.com","username":"imacdonn"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":2,"date":"2018-11-15 07:01:55.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":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"all":[{"value":2,"date":"2018-11-02 20:48:26.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":2,"date":"2018-11-02 19:01:03.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":2,"date":"2018-11-15 05:00:20.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_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":{"approved":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"date":"2018-11-01 23:47:39.000000000","permitted_voting_range":{"min":0,"max":1},"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":1,"date":"2018-11-15 05:00:20.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_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},"Review-Priority":{"all":[{"value":0,"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"value":0,"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"value":0,"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2018-11-01 23:47:39.000000000","updated_by":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"reviewer":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"state":"REVIEWER"},{"updated":"2018-11-02 19:01:03.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"REVIEWER"},{"updated":"2018-11-02 20:48:26.000000000","updated_by":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"reviewer":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"state":"REVIEWER"},{"updated":"2018-11-15 05:00:20.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"REVIEWER"},{"updated":"2018-11-15 07:01:55.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":"b7653e1886e2ae1e603241096e2464d28fd64e59","author":{"_account_id":23561,"name":"iain MacDonnell","email":"iain.macdonnell@oracle.com","username":"imacdonn"},"date":"2018-08-29 23:14:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"28be63ec295bbec905904a41f1cf00d9657a3063","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-08-30 00:56:18.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- openstack-tox-pep8 http://logs.openstack.org/30/597730/1/check/openstack-tox-pep8/3b6a0ed/ : SUCCESS in 4m 30s\n- openstack-tox-py27 http://logs.openstack.org/30/597730/1/check/openstack-tox-py27/7b0b82a/ : SUCCESS in 4m 49s\n- openstack-tox-py35 http://logs.openstack.org/30/597730/1/check/openstack-tox-py35/e51d39c/ : SUCCESS in 4m 46s\n- build-openstack-sphinx-docs http://logs.openstack.org/30/597730/1/check/build-openstack-sphinx-docs/798274f/html/ : SUCCESS in 5m 01s\n- legacy-tempest-dsvm-neutron-src http://logs.openstack.org/30/597730/1/check/legacy-tempest-dsvm-neutron-src/ff1babc/ : SUCCESS in 1h 35m 47s\n- glanceclient-dsvm-functional-v1 http://logs.openstack.org/30/597730/1/check/glanceclient-dsvm-functional-v1/cd18264/ : SUCCESS in 25m 29s\n- glanceclient-dsvm-functional http://logs.openstack.org/30/597730/1/check/glanceclient-dsvm-functional/ec92103/ : SUCCESS in 31m 07s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/597730/1/check/openstack-tox-lower-constraints/c5003cd/ : SUCCESS in 4m 45s","accounts_in_message":[],"_revision_number":1},{"id":"e935a9b310293299598b043799559cad56d6be50","author":{"_account_id":23561,"name":"iain MacDonnell","email":"iain.macdonnell@oracle.com","username":"imacdonn"},"date":"2018-11-01 21:38:37.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"ab52e7c8ec4a2a062ee7231e85e06bf1971d01e0","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-01 23:29:10.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- tempest-full http://logs.openstack.org/30/597730/2/check/tempest-full/dab34d1/ : SUCCESS in 1h 43m 00s\n- tempest-full-py3 http://logs.openstack.org/30/597730/2/check/tempest-full-py3/5ab8d2b/ : SUCCESS in 1h 15m 14s\n- openstack-tox-cover http://logs.openstack.org/30/597730/2/check/openstack-tox-cover/a907d97/cover/ : SUCCESS in 5m 08s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/597730/2/check/openstack-tox-lower-constraints/70cb28b/ : SUCCESS in 5m 44s\n- openstack-tox-pep8 http://logs.openstack.org/30/597730/2/check/openstack-tox-pep8/a23763d/ : SUCCESS in 6m 11s\n- openstack-tox-py27 http://logs.openstack.org/30/597730/2/check/openstack-tox-py27/2b51374/ : SUCCESS in 5m 00s\n- openstack-tox-py35 http://logs.openstack.org/30/597730/2/check/openstack-tox-py35/82b472b/ : SUCCESS in 4m 48s\n- openstack-tox-py36 http://logs.openstack.org/30/597730/2/check/openstack-tox-py36/66bdd53/ : SUCCESS in 5m 10s\n- openstack-tox-docs http://logs.openstack.org/30/597730/2/check/openstack-tox-docs/eb8fa67/html/ : SUCCESS in 4m 39s\n- glanceclient-dsvm-functional-v1 http://logs.openstack.org/30/597730/2/check/glanceclient-dsvm-functional-v1/60e39a2/ : SUCCESS in 26m 37s\n- glanceclient-dsvm-functional http://logs.openstack.org/30/597730/2/check/glanceclient-dsvm-functional/8aa3881/ : SUCCESS in 28m 53s","accounts_in_message":[],"_revision_number":2},{"id":"3a14f42fe63338fd4b4d0e5080e865dc5c888d2c","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2018-11-02 19:01:03.000000000","message":"Patch Set 2: Code-Review+2\n\nThis looks good to me.  We need to revisit the header-encoding strategy because there seem to be some corner cases that are being missed.  But in the meantime, I think we should fix the problems we know about rather than let them sit for months.","accounts_in_message":[],"_revision_number":2},{"id":"e7f7ef677264c6e00ccd5ef11c062099878b2f6d","author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"date":"2018-11-02 20:48:26.000000000","message":"Patch Set 2: Code-Review+2\n\nLooks right to me, but will let someone else approve.","accounts_in_message":[],"_revision_number":2},{"id":"3c2ea36b4f972bad7aa5aa28a240455b6d9c863d","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2018-11-15 05:00:20.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"9c1660f3915811ab640b3ea970b6f220666a8f49","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-15 05:00:31.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b4ef30faa58ce7472746f356532934f69c5685b3","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-15 07:01:55.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- tempest-full http://logs.openstack.org/30/597730/2/gate/tempest-full/7448ecf/ : SUCCESS in 1h 56m 02s\n- tempest-full-py3 http://logs.openstack.org/30/597730/2/gate/tempest-full-py3/e46ddb3/ : SUCCESS in 1h 25m 31s\n- openstack-tox-lower-constraints http://logs.openstack.org/30/597730/2/gate/openstack-tox-lower-constraints/dd5a734/ : SUCCESS in 3m 57s\n- openstack-tox-pep8 http://logs.openstack.org/30/597730/2/gate/openstack-tox-pep8/378f621/ : SUCCESS in 3m 28s\n- openstack-tox-py27 http://logs.openstack.org/30/597730/2/gate/openstack-tox-py27/dcde333/ : SUCCESS in 4m 39s\n- openstack-tox-py35 http://logs.openstack.org/30/597730/2/gate/openstack-tox-py35/7792ef4/ : SUCCESS in 5m 18s\n- openstack-tox-py36 http://logs.openstack.org/30/597730/2/gate/openstack-tox-py36/9d56cf3/ : SUCCESS in 4m 21s\n- openstack-tox-docs http://logs.openstack.org/30/597730/2/gate/openstack-tox-docs/e8f5ad5/html/ : SUCCESS in 4m 00s\n- glanceclient-dsvm-functional-v1 http://logs.openstack.org/30/597730/2/gate/glanceclient-dsvm-functional-v1/f601af6/ : SUCCESS in 27m 20s\n- glanceclient-dsvm-functional http://logs.openstack.org/30/597730/2/gate/glanceclient-dsvm-functional/6cd3511/ : SUCCESS in 26m 31s","accounts_in_message":[],"_revision_number":2},{"id":"a3374f8b09923f40fe33f2c2eaf206dd6f79fdc8","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2018-11-15 07:01:55.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"73401b0f0efdb976fe1c8a45426442e8e6641c89","author":{"_account_id":23561,"name":"iain MacDonnell","email":"iain.macdonnell@oracle.com","username":"imacdonn"},"date":"2018-11-16 01:41:00.000000000","message":"Patch Set 2: Cherry Picked\n\nThis patchset was cherry picked to branch stable/rocky as commit e0673a17fd684ca29ae6674f2df6303f99c79bce","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"1156346dc243dc46bcc7c78a64454ff4bae7ddc5","revisions":{"b7001d277725cf6bc601c53fd0caf4539c1c6c1c":{"kind":"REWORK","_number":1,"created":"2018-08-29 23:14:55.000000000","uploader":{"_account_id":23561,"name":"iain MacDonnell","email":"iain.macdonnell@oracle.com","username":"imacdonn"},"ref":"refs/changes/30/597730/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/30/597730/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/1"}}},"commit":{"parents":[{"commit":"a757757a106d9ed6c06e5a2f38ed27e77d2221f5","subject":"Remove team diversity tags note in README","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/a757757a106d9ed6c06e5a2f38ed27e77d2221f5"}]}],"author":{"name":"imacdonn","email":"iain.macdonnell@oracle.com","date":"2018-08-29 23:03:05.000000000","tz":0},"committer":{"name":"imacdonn","email":"iain.macdonnell@oracle.com","date":"2018-08-29 23:14:53.000000000","tz":0},"subject":"Don\u0027t quote colon in HTTP headers","message":"Don\u0027t quote colon in HTTP headers\n\nSince the introduction of quoting of header content in\nhttps://review.openstack.org/568698, the \u0027x-image-meta-location\u0027 header\nhas been broken, because urllib.quote() is really intended to be applied\nto only the path section of a URL, but in this case, it gets applied to\nthe entire URL, and catches the colon that separates the scheme from the\nremainder of the URL.\n\nThis change adds the colon to the list of characters that should not get\nquoted. Since a colon can be directly represented in ASCII, this should\nnot invalidate the previous change.\n\nChange-Id: I76a1c9a361b6c9f6eb95ae766b8c3bcf2267703a\nCloses-Bug: #1788942\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/b7001d277725cf6bc601c53fd0caf4539c1c6c1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/b7001d277725cf6bc601c53fd0caf4539c1c6c1c"}]},"branch":"refs/heads/master"},"1156346dc243dc46bcc7c78a64454ff4bae7ddc5":{"kind":"REWORK","_number":2,"created":"2018-11-01 21:38:37.000000000","uploader":{"_account_id":23561,"name":"iain MacDonnell","email":"iain.macdonnell@oracle.com","username":"imacdonn"},"ref":"refs/changes/30/597730/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-glanceclient","ref":"refs/changes/30/597730/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-glanceclient refs/changes/30/597730/2"}}},"commit":{"parents":[{"commit":"93636d6e25938617c9b1a58c737540c62d7f27c3","subject":"Refactor periodic \"tips\" jobs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/93636d6e25938617c9b1a58c737540c62d7f27c3"}]}],"author":{"name":"imacdonn","email":"iain.macdonnell@oracle.com","date":"2018-11-01 21:36:11.000000000","tz":0},"committer":{"name":"imacdonn","email":"iain.macdonnell@oracle.com","date":"2018-11-01 21:38:19.000000000","tz":0},"subject":"Don\u0027t quote colon in HTTP headers","message":"Don\u0027t quote colon in HTTP headers\n\nSince the introduction of quoting of header content in\nhttps://review.openstack.org/568698, the \u0027x-image-meta-location\u0027 header\nhas been broken, because urllib.quote() is really intended to be applied\nto only the path section of a URL, but in this case, it gets applied to\nthe entire URL, and catches the colon that separates the scheme from the\nremainder of the URL.\n\nThis change adds the colon to the list of characters that should not get\nquoted. Since a colon can be directly represented in ASCII, this should\nnot invalidate the previous change.\n\nChange-Id: I76a1c9a361b6c9f6eb95ae766b8c3bcf2267703a\nCloses-Bug: #1788942\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/1156346dc243dc46bcc7c78a64454ff4bae7ddc5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-glanceclient/commit/1156346dc243dc46bcc7c78a64454ff4bae7ddc5"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
