)]}'
{"id":"openstack%2Foslo.middleware~367031","triplet_id":"openstack%2Foslo.middleware~master~Ib690e3274cd00d8cfa8a15d341ac433555495ce6","project":"openstack/oslo.middleware","branch":"master","topic":"bug/1621267","hashtags":[],"change_id":"Ib690e3274cd00d8cfa8a15d341ac433555495ce6","subject":"make sure we handle the forwarded for headers","status":"MERGED","created":"2016-09-08 00:46:44.000000000","updated":"2016-10-06 20:24:44.000000000","submitted":"2016-10-06 20:24:44.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"cf601653fb559c8cf8138203727cbe789e3189e4","_number":367031,"virtual_id_number":367031,"owner":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":0,"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":2,"date":"2016-10-06 20:24:44.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},{"value":0,"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"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":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"all":[{"value":0,"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"value":2,"date":"2016-09-22 20:46:54.000000000","_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2016-09-13 21:07:58.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":2,"date":"2016-10-06 19:19:36.000000000","_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},{"value":0,"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"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":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"all":[{"value":0,"date":"2016-10-03 23:04:01.000000000","_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},{"value":0,"date":"2016-10-03 22:03:00.000000000","_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":1,"date":"2016-10-06 19:21:22.000000000","_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"date":"2016-10-03 22:01:50.000000000","_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},{"value":0,"date":"2016-10-03 22:05:37.000000000","_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"value":0,"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},{"value":0,"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"value":0,"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"value":0,"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},{"value":0,"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-09-13 21:07:58.000000000","updated_by":{"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},"reviewer":{"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},"state":"REVIEWER"},{"updated":"2016-09-22 20:46:54.000000000","updated_by":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"reviewer":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"state":"REVIEWER"},{"updated":"2016-10-03 22:01:50.000000000","updated_by":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"reviewer":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"state":"REVIEWER"},{"updated":"2016-10-03 22:03:00.000000000","updated_by":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"reviewer":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"state":"REVIEWER"},{"updated":"2016-10-03 22:05:37.000000000","updated_by":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"reviewer":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"state":"REVIEWER"},{"updated":"2016-10-03 23:04:01.000000000","updated_by":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"reviewer":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"state":"REVIEWER"},{"updated":"2016-10-06 19:21:22.000000000","updated_by":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"reviewer":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"state":"REVIEWER"},{"updated":"2016-10-06 20:24:44.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"08730a1d9044adf38afe290d8e348dab7f3dee16","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2016-09-08 00:46:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"57561071005c4621f40c8bb37b6b9b070e21aeb3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-09-08 01:47:21.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-oslo.middleware-docs-ubuntu-xenial http://docs-draft.openstack.org/31/367031/1/check/gate-oslo.middleware-docs-ubuntu-xenial/a8cfac9//doc/build/html/ : SUCCESS in 1m 57s\n- gate-oslo.middleware-pep8-ubuntu-xenial http://logs.openstack.org/31/367031/1/check/gate-oslo.middleware-pep8-ubuntu-xenial/dc82f0e/ : SUCCESS in 3m 17s\n- gate-oslo.middleware-python27-ubuntu-xenial http://logs.openstack.org/31/367031/1/check/gate-oslo.middleware-python27-ubuntu-xenial/da2d6f2/ : SUCCESS in 2m 04s\n- gate-oslo.middleware-python34 http://logs.openstack.org/31/367031/1/check/gate-oslo.middleware-python34/99e329b/ : FAILURE in 2m 33s\n- gate-oslo.middleware-python35-nv http://logs.openstack.org/31/367031/1/check/gate-oslo.middleware-python35-nv/dff3c8e/ : FAILURE in 1m 59s (non-voting)\n- gate-oslo.middleware-pypy http://logs.openstack.org/31/367031/1/check/gate-oslo.middleware-pypy/4c481bd/ : FAILURE in 4m 24s (non-voting)\n- gate-tempest-dsvm-neutron-src-oslo.middleware http://logs.openstack.org/31/367031/1/check/gate-tempest-dsvm-neutron-src-oslo.middleware/4a31902/ : SUCCESS in 1h 00m 26s\n- gate-tempest-dsvm-neutron-src-oslo.middleware-mitaka http://logs.openstack.org/31/367031/1/check/gate-tempest-dsvm-neutron-src-oslo.middleware-mitaka/4fe5ca4/ : FAILURE in 14m 46s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"c246bd876980192681a3cac42dc150d46bcaf157","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2016-09-08 17:45:52.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"9cd9e0cdab0d040adac60945569bd609b2d4c632","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-09-08 18:42:10.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-oslo.middleware-docs-ubuntu-xenial http://docs-draft.openstack.org/31/367031/2/check/gate-oslo.middleware-docs-ubuntu-xenial/2b72156//doc/build/html/ : SUCCESS in 2m 17s\n- gate-oslo.middleware-pep8-ubuntu-xenial http://logs.openstack.org/31/367031/2/check/gate-oslo.middleware-pep8-ubuntu-xenial/b866b79/ : SUCCESS in 3m 08s\n- gate-oslo.middleware-python27-ubuntu-xenial http://logs.openstack.org/31/367031/2/check/gate-oslo.middleware-python27-ubuntu-xenial/ea94ff7/ : SUCCESS in 3m 17s\n- gate-oslo.middleware-python34 http://logs.openstack.org/31/367031/2/check/gate-oslo.middleware-python34/58bbbbb/ : SUCCESS in 3m 47s\n- gate-oslo.middleware-python35-nv http://logs.openstack.org/31/367031/2/check/gate-oslo.middleware-python35-nv/25b63c0/ : SUCCESS in 3m 54s (non-voting)\n- gate-oslo.middleware-pypy http://logs.openstack.org/31/367031/2/check/gate-oslo.middleware-pypy/c3749f6/ : FAILURE in 3m 19s (non-voting)\n- gate-tempest-dsvm-neutron-src-oslo.middleware http://logs.openstack.org/31/367031/2/check/gate-tempest-dsvm-neutron-src-oslo.middleware/4f96b35/ : SUCCESS in 55m 50s\n- gate-tempest-dsvm-neutron-src-oslo.middleware-mitaka http://logs.openstack.org/31/367031/2/check/gate-tempest-dsvm-neutron-src-oslo.middleware-mitaka/bd409c8/ : FAILURE in 7m 19s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"24c4557c9bf89a9300538a30efcf5a3bfb0d1fc4","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-09-09 06:09:42.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"59961c94c00314161ecedf4a31a94c41a93e3d33","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2016-09-09 17:53:17.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"ce551d21fed637891d8fcabdf2003f029d528e85","author":{"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},"date":"2016-09-13 21:07:58.000000000","message":"Patch Set 2: Code-Review+1\n\nLooks good to me. I got a local verification. This patch worked for me.","accounts_in_message":[],"_revision_number":2},{"id":"91721996c050abc6894fa2df4146efc6ebf4fad0","author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"date":"2016-09-22 20:46:54.000000000","message":"Patch Set 2: Code-Review+2\n\nOkie dokie.","accounts_in_message":[],"_revision_number":2},{"id":"cd10a151d3a3282fea4e341ceb2821ffc9197555","author":{"_account_id":12980,"name":"Thomas Hsiao","email":"thomas.hsiao@gmail.com","username":"thsiao"},"date":"2016-10-03 22:08:46.000000000","message":"Patch Set 2:\n\nVerified in devstack successfully.","accounts_in_message":[],"_revision_number":2},{"id":"c6ec584fea863a94c567a5e863e42afb6b3d7ad1","author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"date":"2016-10-03 23:04:01.000000000","message":"Patch Set 2:\n\nHmm, seems that relying on REMOTE_ADDR is frowned upon.  See the discussion in http://stackoverflow.com/questions/4581789/how-do-i-get-user-ip-address-in-django#4581997\n\nIs this not a problem for CADF?  Seems like it would be, but I\u0027m not an expert.","accounts_in_message":[],"_revision_number":2},{"id":"7149685e355e7df3836d774daf6e66ac4c34619b","author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"date":"2016-10-03 23:57:30.000000000","message":"Patch Set 2:\n\nBen, I am not sure if I understand the security concern there. In this case, the X-Forwarded* headers are set by the proxies, which is always the case in any production system. REMOTE_ADDR is derived from that header. Unless someone can get into the proxies to mess with those headers, I don\u0027t see how it can be spoofed.\n\nAs expected, Keystone is passing the REMOTE_ADDR to CADF as the client IP. See\n\nhttps://github.com/openstack/keystone/blob/master/keystone/notifications.py#L436","accounts_in_message":[],"_revision_number":2},{"id":"5c28aa5f2c1844a95bbb891b148c82bf0e0a65b6","author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"date":"2016-10-06 19:19:36.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"4abd2d7296b18eb18efb723fd81cb8b6680a97d4","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-10-06 19:19:49.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"01126f6af1f5155506c0514a99a84d488855d851","author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"date":"2016-10-06 19:20:06.000000000","message":"Patch Set 2: -Workflow\n\narg, didn\u0027t read discussion","accounts_in_message":[],"_revision_number":2},{"id":"64ce2d9fb246c5770677674532ec4d86125fcd1b","author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"date":"2016-10-06 19:21:22.000000000","message":"Patch Set 2: Workflow+1\n\nnm, fine with me. we can always revert if something arises","accounts_in_message":[],"_revision_number":2},{"id":"0f26dac811cea87a6098e73d8e612ca3f8c74a01","date":"2016-10-06 20:24:44.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":2},{"id":"5017c4451395123e68c9aa98a21abd9a319ec6c8","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-10-06 20:24:44.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-oslo.middleware-docs-ubuntu-xenial http://docs-draft.openstack.org/31/367031/2/gate/gate-oslo.middleware-docs-ubuntu-xenial/adf3de9//doc/build/html/ : SUCCESS in 2m 38s\n- gate-oslo.middleware-pep8-ubuntu-xenial http://logs.openstack.org/31/367031/2/gate/gate-oslo.middleware-pep8-ubuntu-xenial/e7c4d67/ : SUCCESS in 3m 04s\n- gate-oslo.middleware-python27-ubuntu-xenial http://logs.openstack.org/31/367031/2/gate/gate-oslo.middleware-python27-ubuntu-xenial/aeda122/ : SUCCESS in 2m 56s\n- gate-oslo.middleware-python34 http://logs.openstack.org/31/367031/2/gate/gate-oslo.middleware-python34/33a30d1/ : SUCCESS in 4m 43s\n- gate-tempest-dsvm-neutron-src-oslo.middleware http://logs.openstack.org/31/367031/2/gate/gate-tempest-dsvm-neutron-src-oslo.middleware/550b074/ : SUCCESS in 1h 03m 55s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"df01234bd864062a1dddd071b1d265153867f4b1","revisions":{"b6964fd3ca6c5e35559f6d54b656492771970f15":{"kind":"REWORK","_number":1,"created":"2016-09-08 00:46:44.000000000","uploader":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"ref":"refs/changes/31/367031/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.middleware","ref":"refs/changes/31/367031/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/1"}}},"commit":{"parents":[{"commit":"5b5acf659656f550821a342bcefc6015fb0ec7b4","subject":"Merge \"Show more healthcheck examples\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.middleware/commit/5b5acf659656f550821a342bcefc6015fb0ec7b4"}]}],"author":{"name":"Guang Yee","email":"guang.yee@hpe.com","date":"2016-09-08 00:37:33.000000000","tz":-420},"committer":{"name":"Guang Yee","email":"guang.yee@hpe.com","date":"2016-09-08 00:46:43.000000000","tz":-420},"subject":"make sure we handle the forwarded for headers","message":"make sure we handle the forwarded for headers\n\nThe X-Forwarded-For header or the \"for\u003d\" component in the Forwarded\nheader (per RFC 7239) is essential for applications to keep track of\nthe originating peer IP. CADF auditing, for example, is relying on\nREMOTE_ADDR to accurating keeping track of the real client address.\n\nIf either headers are present, the REMOTE_ADDR WSGI request environment\nvariable will be replaced by the forwarded for address. The Forwarded\nheader have precedence over the X-Forwarded-For header.\n\nChange-Id: Ib690e3274cd00d8cfa8a15d341ac433555495ce6\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.middleware/commit/b6964fd3ca6c5e35559f6d54b656492771970f15"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.middleware/commit/b6964fd3ca6c5e35559f6d54b656492771970f15"}]},"branch":"refs/heads/master"},"df01234bd864062a1dddd071b1d265153867f4b1":{"kind":"REWORK","_number":2,"created":"2016-09-08 17:45:52.000000000","uploader":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"ref":"refs/changes/31/367031/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/oslo.middleware","ref":"refs/changes/31/367031/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/oslo.middleware refs/changes/31/367031/2"}}},"commit":{"parents":[{"commit":"5b5acf659656f550821a342bcefc6015fb0ec7b4","subject":"Merge \"Show more healthcheck examples\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.middleware/commit/5b5acf659656f550821a342bcefc6015fb0ec7b4"}]}],"author":{"name":"Guang Yee","email":"guang.yee@hpe.com","date":"2016-09-08 00:37:33.000000000","tz":-420},"committer":{"name":"Guang Yee","email":"guang.yee@hpe.com","date":"2016-09-08 17:45:42.000000000","tz":-420},"subject":"make sure we handle the forwarded for headers","message":"make sure we handle the forwarded for headers\n\nThe X-Forwarded-For header or the \"for\u003d\" component in the Forwarded\nheader (per RFC 7239) is essential for applications to keep track of\nthe originating peer IP. CADF auditing, for example, is relying on\nREMOTE_ADDR to accurating keeping track of the real client address.\n\nIf either headers are present, the REMOTE_ADDR WSGI request environment\nvariable will be replaced by the forwarded for address. The Forwarded\nheader have precedence over the X-Forwarded-For header.\n\nChange-Id: Ib690e3274cd00d8cfa8a15d341ac433555495ce6\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.middleware/commit/df01234bd864062a1dddd071b1d265153867f4b1"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/oslo.middleware/commit/df01234bd864062a1dddd071b1d265153867f4b1"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
