)]}'
{"oslo/messaging/_drivers/protocols/amqp/controller.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da68e611c131a6ea3bcb96d1229af4ac92356e98","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    progresses from one host to the next."},{"line_number":194,"context_line":"    \"\"\""},{"line_number":195,"context_line":"    def __init__(self, entries\u003dNone):"},{"line_number":196,"context_line":"        self._entries \u003d entries[:] if entries else []"},{"line_number":197,"context_line":"        for entry in self._entries:"},{"line_number":198,"context_line":"            entry.port \u003d entry.port or 5672"},{"line_number":199,"context_line":"        self._current \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_a3ce9e58","line":196,"updated":"2014-10-31 18:04:31.000000000","message":"Why do you need to clone the list?","commit_id":"f43fe66be05cbad316a835f3308188515a93b6eb"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c90b77e9f91e6a2d235f3b19c6c2b6c6c2bb4bd5","unresolved":false,"context_lines":[{"line_number":193,"context_line":"    progresses from one host to the next."},{"line_number":194,"context_line":"    \"\"\""},{"line_number":195,"context_line":"    def __init__(self, entries\u003dNone):"},{"line_number":196,"context_line":"        self._entries \u003d entries[:] if entries else []"},{"line_number":197,"context_line":"        for entry in self._entries:"},{"line_number":198,"context_line":"            entry.port \u003d entry.port or 5672"},{"line_number":199,"context_line":"        self._current \u003d 0"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_e3000904","line":196,"in_reply_to":"7a8c0949_a3ce9e58","updated":"2014-11-17 14:27:08.000000000","message":"Just being safe/paranoid:  the \u0027entries\u0027 list is passed to the Driver constructor, and eventually ends up in this class, which _modifies_ it.  I didn\u0027t think it was safe to assume we can change it on behalf of the original caller.","commit_id":"f43fe66be05cbad316a835f3308188515a93b6eb"}],"oslo/messaging/_drivers/protocols/amqp/eventloop.py":[{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"da68e611c131a6ea3bcb96d1229af4ac92356e98","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            password \u003d host.password if host.password else \"\""},{"line_number":132,"context_line":"            pn_sasl.plain(host.username, password)"},{"line_number":133,"context_line":"        else:"},{"line_number":134,"context_line":"            pn_sasl.mechanisms(\"ANONYMOUS\")"},{"line_number":135,"context_line":"            # TODO(kgiusti): server if accepting inbound connections"},{"line_number":136,"context_line":"            pn_sasl.client()"},{"line_number":137,"context_line":"        self.connection.open()"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8c0949_a3d85ef0","line":134,"updated":"2014-10-31 18:04:31.000000000","message":"Is `PLAIN` the default mechanisms ? Should `PLAIN` be explicitly set if `host.username` is set?","commit_id":"f43fe66be05cbad316a835f3308188515a93b6eb"},{"author":{"_account_id":8770,"name":"Ken Giusti","email":"kgiusti@gmail.com","username":"kgiusti"},"change_message_id":"c90b77e9f91e6a2d235f3b19c6c2b6c6c2bb4bd5","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            password \u003d host.password if host.password else \"\""},{"line_number":132,"context_line":"            pn_sasl.plain(host.username, password)"},{"line_number":133,"context_line":"        else:"},{"line_number":134,"context_line":"            pn_sasl.mechanisms(\"ANONYMOUS\")"},{"line_number":135,"context_line":"            # TODO(kgiusti): server if accepting inbound connections"},{"line_number":136,"context_line":"            pn_sasl.client()"},{"line_number":137,"context_line":"        self.connection.open()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a890539_e3400809","line":134,"in_reply_to":"7a8c0949_a3d85ef0","updated":"2014-11-17 14:27:08.000000000","message":"Ah, good point - that call to pn_sasl.plain() automagically sets the mechanism to PLAIN for us (as well as configure SASL to use the given username/password), so there\u0027s no need to explicitly call .mechanism(\"PLAIN\") in that case.","commit_id":"f43fe66be05cbad316a835f3308188515a93b6eb"}]}
