)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains will be use for future processing like logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iecc5f3a9e32c7b17848e2ed89d9bcbd85900ed5a"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5f7c97a3_0164bbe3","line":10,"range":{"start_line":10,"start_character":13,"end_line":10,"end_character":24},"updated":"2018-06-27 11:01:18.000000000","message":"are used","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains will be use for future processing like logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iecc5f3a9e32c7b17848e2ed89d9bcbd85900ed5a"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5f7c97a3_ecbcf8dc","line":10,"range":{"start_line":10,"start_character":13,"end_line":10,"end_character":24},"in_reply_to":"5f7c97a3_0164bbe3","updated":"2018-06-28 10:14:26.000000000","message":"Done","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains will be use for future processing like logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iecc5f3a9e32c7b17848e2ed89d9bcbd85900ed5a"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5f7c97a3_c159e328","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":21},"updated":"2018-06-27 11:01:18.000000000","message":"Reverse?","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains will be use for future processing like logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iecc5f3a9e32c7b17848e2ed89d9bcbd85900ed5a"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5f7c97a3_8cb1c404","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":21},"in_reply_to":"5f7c97a3_c159e328","updated":"2018-06-28 10:14:26.000000000","message":"Done","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7b5d09e761c18b14ea0a4c0a213ff6ba25c8beb4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains are used for future processing like logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Kim Bao Long \u003clongkb@vn.fujitsu.com\u003e"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_24b21c98","line":10,"range":{"start_line":10,"start_character":49,"end_line":10,"end_character":55},"updated":"2018-07-11 02:00:48.000000000","message":"Firewall logging","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9a1b193eb293748b48824521fe10935c2f2cbe4d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains are used for future processing like logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Kim Bao Long \u003clongkb@vn.fujitsu.com\u003e"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_2fac3587","line":10,"range":{"start_line":10,"start_character":49,"end_line":10,"end_character":55},"in_reply_to":"5f7c97a3_24b21c98","updated":"2018-07-11 02:35:56.000000000","message":"Done","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"114831318a45d4549e7193f7be7a50f013627282","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kim Bao Long \u003clongkb@vn.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-07-19 19:49:41 +0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains are used for future processing like Firewall logging."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"5f7c97a3_415385df","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"updated":"2018-07-23 05:56:43.000000000","message":"Add?","commit_id":"e73183b85f5e4d6d630d42c72db415b39bb71908"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"114831318a45d4549e7193f7be7a50f013627282","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains are used for future processing like Firewall logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Kim Bao Long \u003clongkb@vn.fujitsu.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"5f7c97a3_615801f9","line":9,"range":{"start_line":9,"start_character":10,"end_line":9,"end_character":21},"updated":"2018-07-23 05:56:43.000000000","message":"adds?","commit_id":"e73183b85f5e4d6d630d42c72db415b39bb71908"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"114831318a45d4549e7193f7be7a50f013627282","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains are used for future processing like Firewall logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Kim Bao Long \u003clongkb@vn.fujitsu.com\u003e"},{"line_number":13,"context_line":"Partial-Bug: #1720727"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"5f7c97a3_016d8d99","line":10,"range":{"start_line":10,"start_character":49,"end_line":10,"end_character":57},"updated":"2018-07-23 05:56:43.000000000","message":"FWaaS v2","commit_id":"e73183b85f5e4d6d630d42c72db415b39bb71908"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"6b7e912f0efbe30b09d63e94693ccfe9e0ee4703","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Introduce accepted/dropped/rejected chains for future processing"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces new neutron-l3-agent-accepted/dropped/rejected chains."},{"line_number":10,"context_line":"These chains are used for future processing like Firewall logging."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Kim Bao Long \u003clongkb@vn.fujitsu.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"5f7c97a3_debe3ecd","line":9,"range":{"start_line":9,"start_character":68,"end_line":9,"end_character":75},"updated":"2018-07-25 23:46:51.000000000","message":"Please follow 72 cols.  How about\n\nThis patch adds new chains into iptables for firewall logging:\n\n  a) neutron-l3-agent-accepted\n  b) neutron-l3-agent-dropped\n\nThese chains are used for capturing ACCEPT/DROP packet.","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"}],"neutron_fwaas/privileged/netlink_lib.py":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":131,"context_line":"                               nl_constants.NFCT_O_PLAIN,"},{"line_number":132,"context_line":"                               nl_constants.NFCT_OF_TIME)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            # NOTE(annp) data passed through socket must be"},{"line_number":135,"context_line":"            # string type in Python 3"},{"line_number":136,"context_line":"            entries.append(raw_entry.value.decode(\u0027utf-8\u0027))"},{"line_number":137,"context_line":"            return nl_constants.NFCT_CB_CONTINUE"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_21a0d7f2","line":134,"range":{"start_line":134,"start_character":25,"end_line":134,"end_character":26},"updated":"2018-06-27 11:01:18.000000000","message":"D","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                               nl_constants.NFCT_OF_TIME)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            # NOTE(annp) data passed through socket must be"},{"line_number":135,"context_line":"            # string type in Python 3"},{"line_number":136,"context_line":"            entries.append(raw_entry.value.decode(\u0027utf-8\u0027))"},{"line_number":137,"context_line":"            return nl_constants.NFCT_CB_CONTINUE"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_41a393ff","line":135,"range":{"start_line":135,"start_character":14,"end_line":135,"end_character":15},"updated":"2018-06-27 11:01:18.000000000","message":"D","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            # NOTE(annp) data passed through socket must be"},{"line_number":135,"context_line":"            # string type in Python 3"},{"line_number":136,"context_line":"            entries.append(raw_entry.value.decode(\u0027utf-8\u0027))"},{"line_number":137,"context_line":"            return nl_constants.NFCT_CB_CONTINUE"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        self._callback_register(nl_constants.NFCT_T_ALL,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_81868b64","line":136,"range":{"start_line":136,"start_character":51,"end_line":136,"end_character":57},"updated":"2018-06-27 11:01:18.000000000","message":"Is it definitely utf-8??  Can\u0027t we consider other character code?","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            # NOTE(annp) data passed through socket must be"},{"line_number":135,"context_line":"            # string type in Python 3"},{"line_number":136,"context_line":"            entries.append(raw_entry.value.decode(\u0027utf-8\u0027))"},{"line_number":137,"context_line":"            return nl_constants.NFCT_CB_CONTINUE"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        self._callback_register(nl_constants.NFCT_T_ALL,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_0cc5b45c","line":136,"range":{"start_line":136,"start_character":51,"end_line":136,"end_character":57},"in_reply_to":"5f7c97a3_81868b64","updated":"2018-06-28 10:14:26.000000000","message":"Actually, This is not related to this change! So please ignore it! Thanks.","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"}],"neutron_fwaas/services/firewall/service_drivers/agents/drivers/linux/iptables_fwaas_v2.py":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FWAAS_DRIVER_NAME \u003d \u0027Fwaas iptables driver\u0027"},{"line_number":29,"context_line":"FWAAS_DEFAULT_CHAIN \u003d \u0027fwaas-default-policy\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# introduce these chain for future processing like logging"},{"line_number":32,"context_line":"FWAAS_ACCEPTED_CHAIN \u003d \u0027accepted\u0027"},{"line_number":33,"context_line":"FWAAS_DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"FWAAS_REJECTED_CHAIN \u003d \u0027rejected\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_e1965f94","line":31,"range":{"start_line":31,"start_character":2,"end_line":31,"end_character":3},"updated":"2018-06-27 11:01:18.000000000","message":"I","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":28,"context_line":"FWAAS_DRIVER_NAME \u003d \u0027Fwaas iptables driver\u0027"},{"line_number":29,"context_line":"FWAAS_DEFAULT_CHAIN \u003d \u0027fwaas-default-policy\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# introduce these chain for future processing like logging"},{"line_number":32,"context_line":"FWAAS_ACCEPTED_CHAIN \u003d \u0027accepted\u0027"},{"line_number":33,"context_line":"FWAAS_DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"FWAAS_REJECTED_CHAIN \u003d \u0027rejected\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_2cc2f054","line":31,"range":{"start_line":31,"start_character":2,"end_line":31,"end_character":3},"in_reply_to":"5f7c97a3_e1965f94","updated":"2018-06-28 10:14:26.000000000","message":"Done","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"FWAAS_DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"FWAAS_REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {\u0027allow\u0027: FWAAS_ACCEPTED_CHAIN,"},{"line_number":37,"context_line":"                               \u0027deny\u0027: FWAAS_DROPPED_CHAIN,"},{"line_number":38,"context_line":"                               \u0027reject\u0027: FWAAS_REJECTED_CHAIN}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CHAIN_NAME_PREFIX \u003d {constants.INGRESS_DIRECTION: \u0027i\u0027,"},{"line_number":41,"context_line":"                     constants.EGRESS_DIRECTION: \u0027o\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_81ebeb0f","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":62},"updated":"2018-06-27 11:01:18.000000000","message":"It\u0027s more easy to see :)\n\nFWAAS_TO_IPTABLE_ACTION_MAP \u003d {\n    \u0027allow\u0027: FWAAS_ACCEPTED_CHAIN,\n    \u0027deny\u0027: FWAAS_DROPPED_CHAIN,\n    \u0027reject\u0027: FWAAS_REJECTED_CHAIN\n}","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":33,"context_line":"FWAAS_DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"FWAAS_REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {\u0027allow\u0027: FWAAS_ACCEPTED_CHAIN,"},{"line_number":37,"context_line":"                               \u0027deny\u0027: FWAAS_DROPPED_CHAIN,"},{"line_number":38,"context_line":"                               \u0027reject\u0027: FWAAS_REJECTED_CHAIN}"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CHAIN_NAME_PREFIX \u003d {constants.INGRESS_DIRECTION: \u0027i\u0027,"},{"line_number":41,"context_line":"                     constants.EGRESS_DIRECTION: \u0027o\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_eca158aa","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":62},"in_reply_to":"5f7c97a3_81ebeb0f","updated":"2018-06-28 10:14:26.000000000","message":"Done","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":172,"context_line":"                        FWAAS_REJECTED_CHAIN, ipt_mgr)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"                    # create accepted/dropped/rejected chain"},{"line_number":175,"context_line":"                    self._add_accepted_chain_v4v6(ipt_mgr)"},{"line_number":176,"context_line":"                    self._add_dropped_chain_v4v6(ipt_mgr)"},{"line_number":177,"context_line":"                    self._add_rejected_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_c1dc8372","line":174,"range":{"start_line":174,"start_character":21,"end_line":174,"end_character":23},"updated":"2018-06-27 11:01:18.000000000","message":"C","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":172,"context_line":"                        FWAAS_REJECTED_CHAIN, ipt_mgr)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"                    # create accepted/dropped/rejected chain"},{"line_number":175,"context_line":"                    self._add_accepted_chain_v4v6(ipt_mgr)"},{"line_number":176,"context_line":"                    self._add_dropped_chain_v4v6(ipt_mgr)"},{"line_number":177,"context_line":"                    self._add_rejected_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_8ca6a4c0","line":174,"range":{"start_line":174,"start_character":21,"end_line":174,"end_character":23},"in_reply_to":"5f7c97a3_c1dc8372","updated":"2018-06-28 10:14:26.000000000","message":"Done","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                self._remove_chain_by_name_v4v6(FWAAS_DROPPED_CHAIN, ipt_mgr)"},{"line_number":204,"context_line":"                self._remove_chain_by_name_v4v6(FWAAS_REJECTED_CHAIN, ipt_mgr)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"                # create accepted/dropped/rejected chain"},{"line_number":207,"context_line":"                self._add_accepted_chain_v4v6(ipt_mgr)"},{"line_number":208,"context_line":"                self._add_dropped_chain_v4v6(ipt_mgr)"},{"line_number":209,"context_line":"                self._add_rejected_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_81d44b48","line":206,"range":{"start_line":206,"start_character":18,"end_line":206,"end_character":19},"updated":"2018-06-27 11:01:18.000000000","message":"ditto","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                self._remove_chain_by_name_v4v6(FWAAS_DROPPED_CHAIN, ipt_mgr)"},{"line_number":204,"context_line":"                self._remove_chain_by_name_v4v6(FWAAS_REJECTED_CHAIN, ipt_mgr)"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"                # create accepted/dropped/rejected chain"},{"line_number":207,"context_line":"                self._add_accepted_chain_v4v6(ipt_mgr)"},{"line_number":208,"context_line":"                self._add_dropped_chain_v4v6(ipt_mgr)"},{"line_number":209,"context_line":"                self._add_rejected_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_acab6086","line":206,"range":{"start_line":206,"start_character":18,"end_line":206,"end_character":19},"in_reply_to":"5f7c97a3_81d44b48","updated":"2018-06-28 10:14:26.000000000","message":"Done","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"a8b1e822751ef454bf824c4eea4d0ce509810dfb","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        if not action:"},{"line_number":480,"context_line":"            return []"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        action_chain \u003d self._get_action_chain(action)"},{"line_number":483,"context_line":"        args \u003d [\u0027-j\u0027, action_chain]"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        return args"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_e172df7b","line":483,"range":{"start_line":482,"start_character":0,"end_line":483,"end_character":35},"updated":"2018-06-27 11:01:18.000000000","message":"args \u003d [\u0027-j\u0027, self._get_action_chain(action)]","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"797f8d9b9b62c76dfbbc1d374bdb04be04c23196","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        if not action:"},{"line_number":480,"context_line":"            return []"},{"line_number":481,"context_line":""},{"line_number":482,"context_line":"        action_chain \u003d self._get_action_chain(action)"},{"line_number":483,"context_line":"        args \u003d [\u0027-j\u0027, action_chain]"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        return args"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_0c9a946e","line":483,"range":{"start_line":482,"start_character":0,"end_line":483,"end_character":35},"in_reply_to":"5f7c97a3_e172df7b","updated":"2018-06-28 10:14:26.000000000","message":"Thanks. Done!","commit_id":"3ffe29830cbcd7a6fb75221d37dad78e02af5d4b"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"be187e6831e80d32a1e90bd2170bf7135c876e63","unresolved":false,"context_lines":[{"line_number":29,"context_line":"FWAAS_DEFAULT_CHAIN \u003d \u0027fwaas-default-policy\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Introduce these chain for future processing like logging"},{"line_number":32,"context_line":"FWAAS_ACCEPTED_CHAIN \u003d \u0027accepted\u0027"},{"line_number":33,"context_line":"FWAAS_DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"FWAAS_REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_c9f1186c","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":6},"updated":"2018-07-10 07:59:18.000000000","message":"Is it necessary?  I think ACCEPTED_CHAIN is enough.  Others are same.","commit_id":"23d29704c1502d59dc921b2653026cc2d227c8ac"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"b9d5b31309de38d6cb6145ad323cdc15eb23397c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"FWAAS_DEFAULT_CHAIN \u003d \u0027fwaas-default-policy\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Introduce these chain for future processing like logging"},{"line_number":32,"context_line":"FWAAS_ACCEPTED_CHAIN \u003d \u0027accepted\u0027"},{"line_number":33,"context_line":"FWAAS_DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"FWAAS_REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_e9c5dd3f","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":6},"in_reply_to":"5f7c97a3_c9f1186c","updated":"2018-07-11 00:58:42.000000000","message":"Done","commit_id":"23d29704c1502d59dc921b2653026cc2d227c8ac"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"be187e6831e80d32a1e90bd2170bf7135c876e63","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            table.add_rule(chain_name, rule)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def _get_action_chain(self, name):"},{"line_number":397,"context_line":"        bname \u003d iptables_manager.binary_name"},{"line_number":398,"context_line":"        chain_name \u003d iptables_manager.get_chain_name(name)"},{"line_number":399,"context_line":"        return \u0027%s-%s\u0027 % (bname, chain_name)"},{"line_number":400,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_69b24498","line":397,"range":{"start_line":397,"start_character":8,"end_line":397,"end_character":13},"updated":"2018-07-10 07:59:18.000000000","message":"binary_name is better.","commit_id":"23d29704c1502d59dc921b2653026cc2d227c8ac"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"b9d5b31309de38d6cb6145ad323cdc15eb23397c","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            table.add_rule(chain_name, rule)"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def _get_action_chain(self, name):"},{"line_number":397,"context_line":"        bname \u003d iptables_manager.binary_name"},{"line_number":398,"context_line":"        chain_name \u003d iptables_manager.get_chain_name(name)"},{"line_number":399,"context_line":"        return \u0027%s-%s\u0027 % (bname, chain_name)"},{"line_number":400,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_09c3793b","line":397,"range":{"start_line":397,"start_character":8,"end_line":397,"end_character":13},"in_reply_to":"5f7c97a3_69b24498","updated":"2018-07-11 00:58:42.000000000","message":"Done","commit_id":"23d29704c1502d59dc921b2653026cc2d227c8ac"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7b5d09e761c18b14ea0a4c0a213ff6ba25c8beb4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    fwaas_base_v2"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":28,"context_line":"FWAAS_DRIVER_NAME \u003d \u0027Fwaas iptables driver\u0027"},{"line_number":29,"context_line":"FWAAS_DEFAULT_CHAIN \u003d \u0027fwaas-default-policy\u0027"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Introduce these chain for future processing like logging"},{"line_number":32,"context_line":"ACCEPTED_CHAIN \u003d \u0027accepted\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_24cbfc1d","line":29,"range":{"start_line":28,"start_character":0,"end_line":29,"end_character":19},"updated":"2018-07-11 02:00:48.000000000","message":"In the future, it\u0027s OK to remove FWAAS prefix.","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7b5d09e761c18b14ea0a4c0a213ff6ba25c8beb4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {"},{"line_number":37,"context_line":"    \u0027allow\u0027: ACCEPTED_CHAIN,"},{"line_number":38,"context_line":"    \u0027deny\u0027: DROPPED_CHAIN,"},{"line_number":39,"context_line":"    \u0027reject\u0027: REJECTED_CHAIN"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_a4de2cd9","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":16},"updated":"2018-07-11 02:00:48.000000000","message":"IPTABLES ?","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9a1b193eb293748b48824521fe10935c2f2cbe4d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {"},{"line_number":37,"context_line":"    \u0027allow\u0027: ACCEPTED_CHAIN,"},{"line_number":38,"context_line":"    \u0027deny\u0027: DROPPED_CHAIN,"},{"line_number":39,"context_line":"    \u0027reject\u0027: REJECTED_CHAIN"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_2fd75525","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":16},"in_reply_to":"5f7c97a3_a4de2cd9","updated":"2018-07-11 02:35:56.000000000","message":"Done","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7b5d09e761c18b14ea0a4c0a213ff6ba25c8beb4","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                    ipt_mgr \u003d ipt_if_prefix[\u0027ipt\u0027]"},{"line_number":167,"context_line":"                    self._remove_chains(fwid, ipt_mgr)"},{"line_number":168,"context_line":"                    self._remove_default_chains(ipt_mgr)"},{"line_number":169,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":170,"context_line":"                        ACCEPTED_CHAIN, ipt_mgr)"},{"line_number":171,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":172,"context_line":"                        DROPPED_CHAIN, ipt_mgr)"},{"line_number":173,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":174,"context_line":"                        REJECTED_CHAIN, ipt_mgr)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"                    # Create accepted/dropped/rejected chain"},{"line_number":177,"context_line":"                    self._add_accepted_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_044da0c4","line":174,"range":{"start_line":169,"start_character":0,"end_line":174,"end_character":48},"updated":"2018-07-11 02:00:48.000000000","message":"You can write each code 1 line like\n\nself._remove_chain_by_name_v4v6(ACCEPTED_CHAIN, ipt_mgr)\nself._remove_chain_by_name_v4v6(DROPPED_CHAIN, ipt_mgr)\nself._remove_chain_by_name_v4v6(REJECTED_CHAIN, ipt_mgr)","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9a1b193eb293748b48824521fe10935c2f2cbe4d","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                    ipt_mgr \u003d ipt_if_prefix[\u0027ipt\u0027]"},{"line_number":167,"context_line":"                    self._remove_chains(fwid, ipt_mgr)"},{"line_number":168,"context_line":"                    self._remove_default_chains(ipt_mgr)"},{"line_number":169,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":170,"context_line":"                        ACCEPTED_CHAIN, ipt_mgr)"},{"line_number":171,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":172,"context_line":"                        DROPPED_CHAIN, ipt_mgr)"},{"line_number":173,"context_line":"                    self._remove_chain_by_name_v4v6("},{"line_number":174,"context_line":"                        REJECTED_CHAIN, ipt_mgr)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"                    # Create accepted/dropped/rejected chain"},{"line_number":177,"context_line":"                    self._add_accepted_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_0f75b933","line":174,"range":{"start_line":169,"start_character":0,"end_line":174,"end_character":48},"in_reply_to":"5f7c97a3_044da0c4","updated":"2018-07-11 02:35:56.000000000","message":"Thanks :)","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"7b5d09e761c18b14ea0a4c0a213ff6ba25c8beb4","unresolved":false,"context_lines":[{"line_number":483,"context_line":"        if not action:"},{"line_number":484,"context_line":"            return []"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"        args \u003d [\u0027-j\u0027, self._get_action_chain(action)]"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        return args"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def _protocol_arg(self, protocol):"},{"line_number":491,"context_line":"        if not protocol:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_2499bc1d","line":488,"range":{"start_line":486,"start_character":0,"end_line":488,"end_character":19},"updated":"2018-07-11 02:00:48.000000000","message":"Method name is _action_arg() but it seems to return \u0027args\u0027.  I think it\u0027s a little strange.  How about as follows?\n\nreturn  [\u0027-j\u0027, self._get_action_chain(action)]","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9a1b193eb293748b48824521fe10935c2f2cbe4d","unresolved":false,"context_lines":[{"line_number":483,"context_line":"        if not action:"},{"line_number":484,"context_line":"            return []"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"        args \u003d [\u0027-j\u0027, self._get_action_chain(action)]"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        return args"},{"line_number":489,"context_line":""},{"line_number":490,"context_line":"    def _protocol_arg(self, protocol):"},{"line_number":491,"context_line":"        if not protocol:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_6f89cd1c","line":488,"range":{"start_line":486,"start_character":0,"end_line":488,"end_character":19},"in_reply_to":"5f7c97a3_2499bc1d","updated":"2018-07-11 02:35:56.000000000","message":"Done","commit_id":"fe08c3c1b0d245f38cced806a3d56498679ecfaa"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"93e93296a6abb2ce2be4665098c24edbaf1ddcfd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            else:"},{"line_number":85,"context_line":"                self.apply_default_policy(agent_mode, apply_list, firewall)"},{"line_number":86,"context_line":"        except (LookupError, RuntimeError):"},{"line_number":87,"context_line":"            # Catch known library exceptions and raise Fwaas generic exception"},{"line_number":88,"context_line":"            LOG.exception(\"Failed to create firewall: %s\", firewall[\u0027id\u0027])"},{"line_number":89,"context_line":"            raise fw_ext.FirewallInternalDriverError(driver\u003dFWAAS_DRIVER_NAME)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_0fa93924","line":87,"range":{"start_line":87,"start_character":14,"end_line":87,"end_character":19},"updated":"2018-07-11 02:58:36.000000000","message":"Not related this change!","commit_id":"8c9901518c195f99a605cf030adb9c4f66b9fc26"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"15977210d9e26e0f9c5f150942536065b2b6fec9","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            else:"},{"line_number":85,"context_line":"                self.apply_default_policy(agent_mode, apply_list, firewall)"},{"line_number":86,"context_line":"        except (LookupError, RuntimeError):"},{"line_number":87,"context_line":"            # Catch known library exceptions and raise Fwaas generic exception"},{"line_number":88,"context_line":"            LOG.exception(\"Failed to create firewall: %s\", firewall[\u0027id\u0027])"},{"line_number":89,"context_line":"            raise fw_ext.FirewallInternalDriverError(driver\u003dFWAAS_DRIVER_NAME)"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_0aa6070f","line":87,"range":{"start_line":87,"start_character":14,"end_line":87,"end_character":19},"in_reply_to":"5f7c97a3_0fa93924","updated":"2018-07-11 03:11:58.000000000","message":"Oops! Sorry. I have reverted the unrelated changes","commit_id":"8c9901518c195f99a605cf030adb9c4f66b9fc26"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"c390cf3c41a5f3b65c6061d88d20bc92cced54f0","unresolved":false,"context_lines":[{"line_number":437,"context_line":"            self._add_rules_to_chain(ipt_mgr, IPV6, \u0027FORWARD\u0027, jump_rule)"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"    def _convert_fwaas_to_iptables_rule(self, rule):"},{"line_number":440,"context_line":"        action \u003d FWAAS_TO_IPTABLE_ACTION_MAP[rule.get(\u0027action\u0027)]"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"        # Output ordering is important here as it must exactly match what"},{"line_number":443,"context_line":"        # is returned by iptables-save.  If not we risk unnecessarily removing"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_c6152b4e","line":440,"range":{"start_line":440,"start_character":17,"end_line":440,"end_character":44},"updated":"2018-07-13 10:07:58.000000000","message":"Where is this define?","commit_id":"2ea2b58dc94f99defc854c0efe32f7231e51931d"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"26910fa124045b72a5525e88678f5c9830f8a8ec","unresolved":false,"context_lines":[{"line_number":480,"context_line":"        if not action:"},{"line_number":481,"context_line":"            return []"},{"line_number":482,"context_line":""},{"line_number":483,"context_line":"        args \u003d [\u0027-j\u0027, self._get_action_chain(action)]"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        return args"},{"line_number":486,"context_line":""},{"line_number":487,"context_line":"    def _protocol_arg(self, protocol):"},{"line_number":488,"context_line":"        if not protocol:"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_7e22e0a8","line":485,"range":{"start_line":483,"start_character":0,"end_line":485,"end_character":19},"updated":"2018-07-11 04:21:30.000000000","message":"Done?  Not fixed yet...","commit_id":"2ea2b58dc94f99defc854c0efe32f7231e51931d"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"2559c4ccf64c494d25c95c290d24b2a7cb4903ac","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                    ipt_mgr \u003d ipt_if_prefix[\u0027ipt\u0027]"},{"line_number":167,"context_line":"                    self._remove_chains(fwid, ipt_mgr)"},{"line_number":168,"context_line":"                    self._remove_default_chains(ipt_mgr)"},{"line_number":169,"context_line":"                    self._remove_chain_by_name_v4v6(ACCEPTED_CHAIN, ipt_mgr)"},{"line_number":170,"context_line":"                    self._remove_chain_by_name_v4v6(DROPPED_CHAIN, ipt_mgr)"},{"line_number":171,"context_line":"                    self._remove_chain_by_name_v4v6(REJECTED_CHAIN, ipt_mgr)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"                    # Create accepted/dropped/rejected chain"},{"line_number":174,"context_line":"                    self._add_accepted_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_b85248d9","line":171,"range":{"start_line":169,"start_character":0,"end_line":171,"end_character":76},"updated":"2018-07-17 10:45:42.000000000","message":"It seems we shouldn\u0027t remove these chain to avoid updating is not necessary for logging rule as in case of firewall rule updating.","commit_id":"a844744164caf9974af3001a1e450eaacdb9eeef"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"2559c4ccf64c494d25c95c290d24b2a7cb4903ac","unresolved":false,"context_lines":[{"line_number":198,"context_line":"                # the following only updates local memory; no hole in FW"},{"line_number":199,"context_line":"                self._remove_chains(fwid, ipt_mgr)"},{"line_number":200,"context_line":"                self._remove_default_chains(ipt_mgr)"},{"line_number":201,"context_line":"                self._remove_chain_by_name_v4v6(ACCEPTED_CHAIN, ipt_mgr)"},{"line_number":202,"context_line":"                self._remove_chain_by_name_v4v6(DROPPED_CHAIN, ipt_mgr)"},{"line_number":203,"context_line":"                self._remove_chain_by_name_v4v6(REJECTED_CHAIN, ipt_mgr)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"                # Create accepted/dropped/rejected chain"},{"line_number":206,"context_line":"                self._add_accepted_chain_v4v6(ipt_mgr)"}],"source_content_type":"text/x-python","patch_set":14,"id":"5f7c97a3_986d0c9b","line":203,"range":{"start_line":201,"start_character":0,"end_line":203,"end_character":72},"updated":"2018-07-17 10:45:42.000000000","message":"ditto!","commit_id":"a844744164caf9974af3001a1e450eaacdb9eeef"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"6b7e912f0efbe30b09d63e94693ccfe9e0ee4703","unresolved":false,"context_lines":[{"line_number":33,"context_line":"DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {"},{"line_number":37,"context_line":"    \u0027allow\u0027: ACCEPTED_CHAIN,"},{"line_number":38,"context_line":"    \u0027deny\u0027: DROPPED_CHAIN,"},{"line_number":39,"context_line":"    \u0027reject\u0027: REJECTED_CHAIN"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_de6cfe6c","line":36,"range":{"start_line":36,"start_character":9,"end_line":36,"end_character":16},"updated":"2018-07-25 23:46:51.000000000","message":"Why reverted ?","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"19b97cb0e5bbbbe6c8da454b0c455364f8b49c61","unresolved":false,"context_lines":[{"line_number":33,"context_line":"DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {"},{"line_number":37,"context_line":"    \u0027allow\u0027: ACCEPTED_CHAIN,"},{"line_number":38,"context_line":"    \u0027deny\u0027: DROPPED_CHAIN,"},{"line_number":39,"context_line":"    \u0027reject\u0027: REJECTED_CHAIN"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_0aad4b83","line":36,"range":{"start_line":36,"start_character":9,"end_line":36,"end_character":16},"in_reply_to":"5f7c97a3_a1fd620a","updated":"2018-07-26 05:34:14.000000000","message":"+1  I thought this map is newly added.  OK, I understood current state.  Please keep on current value.","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"b37020f9aa284332a6bc33366c97321198f24e77","unresolved":false,"context_lines":[{"line_number":33,"context_line":"DROPPED_CHAIN \u003d \u0027dropped\u0027"},{"line_number":34,"context_line":"REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {"},{"line_number":37,"context_line":"    \u0027allow\u0027: ACCEPTED_CHAIN,"},{"line_number":38,"context_line":"    \u0027deny\u0027: DROPPED_CHAIN,"},{"line_number":39,"context_line":"    \u0027reject\u0027: REJECTED_CHAIN"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_a1fd620a","line":36,"range":{"start_line":36,"start_character":9,"end_line":36,"end_character":16},"in_reply_to":"5f7c97a3_de6cfe6c","updated":"2018-07-26 02:47:02.000000000","message":"Basically, it\u0027s not relate this change, right? So, I\u0027d suggest to cleanup something like grammar... in a cleanup patch rather than this patch.","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"6b7e912f0efbe30b09d63e94693ccfe9e0ee4703","unresolved":false,"context_lines":[{"line_number":34,"context_line":"REJECTED_CHAIN \u003d \u0027rejected\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"FWAAS_TO_IPTABLE_ACTION_MAP \u003d {"},{"line_number":37,"context_line":"    \u0027allow\u0027: ACCEPTED_CHAIN,"},{"line_number":38,"context_line":"    \u0027deny\u0027: DROPPED_CHAIN,"},{"line_number":39,"context_line":"    \u0027reject\u0027: REJECTED_CHAIN"},{"line_number":40,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_3e93b250","line":37,"range":{"start_line":37,"start_character":5,"end_line":37,"end_character":10},"updated":"2018-07-25 23:46:51.000000000","message":"How about aligning with \u0027accept\u0027?","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"d90a34cd9403bf535c05d2d3895d9f5fd8b26e88","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            FWAAS_DEFAULT_CHAIN, \u0027-j %s\u0027 % dropped_chain)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def _add_accepted_chain_v4v6(self, ipt_mgr):"},{"line_number":352,"context_line":"        ipt_mgr.ipv4[\u0027filter\u0027].add_chain(ACCEPTED_CHAIN)"},{"line_number":353,"context_line":"        ipt_mgr.ipv4[\u0027filter\u0027].add_rule(ACCEPTED_CHAIN, \u0027-j ACCEPT\u0027)"},{"line_number":354,"context_line":"        ipt_mgr.ipv6[\u0027filter\u0027].add_chain(ACCEPTED_CHAIN)"},{"line_number":355,"context_line":"        ipt_mgr.ipv6[\u0027filter\u0027].add_rule(ACCEPTED_CHAIN, \u0027-j ACCEPT\u0027)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _add_dropped_chain_v4v6(self, ipt_mgr):"},{"line_number":358,"context_line":"        ipt_mgr.ipv4[\u0027filter\u0027].add_chain(DROPPED_CHAIN)"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_150fb039","line":355,"range":{"start_line":352,"start_character":8,"end_line":355,"end_character":68},"updated":"2018-07-26 06:47:19.000000000","message":"why don\u0027t we use get_chain to avoid duplicate message? Something like:\n\nrules_in_chain \u003d ipt_mgr.get_chain(\"filter\", ACCEPTED_CHAIN, ip_version\u003d4)\nif len(rules_in_chain) \u003d\u003d 0:\n   ipt_mgr.ipv4[\u0027filter\u0027].add_chain(ACCEPTED_CHAIN)\n   ipt_mgr.ipv4[\u0027filter\u0027].add_rule(ACCEPTED_CHAIN, \u0027-j ACCEPT\u0027)\n...","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"00d9f17feafc235efd95db1e27a1bb36d6a540a4","unresolved":false,"context_lines":[{"line_number":349,"context_line":"            FWAAS_DEFAULT_CHAIN, \u0027-j %s\u0027 % dropped_chain)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def _add_accepted_chain_v4v6(self, ipt_mgr):"},{"line_number":352,"context_line":"        ipt_mgr.ipv4[\u0027filter\u0027].add_chain(ACCEPTED_CHAIN)"},{"line_number":353,"context_line":"        ipt_mgr.ipv4[\u0027filter\u0027].add_rule(ACCEPTED_CHAIN, \u0027-j ACCEPT\u0027)"},{"line_number":354,"context_line":"        ipt_mgr.ipv6[\u0027filter\u0027].add_chain(ACCEPTED_CHAIN)"},{"line_number":355,"context_line":"        ipt_mgr.ipv6[\u0027filter\u0027].add_rule(ACCEPTED_CHAIN, \u0027-j ACCEPT\u0027)"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _add_dropped_chain_v4v6(self, ipt_mgr):"},{"line_number":358,"context_line":"        ipt_mgr.ipv4[\u0027filter\u0027].add_chain(DROPPED_CHAIN)"}],"source_content_type":"text/x-python","patch_set":17,"id":"5f7c97a3_70e71247","line":355,"range":{"start_line":352,"start_character":8,"end_line":355,"end_character":68},"in_reply_to":"5f7c97a3_150fb039","updated":"2018-07-26 07:00:18.000000000","message":"Genius!!!\nThank you for the great comment :)","commit_id":"c81ecccb4dcdf39f23587825aa5f58f99d15ffc4"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9ff63a63c1ca5e701e923fb2c77e2badad48416d","unresolved":false,"context_lines":[{"line_number":382,"context_line":"            ipt_mgr.ipv4[\u0027filter\u0027].add_rule(REJECTED_CHAIN, \u0027-j REJECT\u0027)"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        v6rules_in_chain \u003d \\"},{"line_number":385,"context_line":"            ipt_mgr.get_chain(\"filter\", DROPPED_CHAIN, ip_version\u003d6)"},{"line_number":386,"context_line":"        if not v6rules_in_chain:"},{"line_number":387,"context_line":"            ipt_mgr.ipv6[\u0027filter\u0027].add_chain(REJECTED_CHAIN)"},{"line_number":388,"context_line":"            ipt_mgr.ipv6[\u0027filter\u0027].add_rule(REJECTED_CHAIN, \u0027-j REJECT\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"5f7c97a3_94236baa","line":385,"range":{"start_line":385,"start_character":40,"end_line":385,"end_character":53},"updated":"2018-08-03 05:05:03.000000000","message":"It should be REJECTED_CHAIN","commit_id":"3576bedbfa2fd625e65a218523f2581103c7cc95"},{"author":{"_account_id":15471,"name":"Nguyen Phuong An","email":"annp.cs51@gmail.com","username":"An-FVL"},"change_message_id":"c7ebe24e07128c2105e2b12b1c28e5207f89188b","unresolved":false,"context_lines":[{"line_number":486,"context_line":"        return \u0027-m state --state INVALID -j %s\u0027 % dropped_chain"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"    def _allow_established_rule(self):"},{"line_number":489,"context_line":"        accepted_chain \u003d self._get_action_chain(ACCEPTED_CHAIN)"},{"line_number":490,"context_line":"        return \u0027-m state --state RELATED,ESTABLISHED -j %s\u0027 % accepted_chain"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    def _action_arg(self, action):"}],"source_content_type":"text/x-python","patch_set":20,"id":"5f7c97a3_b9bc60db","line":489,"range":{"start_line":489,"start_character":0,"end_line":489,"end_character":63},"updated":"2018-07-31 03:11:29.000000000","message":"Because we only get first accept log packet. So we shouldn\u0027t forward all packets to accepted_chain. That\u0027s mean we should move back this one!","commit_id":"3576bedbfa2fd625e65a218523f2581103c7cc95"}],"neutron_fwaas/tests/unit/services/firewall/service_drivers/agents/drivers/linux/test_iptables_fwaas_v2.py":[{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"8bbb61ce17d6ca54c62f4d8cd39465551dd7dc21","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            calls \u003d [mock.call.remove_chain(\u0027iv4fake-fw-uuid\u0027),"},{"line_number":168,"context_line":"                     mock.call.remove_chain(\u0027ov4fake-fw-uuid\u0027),"},{"line_number":169,"context_line":"                     mock.call.remove_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":170,"context_line":"                     # mock.call.add_chain(\u0027accepted\u0027),"},{"line_number":171,"context_line":"                     # mock.call.add_rule(\u0027accepted\u0027, \u0027-j ACCEPT\u0027),"},{"line_number":172,"context_line":"                     # mock.call.add_chain(\u0027dropped\u0027),"},{"line_number":173,"context_line":"                     # mock.call.add_rule(\u0027dropped\u0027, \u0027-j DROP\u0027),"},{"line_number":174,"context_line":"                     # mock.call.add_chain(\u0027rejected\u0027),"},{"line_number":175,"context_line":"                     # mock.call.add_rule(\u0027rejected\u0027, \u0027-j REJECT\u0027),"},{"line_number":176,"context_line":"                     mock.call.add_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":177,"context_line":"                     mock.call.add_rule("},{"line_number":178,"context_line":"                         \u0027fwaas-default-policy\u0027, \u0027-j %s\u0027 % dropped),"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_925a4d83","line":175,"range":{"start_line":170,"start_character":0,"end_line":175,"end_character":67},"updated":"2018-08-02 20:29:38.000000000","message":"What\u0027s this??","commit_id":"9b52d1f03e8b18fae41a6ea763421fc57484e929"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9ff63a63c1ca5e701e923fb2c77e2badad48416d","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            calls \u003d [mock.call.remove_chain(\u0027iv4fake-fw-uuid\u0027),"},{"line_number":168,"context_line":"                     mock.call.remove_chain(\u0027ov4fake-fw-uuid\u0027),"},{"line_number":169,"context_line":"                     mock.call.remove_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":170,"context_line":"                     # mock.call.add_chain(\u0027accepted\u0027),"},{"line_number":171,"context_line":"                     # mock.call.add_rule(\u0027accepted\u0027, \u0027-j ACCEPT\u0027),"},{"line_number":172,"context_line":"                     # mock.call.add_chain(\u0027dropped\u0027),"},{"line_number":173,"context_line":"                     # mock.call.add_rule(\u0027dropped\u0027, \u0027-j DROP\u0027),"},{"line_number":174,"context_line":"                     # mock.call.add_chain(\u0027rejected\u0027),"},{"line_number":175,"context_line":"                     # mock.call.add_rule(\u0027rejected\u0027, \u0027-j REJECT\u0027),"},{"line_number":176,"context_line":"                     mock.call.add_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":177,"context_line":"                     mock.call.add_rule("},{"line_number":178,"context_line":"                         \u0027fwaas-default-policy\u0027, \u0027-j %s\u0027 % dropped),"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_4c3651e2","line":175,"range":{"start_line":170,"start_character":0,"end_line":175,"end_character":67},"in_reply_to":"5f7c97a3_925a4d83","updated":"2018-08-03 05:05:03.000000000","message":"I have removed these lines","commit_id":"9b52d1f03e8b18fae41a6ea763421fc57484e929"},{"author":{"_account_id":13702,"name":"yushiro","username":"yushiro","inactive":true},"change_message_id":"8bbb61ce17d6ca54c62f4d8cd39465551dd7dc21","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                     mock.call.remove_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":227,"context_line":"                     mock.call.add_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":228,"context_line":"                     mock.call.add_rule("},{"line_number":229,"context_line":"                         \u0027fwaas-default-policy\u0027, \u0027-j %s\u0027 % dropped),"},{"line_number":230,"context_line":"                     mock.call.add_chain(ingress_chain),"},{"line_number":231,"context_line":"                     mock.call.add_rule(ingress_chain, invalid_rule),"},{"line_number":232,"context_line":"                     mock.call.add_rule(ingress_chain, est_rule),"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_92bfad78","line":229,"range":{"start_line":229,"start_character":25,"end_line":229,"end_character":26},"updated":"2018-08-02 20:29:38.000000000","message":"You can write 1 line.","commit_id":"9b52d1f03e8b18fae41a6ea763421fc57484e929"},{"author":{"_account_id":28174,"name":"Kim Bao Long","email":"longkb@vn.fujitsu.com","username":"longkb.fvl"},"change_message_id":"9ff63a63c1ca5e701e923fb2c77e2badad48416d","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                     mock.call.remove_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":227,"context_line":"                     mock.call.add_chain(\u0027fwaas-default-policy\u0027),"},{"line_number":228,"context_line":"                     mock.call.add_rule("},{"line_number":229,"context_line":"                         \u0027fwaas-default-policy\u0027, \u0027-j %s\u0027 % dropped),"},{"line_number":230,"context_line":"                     mock.call.add_chain(ingress_chain),"},{"line_number":231,"context_line":"                     mock.call.add_rule(ingress_chain, invalid_rule),"},{"line_number":232,"context_line":"                     mock.call.add_rule(ingress_chain, est_rule),"}],"source_content_type":"text/x-python","patch_set":23,"id":"5f7c97a3_ec42bd3c","line":229,"range":{"start_line":229,"start_character":25,"end_line":229,"end_character":26},"in_reply_to":"5f7c97a3_92bfad78","updated":"2018-08-03 05:05:03.000000000","message":"No. It\u0027t over 80 characters","commit_id":"9b52d1f03e8b18fae41a6ea763421fc57484e929"}]}
