)]}'
{"specs/logs-in-swift.rst":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a218a8cc94ab69f12b98bc37d216a0327fb20431","unresolved":false,"context_lines":[{"line_number":50,"context_line":"The uploader has no access to any of the swift objects - only the"},{"line_number":51,"context_line":"tempurl credentials that are provided in order to upload. As such"},{"line_number":52,"context_line":"the uploader can\u0027t check which pseudo folder may already exist in"},{"line_number":53,"context_line":"order to update any metadata we store on it."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"At a minimum the uploader should provide a .metadata object for each"},{"line_number":56,"context_line":"new folder it creates."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_49e049cd","line":53,"updated":"2015-12-08 22:45:39.000000000","message":"It can just updated the .metadata with info current for the current upload then the swift service itself will sort out order of operations and locking and all that for us.","commit_id":"334c3ba57ed2152c16a7f4b2788387289b1d9d17"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"a218a8cc94ab69f12b98bc37d216a0327fb20431","unresolved":false,"context_lines":[{"line_number":59,"context_line":"(via gearman) that an update of the .metadata is needed (and provide"},{"line_number":60,"context_line":"a timestamp to do so). This log metadata process will then update the"},{"line_number":61,"context_line":"modification time of the appropriate paths where a new file or folder"},{"line_number":62,"context_line":"exists (and therefore would update on a typical filesystem)."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"The log metadata process will need access to the full swift container."},{"line_number":65,"context_line":"It will need to query swift for which folders currently exist in order"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a740942_a9d52de5","line":62,"updated":"2015-12-08 22:45:39.000000000","message":"I do not think this is necessary due to the way swift works. We should be able to have disjoint uploaders write to the same spot with up to date info and let swift the service sort out ordering.","commit_id":"334c3ba57ed2152c16a7f4b2788387289b1d9d17"},{"author":{"_account_id":16272,"name":"Clint Adams","email":"clint@gcfm.net","username":"clint"},"change_message_id":"2d4a5ff42365555bcae4e8f66f4eb16cd62da56e","unresolved":false,"context_lines":[{"line_number":42,"context_line":"credentials to the workers based on the swift tempurl and formpost"},{"line_number":43,"context_line":"facilities."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"For each psuedo folder we should store an object containing the folder\u0027s"},{"line_number":46,"context_line":"metadata. For the moment that\u0027ll be the modified timestamp, but in the"},{"line_number":47,"context_line":"future it may be extended to other information."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_7d36d604","line":45,"updated":"2015-12-23 13:54:32.000000000","message":"pseudo","commit_id":"3af2d9ee2321e406bc9a81a3382faf42b267cdb9"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"80575b1f8bcfaa6e88a9bb785e4fc0b0cef1f1c8","unresolved":false,"context_lines":[{"line_number":42,"context_line":"credentials to the workers based on the swift tempurl and formpost"},{"line_number":43,"context_line":"facilities."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"For each psuedo folder we should store an object containing the folder\u0027s"},{"line_number":46,"context_line":"metadata. For the moment that\u0027ll be the modified timestamp, but in the"},{"line_number":47,"context_line":"future it may be extended to other information."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a7b0d38_0b6594b3","line":45,"in_reply_to":"1a7b0d38_7d36d604","updated":"2015-12-29 05:26:09.000000000","message":"Done","commit_id":"3af2d9ee2321e406bc9a81a3382faf42b267cdb9"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c19471deb6549c89c5cea67894d3e92f9a9f9022","unresolved":false,"context_lines":[{"line_number":80,"context_line":"of the job and therefore a rogue job could hijack the metadata container"},{"line_number":81,"context_line":"and place anything it wants there. The first risk is filling up our"},{"line_number":82,"context_line":"swift container. The second is that they could overwrite the metadata"},{"line_number":83,"context_line":"of our pseudo filesystem."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The severity of both the security risks overall is quite low. An annoyance,"},{"line_number":86,"context_line":"but not crippling. It is likely that the rogue patch would be found and the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a7e1126_f9c4dc5f","line":83,"updated":"2015-12-18 05:39:04.000000000","message":"It is possible that a job could be used to disclose the credentials and that this would get exploited outside of the tests themselves. I don\u0027t expect this to be a major issue, but so far we have restricted credentials of this sort to special jenkins slaves that only run code controlled by the infra team.\n\nWould be good to make sure others are ok with this new attack surface.","commit_id":"3af2d9ee2321e406bc9a81a3382faf42b267cdb9"},{"author":{"_account_id":12767,"name":"Craige McWhirter","email":"craige@mcwhirter.io","username":"craige"},"change_message_id":"672c6bb9580738951ae78985996099d0031aaa7a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"This is a compromise to simplify the implementation. Arguably the deep"},{"line_number":78,"context_line":"modification timestamp may be of more use to developers than the shallow one."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"A second disadvantage is a security problem. The uploader is ran as part"},{"line_number":81,"context_line":"of the job and therefore a rogue job could hijack the metadata container"},{"line_number":82,"context_line":"and place anything it wants there. The first risk is filling up our"},{"line_number":83,"context_line":"swift container. The second is that they could overwrite the metadata"}],"source_content_type":"text/x-rst","patch_set":4,"id":"da6ed579_f56b1ab5","line":80,"updated":"2016-01-15 03:55:38.000000000","message":"Just a minor nit: \"is run\".","commit_id":"667b0ec083e352487ac515378c250cbf2ceaadcc"}]}
