)]}'
{"cinder/volume/drivers/sandstone/sds_client.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        user -- login web username.\r"},{"line_number":44,"context_line":"        password -- login web password.\r"},{"line_number":45,"context_line":"        \"\"\"\r"},{"line_number":46,"context_line":"        self.address \u003d \"http://%(address)s:%(port)d\"\\\r"},{"line_number":47,"context_line":"            % {\"address\": address, \"port\": port}\r"},{"line_number":48,"context_line":"        self.user \u003d user\r"},{"line_number":49,"context_line":"        self.password \u003d password\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_6ec65a4b","line":46,"range":{"start_line":46,"start_character":24,"end_line":46,"end_character":28},"updated":"2019-09-11 15:28:38.000000000","message":"No HTTPS support?","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        user -- login web username.\r"},{"line_number":44,"context_line":"        password -- login web password.\r"},{"line_number":45,"context_line":"        \"\"\"\r"},{"line_number":46,"context_line":"        self.address \u003d \"http://%(address)s:%(port)d\"\\\r"},{"line_number":47,"context_line":"            % {\"address\": address, \"port\": port}\r"},{"line_number":48,"context_line":"        self.user \u003d user\r"},{"line_number":49,"context_line":"        self.password \u003d password\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_4ee11ed0","line":46,"range":{"start_line":46,"start_character":42,"end_line":46,"end_character":43},"updated":"2019-09-11 15:28:38.000000000","message":"This will break if \"address\" is an IPv6 address.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":30590,"name":"SandStone Storage CI","email":"yangziguan@szsandstone.com","username":"yangziguan","tags":["SERVICE_USER"]},"change_message_id":"9a6fcff92bbe359f86cd62caaf306037fcde80eb","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        user -- login web username.\r"},{"line_number":44,"context_line":"        password -- login web password.\r"},{"line_number":45,"context_line":"        \"\"\"\r"},{"line_number":46,"context_line":"        self.address \u003d \"http://%(address)s:%(port)d\"\\\r"},{"line_number":47,"context_line":"            % {\"address\": address, \"port\": port}\r"},{"line_number":48,"context_line":"        self.user \u003d user\r"},{"line_number":49,"context_line":"        self.password \u003d password\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_4b17c2ee","line":46,"range":{"start_line":46,"start_character":24,"end_line":46,"end_character":28},"in_reply_to":"5faad753_6ec65a4b","updated":"2019-09-12 09:36:50.000000000","message":"I will change for https.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":130,"context_line":"\r"},{"line_number":131,"context_line":"        md5 \u003d hashlib.md5()\r"},{"line_number":132,"context_line":"        md5.update(self.password.encode(\"utf8\"))\r"},{"line_number":133,"context_line":"        self.password \u003d md5.hexdigest()\r"},{"line_number":134,"context_line":"\r"},{"line_number":135,"context_line":"        data \u003d {\"username\": self.user, \"password\": self.password}\r"},{"line_number":136,"context_line":"        result \u003d self.run(url\u003durl, data\u003ddata, method\u003d\u0027POST\u0027, json_flag\u003dTrue,\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_6ef41a87","line":133,"updated":"2019-09-11 15:28:38.000000000","message":"This logs in by sending passwords hashed to md5 over non-encrypted HTTP?\n\nThis is quite problematic for security, does the backend not support something that would meet modern security standards?","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":30590,"name":"SandStone Storage CI","email":"yangziguan@szsandstone.com","username":"yangziguan","tags":["SERVICE_USER"]},"change_message_id":"9a6fcff92bbe359f86cd62caaf306037fcde80eb","unresolved":false,"context_lines":[{"line_number":130,"context_line":"\r"},{"line_number":131,"context_line":"        md5 \u003d hashlib.md5()\r"},{"line_number":132,"context_line":"        md5.update(self.password.encode(\"utf8\"))\r"},{"line_number":133,"context_line":"        self.password \u003d md5.hexdigest()\r"},{"line_number":134,"context_line":"\r"},{"line_number":135,"context_line":"        data \u003d {\"username\": self.user, \"password\": self.password}\r"},{"line_number":136,"context_line":"        result \u003d self.run(url\u003durl, data\u003ddata, method\u003d\u0027POST\u0027, json_flag\u003dTrue,\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_8be29a00","line":133,"in_reply_to":"5faad753_6ef41a87","updated":"2019-09-12 09:36:50.000000000","message":"I will use sha256 replace md5 encrypt password.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":508,"context_line":"\r"},{"line_number":509,"context_line":"\r"},{"line_number":510,"context_line":"if __name__ \u003d\u003d \"__main__\":\r"},{"line_number":511,"context_line":"    r \u003d RestCmd(\"http://10.10.99.6:6680\", \"admin\", \"admin\", \"100\")\r"},{"line_number":512,"context_line":"    r.login()\r"},{"line_number":513,"context_line":"    # print(r.query_pool_info())\r"},{"line_number":514,"context_line":"    print(r.query_target_by_name(\u0027yangziguan\u0027))\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_ae3f7223","line":511,"updated":"2019-09-11 15:28:38.000000000","message":"This shouldn\u0027t be here.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":30590,"name":"SandStone Storage CI","email":"yangziguan@szsandstone.com","username":"yangziguan","tags":["SERVICE_USER"]},"change_message_id":"9a6fcff92bbe359f86cd62caaf306037fcde80eb","unresolved":false,"context_lines":[{"line_number":508,"context_line":"\r"},{"line_number":509,"context_line":"\r"},{"line_number":510,"context_line":"if __name__ \u003d\u003d \"__main__\":\r"},{"line_number":511,"context_line":"    r \u003d RestCmd(\"http://10.10.99.6:6680\", \"admin\", \"admin\", \"100\")\r"},{"line_number":512,"context_line":"    r.login()\r"},{"line_number":513,"context_line":"    # print(r.query_pool_info())\r"},{"line_number":514,"context_line":"    print(r.query_target_by_name(\u0027yangziguan\u0027))\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_28fe0c37","line":511,"in_reply_to":"5faad753_ae3f7223","updated":"2019-09-12 09:36:50.000000000","message":"I will delete this.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"}],"cinder/volume/drivers/sandstone/sds_driver.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":43,"context_line":"               help\u003d\"SandStone management interface login username.\"),\r"},{"line_number":44,"context_line":"    cfg.StrOpt(\"sandstone_om_password\",\r"},{"line_number":45,"context_line":"               default\u003d\"admin\",\r"},{"line_number":46,"context_line":"               help\u003d\"SandStone management interface login password.\"),\r"},{"line_number":47,"context_line":"    cfg.StrOpt(\"default_target_ips\",\r"},{"line_number":48,"context_line":"               default\u003dNone,\r"},{"line_number":49,"context_line":"               help\u003d\"SandStone default target ip.\\\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_ae953242","line":46,"updated":"2019-09-11 15:28:38.000000000","message":"Must set secret\u003dTrue for passwords.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":52,"context_line":"               default\u003dNone,\r"},{"line_number":53,"context_line":"               help\u003d\"SandStone default chap info.\\\r"},{"line_number":54,"context_line":"               include chap user info and chap password,\\\r"},{"line_number":55,"context_line":"               args must split with comma.\"),\r"},{"line_number":56,"context_line":"    cfg.StrOpt(\"sandstone_pool\",\r"},{"line_number":57,"context_line":"               default\u003dNone,\r"},{"line_number":58,"context_line":"               help\u003d\"SandStone storage pool resource name.\"),\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_ee848a0e","line":55,"updated":"2019-09-11 15:28:38.000000000","message":"It\u0027s not clear from the help here what this option does.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":482,"context_line":"        multipath \u003d connector.get(\u0027multipath\u0027, False)\r"},{"line_number":483,"context_line":"        hostlun_id \u003d int(lun_id)\r"},{"line_number":484,"context_line":"        if not multipath:\r"},{"line_number":485,"context_line":"            properties[\u0027target_portal\u0027] \u003d (\u0027%s:3260\u0027 % target_ips[0])\r"},{"line_number":486,"context_line":"            properties[\u0027target_iqn\u0027] \u003d target_name\r"},{"line_number":487,"context_line":"            properties[\u0027target_lun\u0027] \u003d hostlun_id\r"},{"line_number":488,"context_line":"        else:\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_2eb942cb","line":485,"range":{"start_line":485,"start_character":44,"end_line":485,"end_character":52},"updated":"2019-09-11 15:28:38.000000000","message":"This will break if using IPv6.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8bddf77e8c9be8b848eec979701b67560cc2ea94","unresolved":false,"context_lines":[{"line_number":489,"context_line":"            properties[\u0027target_iqns\u0027] \u003d [target_name for i in\r"},{"line_number":490,"context_line":"                                         range(len(target_ips))]\r"},{"line_number":491,"context_line":"            properties[\u0027target_portals\u0027] \u003d [\r"},{"line_number":492,"context_line":"                \u0027%s:3260\u0027 % ip for ip in target_ips]\r"},{"line_number":493,"context_line":"            properties[\u0027target_luns\u0027] \u003d [hostlun_id] * len(target_ips)\r"},{"line_number":494,"context_line":"\r"},{"line_number":495,"context_line":"        # If use CHAP, return CHAP info.\r"}],"source_content_type":"text/x-python","patch_set":1,"id":"5faad753_eeb24ae6","line":492,"range":{"start_line":492,"start_character":16,"end_line":492,"end_character":25},"updated":"2019-09-11 15:28:38.000000000","message":"This will break if using IPv6.","commit_id":"a27a86db99f16d867cf468eb0be4773743278f1c"}]}
