Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2018-09-20 19:10:08 +0300
committerJacob Vosmaer <jacob@gitlab.com>2018-09-20 19:10:08 +0300
commita491a6a3f0d7272692e7d069259e13cb448e8a6f (patch)
tree434f7bf0e3dca3a069528027a7f0d314f3078753
parent3ed43d613d0e9131c33ba4f5cc15e6e3520429a8 (diff)
parent0c82f37e359dec9e4afae64f1881afac2109c7cf (diff)
Merge branch 'osw-use-max-patch-bytes-limit' into 'master'
Use CommitDiffRequest.MaxPatchBytes instead of hardcoded limit for single diff patches Closes gitlab-ce#50635 See merge request gitlab-org/gitaly!880
-rw-r--r--changelogs/unreleased/osw-use-max-patch-bytes-limit.yml5
-rw-r--r--internal/diff/diff.go45
-rw-r--r--internal/diff/diff_test.go93
-rw-r--r--internal/service/diff/commit.go1
-rw-r--r--internal/service/diff/commit_test.go47
-rw-r--r--vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION2
-rw-r--r--vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go120
-rw-r--r--vendor/vendor.json10
8 files changed, 247 insertions, 76 deletions
diff --git a/changelogs/unreleased/osw-use-max-patch-bytes-limit.yml b/changelogs/unreleased/osw-use-max-patch-bytes-limit.yml
new file mode 100644
index 000000000..e599c28e8
--- /dev/null
+++ b/changelogs/unreleased/osw-use-max-patch-bytes-limit.yml
@@ -0,0 +1,5 @@
+---
+title: Use CommitDiffRequest.MaxPatchBytes instead of hardcoded limit for single diff patches
+merge_request: 880
+author:
+type: changed
diff --git a/internal/diff/diff.go b/internal/diff/diff.go
index 1d5966d73..a1d53b0d0 100644
--- a/internal/diff/diff.go
+++ b/internal/diff/diff.go
@@ -14,10 +14,6 @@ import (
const blankID = "0000000000000000000000000000000000000000"
-// MaxPatchBytes is a limitation of a single diff patch,
-// patches surpassing this limit are pruned by default.
-const MaxPatchBytes = 100000
-
// Diff represents a single parsed diff entry
type Diff struct {
FromID string
@@ -69,8 +65,27 @@ type Limits struct {
SafeMaxLines int
// Number of bytes to parse (including lines preceded with --- or +++), after which all subsequent files are collapsed.
SafeMaxBytes int
+ // Number of bytes a single patch can have. Patches surpassing this limit are pruned / nullified.
+ MaxPatchBytes int
}
+const (
+ // maxFilesUpperBound controls how much MaxFiles limit can reach
+ maxFilesUpperBound = 5000
+ // maxLinesUpperBound controls how much MaxLines limit can reach
+ maxLinesUpperBound = 250000
+ // maxBytesUpperBound controls how much MaxBytes limit can reach
+ maxBytesUpperBound = 5000 * 5120 // 24MB
+ // safeMaxFilesUpperBound controls how much SafeMaxBytes limit can reach
+ safeMaxFilesUpperBound = 500
+ // safeMaxLinesUpperBound controls how much SafeMaxLines limit can reach
+ safeMaxLinesUpperBound = 25000
+ // safeMaxBytesUpperBound controls how much SafeMaxBytes limit can reach
+ safeMaxBytesUpperBound = 500 * 5120 // 2.4MB
+ // maxPatchBytesUpperBound controls how much MaxPatchBytes limit can reach
+ maxPatchBytesUpperBound = 512000 // 500KB
+)
+
var (
rawLineRegexp = regexp.MustCompile(`(?m)^:(\d+) (\d+) ([[:xdigit:]]{40}) ([[:xdigit:]]{40}) ([ADTUXMRC]\d*)\t(.*?)(?:\t(.*?))?$`)
diffHeaderRegexp = regexp.MustCompile(`(?m)^diff --git "?a/(.*?)"? "?b/(.*?)"?$`)
@@ -78,6 +93,8 @@ var (
// NewDiffParser returns a new Parser
func NewDiffParser(src io.Reader, limits Limits) *Parser {
+ limits.enforceUpperBound()
+
parser := &Parser{}
reader := bufio.NewReader(src)
@@ -158,7 +175,7 @@ func (parser *Parser) Parse() bool {
if parser.limits.EnforceLimits {
// Apply single-file size limit
- if len(parser.currentDiff.Patch) >= MaxPatchBytes {
+ if len(parser.currentDiff.Patch) >= parser.limits.MaxPatchBytes {
parser.prunePatch()
parser.currentDiff.TooLarge = true
}
@@ -175,6 +192,17 @@ func (parser *Parser) Parse() bool {
return true
}
+// enforceUpperBound ensures every limit value is within its corresponding upperbound
+func (limit *Limits) enforceUpperBound() {
+ limit.MaxFiles = min(limit.MaxFiles, maxFilesUpperBound)
+ limit.MaxLines = min(limit.MaxLines, maxLinesUpperBound)
+ limit.MaxBytes = min(limit.MaxBytes, maxBytesUpperBound)
+ limit.SafeMaxFiles = min(limit.SafeMaxFiles, safeMaxFilesUpperBound)
+ limit.SafeMaxLines = min(limit.SafeMaxLines, safeMaxLinesUpperBound)
+ limit.SafeMaxBytes = min(limit.SafeMaxBytes, safeMaxBytesUpperBound)
+ limit.MaxPatchBytes = min(limit.MaxPatchBytes, maxPatchBytesUpperBound)
+}
+
// prunePatch nullifies the current diff patch and reduce lines and bytes processed
// according to it.
func (parser *Parser) prunePatch() {
@@ -201,6 +229,13 @@ func (parser *Parser) isOverSafeLimits() bool {
parser.bytesProcessed > parser.limits.SafeMaxBytes
}
+func min(x, y int) int {
+ if x < y {
+ return x
+ }
+ return y
+}
+
func (parser *Parser) cacheRawLines(reader *bufio.Reader) {
for {
line, err := reader.ReadBytes('\n')
diff --git a/internal/diff/diff_test.go b/internal/diff/diff_test.go
index abece29e3..9684642f5 100644
--- a/internal/diff/diff_test.go
+++ b/internal/diff/diff_test.go
@@ -36,6 +36,7 @@ index 0000000000000000000000000000000000000000..3be11c69355948412925fa5e073d76d5
MaxFiles: 5,
MaxBytes: 10000000,
MaxLines: 10000000,
+ MaxPatchBytes: 100000,
CollapseDiffs: true,
}
diffs := getDiffs(rawDiff, limits)
@@ -97,6 +98,7 @@ index 0000000000000000000000000000000000000000..3be11c69355948412925fa5e073d76d5
MaxFiles: 4,
MaxBytes: 10000000,
MaxLines: 10000000,
+ MaxPatchBytes: 100000,
CollapseDiffs: false,
}
diffParser := NewDiffParser(strings.NewReader(rawDiff), limits)
@@ -136,6 +138,74 @@ index 0000000000000000000000000000000000000000..3be11c69355948412925fa5e073d76d5
require.Equal(t, expectedDiffs, diffs)
}
+func TestDiffParserWithLargeDiffWithFalseCollapseDiffsAndCustomPatchLimitFlag(t *testing.T) {
+ bigPatch := "@@ -0,0 +1,100000 @@\n" + strings.Repeat("+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua\n", 1000)
+ rawDiff := fmt.Sprintf(`:000000 100644 0000000000000000000000000000000000000000 4cc7061661b8f52891bc1b39feb4d856b21a1067 A big.txt
+:000000 100644 0000000000000000000000000000000000000000 3be11c69355948412925fa5e073d76d58ff3afd2 A file-00.txt
+
+diff --git a/big.txt b/big.txt
+new file mode 100644
+index 0000000000000000000000000000000000000000..4cc7061661b8f52891bc1b39feb4d856b21a1067
+--- /dev/null
++++ b/big.txt
+%sdiff --git a/file-00.txt b/file-00.txt
+new file mode 100644
+index 0000000000000000000000000000000000000000..3be11c69355948412925fa5e073d76d58ff3afd2
+--- /dev/null
++++ b/file-00.txt
+@@ -0,0 +1 @@
++Lorem ipsum
+`, bigPatch)
+
+ limits := Limits{
+ EnforceLimits: true,
+ SafeMaxFiles: 3,
+ SafeMaxBytes: 200,
+ SafeMaxLines: 200,
+ MaxFiles: 4,
+ MaxBytes: 10000000,
+ MaxLines: 10000000,
+ MaxPatchBytes: 125000, // bumping from default 100KB to 125kb (first patch has 124.6KB)
+ CollapseDiffs: false,
+ }
+ diffParser := NewDiffParser(strings.NewReader(rawDiff), limits)
+
+ diffs := []*Diff{}
+ for diffParser.Parse() {
+ diffs = append(diffs, diffParser.Diff())
+ }
+
+ expectedDiffs := []*Diff{
+ &Diff{
+ OldMode: 0,
+ NewMode: 0100644,
+ FromID: "0000000000000000000000000000000000000000",
+ ToID: "4cc7061661b8f52891bc1b39feb4d856b21a1067",
+ FromPath: []byte("big.txt"),
+ ToPath: []byte("big.txt"),
+ Status: 'A',
+ Collapsed: false,
+ Patch: []byte(bigPatch),
+ lineCount: 1000,
+ TooLarge: false,
+ },
+ &Diff{
+ OldMode: 0,
+ NewMode: 0100644,
+ FromID: "0000000000000000000000000000000000000000",
+ ToID: "3be11c69355948412925fa5e073d76d58ff3afd2",
+ FromPath: []byte("file-00.txt"),
+ ToPath: []byte("file-00.txt"),
+ Status: 'A',
+ Collapsed: false,
+ Patch: []byte("@@ -0,0 +1 @@\n+Lorem ipsum\n"),
+ lineCount: 1,
+ },
+ }
+
+ require.Equal(t, expectedDiffs, diffs)
+}
+
func TestDiffParserWithLargeDiffOfSmallPatches(t *testing.T) {
patch := "@@ -0,0 +1,5 @@\n" + strings.Repeat("+Lorem\n", 5)
rawDiff := `:000000 100644 0000000000000000000000000000000000000000 b6507e5b5ce18077e3ec8aaa2291404e5051d45d A expand-collapse/file-0.txt
@@ -163,6 +233,7 @@ index 0000000000000000000000000000000000000000..b6507e5b5ce18077e3ec8aaa2291404e
MaxFiles: 10000000,
MaxBytes: 10000000,
MaxLines: 10000000,
+ MaxPatchBytes: 100000,
CollapseDiffs: true,
}
diffs := getDiffs(rawDiff, limits)
@@ -209,6 +280,28 @@ index 0000000000000000000000000000000000000000..b6507e5b5ce18077e3ec8aaa2291404e
require.Equal(t, expectedDiffs, diffs)
}
+func TestDiffLimitsBeingEnforcedByUpperBound(t *testing.T) {
+ limits := Limits{
+ SafeMaxLines: 999999999,
+ SafeMaxFiles: 999999999,
+ SafeMaxBytes: 999999999,
+ MaxFiles: 999999999,
+ MaxBytes: 0,
+ MaxLines: 0,
+ MaxPatchBytes: 0,
+ }
+
+ diffParser := NewDiffParser(strings.NewReader(""), limits)
+
+ require.Equal(t, diffParser.limits.SafeMaxBytes, safeMaxBytesUpperBound)
+ require.Equal(t, diffParser.limits.SafeMaxFiles, safeMaxFilesUpperBound)
+ require.Equal(t, diffParser.limits.SafeMaxLines, safeMaxLinesUpperBound)
+ require.Equal(t, diffParser.limits.MaxFiles, maxFilesUpperBound)
+ require.Equal(t, diffParser.limits.MaxBytes, 0)
+ require.Equal(t, diffParser.limits.MaxLines, 0)
+ require.Equal(t, diffParser.limits.MaxPatchBytes, 0)
+}
+
func getDiffs(rawDiff string, limits Limits) []*Diff {
diffParser := NewDiffParser(strings.NewReader(rawDiff), limits)
diff --git a/internal/service/diff/commit.go b/internal/service/diff/commit.go
index 45cd3f8f4..cbf4aeeb2 100644
--- a/internal/service/diff/commit.go
+++ b/internal/service/diff/commit.go
@@ -60,6 +60,7 @@ func (s *server) CommitDiff(in *pb.CommitDiffRequest, stream pb.DiffService_Comm
limits.MaxFiles = int(in.MaxFiles)
limits.MaxLines = int(in.MaxLines)
limits.MaxBytes = int(in.MaxBytes)
+ limits.MaxPatchBytes = int(in.MaxPatchBytes)
}
limits.CollapseDiffs = in.CollapseDiffs
limits.SafeMaxFiles = int(in.SafeMaxFiles)
diff --git a/internal/service/diff/commit_test.go b/internal/service/diff/commit_test.go
index 17baf59c9..bc176951e 100644
--- a/internal/service/diff/commit_test.go
+++ b/internal/service/diff/commit_test.go
@@ -436,8 +436,8 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
leftCommit := "184a47d38677e2e439964859b877ae9bc424ab11"
type diffAttributes struct {
- path string
- collapsed, overflowMarker bool
+ path string
+ collapsed, overflowMarker, tooLarge bool
}
requestsAndResults := []struct {
@@ -465,6 +465,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
MaxFiles: 3,
MaxLines: 1000,
MaxBytes: 3 * 5 * 1024,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG"},
@@ -480,6 +481,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
MaxFiles: 5,
MaxLines: 90,
MaxBytes: 5 * 5 * 1024,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG"},
@@ -494,6 +496,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
MaxFiles: 5,
MaxLines: 1000,
MaxBytes: 6900,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG"},
@@ -514,6 +517,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
SafeMaxFiles: 1,
SafeMaxLines: 1000,
SafeMaxBytes: 1 * 5 * 1024,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG"},
@@ -523,6 +527,27 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
},
},
{
+ desc: "set as too large when exceeding single patch limit",
+ request: pb.CommitDiffRequest{
+ EnforceLimits: true,
+ CollapseDiffs: false,
+ MaxFiles: 5,
+ MaxLines: 1000,
+ MaxBytes: 3 * 5 * 1024,
+ SafeMaxFiles: 3,
+ SafeMaxLines: 1000,
+ SafeMaxBytes: 1 * 5 * 1024,
+ MaxPatchBytes: 1200,
+ },
+ result: []diffAttributes{
+ {path: "CHANGELOG", tooLarge: true},
+ {path: "CONTRIBUTING.md", tooLarge: true},
+ {path: "LICENSE", tooLarge: false},
+ {path: "PROCESS.md", tooLarge: true},
+ {path: "VERSION", tooLarge: false},
+ },
+ },
+ {
desc: "collapse after safe max file count is exceeded",
request: pb.CommitDiffRequest{
EnforceLimits: true,
@@ -533,6 +558,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
SafeMaxFiles: 1,
SafeMaxLines: 1000,
SafeMaxBytes: 1 * 5 * 1024,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG"},
@@ -552,6 +578,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
SafeMaxFiles: 5,
SafeMaxLines: 40,
SafeMaxBytes: 5 * 5 * 1024,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG", collapsed: true},
@@ -572,6 +599,7 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
SafeMaxFiles: 4,
SafeMaxLines: 1000,
SafeMaxBytes: 4830,
+ MaxPatchBytes: 100000,
},
result: []diffAttributes{
{path: "CHANGELOG"},
@@ -602,16 +630,14 @@ func TestSuccessfulCommitDiffRequestWithLimits(t *testing.T) {
require.Equal(t, len(requestAndResult.result), len(receivedDiffs), "number of diffs received")
for i, diff := range receivedDiffs {
- if overflowMarker := requestAndResult.result[i].overflowMarker; overflowMarker {
- require.Equal(t, overflowMarker, diff.OverflowMarker, "overflow marker")
- continue
- }
+ expectedDiff := requestAndResult.result[i]
- require.Equal(t, requestAndResult.result[i].path, string(diff.FromPath), "path")
+ require.Equal(t, expectedDiff.overflowMarker, diff.OverflowMarker, "%s overflow marker", diff.FromPath)
+ require.Equal(t, expectedDiff.tooLarge, diff.TooLarge, "%s too large", diff.FromPath)
+ require.Equal(t, expectedDiff.path, string(diff.FromPath), "%s path", diff.FromPath)
+ require.Equal(t, expectedDiff.collapsed, diff.Collapsed, "%s collapsed", diff.FromPath)
- collapsed := requestAndResult.result[i].collapsed
- require.Equal(t, collapsed, diff.Collapsed, "%s collapsed", requestAndResult.result[i].path)
- if collapsed {
+ if expectedDiff.collapsed {
require.Empty(t, diff.Patch, "patch")
}
}
@@ -975,6 +1001,7 @@ func getDiffsFromCommitDiffClient(t *testing.T, client pb.DiffService_CommitDiff
Collapsed: fetchedDiff.Collapsed,
OverflowMarker: fetchedDiff.OverflowMarker,
Patch: fetchedDiff.RawPatchData,
+ TooLarge: fetchedDiff.TooLarge,
}
} else {
currentDiff.Patch = append(currentDiff.Patch, fetchedDiff.RawPatchData...)
diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
index 4c08787e6..a38b3bd31 100644
--- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
+++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/VERSION
@@ -1 +1 @@
-0.116.0
+0.117.0
diff --git a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go
index 663fe3e2b..2ae92f49d 100644
--- a/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go
+++ b/vendor/gitlab.com/gitlab-org/gitaly-proto/go/diff.pb.go
@@ -31,6 +31,9 @@ type CommitDiffRequest struct {
SafeMaxFiles int32 `protobuf:"varint,11,opt,name=safe_max_files,json=safeMaxFiles" json:"safe_max_files,omitempty"`
SafeMaxLines int32 `protobuf:"varint,12,opt,name=safe_max_lines,json=safeMaxLines" json:"safe_max_lines,omitempty"`
SafeMaxBytes int32 `protobuf:"varint,13,opt,name=safe_max_bytes,json=safeMaxBytes" json:"safe_max_bytes,omitempty"`
+ // Limitation of a single diff patch,
+ // patches surpassing this limit are pruned by default.
+ MaxPatchBytes int32 `protobuf:"varint,14,opt,name=max_patch_bytes,json=maxPatchBytes" json:"max_patch_bytes,omitempty"`
}
func (m *CommitDiffRequest) Reset() { *m = CommitDiffRequest{} }
@@ -129,6 +132,13 @@ func (m *CommitDiffRequest) GetSafeMaxBytes() int32 {
return 0
}
+func (m *CommitDiffRequest) GetMaxPatchBytes() int32 {
+ if m != nil {
+ return m.MaxPatchBytes
+ }
+ return 0
+}
+
// A CommitDiffResponse corresponds to a single changed file in a commit.
type CommitDiffResponse struct {
FromPath []byte `protobuf:"bytes,1,opt,name=from_path,json=fromPath,proto3" json:"from_path,omitempty"`
@@ -993,59 +1003,59 @@ var _DiffService_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("diff.proto", fileDescriptor4) }
var fileDescriptor4 = []byte{
- // 849 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcb, 0x6e, 0x23, 0x45,
- 0x14, 0xa5, 0x63, 0xbb, 0xd3, 0xbe, 0xee, 0xbc, 0x2a, 0x28, 0xd3, 0xf1, 0xb0, 0xb0, 0x5a, 0xcc,
- 0x8c, 0x11, 0x52, 0x84, 0xc2, 0x86, 0x05, 0x42, 0x62, 0x26, 0x02, 0x65, 0x94, 0x88, 0x51, 0xb3,
- 0x60, 0xc1, 0xa2, 0x55, 0x71, 0xdd, 0xb6, 0x4b, 0x74, 0x77, 0x99, 0xaa, 0x22, 0x1e, 0xff, 0x06,
- 0xf0, 0x0f, 0x6c, 0xd8, 0xf3, 0x6b, 0x2c, 0x58, 0xa0, 0xaa, 0xea, 0x97, 0x13, 0x6b, 0x36, 0x33,
- 0x0b, 0xef, 0x5c, 0xe7, 0x9c, 0xbe, 0xf7, 0xd4, 0x7d, 0x54, 0x02, 0xc0, 0x78, 0x96, 0x5d, 0x2c,
- 0xa5, 0xd0, 0x82, 0xf8, 0x73, 0xae, 0x69, 0xbe, 0x1e, 0x87, 0x6a, 0x41, 0x25, 0x32, 0x87, 0xc6,
- 0xff, 0xf5, 0xe0, 0xe4, 0x95, 0x28, 0x0a, 0xae, 0xaf, 0x78, 0x96, 0x25, 0xf8, 0xeb, 0x6f, 0xa8,
- 0x34, 0xb9, 0x04, 0x90, 0xb8, 0x14, 0x8a, 0x6b, 0x21, 0xd7, 0x91, 0x37, 0xf1, 0xa6, 0xa3, 0x4b,
- 0x72, 0xe1, 0x02, 0x5c, 0x24, 0x0d, 0x93, 0x74, 0x54, 0xe4, 0x53, 0x38, 0xcc, 0x31, 0xd3, 0xe9,
- 0xcc, 0x46, 0x4b, 0x39, 0x8b, 0xf6, 0x26, 0xde, 0x74, 0x98, 0x84, 0x06, 0x75, 0x29, 0xae, 0x19,
- 0x79, 0x0e, 0x47, 0x92, 0xcf, 0x17, 0x5d, 0x59, 0xcf, 0xca, 0x0e, 0x2c, 0xdc, 0xe8, 0xbe, 0x82,
- 0x88, 0xcf, 0x4b, 0x21, 0x31, 0x5d, 0x2d, 0xb8, 0x46, 0xb5, 0xa4, 0x33, 0x4c, 0x67, 0x0b, 0x5a,
- 0xce, 0x31, 0xea, 0x4f, 0xbc, 0x69, 0x90, 0x9c, 0x39, 0xfe, 0xa7, 0x86, 0x7e, 0x65, 0x59, 0xf2,
- 0x31, 0x0c, 0x96, 0x54, 0x2f, 0x54, 0x34, 0x98, 0xf4, 0xa6, 0x61, 0xe2, 0x0e, 0xe4, 0x19, 0x1c,
- 0xce, 0x44, 0x9e, 0xd3, 0xa5, 0xc2, 0xd4, 0x14, 0x45, 0x45, 0xbe, 0x8d, 0x72, 0x50, 0xa3, 0xe6,
- 0xfa, 0x56, 0x86, 0x65, 0x26, 0xe4, 0x0c, 0xd3, 0x9c, 0x17, 0x5c, 0xab, 0x68, 0xdf, 0xc9, 0x2a,
- 0xf4, 0xc6, 0x82, 0xe4, 0x29, 0x0c, 0x0b, 0xfa, 0x36, 0xcd, 0x78, 0x8e, 0x2a, 0x0a, 0x26, 0xde,
- 0x74, 0x90, 0x04, 0x05, 0x7d, 0xfb, 0x9d, 0x39, 0xd7, 0x64, 0xce, 0x4b, 0x54, 0xd1, 0xb0, 0x21,
- 0x6f, 0xcc, 0xb9, 0x26, 0xef, 0xd6, 0x1a, 0x55, 0x04, 0x0d, 0xf9, 0xd2, 0x9c, 0x4d, 0x09, 0x15,
- 0xcd, 0x30, 0x6d, 0x63, 0x8f, 0xac, 0x22, 0x34, 0xe8, 0x6d, 0x1d, 0xbf, 0xab, 0x72, 0x49, 0xc2,
- 0x0d, 0x95, 0x4b, 0xd4, 0x55, 0xb9, 0x6c, 0x07, 0x1b, 0x2a, 0x9b, 0x31, 0xfe, 0x77, 0x0f, 0x48,
- 0xb7, 0xfd, 0x6a, 0x29, 0x4a, 0x85, 0xc6, 0x65, 0x26, 0x45, 0x91, 0x9a, 0xda, 0xd9, 0xf6, 0x87,
- 0x49, 0x60, 0x80, 0x37, 0x54, 0x2f, 0xc8, 0x13, 0xd8, 0xd7, 0xc2, 0x51, 0x7b, 0x96, 0xf2, 0xb5,
- 0xa8, 0x09, 0xfb, 0x55, 0xd3, 0x53, 0xdf, 0x1c, 0xaf, 0x19, 0x39, 0x85, 0x81, 0x16, 0x06, 0xee,
- 0x5b, 0xb8, 0xaf, 0xc5, 0x35, 0x23, 0xe7, 0x10, 0x88, 0x9c, 0xa5, 0x85, 0x60, 0x18, 0x0d, 0xac,
- 0xb5, 0x7d, 0x91, 0xb3, 0x5b, 0xc1, 0xd0, 0x50, 0x25, 0xae, 0x1c, 0xe5, 0x3b, 0xaa, 0xc4, 0x95,
- 0xa5, 0xce, 0xc0, 0xbf, 0xe3, 0x25, 0x95, 0xeb, 0xaa, 0x31, 0xd5, 0xc9, 0x5c, 0x57, 0xd2, 0x95,
- 0x71, 0x35, 0x5b, 0xa4, 0x8c, 0x6a, 0x6a, 0x2b, 0x1f, 0x26, 0xa1, 0xa4, 0xab, 0x37, 0x06, 0xbc,
- 0xa2, 0x9a, 0x92, 0x09, 0x84, 0x58, 0xb2, 0x54, 0x64, 0x4e, 0x68, 0x1b, 0x10, 0x24, 0x80, 0x25,
- 0xfb, 0x21, 0xb3, 0x2a, 0xf2, 0x02, 0x8e, 0xc4, 0x3d, 0xca, 0x2c, 0x17, 0xab, 0xb4, 0xa0, 0xf2,
- 0x17, 0x94, 0xb6, 0x07, 0x41, 0x72, 0x58, 0xc3, 0xb7, 0x16, 0x25, 0x9f, 0xc0, 0xb0, 0x1e, 0x1d,
- 0x66, 0x1b, 0x10, 0x24, 0x2d, 0x60, 0x0a, 0xa8, 0x85, 0x48, 0x73, 0x2a, 0xe7, 0x68, 0x0b, 0x1f,
- 0x24, 0x81, 0x16, 0xe2, 0xc6, 0x9c, 0x5f, 0xf7, 0x83, 0xe0, 0x78, 0x18, 0xff, 0xed, 0x35, 0xa5,
- 0xc7, 0x5c, 0xd3, 0xdd, 0x59, 0xbd, 0x66, 0x81, 0xfa, 0x9d, 0x05, 0x8a, 0xff, 0xf2, 0x60, 0xd4,
- 0xb1, 0xbb, 0xbb, 0x23, 0x12, 0xbf, 0x84, 0xd3, 0x8d, 0xba, 0x56, 0x33, 0xfd, 0x39, 0xf8, 0xcc,
- 0x00, 0x2a, 0xf2, 0x26, 0xbd, 0xe9, 0xe8, 0xf2, 0xb4, 0x2e, 0x6a, 0x57, 0x5c, 0x49, 0x62, 0x56,
- 0xf7, 0xc6, 0x4e, 0xc5, 0xfb, 0xf4, 0x66, 0x0c, 0x81, 0xc4, 0x7b, 0xae, 0xb8, 0x28, 0xab, 0x5a,
- 0x34, 0xe7, 0xf8, 0xb3, 0xda, 0x69, 0x95, 0xa5, 0x72, 0x4a, 0xa0, 0x6f, 0x27, 0xd8, 0x55, 0xd5,
- 0xfe, 0x8e, 0x7f, 0xf7, 0xe0, 0x30, 0xa1, 0xab, 0x9d, 0x7a, 0xa4, 0xe3, 0x67, 0x70, 0xd4, 0x78,
- 0x7a, 0x87, 0xf7, 0x3f, 0x3c, 0xab, 0x7b, 0xef, 0x52, 0x7e, 0x58, 0xf3, 0xcf, 0xe1, 0xb8, 0x35,
- 0xf5, 0x0e, 0xf7, 0x7f, 0x7a, 0x70, 0x6c, 0xae, 0xf8, 0xa3, 0xa6, 0x5a, 0xed, 0x8e, 0xfd, 0x9f,
- 0x61, 0xd8, 0xb8, 0x32, 0xbe, 0x3b, 0x7b, 0x68, 0x7f, 0x9b, 0x07, 0x8a, 0x32, 0xc6, 0x35, 0x17,
- 0xa5, 0xb2, 0x99, 0x06, 0x49, 0x0b, 0x18, 0x96, 0x61, 0x8e, 0x8e, 0xed, 0x39, 0xb6, 0x01, 0xe2,
- 0xaf, 0xe1, 0xa4, 0x73, 0xe5, 0xaa, 0x38, 0x2f, 0x60, 0xa0, 0x0c, 0x50, 0xed, 0xcf, 0x49, 0x7d,
- 0xdd, 0x56, 0xe9, 0xf8, 0xcb, 0x7f, 0x7a, 0x30, 0xb2, 0x20, 0xca, 0x7b, 0x3e, 0x43, 0xf2, 0x3d,
- 0x40, 0xfb, 0x37, 0x86, 0x9c, 0x3f, 0xd8, 0xbb, 0x76, 0xa2, 0xc7, 0xe3, 0x6d, 0x94, 0xcb, 0x1e,
- 0x7f, 0xf4, 0x85, 0x47, 0x5e, 0x6f, 0x3e, 0x41, 0xe3, 0x6d, 0x1b, 0x5c, 0x85, 0x7a, 0xba, 0x95,
- 0xdb, 0x16, 0xcb, 0xbd, 0xfb, 0x0f, 0x62, 0x75, 0x67, 0xf5, 0x61, 0xac, 0x8d, 0x91, 0xb1, 0xb1,
- 0xbe, 0x81, 0xfd, 0x6a, 0x0f, 0xc8, 0x59, 0x33, 0x04, 0x1b, 0xcb, 0x3a, 0x7e, 0xf2, 0x08, 0xef,
- 0x7c, 0xff, 0x2d, 0x04, 0xf5, 0x28, 0x92, 0xae, 0x70, 0xc3, 0x45, 0xf4, 0x98, 0xe8, 0x84, 0xb8,
- 0xea, 0x8e, 0x43, 0xf4, 0xb8, 0x35, 0x55, 0x90, 0xf3, 0x2d, 0x4c, 0x1b, 0xe5, 0xce, 0xb7, 0xff,
- 0x14, 0x7e, 0xf9, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x14, 0xf1, 0x18, 0xaf, 0x38, 0x0a, 0x00,
- 0x00,
+ // 864 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0xe3, 0x44,
+ 0x18, 0xc6, 0xcd, 0x47, 0x9d, 0x37, 0x6e, 0xda, 0x4e, 0x51, 0xd7, 0xcd, 0x72, 0x88, 0x2c, 0xb6,
+ 0x1b, 0x84, 0x54, 0xa1, 0x72, 0xe1, 0x80, 0x90, 0xd8, 0xad, 0x40, 0x5d, 0xb5, 0x62, 0x65, 0x0e,
+ 0x1c, 0x38, 0x58, 0xd3, 0xcc, 0x38, 0x1e, 0x61, 0x7b, 0xc2, 0xcc, 0xd0, 0xb4, 0x7f, 0x03, 0xf8,
+ 0x09, 0x48, 0x5c, 0xb8, 0xf3, 0xd7, 0x38, 0xa2, 0x79, 0xc7, 0x5f, 0x69, 0xa3, 0xbd, 0xec, 0x1e,
+ 0x7a, 0xcb, 0xfb, 0x3c, 0x8f, 0xdf, 0xef, 0x77, 0x5a, 0x00, 0x26, 0xd2, 0xf4, 0x6c, 0xa5, 0xa4,
+ 0x91, 0x64, 0xb8, 0x14, 0x86, 0xe6, 0xf7, 0xd3, 0x40, 0x67, 0x54, 0x71, 0xe6, 0xd0, 0xe8, 0xaf,
+ 0x3e, 0x1c, 0xbe, 0x96, 0x45, 0x21, 0xcc, 0x85, 0x48, 0xd3, 0x98, 0xff, 0xfa, 0x1b, 0xd7, 0x86,
+ 0x9c, 0x03, 0x28, 0xbe, 0x92, 0x5a, 0x18, 0xa9, 0xee, 0x43, 0x6f, 0xe6, 0xcd, 0xc7, 0xe7, 0xe4,
+ 0xcc, 0x39, 0x38, 0x8b, 0x1b, 0x26, 0xee, 0xa8, 0xc8, 0xa7, 0x30, 0xc9, 0x79, 0x6a, 0x92, 0x05,
+ 0x7a, 0x4b, 0x04, 0x0b, 0x77, 0x66, 0xde, 0x7c, 0x14, 0x07, 0x16, 0x75, 0x21, 0x2e, 0x19, 0x39,
+ 0x85, 0x7d, 0x25, 0x96, 0x59, 0x57, 0xd6, 0x43, 0xd9, 0x1e, 0xc2, 0x8d, 0xee, 0x2b, 0x08, 0xc5,
+ 0xb2, 0x94, 0x8a, 0x27, 0xeb, 0x4c, 0x18, 0xae, 0x57, 0x74, 0xc1, 0x93, 0x45, 0x46, 0xcb, 0x25,
+ 0x0f, 0xfb, 0x33, 0x6f, 0xee, 0xc7, 0xc7, 0x8e, 0xff, 0xa9, 0xa1, 0x5f, 0x23, 0x4b, 0x3e, 0x86,
+ 0xc1, 0x8a, 0x9a, 0x4c, 0x87, 0x83, 0x59, 0x6f, 0x1e, 0xc4, 0xce, 0x20, 0x2f, 0x60, 0xb2, 0x90,
+ 0x79, 0x4e, 0x57, 0x9a, 0x27, 0xb6, 0x29, 0x3a, 0x1c, 0xa2, 0x97, 0xbd, 0x1a, 0xb5, 0xe5, 0xa3,
+ 0x8c, 0x97, 0xa9, 0x54, 0x0b, 0x9e, 0xe4, 0xa2, 0x10, 0x46, 0x87, 0xbb, 0x4e, 0x56, 0xa1, 0x57,
+ 0x08, 0x92, 0xe7, 0x30, 0x2a, 0xe8, 0x5d, 0x92, 0x8a, 0x9c, 0xeb, 0xd0, 0x9f, 0x79, 0xf3, 0x41,
+ 0xec, 0x17, 0xf4, 0xee, 0x3b, 0x6b, 0xd7, 0x64, 0x2e, 0x4a, 0xae, 0xc3, 0x51, 0x43, 0x5e, 0x59,
+ 0xbb, 0x26, 0x6f, 0xee, 0x0d, 0xd7, 0x21, 0x34, 0xe4, 0x2b, 0x6b, 0xdb, 0x16, 0x6a, 0x9a, 0xf2,
+ 0xa4, 0xf5, 0x3d, 0x46, 0x45, 0x60, 0xd1, 0xeb, 0xda, 0x7f, 0x57, 0xe5, 0x82, 0x04, 0x1b, 0x2a,
+ 0x17, 0xa8, 0xab, 0x72, 0xd1, 0xf6, 0x36, 0x54, 0x2e, 0xe2, 0x29, 0xec, 0x5b, 0xc1, 0x8a, 0x9a,
+ 0x45, 0x56, 0xc9, 0x26, 0x28, 0xdb, 0x2b, 0xe8, 0xdd, 0x5b, 0x8b, 0xa2, 0x2e, 0xfa, 0x6f, 0x07,
+ 0x48, 0x77, 0x4d, 0xf4, 0x4a, 0x96, 0x9a, 0xdb, 0x6a, 0x52, 0x25, 0x0b, 0xfb, 0x7d, 0x86, 0x6b,
+ 0x12, 0xc4, 0xbe, 0x05, 0xde, 0x52, 0x93, 0x91, 0x67, 0xb0, 0x6b, 0xa4, 0xa3, 0x76, 0x90, 0x1a,
+ 0x1a, 0x59, 0x13, 0xf8, 0x55, 0x33, 0xfb, 0xa1, 0x35, 0x2f, 0x19, 0x39, 0x82, 0x81, 0x91, 0x16,
+ 0xee, 0x23, 0xdc, 0x37, 0xf2, 0x92, 0x91, 0x13, 0xf0, 0x65, 0xce, 0x92, 0x42, 0x32, 0x1e, 0x0e,
+ 0x30, 0xb7, 0x5d, 0x99, 0xb3, 0x6b, 0xc9, 0xb8, 0xa5, 0x4a, 0xbe, 0x76, 0xd4, 0xd0, 0x51, 0x25,
+ 0x5f, 0x23, 0x75, 0x0c, 0xc3, 0x1b, 0x51, 0x52, 0x75, 0x5f, 0x0d, 0xb0, 0xb2, 0x6c, 0x5b, 0x14,
+ 0x5d, 0x57, 0x05, 0x33, 0x6a, 0x28, 0x4e, 0x28, 0x88, 0x03, 0x45, 0xd7, 0x58, 0xef, 0x05, 0x35,
+ 0x94, 0xcc, 0x20, 0xe0, 0x25, 0x4b, 0x64, 0xea, 0x84, 0x38, 0x28, 0x3f, 0x06, 0x5e, 0xb2, 0x1f,
+ 0x52, 0x54, 0x91, 0x97, 0xb0, 0x2f, 0x6f, 0xb9, 0x4a, 0x73, 0xb9, 0x4e, 0x0a, 0xaa, 0x7e, 0xe1,
+ 0x0a, 0x67, 0xe5, 0xc7, 0x93, 0x1a, 0xbe, 0x46, 0x94, 0x7c, 0x02, 0xa3, 0x7a, 0xc5, 0x18, 0x0e,
+ 0xca, 0x8f, 0x5b, 0xc0, 0x36, 0xd0, 0x48, 0x99, 0xe4, 0x54, 0x2d, 0x39, 0x0e, 0xc8, 0x8f, 0x7d,
+ 0x23, 0xe5, 0x95, 0xb5, 0xdf, 0xf4, 0x7d, 0xff, 0x60, 0x14, 0xfd, 0xe3, 0x35, 0xad, 0xe7, 0xb9,
+ 0xa1, 0x4f, 0xe7, 0x44, 0x9b, 0x43, 0xeb, 0x77, 0x0e, 0x2d, 0xfa, 0xdb, 0x83, 0x71, 0x27, 0xdd,
+ 0xa7, 0xbb, 0x22, 0xd1, 0x2b, 0x38, 0xda, 0xe8, 0x6b, 0xb5, 0xd3, 0x9f, 0xc3, 0x90, 0x59, 0x40,
+ 0x87, 0xde, 0xac, 0x37, 0x1f, 0x9f, 0x1f, 0xd5, 0x4d, 0xed, 0x8a, 0x2b, 0x49, 0xc4, 0xea, 0xd9,
+ 0xe0, 0x56, 0xbc, 0xcf, 0x6c, 0xa6, 0xe0, 0x2b, 0x7e, 0x2b, 0xb4, 0x90, 0x65, 0xd5, 0x8b, 0xc6,
+ 0x8e, 0x3e, 0xab, 0x33, 0xad, 0xa2, 0x54, 0x99, 0x12, 0xe8, 0xe3, 0x06, 0xbb, 0xae, 0xe2, 0xef,
+ 0xe8, 0x77, 0x0f, 0x26, 0x31, 0x5d, 0x3f, 0xa9, 0xc7, 0x3c, 0x7a, 0x01, 0xfb, 0x4d, 0x4e, 0xef,
+ 0xc8, 0xfd, 0x0f, 0x0f, 0x75, 0xef, 0xdd, 0xca, 0x0f, 0x9b, 0xfc, 0x29, 0x1c, 0xb4, 0x49, 0xbd,
+ 0x23, 0xfb, 0x3f, 0x3d, 0x38, 0xb0, 0x25, 0xfe, 0x68, 0xa8, 0xd1, 0x4f, 0x27, 0xfd, 0x9f, 0x61,
+ 0xd4, 0x64, 0x65, 0xf3, 0xee, 0xdc, 0x21, 0xfe, 0xb6, 0x0f, 0x14, 0x65, 0x4c, 0x18, 0x21, 0x4b,
+ 0x8d, 0x91, 0x06, 0x71, 0x0b, 0x58, 0x96, 0xf1, 0x9c, 0x3b, 0xb6, 0xe7, 0xd8, 0x06, 0x88, 0xbe,
+ 0x86, 0xc3, 0x4e, 0xc9, 0x55, 0x73, 0x5e, 0xc2, 0x40, 0x5b, 0xa0, 0xba, 0x9f, 0xc3, 0xba, 0xdc,
+ 0x56, 0xe9, 0xf8, 0xf3, 0x7f, 0x7b, 0x30, 0x46, 0x90, 0xab, 0x5b, 0xb1, 0xe0, 0xe4, 0x7b, 0x80,
+ 0xf6, 0x6f, 0x0c, 0x39, 0x79, 0x70, 0x77, 0xed, 0x46, 0x4f, 0xa7, 0xdb, 0x28, 0x17, 0x3d, 0xfa,
+ 0xe8, 0x0b, 0x8f, 0xbc, 0xd9, 0x7c, 0x82, 0xa6, 0xdb, 0x2e, 0xb8, 0x72, 0xf5, 0x7c, 0x2b, 0xb7,
+ 0xcd, 0x97, 0x7b, 0xf7, 0x1f, 0xf8, 0xea, 0xee, 0xea, 0x43, 0x5f, 0x1b, 0x2b, 0x83, 0xbe, 0xbe,
+ 0x81, 0xdd, 0xea, 0x0e, 0xc8, 0x71, 0xb3, 0x04, 0x1b, 0xc7, 0x3a, 0x7d, 0xf6, 0x08, 0xef, 0x7c,
+ 0xff, 0x2d, 0xf8, 0xf5, 0x2a, 0x92, 0xae, 0x70, 0x23, 0x8b, 0xf0, 0x31, 0xd1, 0x71, 0x71, 0xd1,
+ 0x5d, 0x87, 0xf0, 0xf1, 0x68, 0x2a, 0x27, 0x27, 0x5b, 0x98, 0xd6, 0xcb, 0xcd, 0x10, 0xff, 0x79,
+ 0xfc, 0xf2, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4e, 0x5a, 0xc7, 0xa7, 0x60, 0x0a, 0x00, 0x00,
}
diff --git a/vendor/vendor.json b/vendor/vendor.json
index 9ebe6a069..9813fc0ff 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -201,12 +201,12 @@
"revisionTime": "2017-12-31T12:27:32Z"
},
{
- "checksumSHA1": "pTq0hgmx7nHc5zLcRSSUfGjFVBM=",
+ "checksumSHA1": "J5+e1uiso5SbD8uR9VFB18dC0Ag=",
"path": "gitlab.com/gitlab-org/gitaly-proto/go",
- "revision": "a46e5e8996017eb2ae6cf700d1266bca693df067",
- "revisionTime": "2018-09-05T17:09:14Z",
- "version": "v0.116.0",
- "versionExact": "v0.116.0"
+ "revision": "9b48e996a05d5347013dfc1f845b5c82abeb4450",
+ "revisionTime": "2018-09-06T18:35:31Z",
+ "version": "v0.117.0",
+ "versionExact": "v0.117.0"
},
{
"checksumSHA1": "nqWNlnMmVpt628zzvyo6Yv2CX5Q=",