)]}'
{"etc/keystone.conf.sample":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"07665b71302a951a014c1cfa3f98892aacbb007d","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"# Maximum results per page; a value of zero (\u00270\u0027) disables paging (default)"},{"line_number":141,"context_line":"# page_size \u003d 0"},{"line_number":142,"context_line":"# deref_opt \u003d never"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"# The LDAP scope for queries, this can be either \u0027one\u0027"},{"line_number":145,"context_line":"# (onelevel/singleLevel) or \u0027sub\u0027 (subtree/wholeSubtree)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAOH%2F%2F8oA%3D","line":142,"updated":"2013-03-19 20:55:43.000000000","message":"suggest rename to alias_dereferencing so that users aren\u0027t confused thinking it\u0027s referral chasing.\n\nAlso, add documentation like the docs for the query_scope option below.","commit_id":"3505752c13087833b65fedcb19028490f378e631"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"578ef79974b0bdf20f2317ef3ed8bc70b5aefd83","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"# The LDAP dereferencing option for queries. This can be either \u0027never\u0027,"},{"line_number":144,"context_line":"# \u0027searching\u0027, \u0027always\u0027, or \u0027finding\u0027."},{"line_number":145,"context_line":"# alias_dereferencing \u003d never"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# The LDAP scope for queries, this can be either \u0027one\u0027"},{"line_number":148,"context_line":"# (onelevel/singleLevel) or \u0027sub\u0027 (subtree/wholeSubtree)"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOH%2F%2F6%2F4%3D","line":145,"updated":"2013-03-20 21:31:30.000000000","message":"I think there should be a \"default\" option that if dereferencing is set to this then it doesn\u0027t set the option for the connection so that users can continue to make use of ldap.conf to set this option if they want to.","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"0bf34b33308f65f4385885765108d586b25a5697","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"# The LDAP dereferencing option for queries. This can be either \u0027never\u0027,"},{"line_number":144,"context_line":"# \u0027searching\u0027, \u0027always\u0027, or \u0027finding\u0027."},{"line_number":145,"context_line":"# alias_dereferencing \u003d never"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# The LDAP scope for queries, this can be either \u0027one\u0027"},{"line_number":148,"context_line":"# (onelevel/singleLevel) or \u0027sub\u0027 (subtree/wholeSubtree)"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"AAAAOH%2F%2F69A%3D","line":145,"in_reply_to":"AAAAOH%2F%2F6%2F4%3D","updated":"2013-03-20 22:03:27.000000000","message":"Done","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"}],"keystone/common/ldap/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4a924aa466196631bd1e8d9d37f0ceb480a075f2","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    try:"},{"line_number":71,"context_line":"        return LDAP_DEREF_OPTS[opt]"},{"line_number":72,"context_line":"    except KeyError:"},{"line_number":73,"context_line":"        raise ValueError(_(\u0027Invalid LDAP deref option: %s. Choose one of: \u0027 %"},{"line_number":74,"context_line":"                         opt) + \u0027, \u0027.join(LDAP_DEREF_OPTS.keys()))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2F8rE%3D","line":73,"updated":"2013-03-19 20:40:14.000000000","message":"move % opt outsize of _().","commit_id":"3505752c13087833b65fedcb19028490f378e631"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4a924aa466196631bd1e8d9d37f0ceb480a075f2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.LDAP_USER \u003d conf.ldap.user"},{"line_number":104,"context_line":"        self.LDAP_PASSWORD \u003d conf.ldap.password"},{"line_number":105,"context_line":"        self.LDAP_SCOPE \u003d ldap_scope(conf.ldap.query_scope)"},{"line_number":106,"context_line":"        self.LDAP_DEREF_OPT \u003d ldap_deref_opt(conf.ldap.deref_opt)"},{"line_number":107,"context_line":"        self.page_size \u003d conf.ldap.page_size"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if self.options_name is not None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2F8rM%3D","line":106,"updated":"2013-03-19 20:40:14.000000000","message":"use lowercase, like page_size to follow the HACKING.py convention.","commit_id":"3505752c13087833b65fedcb19028490f378e631"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"578ef79974b0bdf20f2317ef3ed8bc70b5aefd83","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        yield attrs"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def ldap_deref(opt):"},{"line_number":70,"context_line":"    try:"},{"line_number":71,"context_line":"        return LDAP_DEREF[opt]"},{"line_number":72,"context_line":"    except KeyError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F6%2Fo%3D","line":69,"updated":"2013-03-20 21:31:30.000000000","message":"suggest don\u0027t put ldap_ in front of everything, since this is in an ldap module already. Maybe a better name is parse_alias_dereferencing","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"0bf34b33308f65f4385885765108d586b25a5697","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        yield attrs"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def ldap_deref(opt):"},{"line_number":70,"context_line":"    try:"},{"line_number":71,"context_line":"        return LDAP_DEREF[opt]"},{"line_number":72,"context_line":"    except KeyError:"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F69M%3D","line":69,"in_reply_to":"AAAAOH%2F%2F6%2Fo%3D","updated":"2013-03-20 22:03:27.000000000","message":"I disagree with parse_alias_dereferencing, as the name causes some lines to be too long, but do agree it should be something better. I\u0027m considering parse_deref(opt).","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"578ef79974b0bdf20f2317ef3ed8bc70b5aefd83","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        return LDAP_DEREF[opt]"},{"line_number":72,"context_line":"    except KeyError:"},{"line_number":73,"context_line":"        raise ValueError(_(\u0027Invalid LDAP deref option: %s. Choose one of: \u0027) %"},{"line_number":74,"context_line":"                         opt + \u0027, \u0027.join(LDAP_DEREF.keys()))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"def ldap_scope(scope):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F6%2Fs%3D","line":74,"updated":"2013-03-20 21:31:30.000000000","message":"suggest surround _() % opt with () . This line is confusing because it looks like the + is supposed to take precedence.","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"0bf34b33308f65f4385885765108d586b25a5697","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        return LDAP_DEREF[opt]"},{"line_number":72,"context_line":"    except KeyError:"},{"line_number":73,"context_line":"        raise ValueError(_(\u0027Invalid LDAP deref option: %s. Choose one of: \u0027) %"},{"line_number":74,"context_line":"                         opt + \u0027, \u0027.join(LDAP_DEREF.keys()))"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"def ldap_scope(scope):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F69I%3D","line":74,"in_reply_to":"AAAAOH%2F%2F6%2Fs%3D","updated":"2013-03-20 22:03:27.000000000","message":"Done","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"47de2f00e0f41184206dfaf7af9d175ca8c9943f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        else:"},{"line_number":158,"context_line":"            conn \u003d LdapWrapper(self.LDAP_URL,"},{"line_number":159,"context_line":"                               self.page_size,"},{"line_number":160,"context_line":"                               self.alias_dereferencing)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        if user is None:"},{"line_number":163,"context_line":"            user \u003d self.LDAP_USER"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOH%2F%2F60U%3D","line":160,"updated":"2013-03-21 00:08:43.000000000","message":"suggest use named argument for named parameter; change \"self.alias_dereferencing\" to \"alias_dereferencing\u003dself.alias_dereferencing\"","commit_id":"d2d2ecbcf05c38f8020624cdfd826e2e745d3768"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"f72892aa90c525e02091d3c8616e49cbcdcedf92","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        else:"},{"line_number":158,"context_line":"            conn \u003d LdapWrapper(self.LDAP_URL,"},{"line_number":159,"context_line":"                               self.page_size,"},{"line_number":160,"context_line":"                               self.alias_dereferencing)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"        if user is None:"},{"line_number":163,"context_line":"            user \u003d self.LDAP_USER"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOH%2F%2F6wc%3D","line":160,"in_reply_to":"AAAAOH%2F%2F60U%3D","updated":"2013-03-21 00:50:45.000000000","message":"Done","commit_id":"d2d2ecbcf05c38f8020624cdfd826e2e745d3768"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"47de2f00e0f41184206dfaf7af9d175ca8c9943f","unresolved":false,"context_lines":[{"line_number":366,"context_line":"    def __init__(self, url, page_size, alias_dereferencing\u003dNone):"},{"line_number":367,"context_line":"        LOG.debug(_(\"LDAP init: url\u003d%s\"), url)"},{"line_number":368,"context_line":"        self.conn \u003d ldap.initialize(url)"},{"line_number":369,"context_line":"        if alias_dereferencing:"},{"line_number":370,"context_line":"            self.conn.set_option(ldap.OPT_DEREF, alias_dereferencing)"},{"line_number":371,"context_line":"        self.page_size \u003d page_size"},{"line_number":372,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOH%2F%2F6zs%3D","line":369,"updated":"2013-03-21 00:08:43.000000000","message":"On my system, ldap.DEREF_NEVER is 0, so this will not work. Change to \"if alias_dereferencing is not None:\". Also, need a testcase since this wasn\u0027t caught by existing tests.\n\n \u003e\u003e\u003e bool(ldap.DEREF_NEVER)\n False","commit_id":"d2d2ecbcf05c38f8020624cdfd826e2e745d3768"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"f72892aa90c525e02091d3c8616e49cbcdcedf92","unresolved":false,"context_lines":[{"line_number":366,"context_line":"    def __init__(self, url, page_size, alias_dereferencing\u003dNone):"},{"line_number":367,"context_line":"        LOG.debug(_(\"LDAP init: url\u003d%s\"), url)"},{"line_number":368,"context_line":"        self.conn \u003d ldap.initialize(url)"},{"line_number":369,"context_line":"        if alias_dereferencing:"},{"line_number":370,"context_line":"            self.conn.set_option(ldap.OPT_DEREF, alias_dereferencing)"},{"line_number":371,"context_line":"        self.page_size \u003d page_size"},{"line_number":372,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAOH%2F%2F6wY%3D","line":369,"in_reply_to":"AAAAOH%2F%2F6zs%3D","updated":"2013-03-21 00:50:45.000000000","message":"Done","commit_id":"d2d2ecbcf05c38f8020624cdfd826e2e745d3768"}],"tests/_ldap_livetest.py":[{"author":{"_account_id":6456,"name":"Sahdev Zala","email":"spzala@us.ibm.com","username":"spzala"},"change_message_id":"2ef5bcf177883b816e5fc8912c8fd958b1905abf","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        CONF.ldap.deref_opt \u003d \u0027always\u0027"},{"line_number":102,"context_line":"        self.identity_api \u003d identity_ldap.Identity()"},{"line_number":103,"context_line":"        user_ref \u003d self.identity_api.get_user(\u0027alt_fake1\u0027)"},{"line_number":104,"context_line":"        self.assertEqual(user_ref[\u0027id\u0027], \u0027alt_fake1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2F%2Bqg%3D","line":104,"updated":"2013-03-18 18:03:29.000000000","message":"Hi Allan, wondering that don\u0027t we need a test for \u0027finding\u0027 as well?","commit_id":"e7ec13602df8baa10e70d73212323909c8901a55"},{"author":{"_account_id":6456,"name":"Sahdev Zala","email":"spzala@us.ibm.com","username":"spzala"},"change_message_id":"bf11069b9591aedab200fb6a361e64de650ebfa7","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        CONF.ldap.deref_opt \u003d \u0027always\u0027"},{"line_number":102,"context_line":"        self.identity_api \u003d identity_ldap.Identity()"},{"line_number":103,"context_line":"        user_ref \u003d self.identity_api.get_user(\u0027alt_fake1\u0027)"},{"line_number":104,"context_line":"        self.assertEqual(user_ref[\u0027id\u0027], \u0027alt_fake1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2F%2Bfc%3D","line":104,"in_reply_to":"AAAAOH%2F%2F%2Bis%3D","updated":"2013-03-18 20:12:58.000000000","message":"Hi Allan, thanks! Here you have options set to \u0027never\u0027, \u0027searching\u0027 an\u0027d always\u0027 (e.g. CONF.ldap.deref_opt \u003d \u0027searching\u0027). Since the LDAP_DEREF_OPTS has four options including \"finding\", I was wondering about covering it as well (e.g. adding  CONF.ldap.deref_opt \u003d \u0027finding\u0027) but based on your reply, seems like it\u0027s not needed.","commit_id":"e7ec13602df8baa10e70d73212323909c8901a55"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"d9ae6c53e4de2ada4cffff452e6d8092c62b7af1","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        CONF.ldap.deref_opt \u003d \u0027always\u0027"},{"line_number":102,"context_line":"        self.identity_api \u003d identity_ldap.Identity()"},{"line_number":103,"context_line":"        user_ref \u003d self.identity_api.get_user(\u0027alt_fake1\u0027)"},{"line_number":104,"context_line":"        self.assertEqual(user_ref[\u0027id\u0027], \u0027alt_fake1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAOH%2F%2F%2Bis%3D","line":104,"in_reply_to":"AAAAOH%2F%2F%2Bqg%3D","updated":"2013-03-18 19:05:24.000000000","message":"Hi Sahdev, what do you mean a test for \u0027finding\u0027? This test creates a user tree of the openstack tree then creates an alias to that user tree inside the openstack user tree. Once that\u0027s done we check that we can dereference the results and find valid users in the alternate user tree.","commit_id":"e7ec13602df8baa10e70d73212323909c8901a55"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"578ef79974b0bdf20f2317ef3ed8bc70b5aefd83","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from keystone import config"},{"line_number":23,"context_line":"from keystone.identity.backends import ldap as identity_ldap"},{"line_number":24,"context_line":"from keystone import test"},{"line_number":25,"context_line":"from keystone import exception"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"import default_fixtures"},{"line_number":28,"context_line":"import test_backend_ldap"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F6%2Fk%3D","line":25,"updated":"2013-03-20 21:31:30.000000000","message":"imports should continue to be in alphabetical order, whould be before line 23.","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"0bf34b33308f65f4385885765108d586b25a5697","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from keystone import config"},{"line_number":23,"context_line":"from keystone.identity.backends import ldap as identity_ldap"},{"line_number":24,"context_line":"from keystone import test"},{"line_number":25,"context_line":"from keystone import exception"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"import default_fixtures"},{"line_number":28,"context_line":"import test_backend_ldap"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F688%3D","line":25,"in_reply_to":"AAAAOH%2F%2F6%2Fk%3D","updated":"2013-03-20 22:03:27.000000000","message":"Done","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"01672fe36873411dedbf58d24ef0d06cc041a669","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from keystone import config"},{"line_number":23,"context_line":"from keystone import exception"},{"line_number":24,"context_line":"from keystone.identity.backends import ldap as identity_ldap"},{"line_number":25,"context_line":"from keystone.common import ldap as ldap_common"},{"line_number":26,"context_line":"from keystone import test"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import default_fixtures"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOH%2F%2F6tk%3D","line":25,"updated":"2013-03-21 01:31:09.000000000","message":"imports should remain in alphabetical order, so this line should be before keystone.config.","commit_id":"6b6202f3f28a551716c7c953a0b9c5c0b8181450"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"ae7d7cead593c930b2de0e0c87f76a245ad34abf","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from keystone import config"},{"line_number":23,"context_line":"from keystone import exception"},{"line_number":24,"context_line":"from keystone.identity.backends import ldap as identity_ldap"},{"line_number":25,"context_line":"from keystone.common import ldap as ldap_common"},{"line_number":26,"context_line":"from keystone import test"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import default_fixtures"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOH%2F%2F6pI%3D","line":25,"in_reply_to":"AAAAOH%2F%2F6tk%3D","updated":"2013-03-21 02:03:48.000000000","message":"Will take care of this in the next patch set","commit_id":"6b6202f3f28a551716c7c953a0b9c5c0b8181450"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"01672fe36873411dedbf58d24ef0d06cc041a669","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                               CONF.ldap.page_size,"},{"line_number":156,"context_line":"                                               alias_dereferencing\u003dderef)"},{"line_number":157,"context_line":"        self.assertEqual(ldap.DEREF_NEVER,"},{"line_number":158,"context_line":"                         ldap_wrapper.conn.get_option(ldap.OPT_DEREF))"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        deref \u003d ldap_common.parse_deref(\u0027searching\u0027)"},{"line_number":161,"context_line":"        ldap_wrapper \u003d ldap_common.LdapWrapper(CONF.ldap.url,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOH%2F%2F6tU%3D","line":158,"updated":"2013-03-21 01:31:09.000000000","message":"doesn\u0027t this depend on whatever\u0027s in the test system\u0027s ldap.conf? A test shouldn\u0027t be dependent on the test environment.","commit_id":"6b6202f3f28a551716c7c953a0b9c5c0b8181450"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c263bf39f5b9452d0db69ee25a8e185ff4660530","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                               CONF.ldap.page_size,"},{"line_number":156,"context_line":"                                               alias_dereferencing\u003dderef)"},{"line_number":157,"context_line":"        self.assertEqual(ldap.DEREF_NEVER,"},{"line_number":158,"context_line":"                         ldap_wrapper.conn.get_option(ldap.OPT_DEREF))"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        deref \u003d ldap_common.parse_deref(\u0027searching\u0027)"},{"line_number":161,"context_line":"        ldap_wrapper \u003d ldap_common.LdapWrapper(CONF.ldap.url,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOH%2F%2F5%2Fs%3D","line":158,"in_reply_to":"AAAAOH%2F%2F6pM%3D","updated":"2013-03-21 13:45:44.000000000","message":"I put the comment on the wrong line. I don\u0027t have a problem with the way this is done.","commit_id":"6b6202f3f28a551716c7c953a0b9c5c0b8181450"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"ae7d7cead593c930b2de0e0c87f76a245ad34abf","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                               CONF.ldap.page_size,"},{"line_number":156,"context_line":"                                               alias_dereferencing\u003dderef)"},{"line_number":157,"context_line":"        self.assertEqual(ldap.DEREF_NEVER,"},{"line_number":158,"context_line":"                         ldap_wrapper.conn.get_option(ldap.OPT_DEREF))"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        deref \u003d ldap_common.parse_deref(\u0027searching\u0027)"},{"line_number":161,"context_line":"        ldap_wrapper \u003d ldap_common.LdapWrapper(CONF.ldap.url,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAOH%2F%2F6pM%3D","line":158,"in_reply_to":"AAAAOH%2F%2F6tU%3D","updated":"2013-03-21 02:03:48.000000000","message":"The only test here that would vary based on your config is in the case of \u0027default\u0027, which is what the original test case was designed for (checking that by default we adhere to your local ldap.conf settings). \n\nHere the test simply checks that when we initiate a connection using LdapWrapper with alias_dereferencing set to never that the actual python ldap connection created by the wrapper is set to never dereference.\n\nAm I missing something that you\u0027re concerned about here?","commit_id":"6b6202f3f28a551716c7c953a0b9c5c0b8181450"}],"tests/test_backend_ldap.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"4a924aa466196631bd1e8d9d37f0ceb480a075f2","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        CONF.ldap.deref_opt \u003d uuid.uuid4().hex"},{"line_number":362,"context_line":"        self.assertRaisesRegexp("},{"line_number":363,"context_line":"            ValueError,"},{"line_number":364,"context_line":"            \u0027Invalid LDAP deref option: %s. *\u0027 % CONF.ldap.deref_opt,"},{"line_number":365,"context_line":"            identity.backends.ldap.Identity)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"# TODO (henry-nash) These need to be removed when the full LDAP implementation"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAOH%2F%2F8qw%3D","line":364,"updated":"2013-03-19 20:40:14.000000000","message":"is this a regex? the string can have any number of spaces at the end?","commit_id":"3505752c13087833b65fedcb19028490f378e631"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"578ef79974b0bdf20f2317ef3ed8bc70b5aefd83","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        CONF.ldap.alias_dereferencing \u003d uuid.uuid4().hex"},{"line_number":362,"context_line":"        self.assertRaisesRegexp("},{"line_number":363,"context_line":"            ValueError,"},{"line_number":364,"context_line":"            \u0027Invalid LDAP deref option: %s. *\u0027 % CONF.ldap.alias_dereferencing,"},{"line_number":365,"context_line":"            identity.backends.ldap.Identity)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"# TODO (henry-nash) These need to be removed when the full LDAP implementation"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F6%2F8%3D","line":364,"updated":"2013-03-20 21:31:30.000000000","message":"(nit) I don\u0027t understand why there\u0027s \" *\" at the end.\n\nAlso, . is a special character in regex so should be escaped.","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"},{"author":{"_account_id":7045,"name":"Allan Feid","email":"allanfeid@gmail.com","username":"crazed"},"change_message_id":"0bf34b33308f65f4385885765108d586b25a5697","unresolved":false,"context_lines":[{"line_number":361,"context_line":"        CONF.ldap.alias_dereferencing \u003d uuid.uuid4().hex"},{"line_number":362,"context_line":"        self.assertRaisesRegexp("},{"line_number":363,"context_line":"            ValueError,"},{"line_number":364,"context_line":"            \u0027Invalid LDAP deref option: %s. *\u0027 % CONF.ldap.alias_dereferencing,"},{"line_number":365,"context_line":"            identity.backends.ldap.Identity)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"# TODO (henry-nash) These need to be removed when the full LDAP implementation"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAOH%2F%2F68c%3D","line":364,"in_reply_to":"AAAAOH%2F%2F6%2F8%3D","updated":"2013-03-20 22:03:27.000000000","message":"I escaped the ., good catch. I just copied what was done for ldap_scope, removed the * since it\u0027s unnecessary.","commit_id":"8dd817d4a340933afbc263367c3a8e603b0a2281"}]}
