syntax = "proto3"; package gitks; import "google/protobuf/timestamp.proto"; // Git identity attached to commits and tags. message Identity { string name = 1; string email = 2; } // Git signature with timestamp and timezone offset. message Signature { Identity identity = 1; google.protobuf.Timestamp when = 2; // Offset in minutes east of UTC, as stored by git. int32 timezone_offset = 3; } // Backward-compatible payload name used by earlier Rust structs. message PayloadTagger { string email = 1; string name = 2; } message VerifiedSignature { enum Reason { REASON_UNSPECIFIED = 0; REASON_VALID = 1; REASON_EXPIRED_KEY = 2; REASON_NOT_SIGNING_KEY = 3; REASON_GPGVERIFY_ERROR = 4; REASON_GPGVERIFY_UNAVAILABLE = 5; REASON_UNSIGNED = 6; REASON_UNKNOWN_SIGNATURE_TYPE = 7; REASON_NO_USER = 8; REASON_UNVERIFIED_EMAIL = 9; REASON_BAD_EMAIL = 10; REASON_UNKNOWN_KEY = 11; REASON_MALFORMED_SIGNATURE = 12; REASON_INVALID = 13; } bool verified = 1; Reason reason = 2; string signature = 3; string payload = 4; string key_fingerprint = 5; string signer = 6; }