diff options
author | Roger Meier <r.meier@siemens.com> | 2019-12-02 22:28:40 +0300 |
---|---|---|
committer | John Cai <jcai@gitlab.com> | 2019-12-02 22:28:40 +0300 |
commit | b3dbb922d2827d067d8e7c0f4e4e3cbf4f4d0a90 (patch) | |
tree | 2a1b632a6ab31d3487625bec804069369fbfaac7 | |
parent | 712a6072e8b95f989f54ecfb37cd721f96711d12 (diff) |
feat: add signature type to GitCommit
-rw-r--r-- | _support/gitlab-test.git-packed-refs | 3 | ||||
-rw-r--r-- | internal/git/log/commit.go | 15 | ||||
-rw-r--r-- | internal/git/log/tag.go | 8 | ||||
-rw-r--r-- | internal/service/commit/commits_by_message_test.go | 5 | ||||
-rw-r--r-- | internal/service/commit/find_commit_test.go | 5 | ||||
-rw-r--r-- | internal/service/commit/find_commits_test.go | 33 | ||||
-rw-r--r-- | internal/service/commit/last_commit_for_path_test.go | 5 | ||||
-rw-r--r-- | internal/service/ref/refs_test.go | 88 | ||||
-rw-r--r-- | internal/service/ref/testhelper_test.go | 1 | ||||
-rw-r--r-- | proto/go/gitalypb/shared.pb.go | 179 | ||||
-rw-r--r-- | proto/shared.proto | 9 | ||||
-rw-r--r-- | ruby/proto/gitaly/shared_pb.rb | 8 |
12 files changed, 276 insertions, 83 deletions
diff --git a/_support/gitlab-test.git-packed-refs b/_support/gitlab-test.git-packed-refs index daf53eba6..940754fe4 100644 --- a/_support/gitlab-test.git-packed-refs +++ b/_support/gitlab-test.git-packed-refs @@ -69,6 +69,7 @@ fe42f41cdc7ca97ae200fb50a268431add95901a refs/heads/png-lfs c84ff944ff4529a70788a5e9003c2b7feae29047 refs/heads/rd-add-file-larger-than-1-mb ca47bfd5e930148c42ed74c3b561a8783e381f7f refs/heads/rebase-encoding-failure-trigger 6101e87e575de14b38b4e1ce180519a813671e10 refs/heads/signed-commits +ed775cc81e5477df30c2abba7b6fdbb5d0baadae refs/heads/smime-signed-commits ba3343bc4fa403a8dfbfcab7fc1a8c29ee34bd69 refs/heads/spooky-stuff 35236eac0ce603467ba37d2f99cb591df4cb8f63 refs/heads/squash-encoding-error-trigger 54cec5282aa9f21856362fe321c800c236a61615 refs/heads/squash-large-files @@ -93,3 +94,5 @@ f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8 refs/tags/v1.0.0 ^6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9 8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b refs/tags/v1.1.0 ^5937ac0a7beb003549fc5fd26fc247adbce4a52e +8f03acbcd11c53d9c9468078f32a2622005a4841 refs/tags/v1.1.1 +^189a6c924013fc3fe40d6f1ec1dc20214183bc97 diff --git a/internal/git/log/commit.go b/internal/git/log/commit.go index 3fd7a4cfd..421bfd59c 100644 --- a/internal/git/log/commit.go +++ b/internal/git/log/commit.go @@ -117,6 +117,8 @@ func buildCommit(header, body []byte, info *catfile.ObjectInfo) (*gitalypb.GitCo commit.Author = parseCommitAuthor(headerSplit[1]) case "committer": commit.Committer = parseCommitAuthor(headerSplit[1]) + case "gpgsig": + commit.SignatureType = detectSignatureType(headerSplit[1]) } } if err := scanner.Err(); err != nil { @@ -168,3 +170,16 @@ func parseCommitAuthor(line string) *gitalypb.CommitAuthor { func subjectFromBody(body []byte) []byte { return bytes.TrimRight(bytes.SplitN(body, []byte("\n"), 2)[0], "\r\n") } + +func detectSignatureType(line string) gitalypb.SignatureType { + switch strings.TrimSuffix(line, "\n") { + case "-----BEGIN SIGNED MESSAGE-----": + return gitalypb.SignatureType_X509 + case "-----BEGIN PGP MESSAGE-----": + return gitalypb.SignatureType_PGP + case "-----BEGIN PGP SIGNATURE-----": + return gitalypb.SignatureType_PGP + default: + return gitalypb.SignatureType_NONE + } +} diff --git a/internal/git/log/tag.go b/internal/git/log/tag.go index 9750aca57..6e78cb0db 100644 --- a/internal/git/log/tag.go +++ b/internal/git/log/tag.go @@ -119,6 +119,14 @@ func buildAnnotatedTag(b *catfile.Batch, tagID, name string, header *tagHeader, } } + // tags contain the signature block in the message: + // https://github.com/git/git/blob/master/Documentation/technical/signature-format.txt#L12 + index := bytes.Index([]byte(tag.Message), []byte("-----BEGIN")) + if index > 0 { + signature := string(tag.Message[index : bytes.Index(tag.Message[index:], []byte("\n"))+index]) + tag.SignatureType = detectSignatureType(signature) + } + tag.Tagger = parseCommitAuthor(header.tagger) return tag, nil diff --git a/internal/service/commit/commits_by_message_test.go b/internal/service/commit/commits_by_message_test.go index fd6f43ef7..ad08176ad 100644 --- a/internal/service/commit/commits_by_message_test.go +++ b/internal/service/commit/commits_by_message_test.go @@ -97,8 +97,9 @@ func TestSuccessfulCommitsByMessageRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393488896}, Timezone: []byte("+0200"), }, - ParentIds: []string{"cfe32cf61b73a0d5e9f13e774abde7ff789b1660"}, - BodySize: 98, + ParentIds: []string{"cfe32cf61b73a0d5e9f13e774abde7ff789b1660"}, + BodySize: 98, + SignatureType: gitalypb.SignatureType_PGP, }, }, }, diff --git a/internal/service/commit/find_commit_test.go b/internal/service/commit/find_commit_test.go index 97bdfdbff..96367f559 100644 --- a/internal/service/commit/find_commit_test.go +++ b/internal/service/commit/find_commit_test.go @@ -91,8 +91,9 @@ func TestSuccessfulFindCommitRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491261}, Timezone: []byte("+0200"), }, - ParentIds: []string{"d14d6c0abdd253381df51a723d58691b2ee1ab08"}, - BodySize: 84, + ParentIds: []string{"d14d6c0abdd253381df51a723d58691b2ee1ab08"}, + BodySize: 84, + SignatureType: gitalypb.SignatureType_PGP, }, }, { diff --git a/internal/service/commit/find_commits_test.go b/internal/service/commit/find_commits_test.go index 3dff50d09..615e93394 100644 --- a/internal/service/commit/find_commits_test.go +++ b/internal/service/commit/find_commits_test.go @@ -98,8 +98,9 @@ func TestFindCommitsFields(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1517328273}, Timezone: []byte("+0100"), }, - ParentIds: []string{"60ecb67744cb56576c30214ff52294f8ce2def98"}, - BodySize: 12, + ParentIds: []string{"60ecb67744cb56576c30214ff52294f8ce2def98"}, + BodySize: 12, + SignatureType: gitalypb.SignatureType_NONE, }, }, { @@ -120,8 +121,32 @@ func TestFindCommitsFields(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1527855450}, Timezone: []byte("+0200"), }, - ParentIds: []string{"60ecb67744cb56576c30214ff52294f8ce2def98"}, - BodySize: 100, + ParentIds: []string{"60ecb67744cb56576c30214ff52294f8ce2def98"}, + BodySize: 100, + SignatureType: gitalypb.SignatureType_NONE, + }, + }, + { + id: "189a6c924013fc3fe40d6f1ec1dc20214183bc97", + commit: &gitalypb.GitCommit{ + Id: "189a6c924013fc3fe40d6f1ec1dc20214183bc97", + Subject: []byte("style: use markdown header within README.md"), + Body: []byte("style: use markdown header within README.md\n"), + Author: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1570810009}, + Timezone: []byte("+0200"), + }, + Committer: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1570810009}, + Timezone: []byte("+0200"), + }, + ParentIds: []string{"0ad583fecb2fb1eaaadaf77d5a33bc69ec1061c1"}, + BodySize: 44, + SignatureType: gitalypb.SignatureType_X509, }, }, } diff --git a/internal/service/commit/last_commit_for_path_test.go b/internal/service/commit/last_commit_for_path_test.go index d027c6df2..484d0ed9e 100644 --- a/internal/service/commit/last_commit_for_path_test.go +++ b/internal/service/commit/last_commit_for_path_test.go @@ -37,8 +37,9 @@ func TestSuccessfulLastCommitForPathRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491451}, Timezone: []byte("+0200"), }, - ParentIds: []string{"6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"}, - BodySize: 86, + ParentIds: []string{"6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9"}, + BodySize: 86, + SignatureType: gitalypb.SignatureType_PGP, } testCases := []struct { diff --git a/internal/service/ref/refs_test.go b/internal/service/ref/refs_test.go index a43b3161f..247825ba1 100644 --- a/internal/service/ref/refs_test.go +++ b/internal/service/ref/refs_test.go @@ -458,8 +458,9 @@ func TestSuccessfulFindAllTagsRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491261}, Timezone: []byte("+0200"), }, - ParentIds: []string{"d14d6c0abdd253381df51a723d58691b2ee1ab08"}, - BodySize: 84, + ParentIds: []string{"d14d6c0abdd253381df51a723d58691b2ee1ab08"}, + BodySize: 84, + SignatureType: gitalypb.SignatureType_PGP, } ctx, cancel := testhelper.Context() @@ -570,8 +571,9 @@ func TestSuccessfulFindAllTagsRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491698}, Timezone: []byte("+0200"), }, - ParentIds: []string{"570e7b2abdd848b95f2f578043fc23bd6f6fd24d"}, - BodySize: 98, + ParentIds: []string{"570e7b2abdd848b95f2f578043fc23bd6f6fd24d"}, + BodySize: 98, + SignatureType: gitalypb.SignatureType_PGP, }, Message: []byte("Version 1.1.0"), MessageSize: 13, @@ -583,6 +585,39 @@ func TestSuccessfulFindAllTagsRequest(t *testing.T) { }, }, { + Name: []byte("v1.1.1"), + Id: "8f03acbcd11c53d9c9468078f32a2622005a4841", + TargetCommit: &gitalypb.GitCommit{ + Id: "189a6c924013fc3fe40d6f1ec1dc20214183bc97", + Subject: []byte("style: use markdown header within README.md"), + Body: []byte("style: use markdown header within README.md\n"), + Author: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1570810009}, + Timezone: []byte("+0200"), + }, + Committer: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1570810009}, + Timezone: []byte("+0200"), + }, + ParentIds: []string{"0ad583fecb2fb1eaaadaf77d5a33bc69ec1061c1"}, + BodySize: 44, + SignatureType: gitalypb.SignatureType_X509, + }, + Message: []byte("x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQMEAgEwCwYJKoZI\nhvcNAQcBoIIP8zCCB3QwggVcoAMCAQICBBXXLOIwDQYJKoZIhvcNAQELBQAwgbYx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVu\nMRAwDgYDVQQKDAdTaWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwU\nU2llbWVucyBUcnVzdCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBD\nQSBNZWRpdW0gU3RyZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjAeFw0xNzAyMDMw\nNjU4MzNaFw0yMDAyMDMwNjU4MzNaMFsxETAPBgNVBAUTCFowMDBOV0RIMQ4wDAYD\nVQQqDAVSb2dlcjEOMAwGA1UEBAwFTWVpZXIxEDAOBgNVBAoMB1NpZW1lbnMxFDAS\nBgNVBAMMC01laWVyIFJvZ2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAuBNea/68ZCnHYQjpm/k3ZBG0wBpEKSwG6lk9CEQlSxsqVLQHAoAKBIlJm1in\nYVLcK/Sq1yhYJ/qWcY/M53DhK2rpPuhtrWJUdOUy8EBWO20F4bd4Fw9pO7jt8bme\nu33TSrK772vKjuppzB6SeG13Cs08H+BIeD106G27h7ufsO00pvsxoSDL+uc4slnr\npBL+2TAL7nSFnB9QHWmRIK27SPqJE+lESdb0pse11x1wjvqKy2Q7EjL9fpqJdHzX\nNLKHXd2r024TOORTa05DFTNR+kQEKKV96XfpYdtSBomXNQ44cisiPBJjFtYvfnFE\nwgrHa8fogn/b0C+A+HAoICN12wIDAQABo4IC4jCCAt4wHQYDVR0OBBYEFCF+gkUp\nXQ6xGc0kRWXuDFxzA14zMEMGA1UdEQQ8MDqgIwYKKwYBBAGCNxQCA6AVDBNyLm1l\naWVyQHNpZW1lbnMuY29tgRNyLm1laWVyQHNpZW1lbnMuY29tMA4GA1UdDwEB/wQE\nAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgcoGA1UdHwSBwjCB\nvzCBvKCBuaCBtoYmaHR0cDovL2NoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBNi5j\ncmyGQWxkYXA6Ly9jbC5zaWVtZW5zLm5ldC9DTj1aWlpaWlpBNixMPVBLST9jZXJ0\naWZpY2F0ZVJldm9jYXRpb25MaXN0hklsZGFwOi8vY2wuc2llbWVucy5jb20vQ049\nWlpaWlpaQTYsbz1UcnVzdGNlbnRlcj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0\nMEUGA1UdIAQ+MDwwOgYNKwYBBAGhaQcCAgMBAzApMCcGCCsGAQUFBwIBFhtodHRw\nOi8vd3d3LnNpZW1lbnMuY29tL3BraS8wDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAW\ngBT4FV1HDGx3e3LEAheRaKK292oJRDCCAQQGCCsGAQUFBwEBBIH3MIH0MDIGCCsG\nAQUFBzAChiZodHRwOi8vYWguc2llbWVucy5jb20vcGtpP1paWlpaWkE2LmNydDBB\nBggrBgEFBQcwAoY1bGRhcDovL2FsLnNpZW1lbnMubmV0L0NOPVpaWlpaWkE2LEw9\nUEtJP2NBQ2VydGlmaWNhdGUwSQYIKwYBBQUHMAKGPWxkYXA6Ly9hbC5zaWVtZW5z\nLmNvbS9DTj1aWlpaWlpBNixvPVRydXN0Y2VudGVyP2NBQ2VydGlmaWNhdGUwMAYI\nKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLnBraS1zZXJ2aWNlcy5zaWVtZW5zLmNvbTAN\nBgkqhkiG9w0BAQsFAAOCAgEAXPVcX6vaEcszJqg5IemF9aFTlwTrX5ITNIpzcqG+\nkD5haOf2mZYLjl+MKtLC1XfmIsGCUZNb8bjP6QHQEI+2d6x/ZOqPq7Kd7PwVu6x6\nxZrkDjUyhUbUntT5+RBy++l3Wf6Cq6Kx+K8ambHBP/bu90/p2U8KfFAG3Kr2gI2q\nfZrnNMOxmJfZ3/sXxssgLkhbZ7hRa+MpLfQ6uFsSiat3vlawBBvTyHnoZ/7oRc8y\nqi6QzWcd76CPpMElYWibl+hJzKbBZUWvc71AzHR6i1QeZ6wubYz7vr+FF5Y7tnxB\nVz6omPC9XAg0F+Dla6Zlz3Awj5imCzVXa+9SjtnsidmJdLcKzTAKyDewewoxYOOJ\nj3cJU7VSjJPl+2fVmDBaQwcNcUcu/TPAKApkegqO7tRF9IPhjhW8QkRnkqMetO3D\nOXmAFVIsEI0Hvb2cdb7B6jSpjGUuhaFm9TCKhQtCk2p8JCDTuaENLm1x34rrJKbT\n2vzyYN0CZtSkUdgD4yQxK9VWXGEzexRisWb4AnZjD2NAquLPpXmw8N0UwFD7MSpC\ndpaX7FktdvZmMXsnGiAdtLSbBgLVWOD1gmJFDjrhNbI8NOaOaNk4jrfGqNh5lhGU\n4DnBT2U6Cie1anLmFH/oZooAEXR2o3Nu+1mNDJChnJp0ovs08aa3zZvBdcloOvfU\nqdowggh3MIIGX6ADAgECAgQtyi/nMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYDVQQG\nEwJERTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UE\nCgwHU2llbWVuczERMA8GA1UEBRMIWlpaWlpaQTExHTAbBgNVBAsMFFNpZW1lbnMg\nVHJ1c3QgQ2VudGVyMSIwIAYDVQQDDBlTaWVtZW5zIFJvb3QgQ0EgVjMuMCAyMDE2\nMB4XDTE2MDcyMDEzNDYxMFoXDTIyMDcyMDEzNDYxMFowgbYxCzAJBgNVBAYTAkRF\nMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMRAwDgYDVQQKDAdT\naWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwUU2llbWVucyBUcnVz\ndCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBDQSBNZWRpdW0gU3Ry\nZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBAL9UfK+JAZEqVMVvECdYF9IK4KSw34AqyNl3rYP5x03dtmKaNu+2\n0fQqNESA1NGzw3s6LmrKLh1cR991nB2cvKOXu7AvEGpSuxzIcOROd4NpvRx+Ej1p\nJIPeqf+ScmVK7lMSO8QL/QzjHOpGV3is9sG+ZIxOW9U1ESooy4Hal6ZNs4DNItsz\npiCKqm6G3et4r2WqCy2RRuSqvnmMza7Y8BZsLy0ZVo5teObQ37E/FxqSrbDI8nxn\nB7nVUve5ZjrqoIGSkEOtyo11003dVO1vmWB9A0WQGDqE/q3w178hGhKfxzRaqzyi\nSoADUYS2sD/CglGTUxVq6u0pGLLsCFjItcCWqW+T9fPYfJ2CEd5b3hvqdCn+pXjZ\n/gdX1XAcdUF5lRnGWifaYpT9n4s4adzX8q6oHSJxTppuAwLRKH6eXALbGQ1I9lGQ\nDSOipD/09xkEsPw6HOepmf2U3YxZK1VU2sHqugFJboeLcHMzp6E1n2ctlNG1GKE9\nFDHmdyFzDi0Nnxtf/GgVjnHF68hByEE1MYdJ4nJLuxoT9hyjYdRW9MpeNNxxZnmz\nW3zh7QxIqP0ZfIz6XVhzrI9uZiqwwojDiM5tEOUkQ7XyW6grNXe75yt6mTj89LlB\nH5fOW2RNmCy/jzBXDjgyskgK7kuCvUYTuRv8ITXbBY5axFA+CpxZqokpAgMBAAGj\nggKmMIICojCCAQUGCCsGAQUFBwEBBIH4MIH1MEEGCCsGAQUFBzAChjVsZGFwOi8v\nYWwuc2llbWVucy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/Y0FDZXJ0aWZpY2F0ZTAy\nBggrBgEFBQcwAoYmaHR0cDovL2FoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBMS5j\ncnQwSgYIKwYBBQUHMAKGPmxkYXA6Ly9hbC5zaWVtZW5zLmNvbS91aWQ9WlpaWlpa\nQTEsbz1UcnVzdGNlbnRlcj9jQUNlcnRpZmljYXRlMDAGCCsGAQUFBzABhiRodHRw\nOi8vb2NzcC5wa2ktc2VydmljZXMuc2llbWVucy5jb20wHwYDVR0jBBgwFoAUcG2g\nUOyp0CxnnRkV/v0EczXD4tQwEgYDVR0TAQH/BAgwBgEB/wIBADBABgNVHSAEOTA3\nMDUGCCsGAQQBoWkHMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuc2llbWVucy5j\nb20vcGtpLzCBxwYDVR0fBIG/MIG8MIG5oIG2oIGzhj9sZGFwOi8vY2wuc2llbWVu\ncy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/YXV0aG9yaXR5UmV2b2NhdGlvbkxpc3SG\nJmh0dHA6Ly9jaC5zaWVtZW5zLmNvbS9wa2k/WlpaWlpaQTEuY3JshkhsZGFwOi8v\nY2wuc2llbWVucy5jb20vdWlkPVpaWlpaWkExLG89VHJ1c3RjZW50ZXI/YXV0aG9y\naXR5UmV2b2NhdGlvbkxpc3QwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwME\nBggrBgEFBQcDCTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPgVXUcMbHd7csQC\nF5Foorb3aglEMA0GCSqGSIb3DQEBCwUAA4ICAQBw+sqMp3SS7DVKcILEmXbdRAg3\nlLO1r457KY+YgCT9uX4VG5EdRKcGfWXK6VHGCi4Dos5eXFV34Mq/p8nu1sqMuoGP\nYjHn604eWDprhGy6GrTYdxzcE/GGHkpkuE3Ir/45UcmZlOU41SJ9SNjuIVrSHMOf\nccSY42BCspR/Q1Z/ykmIqQecdT3/Kkx02GzzSN2+HlW6cEO4GBW5RMqsvd2n0h2d\nfe2zcqOgkLtx7u2JCR/U77zfyxG3qXtcymoz0wgSHcsKIl+GUjITLkHfS9Op8V7C\nGr/dX437sIg5pVHmEAWadjkIzqdHux+EF94Z6kaHywohc1xG0KvPYPX7iSNjkvhz\n4NY53DHmxl4YEMLffZnaS/dqyhe1GTpcpyN8WiR4KuPfxrkVDOsuzWFtMSvNdlOV\ngdI0MXcLMP+EOeANZWX6lGgJ3vWyemo58nzgshKd24MY3w3i6masUkxJH2KvI7UH\n/1Db3SC8oOUjInvSRej6M3ZhYWgugm6gbpUgFoDw/o9Cg6Qm71hY0JtcaPC13rzm\nN8a2Br0+Fa5e2VhwLmAxyfe1JKzqPwuHT0S5u05SQghL5VdzqfA8FCL/j4XC9yI6\ncsZTAQi73xFQYVjZt3+aoSz84lOlTmVo/jgvGMY/JzH9I4mETGgAJRNj34Z/0meh\nM+pKWCojNH/dgyJSwDGCAlIwggJOAgEBMIG/MIG2MQswCQYDVQQGEwJERTEPMA0G\nA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UECgwHU2llbWVu\nczERMA8GA1UEBRMIWlpaWlpaQTYxHTAbBgNVBAsMFFNpZW1lbnMgVHJ1c3QgQ2Vu\ndGVyMT8wPQYDVQQDDDZTaWVtZW5zIElzc3VpbmcgQ0EgTWVkaXVtIFN0cmVuZ3Ro\nIEF1dGhlbnRpY2F0aW9uIDIwMTYCBBXXLOIwCwYJYIZIAWUDBAIBoGkwHAYJKoZI\nhvcNAQkFMQ8XDTE5MTEyMDE0NTYyMFowLwYJKoZIhvcNAQkEMSIEIJDnZUpcVLzC\nOdtpkH8gtxwLPIDE0NmAmFC9uM8q2z+OMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B\nBwEwCwYJKoZIhvcNAQEBBIIBAH/Pqv2xp3a0jSPkwU1K3eGA/1lfoNJMUny4d/PS\nLVWlkgrmedXdLmuBzAGEaaZOJS0lEpNd01pR/reHs7xxZ+RZ0olTs2ufM0CijQSx\nOL9HDl2O3OoD77NWx4tl3Wy1yJCeV3XH/cEI7AkKHCmKY9QMoMYWh16ORBtr+YcS\nYK+gONOjpjgcgTJgZ3HSFgQ50xiD4WT1kFBHsuYsLqaOSbTfTN6Ayyg4edjrPQqa\nVcVf1OQcIrfWA3yMQrnEZfOYfN/D4EPjTfxBV+VCi/F2bdZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"), + MessageSize: 6494, + Tagger: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1574261780}, + Timezone: []byte("+0100"), + }, + SignatureType: gitalypb.SignatureType_X509, + }, + { Name: []byte("v1.2.0"), Id: string(annotatedTagID), Message: []byte("Blob tag"), @@ -970,6 +1005,7 @@ func TestSuccessfulFindAllBranchesRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393488896}, Timezone: []byte("+0200"), }, + SignatureType: gitalypb.SignatureType_PGP, }, } @@ -1352,8 +1388,9 @@ func TestSuccessfulFindTagRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491261}, Timezone: []byte("+0200"), }, - ParentIds: []string{"d14d6c0abdd253381df51a723d58691b2ee1ab08"}, - BodySize: 84, + ParentIds: []string{"d14d6c0abdd253381df51a723d58691b2ee1ab08"}, + BodySize: 84, + SignatureType: gitalypb.SignatureType_PGP, } ctx, cancel := testhelper.Context() @@ -1429,6 +1466,7 @@ func TestSuccessfulFindTagRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491299}, Timezone: []byte("+0200"), }, + SignatureType: gitalypb.SignatureType_NONE, }, { Name: []byte("v1.1.0"), @@ -1449,8 +1487,9 @@ func TestSuccessfulFindTagRequest(t *testing.T) { Date: ×tamp.Timestamp{Seconds: 1393491698}, Timezone: []byte("+0200"), }, - ParentIds: []string{"570e7b2abdd848b95f2f578043fc23bd6f6fd24d"}, - BodySize: 98, + ParentIds: []string{"570e7b2abdd848b95f2f578043fc23bd6f6fd24d"}, + BodySize: 98, + SignatureType: gitalypb.SignatureType_PGP, }, Message: []byte("Version 1.1.0"), MessageSize: 13, @@ -1462,6 +1501,39 @@ func TestSuccessfulFindTagRequest(t *testing.T) { }, }, { + Name: []byte("v1.1.1"), + Id: "8f03acbcd11c53d9c9468078f32a2622005a4841", + TargetCommit: &gitalypb.GitCommit{ + Id: "189a6c924013fc3fe40d6f1ec1dc20214183bc97", + Subject: []byte("style: use markdown header within README.md"), + Body: []byte("style: use markdown header within README.md\n"), + Author: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1570810009}, + Timezone: []byte("+0200"), + }, + Committer: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1570810009}, + Timezone: []byte("+0200"), + }, + ParentIds: []string{"0ad583fecb2fb1eaaadaf77d5a33bc69ec1061c1"}, + BodySize: 44, + SignatureType: gitalypb.SignatureType_X509, + }, + Message: []byte("x509 signed tag\n-----BEGIN SIGNED MESSAGE-----\nMIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQMEAgEwCwYJKoZI\nhvcNAQcBoIIP8zCCB3QwggVcoAMCAQICBBXXLOIwDQYJKoZIhvcNAQELBQAwgbYx\nCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVu\nMRAwDgYDVQQKDAdTaWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwU\nU2llbWVucyBUcnVzdCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBD\nQSBNZWRpdW0gU3RyZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjAeFw0xNzAyMDMw\nNjU4MzNaFw0yMDAyMDMwNjU4MzNaMFsxETAPBgNVBAUTCFowMDBOV0RIMQ4wDAYD\nVQQqDAVSb2dlcjEOMAwGA1UEBAwFTWVpZXIxEDAOBgNVBAoMB1NpZW1lbnMxFDAS\nBgNVBAMMC01laWVyIFJvZ2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAuBNea/68ZCnHYQjpm/k3ZBG0wBpEKSwG6lk9CEQlSxsqVLQHAoAKBIlJm1in\nYVLcK/Sq1yhYJ/qWcY/M53DhK2rpPuhtrWJUdOUy8EBWO20F4bd4Fw9pO7jt8bme\nu33TSrK772vKjuppzB6SeG13Cs08H+BIeD106G27h7ufsO00pvsxoSDL+uc4slnr\npBL+2TAL7nSFnB9QHWmRIK27SPqJE+lESdb0pse11x1wjvqKy2Q7EjL9fpqJdHzX\nNLKHXd2r024TOORTa05DFTNR+kQEKKV96XfpYdtSBomXNQ44cisiPBJjFtYvfnFE\nwgrHa8fogn/b0C+A+HAoICN12wIDAQABo4IC4jCCAt4wHQYDVR0OBBYEFCF+gkUp\nXQ6xGc0kRWXuDFxzA14zMEMGA1UdEQQ8MDqgIwYKKwYBBAGCNxQCA6AVDBNyLm1l\naWVyQHNpZW1lbnMuY29tgRNyLm1laWVyQHNpZW1lbnMuY29tMA4GA1UdDwEB/wQE\nAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgcoGA1UdHwSBwjCB\nvzCBvKCBuaCBtoYmaHR0cDovL2NoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBNi5j\ncmyGQWxkYXA6Ly9jbC5zaWVtZW5zLm5ldC9DTj1aWlpaWlpBNixMPVBLST9jZXJ0\naWZpY2F0ZVJldm9jYXRpb25MaXN0hklsZGFwOi8vY2wuc2llbWVucy5jb20vQ049\nWlpaWlpaQTYsbz1UcnVzdGNlbnRlcj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0\nMEUGA1UdIAQ+MDwwOgYNKwYBBAGhaQcCAgMBAzApMCcGCCsGAQUFBwIBFhtodHRw\nOi8vd3d3LnNpZW1lbnMuY29tL3BraS8wDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAW\ngBT4FV1HDGx3e3LEAheRaKK292oJRDCCAQQGCCsGAQUFBwEBBIH3MIH0MDIGCCsG\nAQUFBzAChiZodHRwOi8vYWguc2llbWVucy5jb20vcGtpP1paWlpaWkE2LmNydDBB\nBggrBgEFBQcwAoY1bGRhcDovL2FsLnNpZW1lbnMubmV0L0NOPVpaWlpaWkE2LEw9\nUEtJP2NBQ2VydGlmaWNhdGUwSQYIKwYBBQUHMAKGPWxkYXA6Ly9hbC5zaWVtZW5z\nLmNvbS9DTj1aWlpaWlpBNixvPVRydXN0Y2VudGVyP2NBQ2VydGlmaWNhdGUwMAYI\nKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLnBraS1zZXJ2aWNlcy5zaWVtZW5zLmNvbTAN\nBgkqhkiG9w0BAQsFAAOCAgEAXPVcX6vaEcszJqg5IemF9aFTlwTrX5ITNIpzcqG+\nkD5haOf2mZYLjl+MKtLC1XfmIsGCUZNb8bjP6QHQEI+2d6x/ZOqPq7Kd7PwVu6x6\nxZrkDjUyhUbUntT5+RBy++l3Wf6Cq6Kx+K8ambHBP/bu90/p2U8KfFAG3Kr2gI2q\nfZrnNMOxmJfZ3/sXxssgLkhbZ7hRa+MpLfQ6uFsSiat3vlawBBvTyHnoZ/7oRc8y\nqi6QzWcd76CPpMElYWibl+hJzKbBZUWvc71AzHR6i1QeZ6wubYz7vr+FF5Y7tnxB\nVz6omPC9XAg0F+Dla6Zlz3Awj5imCzVXa+9SjtnsidmJdLcKzTAKyDewewoxYOOJ\nj3cJU7VSjJPl+2fVmDBaQwcNcUcu/TPAKApkegqO7tRF9IPhjhW8QkRnkqMetO3D\nOXmAFVIsEI0Hvb2cdb7B6jSpjGUuhaFm9TCKhQtCk2p8JCDTuaENLm1x34rrJKbT\n2vzyYN0CZtSkUdgD4yQxK9VWXGEzexRisWb4AnZjD2NAquLPpXmw8N0UwFD7MSpC\ndpaX7FktdvZmMXsnGiAdtLSbBgLVWOD1gmJFDjrhNbI8NOaOaNk4jrfGqNh5lhGU\n4DnBT2U6Cie1anLmFH/oZooAEXR2o3Nu+1mNDJChnJp0ovs08aa3zZvBdcloOvfU\nqdowggh3MIIGX6ADAgECAgQtyi/nMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYDVQQG\nEwJERTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UE\nCgwHU2llbWVuczERMA8GA1UEBRMIWlpaWlpaQTExHTAbBgNVBAsMFFNpZW1lbnMg\nVHJ1c3QgQ2VudGVyMSIwIAYDVQQDDBlTaWVtZW5zIFJvb3QgQ0EgVjMuMCAyMDE2\nMB4XDTE2MDcyMDEzNDYxMFoXDTIyMDcyMDEzNDYxMFowgbYxCzAJBgNVBAYTAkRF\nMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMRAwDgYDVQQKDAdT\naWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwUU2llbWVucyBUcnVz\ndCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBDQSBNZWRpdW0gU3Ry\nZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBAL9UfK+JAZEqVMVvECdYF9IK4KSw34AqyNl3rYP5x03dtmKaNu+2\n0fQqNESA1NGzw3s6LmrKLh1cR991nB2cvKOXu7AvEGpSuxzIcOROd4NpvRx+Ej1p\nJIPeqf+ScmVK7lMSO8QL/QzjHOpGV3is9sG+ZIxOW9U1ESooy4Hal6ZNs4DNItsz\npiCKqm6G3et4r2WqCy2RRuSqvnmMza7Y8BZsLy0ZVo5teObQ37E/FxqSrbDI8nxn\nB7nVUve5ZjrqoIGSkEOtyo11003dVO1vmWB9A0WQGDqE/q3w178hGhKfxzRaqzyi\nSoADUYS2sD/CglGTUxVq6u0pGLLsCFjItcCWqW+T9fPYfJ2CEd5b3hvqdCn+pXjZ\n/gdX1XAcdUF5lRnGWifaYpT9n4s4adzX8q6oHSJxTppuAwLRKH6eXALbGQ1I9lGQ\nDSOipD/09xkEsPw6HOepmf2U3YxZK1VU2sHqugFJboeLcHMzp6E1n2ctlNG1GKE9\nFDHmdyFzDi0Nnxtf/GgVjnHF68hByEE1MYdJ4nJLuxoT9hyjYdRW9MpeNNxxZnmz\nW3zh7QxIqP0ZfIz6XVhzrI9uZiqwwojDiM5tEOUkQ7XyW6grNXe75yt6mTj89LlB\nH5fOW2RNmCy/jzBXDjgyskgK7kuCvUYTuRv8ITXbBY5axFA+CpxZqokpAgMBAAGj\nggKmMIICojCCAQUGCCsGAQUFBwEBBIH4MIH1MEEGCCsGAQUFBzAChjVsZGFwOi8v\nYWwuc2llbWVucy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/Y0FDZXJ0aWZpY2F0ZTAy\nBggrBgEFBQcwAoYmaHR0cDovL2FoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBMS5j\ncnQwSgYIKwYBBQUHMAKGPmxkYXA6Ly9hbC5zaWVtZW5zLmNvbS91aWQ9WlpaWlpa\nQTEsbz1UcnVzdGNlbnRlcj9jQUNlcnRpZmljYXRlMDAGCCsGAQUFBzABhiRodHRw\nOi8vb2NzcC5wa2ktc2VydmljZXMuc2llbWVucy5jb20wHwYDVR0jBBgwFoAUcG2g\nUOyp0CxnnRkV/v0EczXD4tQwEgYDVR0TAQH/BAgwBgEB/wIBADBABgNVHSAEOTA3\nMDUGCCsGAQQBoWkHMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuc2llbWVucy5j\nb20vcGtpLzCBxwYDVR0fBIG/MIG8MIG5oIG2oIGzhj9sZGFwOi8vY2wuc2llbWVu\ncy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/YXV0aG9yaXR5UmV2b2NhdGlvbkxpc3SG\nJmh0dHA6Ly9jaC5zaWVtZW5zLmNvbS9wa2k/WlpaWlpaQTEuY3JshkhsZGFwOi8v\nY2wuc2llbWVucy5jb20vdWlkPVpaWlpaWkExLG89VHJ1c3RjZW50ZXI/YXV0aG9y\naXR5UmV2b2NhdGlvbkxpc3QwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwME\nBggrBgEFBQcDCTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPgVXUcMbHd7csQC\nF5Foorb3aglEMA0GCSqGSIb3DQEBCwUAA4ICAQBw+sqMp3SS7DVKcILEmXbdRAg3\nlLO1r457KY+YgCT9uX4VG5EdRKcGfWXK6VHGCi4Dos5eXFV34Mq/p8nu1sqMuoGP\nYjHn604eWDprhGy6GrTYdxzcE/GGHkpkuE3Ir/45UcmZlOU41SJ9SNjuIVrSHMOf\nccSY42BCspR/Q1Z/ykmIqQecdT3/Kkx02GzzSN2+HlW6cEO4GBW5RMqsvd2n0h2d\nfe2zcqOgkLtx7u2JCR/U77zfyxG3qXtcymoz0wgSHcsKIl+GUjITLkHfS9Op8V7C\nGr/dX437sIg5pVHmEAWadjkIzqdHux+EF94Z6kaHywohc1xG0KvPYPX7iSNjkvhz\n4NY53DHmxl4YEMLffZnaS/dqyhe1GTpcpyN8WiR4KuPfxrkVDOsuzWFtMSvNdlOV\ngdI0MXcLMP+EOeANZWX6lGgJ3vWyemo58nzgshKd24MY3w3i6masUkxJH2KvI7UH\n/1Db3SC8oOUjInvSRej6M3ZhYWgugm6gbpUgFoDw/o9Cg6Qm71hY0JtcaPC13rzm\nN8a2Br0+Fa5e2VhwLmAxyfe1JKzqPwuHT0S5u05SQghL5VdzqfA8FCL/j4XC9yI6\ncsZTAQi73xFQYVjZt3+aoSz84lOlTmVo/jgvGMY/JzH9I4mETGgAJRNj34Z/0meh\nM+pKWCojNH/dgyJSwDGCAlIwggJOAgEBMIG/MIG2MQswCQYDVQQGEwJERTEPMA0G\nA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UECgwHU2llbWVu\nczERMA8GA1UEBRMIWlpaWlpaQTYxHTAbBgNVBAsMFFNpZW1lbnMgVHJ1c3QgQ2Vu\ndGVyMT8wPQYDVQQDDDZTaWVtZW5zIElzc3VpbmcgQ0EgTWVkaXVtIFN0cmVuZ3Ro\nIEF1dGhlbnRpY2F0aW9uIDIwMTYCBBXXLOIwCwYJYIZIAWUDBAIBoGkwHAYJKoZI\nhvcNAQkFMQ8XDTE5MTEyMDE0NTYyMFowLwYJKoZIhvcNAQkEMSIEIJDnZUpcVLzC\nOdtpkH8gtxwLPIDE0NmAmFC9uM8q2z+OMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B\nBwEwCwYJKoZIhvcNAQEBBIIBAH/Pqv2xp3a0jSPkwU1K3eGA/1lfoNJMUny4d/PS\nLVWlkgrmedXdLmuBzAGEaaZOJS0lEpNd01pR/reHs7xxZ+RZ0olTs2ufM0CijQSx\nOL9HDl2O3OoD77NWx4tl3Wy1yJCeV3XH/cEI7AkKHCmKY9QMoMYWh16ORBtr+YcS\nYK+gONOjpjgcgTJgZ3HSFgQ50xiD4WT1kFBHsuYsLqaOSbTfTN6Ayyg4edjrPQqa\nVcVf1OQcIrfWA3yMQrnEZfOYfN/D4EPjTfxBV+VCi/F2bdZmMbJ7jNk1FbewSwWO\nSDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=\n-----END SIGNED MESSAGE-----"), + MessageSize: 6494, + Tagger: &gitalypb.CommitAuthor{ + Name: []byte("Roger Meier"), + Email: []byte("r.meier@siemens.com"), + Date: ×tamp.Timestamp{Seconds: 1574261780}, + Timezone: []byte("+0100"), + }, + SignatureType: gitalypb.SignatureType_X509, + }, + { Name: []byte("v1.2.0"), Id: string(annotatedTagID), Message: []byte("Blob tag"), diff --git a/internal/service/ref/testhelper_test.go b/internal/service/ref/testhelper_test.go index 609150b26..865143d18 100644 --- a/internal/service/ref/testhelper_test.go +++ b/internal/service/ref/testhelper_test.go @@ -56,6 +56,7 @@ var ( Date: ×tamp.Timestamp{Seconds: 1393491698}, Timezone: []byte("+0200"), }, + SignatureType: gitalypb.SignatureType_PGP, }, "refs/heads/'test'": { Id: "e56497bb5f03a90a51293fc6d516788730953899", diff --git a/proto/go/gitalypb/shared.pb.go b/proto/go/gitalypb/shared.pb.go index ed780309f..4e080c35d 100644 --- a/proto/go/gitalypb/shared.pb.go +++ b/proto/go/gitalypb/shared.pb.go @@ -56,6 +56,34 @@ func (ObjectType) EnumDescriptor() ([]byte, []int) { return fileDescriptor_d8a4e87e678c5ced, []int{0} } +type SignatureType int32 + +const ( + SignatureType_NONE SignatureType = 0 + SignatureType_PGP SignatureType = 1 + SignatureType_X509 SignatureType = 2 +) + +var SignatureType_name = map[int32]string{ + 0: "NONE", + 1: "PGP", + 2: "X509", +} + +var SignatureType_value = map[string]int32{ + "NONE": 0, + "PGP": 1, + "X509": 2, +} + +func (x SignatureType) String() string { + return proto.EnumName(SignatureType_name, int32(x)) +} + +func (SignatureType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_d8a4e87e678c5ced, []int{1} +} + type OperationMsg_Operation int32 const ( @@ -294,10 +322,11 @@ type GitCommit struct { // If body exceeds a certain threshold, it will be nullified, // but its size will be set in body_size so we can know if // a commit had a body in the first place. - BodySize int64 `protobuf:"varint,7,opt,name=body_size,json=bodySize,proto3" json:"body_size,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + BodySize int64 `protobuf:"varint,7,opt,name=body_size,json=bodySize,proto3" json:"body_size,omitempty"` + SignatureType SignatureType `protobuf:"varint,8,opt,name=signature_type,json=signatureType,proto3,enum=gitaly.SignatureType" json:"signature_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GitCommit) Reset() { *m = GitCommit{} } @@ -374,6 +403,13 @@ func (m *GitCommit) GetBodySize() int64 { return 0 } +func (m *GitCommit) GetSignatureType() SignatureType { + if m != nil { + return m.SignatureType + } + return SignatureType_NONE +} + type CommitAuthor struct { Name []byte `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Email []byte `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"` @@ -534,6 +570,7 @@ type Tag struct { Message []byte `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` MessageSize int64 `protobuf:"varint,5,opt,name=message_size,json=messageSize,proto3" json:"message_size,omitempty"` Tagger *CommitAuthor `protobuf:"bytes,6,opt,name=tagger,proto3" json:"tagger,omitempty"` + SignatureType SignatureType `protobuf:"varint,7,opt,name=signature_type,json=signatureType,proto3,enum=gitaly.SignatureType" json:"signature_type,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -606,6 +643,13 @@ func (m *Tag) GetTagger() *CommitAuthor { return nil } +func (m *Tag) GetSignatureType() SignatureType { + if m != nil { + return m.SignatureType + } + return SignatureType_NONE +} + type User struct { GlId string `protobuf:"bytes,1,opt,name=gl_id,json=glId,proto3" json:"gl_id,omitempty"` Name []byte `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` @@ -728,6 +772,7 @@ var E_Storage = &proto.ExtensionDesc{ func init() { proto.RegisterEnum("gitaly.ObjectType", ObjectType_name, ObjectType_value) + proto.RegisterEnum("gitaly.SignatureType", SignatureType_name, SignatureType_value) proto.RegisterEnum("gitaly.OperationMsg_Operation", OperationMsg_Operation_name, OperationMsg_Operation_value) proto.RegisterEnum("gitaly.OperationMsg_Scope", OperationMsg_Scope_name, OperationMsg_Scope_value) proto.RegisterType((*OperationMsg)(nil), "gitaly.OperationMsg") @@ -746,65 +791,69 @@ func init() { func init() { proto.RegisterFile("shared.proto", fileDescriptor_d8a4e87e678c5ced) } var fileDescriptor_d8a4e87e678c5ced = []byte{ - // 956 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6e, 0xe4, 0x34, - 0x14, 0xde, 0x64, 0xfe, 0xcf, 0x64, 0x4b, 0x30, 0x45, 0x84, 0xae, 0xba, 0x3b, 0x04, 0x09, 0x55, - 0x08, 0xa6, 0x55, 0x57, 0x5a, 0x89, 0x45, 0x42, 0x4c, 0xcb, 0x50, 0x75, 0xd9, 0x36, 0x95, 0x27, - 0x05, 0xc1, 0x4d, 0xe4, 0x99, 0xb8, 0x1e, 0xa3, 0x64, 0x1c, 0x39, 0x9e, 0x8a, 0xf6, 0x12, 0xf1, - 0x3c, 0x3c, 0x07, 0x17, 0x3c, 0x01, 0x77, 0x5c, 0xf1, 0x18, 0x20, 0xdb, 0xc9, 0xcc, 0x6c, 0x5b, - 0x10, 0x77, 0x3e, 0xc7, 0xdf, 0xf9, 0xce, 0xbf, 0x0d, 0x5e, 0x39, 0x27, 0x92, 0xa6, 0xc3, 0x42, - 0x0a, 0x25, 0x50, 0x9b, 0x71, 0x45, 0xb2, 0x9b, 0x9d, 0x67, 0x4c, 0x08, 0x96, 0xd1, 0x7d, 0xa3, - 0x9d, 0x2e, 0xaf, 0xf6, 0x15, 0xcf, 0x69, 0xa9, 0x48, 0x5e, 0x58, 0xe0, 0xce, 0xe0, 0x2e, 0x20, - 0xa5, 0xe5, 0x4c, 0xf2, 0x42, 0x09, 0x69, 0x11, 0xe1, 0x1f, 0x2e, 0x78, 0x51, 0x41, 0x25, 0x51, - 0x5c, 0x2c, 0xce, 0x4a, 0x86, 0x86, 0xe0, 0x8a, 0x22, 0x70, 0x06, 0xce, 0xde, 0xd6, 0xe1, 0xd3, - 0xa1, 0x75, 0x34, 0xdc, 0x44, 0xac, 0x05, 0xec, 0x8a, 0x02, 0x7d, 0x0e, 0xfd, 0x72, 0x26, 0x0a, - 0x9a, 0x64, 0xf4, 0x9a, 0x66, 0x81, 0x6b, 0x0c, 0x77, 0x1e, 0x34, 0x9c, 0x68, 0x1c, 0x06, 0x03, - 0x7f, 0xad, 0xd1, 0xe8, 0x05, 0xbc, 0xa7, 0x88, 0x64, 0x54, 0x25, 0x92, 0x16, 0xa2, 0xe4, 0x4a, - 0xc8, 0x9b, 0xe4, 0x8a, 0xd3, 0x2c, 0x0d, 0x1a, 0x03, 0x67, 0xaf, 0x87, 0xdf, 0xb5, 0xd7, 0x78, - 0x75, 0xfb, 0xb5, 0xbe, 0x44, 0x5f, 0xc0, 0x13, 0x92, 0xa6, 0x5c, 0x13, 0x93, 0xec, 0xbe, 0x6d, - 0xd3, 0xd8, 0xbe, 0xbf, 0x86, 0xdc, 0xb1, 0x0f, 0x9f, 0x43, 0x6f, 0x15, 0x19, 0xea, 0x43, 0xe7, - 0xf2, 0xfc, 0x9b, 0xf3, 0xe8, 0xbb, 0x73, 0xff, 0x91, 0x16, 0xce, 0x2e, 0xe3, 0x51, 0x1c, 0x61, - 0xdf, 0x41, 0x1e, 0x74, 0x47, 0xc7, 0xc7, 0xe3, 0xc9, 0x24, 0xc2, 0xbe, 0x1b, 0x1e, 0x40, 0xcb, - 0x64, 0x80, 0xb6, 0x00, 0xf0, 0xf8, 0x22, 0x9a, 0x9c, 0xc6, 0x11, 0xfe, 0xde, 0x7f, 0x84, 0x00, - 0xda, 0x93, 0x31, 0xfe, 0x76, 0xac, 0x4d, 0xfa, 0xd0, 0x99, 0xc4, 0x11, 0x1e, 0x9d, 0x8c, 0x7d, - 0x37, 0xfc, 0xd5, 0x05, 0x58, 0xbb, 0x46, 0x1f, 0x80, 0x57, 0x2a, 0x21, 0x09, 0xa3, 0xc9, 0x82, - 0xe4, 0xd4, 0xd4, 0xaa, 0x87, 0xfb, 0x95, 0xee, 0x9c, 0xe4, 0x14, 0x7d, 0x08, 0x8f, 0x25, 0xcd, - 0x88, 0xe2, 0xd7, 0x34, 0x29, 0x88, 0x9a, 0x57, 0x65, 0xf0, 0x6a, 0xe5, 0x05, 0x51, 0x73, 0x74, - 0x00, 0xdb, 0x8c, 0xab, 0x44, 0x4c, 0x7f, 0xa4, 0x33, 0x95, 0xa4, 0x5c, 0xd2, 0x99, 0xe6, 0xaf, - 0xd2, 0x46, 0x8c, 0xab, 0xc8, 0x5c, 0x7d, 0x55, 0xdf, 0xa0, 0x13, 0x18, 0x68, 0x0b, 0x92, 0x29, - 0x2a, 0x17, 0x44, 0xd1, 0xbb, 0xb6, 0x9c, 0x96, 0x41, 0x6b, 0xd0, 0xd8, 0xeb, 0xe1, 0x5d, 0xc6, - 0xd5, 0xa8, 0x86, 0xbd, 0x49, 0xc3, 0x69, 0xa9, 0xe3, 0x63, 0x9b, 0x05, 0x0f, 0xda, 0x36, 0x3e, - 0xb6, 0x51, 0x62, 0xf4, 0x11, 0xbc, 0xc5, 0xb2, 0xa4, 0x90, 0xc2, 0xf8, 0x30, 0x69, 0x74, 0x0d, - 0xec, 0x31, 0xcb, 0x2e, 0xac, 0x56, 0xe7, 0xf1, 0xaa, 0xd9, 0x75, 0x7c, 0xf7, 0x55, 0xb3, 0xdb, - 0xf1, 0xbb, 0xb8, 0xa9, 0x61, 0xe1, 0x5f, 0x0e, 0xf4, 0x4e, 0xb8, 0x3a, 0x16, 0x79, 0xce, 0x15, - 0xda, 0x02, 0x97, 0xa7, 0x66, 0x14, 0x7b, 0xd8, 0xe5, 0x29, 0x0a, 0xa0, 0x53, 0x2e, 0x4d, 0x48, - 0xa6, 0x74, 0x1e, 0xae, 0x45, 0x84, 0xa0, 0x39, 0x15, 0xe9, 0x8d, 0xa9, 0x96, 0x87, 0xcd, 0x19, - 0x7d, 0x02, 0x6d, 0xb2, 0x54, 0x73, 0x21, 0x4d, 0x5d, 0xfa, 0x87, 0xdb, 0xf5, 0x4c, 0x5a, 0xf6, - 0x91, 0xb9, 0xc3, 0x15, 0x06, 0x1d, 0x42, 0x6f, 0x66, 0xf4, 0x8a, 0xca, 0xa0, 0xf5, 0x1f, 0x06, - 0x6b, 0x18, 0xda, 0x05, 0x28, 0x88, 0xa4, 0x0b, 0x95, 0xf0, 0xb4, 0x0c, 0xda, 0xa6, 0x7e, 0x3d, - 0xab, 0x39, 0x4d, 0x4b, 0xf4, 0x04, 0x7a, 0x3a, 0x90, 0xa4, 0xe4, 0xb7, 0x34, 0xe8, 0x0c, 0x9c, - 0xbd, 0x06, 0xee, 0x6a, 0xc5, 0x84, 0xdf, 0xd2, 0xf0, 0x17, 0x07, 0xbc, 0x4d, 0x5e, 0x9d, 0x82, - 0x19, 0x0a, 0xc7, 0xa6, 0xa0, 0xcf, 0x68, 0x1b, 0x5a, 0x34, 0x27, 0x3c, 0xab, 0xd2, 0xb5, 0x02, - 0x1a, 0x42, 0x33, 0x25, 0x8a, 0x9a, 0x64, 0xfb, 0x7a, 0xd5, 0xcc, 0x8e, 0x0f, 0xeb, 0x1d, 0x1f, - 0xc6, 0xf5, 0x23, 0x80, 0x0d, 0x0e, 0xed, 0x40, 0x57, 0xbf, 0x0b, 0xb7, 0x62, 0x41, 0x4d, 0x29, - 0x3c, 0xbc, 0x92, 0xc3, 0x10, 0x60, 0xfc, 0x13, 0x57, 0x13, 0x45, 0xd4, 0xb2, 0xd4, 0xfe, 0xae, - 0x49, 0xb6, 0xb4, 0x41, 0xb4, 0xb0, 0x15, 0xc2, 0x18, 0xda, 0x47, 0x92, 0x2c, 0x66, 0xf3, 0x07, - 0x63, 0x7c, 0x01, 0x8f, 0xab, 0x15, 0xb6, 0x85, 0x31, 0xb1, 0xf6, 0x0f, 0xdf, 0xae, 0x8b, 0xb7, - 0x6a, 0x27, 0xf6, 0x2c, 0xce, 0x4a, 0xe1, 0xef, 0x0e, 0x34, 0x62, 0xc2, 0x1e, 0xe4, 0xb4, 0x8d, - 0x77, 0x57, 0x8d, 0xbf, 0xe7, 0xa3, 0xf1, 0xbf, 0x7c, 0xe8, 0x81, 0xc9, 0x69, 0x59, 0x12, 0x56, - 0x27, 0x5e, 0x8b, 0x7a, 0x15, 0xab, 0xa3, 0x6d, 0x4f, 0xcb, 0xb4, 0xa7, 0x5f, 0xe9, 0x74, 0x87, - 0xf4, 0xfc, 0x28, 0xc2, 0x18, 0x95, 0x66, 0xc6, 0xff, 0x75, 0x7e, 0x2c, 0x26, 0xbc, 0x82, 0xe6, - 0x65, 0x49, 0x25, 0x7a, 0x07, 0x5a, 0x2c, 0x4b, 0x56, 0x63, 0xdb, 0x64, 0xd9, 0x69, 0xba, 0xca, - 0xd1, 0x7d, 0xa8, 0xb7, 0x8d, 0xcd, 0xde, 0x3e, 0x83, 0x3e, 0xcb, 0x92, 0x65, 0xa9, 0xf7, 0x2f, - 0xa7, 0xd5, 0x46, 0x03, 0xcb, 0x2e, 0x2b, 0x4d, 0xf8, 0x25, 0x80, 0xdd, 0xca, 0x0b, 0x21, 0x32, - 0x74, 0x08, 0xb0, 0xb1, 0x8b, 0x8e, 0x89, 0x13, 0xd5, 0x71, 0xae, 0x37, 0x12, 0x6f, 0xa0, 0x3e, - 0x3e, 0xaa, 0x19, 0xe2, 0x9b, 0x82, 0xbe, 0xf9, 0xf8, 0x01, 0xb4, 0x8f, 0xa3, 0xb3, 0xb3, 0xd3, - 0xd8, 0x77, 0x50, 0x17, 0x9a, 0x47, 0xaf, 0xa3, 0x23, 0xdf, 0xd5, 0xa7, 0x18, 0x8f, 0xc7, 0x7e, - 0x03, 0x75, 0xa0, 0x11, 0x8f, 0x4e, 0xfc, 0xe6, 0xcb, 0x08, 0x3a, 0xa2, 0x48, 0x94, 0x26, 0x78, - 0x7a, 0x6f, 0xfe, 0xce, 0xa8, 0x9a, 0x8b, 0x34, 0x2a, 0xf4, 0xe3, 0x5a, 0x06, 0x7f, 0xff, 0x7c, - 0x67, 0x9b, 0x36, 0xbf, 0x04, 0xdc, 0x16, 0x85, 0x0e, 0xe3, 0xe5, 0x67, 0xd0, 0xa9, 0x9e, 0x41, - 0xb4, 0x7b, 0x8f, 0xd0, 0xbc, 0xd9, 0x35, 0xdf, 0x9f, 0xbf, 0x69, 0xbe, 0x2e, 0xae, 0xf1, 0x47, - 0x07, 0x3f, 0x68, 0xe6, 0x8c, 0x4c, 0x87, 0x33, 0x91, 0xef, 0xdb, 0xe3, 0xa7, 0x42, 0xb2, 0x7d, - 0xeb, 0xcf, 0xfe, 0x7d, 0xfb, 0x4c, 0x54, 0x72, 0x31, 0x9d, 0xb6, 0x8d, 0xea, 0xf9, 0x3f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x74, 0x65, 0xe0, 0xf9, 0x55, 0x07, 0x00, 0x00, + // 1019 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0x23, 0x35, + 0x14, 0x6e, 0x26, 0xff, 0x27, 0x69, 0x19, 0x4c, 0x57, 0x84, 0xae, 0xba, 0x1b, 0x82, 0x84, 0xaa, + 0x55, 0x49, 0xab, 0xac, 0x58, 0x69, 0x17, 0x84, 0x48, 0x4b, 0xa8, 0xba, 0x6c, 0x33, 0x91, 0x33, + 0xe5, 0xef, 0x66, 0xe4, 0x64, 0x5c, 0xc7, 0x68, 0x12, 0x8f, 0x6c, 0xa7, 0xa2, 0xbd, 0x44, 0x5c, + 0xf1, 0x1e, 0xdc, 0xf2, 0x1c, 0x3c, 0x03, 0x77, 0x3c, 0x09, 0xc8, 0xf6, 0x4c, 0x9a, 0xfe, 0x80, + 0xe0, 0xce, 0xe7, 0x9c, 0xef, 0xfc, 0xf8, 0x9b, 0xcf, 0x67, 0xa0, 0xa9, 0x66, 0x44, 0xd2, 0xb8, + 0x9b, 0x4a, 0xa1, 0x05, 0xaa, 0x30, 0xae, 0x49, 0x72, 0xb5, 0xf3, 0x94, 0x09, 0xc1, 0x12, 0x7a, + 0x60, 0xbd, 0x93, 0xe5, 0xc5, 0x81, 0xe6, 0x73, 0xaa, 0x34, 0x99, 0xa7, 0x0e, 0xb8, 0xd3, 0xbe, + 0x0b, 0x88, 0xa9, 0x9a, 0x4a, 0x9e, 0x6a, 0x21, 0x1d, 0xa2, 0xf3, 0x87, 0x07, 0xcd, 0x20, 0xa5, + 0x92, 0x68, 0x2e, 0x16, 0x67, 0x8a, 0xa1, 0x2e, 0x78, 0x22, 0x6d, 0x15, 0xda, 0x85, 0xbd, 0xad, + 0xde, 0x93, 0xae, 0x6b, 0xd4, 0x5d, 0x47, 0xdc, 0x18, 0xd8, 0x13, 0x29, 0xfa, 0x04, 0x1a, 0x6a, + 0x2a, 0x52, 0x1a, 0x25, 0xf4, 0x92, 0x26, 0x2d, 0xcf, 0x26, 0xee, 0x3c, 0x98, 0x38, 0x36, 0x38, + 0x0c, 0x16, 0xfe, 0xc6, 0xa0, 0xd1, 0x0b, 0x78, 0x57, 0x13, 0xc9, 0xa8, 0x8e, 0x24, 0x4d, 0x85, + 0xe2, 0x5a, 0xc8, 0xab, 0xe8, 0x82, 0xd3, 0x24, 0x6e, 0x15, 0xdb, 0x85, 0xbd, 0x3a, 0x7e, 0xe4, + 0xc2, 0x78, 0x15, 0xfd, 0xd2, 0x04, 0xd1, 0x67, 0xf0, 0x98, 0xc4, 0x31, 0x37, 0x85, 0x49, 0x72, + 0x3f, 0xb7, 0x64, 0x73, 0xdf, 0xbb, 0x81, 0xdc, 0xc9, 0xef, 0x3c, 0x87, 0xfa, 0x6a, 0x32, 0xd4, + 0x80, 0xea, 0xf9, 0xf0, 0xab, 0x61, 0xf0, 0xcd, 0xd0, 0xdf, 0x30, 0xc6, 0xd9, 0x79, 0xd8, 0x0f, + 0x03, 0xec, 0x17, 0x50, 0x13, 0x6a, 0xfd, 0xe3, 0xe3, 0xc1, 0x78, 0x1c, 0x60, 0xdf, 0xeb, 0x1c, + 0x42, 0xd9, 0xde, 0x00, 0x6d, 0x01, 0xe0, 0xc1, 0x28, 0x18, 0x9f, 0x86, 0x01, 0xfe, 0xce, 0xdf, + 0x40, 0x00, 0x95, 0xf1, 0x00, 0x7f, 0x3d, 0x30, 0x29, 0x0d, 0xa8, 0x8e, 0xc3, 0x00, 0xf7, 0x4f, + 0x06, 0xbe, 0xd7, 0xf9, 0xcd, 0x03, 0xb8, 0x69, 0x8d, 0xde, 0x87, 0xa6, 0xd2, 0x42, 0x12, 0x46, + 0xa3, 0x05, 0x99, 0x53, 0xcb, 0x55, 0x1d, 0x37, 0x32, 0xdf, 0x90, 0xcc, 0x29, 0xfa, 0x00, 0x36, + 0x25, 0x4d, 0x88, 0xe6, 0x97, 0x34, 0x4a, 0x89, 0x9e, 0x65, 0x34, 0x34, 0x73, 0xe7, 0x88, 0xe8, + 0x19, 0x3a, 0x84, 0x6d, 0xc6, 0x75, 0x24, 0x26, 0x3f, 0xd0, 0xa9, 0x8e, 0x62, 0x2e, 0xe9, 0xd4, + 0xd4, 0xcf, 0xae, 0x8d, 0x18, 0xd7, 0x81, 0x0d, 0x7d, 0x91, 0x47, 0xd0, 0x09, 0xb4, 0x4d, 0x06, + 0x49, 0x34, 0x95, 0x0b, 0xa2, 0xe9, 0xdd, 0x5c, 0x4e, 0x55, 0xab, 0xdc, 0x2e, 0xee, 0xd5, 0xf1, + 0x2e, 0xe3, 0xba, 0x9f, 0xc3, 0x6e, 0x97, 0xe1, 0x54, 0x99, 0xf9, 0xd8, 0x3a, 0xe1, 0xad, 0x8a, + 0x9b, 0x8f, 0xad, 0x51, 0x8c, 0x3e, 0x84, 0xb7, 0x58, 0x12, 0xa5, 0x52, 0xd8, 0x1e, 0xf6, 0x1a, + 0x35, 0x0b, 0xdb, 0x64, 0xc9, 0xc8, 0x79, 0xcd, 0x3d, 0x5e, 0x97, 0x6a, 0x05, 0xdf, 0x7b, 0x5d, + 0xaa, 0x55, 0xfd, 0x1a, 0x2e, 0x19, 0x58, 0xe7, 0x57, 0x0f, 0xea, 0x27, 0x5c, 0x1f, 0x8b, 0xf9, + 0x9c, 0x6b, 0xb4, 0x05, 0x1e, 0x8f, 0xad, 0x14, 0xeb, 0xd8, 0xe3, 0x31, 0x6a, 0x41, 0x55, 0x2d, + 0xed, 0x48, 0x96, 0xba, 0x26, 0xce, 0x4d, 0x84, 0xa0, 0x34, 0x11, 0xf1, 0x95, 0x65, 0xab, 0x89, + 0xed, 0x19, 0xed, 0x43, 0x85, 0x2c, 0xf5, 0x4c, 0x48, 0xcb, 0x4b, 0xa3, 0xb7, 0x9d, 0x6b, 0xd2, + 0x55, 0xef, 0xdb, 0x18, 0xce, 0x30, 0xa8, 0x07, 0xf5, 0xa9, 0xf5, 0x6b, 0x2a, 0x5b, 0xe5, 0x7f, + 0x49, 0xb8, 0x81, 0xa1, 0x5d, 0x80, 0x94, 0x48, 0xba, 0xd0, 0x11, 0x8f, 0x55, 0xab, 0x62, 0xf9, + 0xab, 0x3b, 0xcf, 0x69, 0xac, 0xd0, 0x63, 0xa8, 0x9b, 0x41, 0x22, 0xc5, 0xaf, 0x69, 0xab, 0xda, + 0x2e, 0xec, 0x15, 0x71, 0xcd, 0x38, 0xc6, 0xfc, 0x9a, 0xa2, 0x4f, 0x61, 0x4b, 0x71, 0xb6, 0x20, + 0x7a, 0x29, 0x69, 0xa4, 0xaf, 0x52, 0x6a, 0x29, 0xda, 0xea, 0x3d, 0xca, 0x9b, 0x8e, 0xf3, 0x68, + 0x78, 0x95, 0x52, 0xbc, 0xa9, 0xd6, 0xcd, 0xce, 0xcf, 0x05, 0x68, 0xae, 0x4f, 0x65, 0x08, 0xb0, + 0x92, 0x2a, 0x38, 0x02, 0xcc, 0x19, 0x6d, 0x43, 0x99, 0xce, 0x09, 0x4f, 0x32, 0xb2, 0x9c, 0x81, + 0xba, 0x50, 0x8a, 0x89, 0xa6, 0x96, 0xaa, 0x86, 0x79, 0xa8, 0x76, 0x43, 0x74, 0xf3, 0x0d, 0xd1, + 0x0d, 0xf3, 0x15, 0x82, 0x2d, 0x0e, 0xed, 0x40, 0xcd, 0x6c, 0x95, 0x6b, 0xb1, 0xa0, 0x96, 0xc8, + 0x26, 0x5e, 0xd9, 0x9d, 0x0e, 0xc0, 0xe0, 0x47, 0xae, 0xc7, 0x9a, 0xe8, 0xa5, 0x32, 0xfd, 0x2e, + 0x49, 0xb2, 0x74, 0x43, 0x94, 0xb1, 0x33, 0x3a, 0x21, 0x54, 0x8e, 0x24, 0x59, 0x4c, 0x67, 0x0f, + 0xce, 0xf8, 0x02, 0x36, 0xb3, 0x05, 0xe0, 0x68, 0xb5, 0xb3, 0x36, 0x7a, 0x6f, 0xe7, 0x2c, 0xac, + 0xc4, 0x80, 0x9b, 0x0e, 0xe7, 0xac, 0xce, 0x2f, 0x1e, 0x14, 0x43, 0xc2, 0x1e, 0xac, 0xe9, 0x64, + 0xe3, 0xad, 0x64, 0x73, 0xaf, 0x47, 0xf1, 0x3f, 0xf5, 0x30, 0x72, 0x9b, 0x53, 0xa5, 0x08, 0xcb, + 0x2f, 0x9e, 0x9b, 0xe6, 0x21, 0x67, 0x47, 0xf7, 0x71, 0xcb, 0xf6, 0xe3, 0x36, 0x32, 0x9f, 0xfd, + 0xbe, 0xfb, 0x50, 0xd1, 0x84, 0x31, 0x2a, 0xed, 0x0b, 0xf9, 0x47, 0xf5, 0x39, 0xcc, 0x03, 0x6a, + 0xa8, 0xfe, 0x0f, 0x35, 0x5c, 0x40, 0xe9, 0x5c, 0x51, 0x89, 0xde, 0x81, 0x32, 0x4b, 0xa2, 0xd5, + 0x93, 0x29, 0xb1, 0xe4, 0x34, 0x5e, 0x31, 0xe4, 0x3d, 0xa4, 0x8c, 0xe2, 0xba, 0x32, 0x9e, 0x42, + 0x83, 0x25, 0xd1, 0x52, 0x99, 0xb7, 0x3f, 0xa7, 0xd9, 0x36, 0x01, 0x96, 0x9c, 0x67, 0x9e, 0xce, + 0xe7, 0x00, 0x6e, 0x23, 0x8c, 0x84, 0x48, 0x50, 0x0f, 0x60, 0x6d, 0x0f, 0x14, 0xec, 0x2d, 0x51, + 0x3e, 0xef, 0xcd, 0x36, 0xc0, 0x6b, 0xa8, 0x67, 0x47, 0x79, 0x05, 0x33, 0xf7, 0xed, 0xc5, 0x0b, + 0x50, 0x39, 0x0e, 0xce, 0xce, 0x4e, 0x43, 0xbf, 0x80, 0x6a, 0x50, 0x3a, 0x7a, 0x13, 0x1c, 0xf9, + 0x9e, 0x39, 0x85, 0x78, 0x30, 0xf0, 0x8b, 0xa8, 0x0a, 0xc5, 0xb0, 0x7f, 0xe2, 0x97, 0x9e, 0xed, + 0xc3, 0xe6, 0x2d, 0x36, 0x0c, 0x66, 0x18, 0x0c, 0x07, 0xfe, 0x86, 0xc1, 0x8c, 0x4e, 0x46, 0xae, + 0xc0, 0xb7, 0x1f, 0x1f, 0xbe, 0xf4, 0xbd, 0x57, 0x01, 0x54, 0x45, 0x6a, 0x29, 0x45, 0x4f, 0xee, + 0x69, 0xfd, 0x8c, 0xea, 0x99, 0x88, 0x83, 0xd4, 0xfc, 0x06, 0x54, 0xeb, 0xaf, 0x9f, 0xee, 0xbc, + 0xfb, 0xf5, 0x9f, 0x17, 0xae, 0x88, 0xd4, 0x74, 0x7b, 0xf5, 0x12, 0xaa, 0xd9, 0xc2, 0x46, 0xbb, + 0xf7, 0x0a, 0xda, 0xbf, 0x4b, 0x5e, 0xef, 0xcf, 0xdf, 0x4d, 0xbd, 0x1a, 0xce, 0xf1, 0x47, 0x87, + 0xdf, 0x9b, 0xca, 0x09, 0x99, 0x74, 0xa7, 0x62, 0x7e, 0xe0, 0x8e, 0x1f, 0x09, 0xc9, 0x0e, 0x5c, + 0x3f, 0xf7, 0x97, 0x3e, 0x60, 0x22, 0xb3, 0xd3, 0xc9, 0xa4, 0x62, 0x5d, 0xcf, 0xff, 0x0e, 0x00, + 0x00, 0xff, 0xff, 0x5b, 0x3d, 0x69, 0x61, 0xff, 0x07, 0x00, 0x00, } diff --git a/proto/shared.proto b/proto/shared.proto index ea8d79c8a..2d04c4dd3 100644 --- a/proto/shared.proto +++ b/proto/shared.proto @@ -53,6 +53,13 @@ enum ObjectType { TAG = 4; } +enum SignatureType { + NONE = 0; + PGP = 1; + X509 = 2; + // maybe add X509+TSA or other combinations at a later step +} + extend google.protobuf.MethodOptions { // Random high number.. OperationMsg op_type = 82303; @@ -101,6 +108,7 @@ message GitCommit { // but its size will be set in body_size so we can know if // a commit had a body in the first place. int64 body_size = 7; + SignatureType signature_type = 8; } message CommitAuthor { @@ -130,6 +138,7 @@ message Tag { bytes message = 4; int64 message_size = 5; CommitAuthor tagger = 6; + SignatureType signature_type = 7; } message User { diff --git a/ruby/proto/gitaly/shared_pb.rb b/ruby/proto/gitaly/shared_pb.rb index d6dd836b6..d76b28db8 100644 --- a/ruby/proto/gitaly/shared_pb.rb +++ b/ruby/proto/gitaly/shared_pb.rb @@ -37,6 +37,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do optional :committer, :message, 5, "gitaly.CommitAuthor" repeated :parent_ids, :string, 6 optional :body_size, :int64, 7 + optional :signature_type, :enum, 8, "gitaly.SignatureType" end add_message "gitaly.CommitAuthor" do optional :name, :bytes, 1 @@ -58,6 +59,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do optional :message, :bytes, 4 optional :message_size, :int64, 5 optional :tagger, :message, 6, "gitaly.CommitAuthor" + optional :signature_type, :enum, 7, "gitaly.SignatureType" end add_message "gitaly.User" do optional :gl_id, :string, 1 @@ -75,6 +77,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do value :TREE, 3 value :TAG, 4 end + add_enum "gitaly.SignatureType" do + value :NONE, 0 + value :PGP, 1 + value :X509, 2 + end end module Gitaly @@ -90,4 +97,5 @@ module Gitaly User = Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.User").msgclass ObjectPool = Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ObjectPool").msgclass ObjectType = Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.ObjectType").enummodule + SignatureType = Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.SignatureType").enummodule end |