)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8d5e67295f0b12163f8c31a54ec63d6a145cc619","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4900b7b4_b06b824f","updated":"2022-03-01 13:05:34.000000000","message":"msgctl: this is ready to be rebased and updated.","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"}],"metropolis/node/core/cluster/cluster_register.go":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4a0c27deca8d222c835ab496e1e943ae0ad0df31","unresolved":true,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"\t// Save NUK"},{"line_number":147,"context_line":"\tif err \u003d m.storageRoot.ESP.Metropolis.SealedConfiguration.Seal(\u0026sc); err !\u003d nil {"},{"line_number":148,"context_line":"\t\treturn err"},{"line_number":149,"context_line":"\t}"},{"line_number":150,"context_line":"\t// Save Node Credentials"},{"line_number":151,"context_line":"\tif err \u003d m.storageRoot.Data.Node.Credentials.WriteAll(certBytes, priv, caCertBytes); err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":3,"id":"ad9979fa_cd3c0856","line":148,"range":{"start_line":148,"start_character":9,"end_line":148,"end_character":12},"updated":"2022-02-16 12:59:13.000000000","message":"style nit: wrap: fmt.Errorf(\"failed to seal and write configuration: %w\", err) and update the inner errors in Seal to \u0027while marshaling\u0027, \u0027while sealing\u0027, etc.\n\nThe general rule is that errors returned from functions shouldn\u0027t reference their own name / expected behaviour - that\u0027s for the caller to mention in a wrap. That\u0027s why we want Seal to say \u0027while marshaling\u0027 instead of \u0027while marshaling sealed configuration\u0027 - the caller already knows it\u0027s doing configuration sealing/writing.","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0876de1b4a564abb154f3d910636d3a192ee1995","unresolved":false,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"\t// Save NUK"},{"line_number":147,"context_line":"\tif err \u003d m.storageRoot.ESP.Metropolis.SealedConfiguration.Seal(\u0026sc); err !\u003d nil {"},{"line_number":148,"context_line":"\t\treturn err"},{"line_number":149,"context_line":"\t}"},{"line_number":150,"context_line":"\t// Save Node Credentials"},{"line_number":151,"context_line":"\tif err \u003d m.storageRoot.Data.Node.Credentials.WriteAll(certBytes, priv, caCertBytes); err !\u003d nil {"}],"source_content_type":"text/x-go","patch_set":3,"id":"8bde194b_a6fdab47","line":148,"range":{"start_line":148,"start_character":9,"end_line":148,"end_character":12},"in_reply_to":"ad9979fa_cd3c0856","updated":"2022-03-03 20:23:59.000000000","message":"Done","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"}],"metropolis/node/core/localstorage/storage_esp.go":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"7d3c2e03bdfaf8d42bacca4f14d26f3a6566b454","unresolved":true,"context_lines":[{"line_number":86,"context_line":"\treturn \u0026config, nil"},{"line_number":87,"context_line":"}"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"func (e *ESPSealedConfiguration) Seal(c *ppb.SealedConfiguration) error {"},{"line_number":90,"context_line":"\tbytes, err :\u003d proto.Marshal(c)"},{"line_number":91,"context_line":"\tif err !\u003d nil {"},{"line_number":92,"context_line":"\t\treturn fmt.Errorf(\"while marshaling configuration data: %w\", err)"}],"source_content_type":"text/x-go","patch_set":3,"id":"46149e2b_97669e2b","line":89,"range":{"start_line":89,"start_character":33,"end_line":89,"end_character":37},"updated":"2022-02-22 13:08:57.000000000","message":"SealSecureBooot or SealPCR7","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0876de1b4a564abb154f3d910636d3a192ee1995","unresolved":false,"context_lines":[{"line_number":86,"context_line":"\treturn \u0026config, nil"},{"line_number":87,"context_line":"}"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"func (e *ESPSealedConfiguration) Seal(c *ppb.SealedConfiguration) error {"},{"line_number":90,"context_line":"\tbytes, err :\u003d proto.Marshal(c)"},{"line_number":91,"context_line":"\tif err !\u003d nil {"},{"line_number":92,"context_line":"\t\treturn fmt.Errorf(\"while marshaling configuration data: %w\", err)"}],"source_content_type":"text/x-go","patch_set":3,"id":"a64301c3_6f248603","line":89,"range":{"start_line":89,"start_character":33,"end_line":89,"end_character":37},"in_reply_to":"46149e2b_97669e2b","updated":"2022-03-03 20:23:59.000000000","message":"Done","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4a0c27deca8d222c835ab496e1e943ae0ad0df31","unresolved":true,"context_lines":[{"line_number":97,"context_line":"\t//      table 3.3.4.1"},{"line_number":98,"context_line":"\t// See: https://trustedcomputinggroup.org/wp-content/uploads/"},{"line_number":99,"context_line":"\t//      TCG_PCClient_PFP_r1p05_v22_02dec2020.pdf"},{"line_number":100,"context_line":"\tbytes, err \u003d tpm.Seal(bytes, []int{7})"},{"line_number":101,"context_line":"\tif err !\u003d nil {"},{"line_number":102,"context_line":"\t\treturn fmt.Errorf(\"while sealing configuration data: %w\", err)"},{"line_number":103,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":3,"id":"59104f05_b164a066","line":100,"range":{"start_line":100,"start_character":30,"end_line":100,"end_character":38},"updated":"2022-02-16 12:59:13.000000000","message":"tpm.SecureBootPCRs, and update the comment to mention that these are Secure Boot PCRs.","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"},{"author":{"_account_id":1000010,"name":"Mateusz Zalega","display_name":"msgctl","email":"mateusz@monogon.tech","username":"mateusz","avatars":[{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/30cae8ca0782f23ce0a60ac80fda3dd9.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0876de1b4a564abb154f3d910636d3a192ee1995","unresolved":false,"context_lines":[{"line_number":97,"context_line":"\t//      table 3.3.4.1"},{"line_number":98,"context_line":"\t// See: https://trustedcomputinggroup.org/wp-content/uploads/"},{"line_number":99,"context_line":"\t//      TCG_PCClient_PFP_r1p05_v22_02dec2020.pdf"},{"line_number":100,"context_line":"\tbytes, err \u003d tpm.Seal(bytes, []int{7})"},{"line_number":101,"context_line":"\tif err !\u003d nil {"},{"line_number":102,"context_line":"\t\treturn fmt.Errorf(\"while sealing configuration data: %w\", err)"},{"line_number":103,"context_line":"\t}"}],"source_content_type":"text/x-go","patch_set":3,"id":"99498b1c_0313cfc2","line":100,"range":{"start_line":100,"start_character":30,"end_line":100,"end_character":38},"in_reply_to":"59104f05_b164a066","updated":"2022-03-03 20:23:59.000000000","message":"Done","commit_id":"7b24097c052b5a350812cd5d9b2c3487621c3a52"}]}
