)]}'
{"keystonemiddleware/auth_token/__init__.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"47bc19af9b4105e8bab6f4c6282e64bdf8f28046","unresolved":false,"context_lines":[{"line_number":281,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":282,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":283,"context_line":"               default\u003dNone,"},{"line_number":284,"context_line":"               choices\u003d(None, \u0027MAC\u0027, \u0027HMAC\u0027),"},{"line_number":285,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":286,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":287,"context_line":"               \u0027 Acceptable values are MAC or ENCRYPT.  If MAC, token data is\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_6dbe1f01","line":284,"updated":"2015-03-02 16:16:00.000000000","message":"You are changing the accepted values. Is this intended because it\u0027s not in the commit message?","commit_id":"891def1294c08d667805b83d278c110f3b421a59"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"9294a71784e3d509f8b8b6386d507a8e27862cc4","unresolved":false,"context_lines":[{"line_number":281,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":282,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":283,"context_line":"               default\u003dNone,"},{"line_number":284,"context_line":"               choices\u003d(None, \u0027MAC\u0027, \u0027HMAC\u0027),"},{"line_number":285,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":286,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":287,"context_line":"               \u0027 Acceptable values are MAC or ENCRYPT.  If MAC, token data is\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_ecce832c","line":284,"in_reply_to":"ba7be1f8_6dbe1f01","updated":"2015-03-02 21:20:38.000000000","message":"Oops, stupid mistake.  Will fix.","commit_id":"891def1294c08d667805b83d278c110f3b421a59"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"c36c771d31f824c63349a2b2429e3f9babf8b7e0","unresolved":false,"context_lines":[{"line_number":279,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":280,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":281,"context_line":"               default\u003dNone,"},{"line_number":282,"context_line":"               choices\u003d(None, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":283,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":284,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":285,"context_line":"               \u0027 If MAC, token data is authenticated (with HMAC) in the cache.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_a56735b6","line":282,"updated":"2015-03-06 15:20:16.000000000","message":"Why None is acceptable here? Is your intention to actually let it pass and fail somewhere in the initialization ? \nIf so, why? Some docs why this is important could be helpful.","commit_id":"5433fef34304ebb55bffd88f0084f18d8422ee06"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"877adb9f0e5add85e59abd8c462e91843435faa2","unresolved":false,"context_lines":[{"line_number":279,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":280,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":281,"context_line":"               default\u003dNone,"},{"line_number":282,"context_line":"               choices\u003d(None, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":283,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":284,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":285,"context_line":"               \u0027 If MAC, token data is authenticated (with HMAC) in the cache.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_b78e7977","line":282,"in_reply_to":"9a80dd14_a56735b6","updated":"2015-03-06 21:04:06.000000000","message":"Yeah, I don\u0027t really like the None value here either.  But its required since the default is None and its a possible option since a value is optional.  Even a value of \"None\" is better than None.","commit_id":"5433fef34304ebb55bffd88f0084f18d8422ee06"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"151b62844b406a402cfff83bf6b006cbb504d2ff","unresolved":false,"context_lines":[{"line_number":279,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":280,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":281,"context_line":"               default\u003dNone,"},{"line_number":282,"context_line":"               choices\u003d(None, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":283,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":284,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":285,"context_line":"               \u0027 If MAC, token data is authenticated (with HMAC) in the cache.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_ce0a6578","line":282,"in_reply_to":"9a80dd14_b78e7977","updated":"2015-03-08 11:12:51.000000000","message":"hmm providing an option of None might be just confusing the user.\n\nthe user may set a config value of:\nmemcache_security_strategy\u003dNone\n\nwhich will be translated to \"None\".\n\nI think default\u003dNone here means it is optional, not an option for user to set.","commit_id":"5433fef34304ebb55bffd88f0084f18d8422ee06"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"099d1f0d98f338d9cd661b64485599a455199f05","unresolved":false,"context_lines":[{"line_number":279,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":280,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":281,"context_line":"               default\u003dNone,"},{"line_number":282,"context_line":"               choices\u003d(None, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":283,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":284,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":285,"context_line":"               \u0027 If MAC, token data is authenticated (with HMAC) in the cache.\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_403f02b4","line":282,"in_reply_to":"9a80dd14_ce0a6578","updated":"2015-03-09 18:11:16.000000000","message":"oslo.config unfortunately requires None to be in the sequence if there is a default of None.  To resolve this, I\u0027ll change default\u003dNone to \u0027none\u0027.","commit_id":"5433fef34304ebb55bffd88f0084f18d8422ee06"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"a8a43bb50466eae1d22638757e55fa6d7fe96224","unresolved":false,"context_lines":[{"line_number":285,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":286,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":287,"context_line":"               default\u003d\u0027none\u0027,"},{"line_number":288,"context_line":"               choices\u003d(\u0027none\u0027, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":289,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":290,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":291,"context_line":"               \u0027 If MAC, token data is authenticated (with HMAC) in the cache.\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_bf397d43","line":288,"updated":"2015-03-10 19:43:37.000000000","message":"there was a bug out for this, but None should be a valid choice here rather than \u0027none\u0027 which would let the security_strategy check work as it did previously.\n\nhttps://bugs.launchpad.net/oslo.config/+bug/1429981","commit_id":"43f0525bb51d70fb786f02ed365b451fa5f3be9b"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"c1a1ca7d59b7be6fa2245c9ed6a4349207fa0188","unresolved":false,"context_lines":[{"line_number":285,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":286,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":287,"context_line":"               default\u003d\u0027none\u0027,"},{"line_number":288,"context_line":"               choices\u003d(\u0027none\u0027, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":289,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":290,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"},{"line_number":291,"context_line":"               \u0027 If MAC, token data is authenticated (with HMAC) in the cache.\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4a379cb0","line":288,"in_reply_to":"9a80dd14_bf397d43","updated":"2015-03-12 01:47:50.000000000","message":"I think it can work either way, but I\u0027ll revert back to None.","commit_id":"43f0525bb51d70fb786f02ed365b451fa5f3be9b"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"d0096b04b3fd60f5120a98737bd800576a2eeaa8","unresolved":false,"context_lines":[{"line_number":302,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":303,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":304,"context_line":"               default\u003d\u0027None\u0027,"},{"line_number":305,"context_line":"               choices\u003d(\u0027None\u0027, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":306,"context_line":"               ignore_case\u003dTrue,"},{"line_number":307,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":308,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_e0b574ec","line":305,"updated":"2016-01-07 03:38:35.000000000","message":"Is None as a string value going to work? Will this check still work http://git.openstack.org/cgit/openstack/keystonemiddleware/tree/keystonemiddleware/auth_token/__init__.py#n1083 ? I would have expected just using the literal None as a value for choices and keeping the default as None. I don\u0027t think there are any tests showing what happens specifically with the default.\n\nOn the other hand based on the code you removed from keystonemiddleware/auth_token/_cache.py maybe we don\u0027t want a default and want to force an actual value.","commit_id":"39560c774874c7df0bff70a40992a722754a9d24"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"605c7bfc1fabd7d5da6a5f5035fec60d3f42afac","unresolved":false,"context_lines":[{"line_number":302,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":303,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":304,"context_line":"               default\u003d\u0027None\u0027,"},{"line_number":305,"context_line":"               choices\u003d(\u0027None\u0027, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":306,"context_line":"               ignore_case\u003dTrue,"},{"line_number":307,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":308,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_44a6c254","line":305,"in_reply_to":"fa69d971_2cace28a","updated":"2016-01-07 12:37:18.000000000","message":"Good to know. This seems weird, but nothing we can do about it.","commit_id":"39560c774874c7df0bff70a40992a722754a9d24"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"05e3f9a747fc27bb384a12f640e083d4161156ad","unresolved":false,"context_lines":[{"line_number":302,"context_line":"               \u0027 duration may significantly reduce performance.\u0027),"},{"line_number":303,"context_line":"    cfg.StrOpt(\u0027memcache_security_strategy\u0027,"},{"line_number":304,"context_line":"               default\u003d\u0027None\u0027,"},{"line_number":305,"context_line":"               choices\u003d(\u0027None\u0027, \u0027MAC\u0027, \u0027ENCRYPT\u0027),"},{"line_number":306,"context_line":"               ignore_case\u003dTrue,"},{"line_number":307,"context_line":"               help\u003d\u0027(Optional) If defined, indicate whether token data\u0027"},{"line_number":308,"context_line":"               \u0027 should be authenticated or authenticated and encrypted.\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"fa69d971_2cace28a","line":305,"in_reply_to":"fa69d971_e0b574ec","updated":"2016-01-07 07:50:29.000000000","message":"So using the literal None fails in choices because oslo.config expects all choice values to be of type str when ignore_case\u003dTrue.  \n\nHere\u0027s an example of that error:\nhttp://logs.openstack.org/31/160031/13/check/gate-keystonemiddleware-python27/2e2e139/console.html\n\nSo by making it \u0027None\u0027 and checking specifically for \u0027none\u0027 below (line 1098), it avoids the oslo issue.\n\nAnd to support choices on this option, ignore_case must be set to True for backwards compatibility since it handles case insensitive values.","commit_id":"39560c774874c7df0bff70a40992a722754a9d24"}],"keystonemiddleware/tests/unit/auth_token/test_auth_token_middleware.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"20768e8336a3e8ec7443f5c31b32b81f81ffcb77","unresolved":false,"context_lines":[{"line_number":525,"context_line":"    def test_encrypt_cache_data(self):"},{"line_number":526,"context_line":"        conf \u003d {"},{"line_number":527,"context_line":"            \u0027memcached_servers\u0027: \u0027,\u0027.join(MEMCACHED_SERVERS),"},{"line_number":528,"context_line":"            \u0027memcache_security_strategy\u0027: \u0027ENCRYPT\u0027,"},{"line_number":529,"context_line":"            \u0027memcache_secret_key\u0027: \u0027mysecret\u0027"},{"line_number":530,"context_line":"        }"},{"line_number":531,"context_line":"        self.set_middleware(conf\u003dconf)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_da274810","line":528,"updated":"2015-03-16 10:18:46.000000000","message":"any idea why this used to work until now? It looks like it should have hit the ConfigurationError exception.\n\ndid specifying in lower case used to work?","commit_id":"68766662ac3ad84447324739c4deba6b8cf1a016"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"5059972c27954cd0898117677125499164e7526a","unresolved":false,"context_lines":[{"line_number":525,"context_line":"    def test_encrypt_cache_data(self):"},{"line_number":526,"context_line":"        conf \u003d {"},{"line_number":527,"context_line":"            \u0027memcached_servers\u0027: \u0027,\u0027.join(MEMCACHED_SERVERS),"},{"line_number":528,"context_line":"            \u0027memcache_security_strategy\u0027: \u0027ENCRYPT\u0027,"},{"line_number":529,"context_line":"            \u0027memcache_secret_key\u0027: \u0027mysecret\u0027"},{"line_number":530,"context_line":"        }"},{"line_number":531,"context_line":"        self.set_middleware(conf\u003dconf)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_fb29579c","line":528,"in_reply_to":"9a80dd14_da274810","updated":"2015-03-16 18:26:12.000000000","message":"So it worked before because _cache.__init__() does:\nsecurity_strategy \u003d security_strategy.upper() prior to raising a ConfigurationError.  Now, oslo would catch the capitalization much earlier.\n\nBut, you bring up a good point, we shouldn\u0027t need the upper() anymore.","commit_id":"68766662ac3ad84447324739c4deba6b8cf1a016"}]}
