)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10657,"name":"Shuichiro MAKIGAKI","email":"shuichiro.makigaki@gmail.com","username":"shuichiro-makigaki"},"change_message_id":"f502c4e394b97cd3d6d8dae206412482061d4938","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     takehirokaneko \u003ctakehiro.kaneko@ctc-g.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-20 00:44:38 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds a validation param \"max_username_size\"."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"username/password authentication mechanism uses \"max_param_size\" defaults to 64"},{"line_number":10,"context_line":"to validate the length of inputs such as username, userId, tenantName and tenantId,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a80dd14_5be8a37c","line":7,"updated":"2015-03-04 08:01:24.000000000","message":"trivial: I think you don\u0027t have to add a period \".\".","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fb913282fefb8a27e7987f83dd269a4df217ea15","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds a validation param \"max_username_size\"."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"username/password authentication mechanism uses \"max_param_size\" defaults to 64"},{"line_number":10,"context_line":"to validate the length of inputs such as username, userId, tenantName and tenantId,"},{"line_number":11,"context_line":"but in db schema only username is set to 255."},{"line_number":12,"context_line":"So the mechanism needs \"max_username_size\" to validate username correctly."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba7be1f8_62121a64","line":9,"updated":"2015-02-20 01:41:19.000000000","message":"you should limit the commit description to 72 characters: https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"}],"keystone/common/config.py":[{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"677190a8d51820e78b4ae15f7217563c5a065fc2","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                   help\u003d\u0027Enforced by optional sizelimit middleware \u0027"},{"line_number":91,"context_line":"                        \u0027(keystone.middleware:RequestBodySizeLimiter).\u0027),"},{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the size of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa201ad_c37edbae","line":93,"updated":"2014-10-15 16:26:07.000000000","message":"this help string is now incorrect","commit_id":"399910d19c0f1f09f2e3fd0bc7caf71e73e789de"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"e5a5eb783396d7ccb081a41db8d8f4cab1493896","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the sizes of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"},{"line_number":97,"context_line":"        cfg.IntOpt(\u0027max_token_size\u0027, default\u003d8192,"},{"line_number":98,"context_line":"                   help\u003d\u0027Similar to max_param_size, but provides an \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_48099b30","line":95,"updated":"2015-02-02 06:43:42.000000000","message":"typo: sizes to size","commit_id":"689cf49c7318f5f483a8104a8e7ac381d7982380"},{"author":{"_account_id":12296,"name":"takehirokaneko","email":"myphone.tk@gmail.com","username":"takehirokaneko"},"change_message_id":"1eeb7e3f8b277eff5ea753e4863d3a4a874beea7","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the sizes of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"},{"line_number":97,"context_line":"        cfg.IntOpt(\u0027max_token_size\u0027, default\u003d8192,"},{"line_number":98,"context_line":"                   help\u003d\u0027Similar to max_param_size, but provides an \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_95930ca2","line":95,"in_reply_to":"da86d52c_48099b30","updated":"2015-02-13 03:48:29.000000000","message":"okay","commit_id":"689cf49c7318f5f483a8104a8e7ac381d7982380"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"c0f1c87280d32f0f3869b91fd13bd0c7ece57e6f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the sizes of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"},{"line_number":97,"context_line":"        cfg.IntOpt(\u0027max_token_size\u0027, default\u003d8192,"},{"line_number":98,"context_line":"                   help\u003d\u0027Similar to max_param_size, but provides an \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ca92089e","line":95,"in_reply_to":"da86d52c_95930ca2","updated":"2015-02-13 04:38:01.000000000","message":"oops nevermind, sorry.  realized it matches the grammar of the help above it.","commit_id":"689cf49c7318f5f483a8104a8e7ac381d7982380"},{"author":{"_account_id":11387,"name":"Sam Leong","email":"chio-fai-sam.leong@hpe.com","username":"Chioleong"},"change_message_id":"e782a8bc3077fb6a3d6cf46a92760a9e3715c861","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                   help\u003d\u0027The number of worker processes to serve the admin \u0027"},{"line_number":90,"context_line":"                        \u0027WSGI application. Defaults to number of CPUs \u0027"},{"line_number":91,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the size of username.\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_b69ff64f","line":92,"updated":"2015-03-04 08:28:34.000000000","message":"ID should not be added here as it\u0027s already there followed by project","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"},{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"2eb9fcafdc7bab5b0a44139067ad3352c3847c78","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                        \u0027WSGI application. Defaults to number of CPUs \u0027"},{"line_number":91,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the size of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_efad679c","line":93,"updated":"2015-03-03 17:04:18.000000000","message":"To me, this is a little strange now.  Would it make more sense to have a new opt called max_name_size that would include project names and user names.  Splitting out just user names seems odd.","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"},{"author":{"_account_id":10046,"name":"Henrique Truta","email":"henrique@lsd.ufcg.edu.br","username":"henriquetruta"},"change_message_id":"de3bf63bca90f381db2723eed8011ba746df1aa9","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                        \u0027WSGI application. Defaults to number of CPUs \u0027"},{"line_number":91,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the size of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_3c4f2435","line":93,"in_reply_to":"9a80dd14_1688c221","updated":"2015-08-21 14:20:19.000000000","message":"++","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"},{"author":{"_account_id":11387,"name":"Sam Leong","email":"chio-fai-sam.leong@hpe.com","username":"Chioleong"},"change_message_id":"e782a8bc3077fb6a3d6cf46a92760a9e3715c861","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                        \u0027WSGI application. Defaults to number of CPUs \u0027"},{"line_number":91,"context_line":"                        \u0027(minimum of 2).\u0027),"},{"line_number":92,"context_line":"        cfg.IntOpt(\u0027max_param_size\u0027, default\u003d64,"},{"line_number":93,"context_line":"                   help\u003d\u0027Limit the sizes of user ID \u0026 project ID/names.\u0027),"},{"line_number":94,"context_line":"        cfg.IntOpt(\u0027max_username_size\u0027, default\u003d255,"},{"line_number":95,"context_line":"                   help\u003d\u0027Limit the size of username.\u0027),"},{"line_number":96,"context_line":"        # we allow tokens to be a bit larger to accommodate PKI"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_1688c221","line":93,"in_reply_to":"ba7be1f8_efad679c","updated":"2015-03-04 08:28:34.000000000","message":"I think I agree with Eric here, otherwise there will be size control for all the others, project, domain, group...","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"}],"keystone/tests/unit/test_auth.py":[{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"fb913282fefb8a27e7987f83dd269a4df217ea15","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def test_authenticate_username_too_large(self):"},{"line_number":187,"context_line":"        \"\"\"Verify sending large \u0027username\u0027 raises the right exception.\"\"\""},{"line_number":188,"context_line":"        body_dict \u003d _build_user_auth(username\u003d\u00270\u0027 * 256, password\u003d\u0027foo2\u0027)"},{"line_number":189,"context_line":"        self.assertRaises(exception.ValidationSizeError,"},{"line_number":190,"context_line":"                          self.controller.authenticate,"},{"line_number":191,"context_line":"                          {}, body_dict)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_8249ce8d","line":188,"updated":"2015-02-20 01:41:19.000000000","message":"shouldn\u0027t this use the config instead of a hardcoded value?","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"daaa129f224d280df4bee3a40b2b1dfc7e0aa246","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    def test_authenticate_username_too_large(self):"},{"line_number":187,"context_line":"        \"\"\"Verify sending large \u0027username\u0027 raises the right exception.\"\"\""},{"line_number":188,"context_line":"        body_dict \u003d _build_user_auth(username\u003d\u00270\u0027 * 256, password\u003d\u0027foo2\u0027)"},{"line_number":189,"context_line":"        self.assertRaises(exception.ValidationSizeError,"},{"line_number":190,"context_line":"                          self.controller.authenticate,"},{"line_number":191,"context_line":"                          {}, body_dict)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_3a741bfd","line":188,"in_reply_to":"ba7be1f8_8249ce8d","updated":"2015-03-03 17:29:33.000000000","message":"++ that\u0027s a good idea","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"}],"keystone/token/controllers.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"01c570ddf655883ef1ac8fbc8906bfe9334dc77c","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            if len(username) \u003e CONF.max_username_size:"},{"line_number":288,"context_line":"                raise exception.ValidationSizeError("},{"line_number":289,"context_line":"                    attribute\u003d\u0027username\u0027,"},{"line_number":290,"context_line":"                    size\u003dCONF.max_username_size)"},{"line_number":291,"context_line":"            try:"},{"line_number":292,"context_line":"                user_ref \u003d self.identity_api.get_user_by_name("},{"line_number":293,"context_line":"                    username, CONF.identity.default_domain_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dab17558_4c4180a8","line":290,"updated":"2016-05-17 21:08:53.000000000","message":"This is moving validation logic out of the jsonschema solution we already have.","commit_id":"451c01db164d7a5a5992bd3ccecbb8e1e2c06dfd"}]}
