diff options
Diffstat (limited to 'vendor/google.golang.org/protobuf')
7 files changed, 234 insertions, 8 deletions
| diff --git a/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go b/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go new file mode 100644 index 000000000..2ef36bbcf --- /dev/null +++ b/vendor/google.golang.org/protobuf/encoding/protodelim/protodelim.go @@ -0,0 +1,160 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package protodelim marshals and unmarshals varint size-delimited messages. +package protodelim + +import ( +	"bufio" +	"encoding/binary" +	"fmt" +	"io" + +	"google.golang.org/protobuf/encoding/protowire" +	"google.golang.org/protobuf/internal/errors" +	"google.golang.org/protobuf/proto" +) + +// MarshalOptions is a configurable varint size-delimited marshaler. +type MarshalOptions struct{ proto.MarshalOptions } + +// MarshalTo writes a varint size-delimited wire-format message to w. +// If w returns an error, MarshalTo returns it unchanged. +func (o MarshalOptions) MarshalTo(w io.Writer, m proto.Message) (int, error) { +	msgBytes, err := o.MarshalOptions.Marshal(m) +	if err != nil { +		return 0, err +	} + +	sizeBytes := protowire.AppendVarint(nil, uint64(len(msgBytes))) +	sizeWritten, err := w.Write(sizeBytes) +	if err != nil { +		return sizeWritten, err +	} +	msgWritten, err := w.Write(msgBytes) +	if err != nil { +		return sizeWritten + msgWritten, err +	} +	return sizeWritten + msgWritten, nil +} + +// MarshalTo writes a varint size-delimited wire-format message to w +// with the default options. +// +// See the documentation for [MarshalOptions.MarshalTo]. +func MarshalTo(w io.Writer, m proto.Message) (int, error) { +	return MarshalOptions{}.MarshalTo(w, m) +} + +// UnmarshalOptions is a configurable varint size-delimited unmarshaler. +type UnmarshalOptions struct { +	proto.UnmarshalOptions + +	// MaxSize is the maximum size in wire-format bytes of a single message. +	// Unmarshaling a message larger than MaxSize will return an error. +	// A zero MaxSize will default to 4 MiB. +	// Setting MaxSize to -1 disables the limit. +	MaxSize int64 +} + +const defaultMaxSize = 4 << 20 // 4 MiB, corresponds to the default gRPC max request/response size + +// SizeTooLargeError is an error that is returned when the unmarshaler encounters a message size +// that is larger than its configured [UnmarshalOptions.MaxSize]. +type SizeTooLargeError struct { +	// Size is the varint size of the message encountered +	// that was larger than the provided MaxSize. +	Size uint64 + +	// MaxSize is the MaxSize limit configured in UnmarshalOptions, which Size exceeded. +	MaxSize uint64 +} + +func (e *SizeTooLargeError) Error() string { +	return fmt.Sprintf("message size %d exceeded unmarshaler's maximum configured size %d", e.Size, e.MaxSize) +} + +// Reader is the interface expected by [UnmarshalFrom]. +// It is implemented by *[bufio.Reader]. +type Reader interface { +	io.Reader +	io.ByteReader +} + +// UnmarshalFrom parses and consumes a varint size-delimited wire-format message +// from r. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +// +// The error is [io.EOF] error only if no bytes are read. +// If an EOF happens after reading some but not all the bytes, +// UnmarshalFrom returns a non-io.EOF error. +// In particular if r returns a non-io.EOF error, UnmarshalFrom returns it unchanged, +// and if only a size is read with no subsequent message, [io.ErrUnexpectedEOF] is returned. +func (o UnmarshalOptions) UnmarshalFrom(r Reader, m proto.Message) error { +	var sizeArr [binary.MaxVarintLen64]byte +	sizeBuf := sizeArr[:0] +	for i := range sizeArr { +		b, err := r.ReadByte() +		if err != nil { +			// Immediate EOF is unexpected. +			if err == io.EOF && i != 0 { +				break +			} +			return err +		} +		sizeBuf = append(sizeBuf, b) +		if b < 0x80 { +			break +		} +	} +	size, n := protowire.ConsumeVarint(sizeBuf) +	if n < 0 { +		return protowire.ParseError(n) +	} + +	maxSize := o.MaxSize +	if maxSize == 0 { +		maxSize = defaultMaxSize +	} +	if maxSize != -1 && size > uint64(maxSize) { +		return errors.Wrap(&SizeTooLargeError{Size: size, MaxSize: uint64(maxSize)}, "") +	} + +	var b []byte +	var err error +	if br, ok := r.(*bufio.Reader); ok { +		// Use the []byte from the bufio.Reader instead of having to allocate one. +		// This reduces CPU usage and allocated bytes. +		b, err = br.Peek(int(size)) +		if err == nil { +			defer br.Discard(int(size)) +		} else { +			b = nil +		} +	} +	if b == nil { +		b = make([]byte, size) +		_, err = io.ReadFull(r, b) +	} + +	if err == io.EOF { +		return io.ErrUnexpectedEOF +	} +	if err != nil { +		return err +	} +	if err := o.Unmarshal(b, m); err != nil { +		return err +	} +	return nil +} + +// UnmarshalFrom parses and consumes a varint size-delimited wire-format message +// from r with the default options. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +// +// See the documentation for [UnmarshalOptions.UnmarshalFrom]. +func UnmarshalFrom(r Reader, m proto.Message) error { +	return UnmarshalOptions{}.UnmarshalFrom(r, m) +} diff --git a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpbBinary files differ index f691305eb..ff6a38360 100644 --- a/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +++ b/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go index 30db19fdc..f4107c05f 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go @@ -8,6 +8,7 @@ package filedesc  import (  	"fmt" +	"strings"  	"sync"  	"google.golang.org/protobuf/internal/descfmt" @@ -198,6 +199,16 @@ func (p *Fields) lazyInit() *Fields {  				if _, ok := p.byText[d.TextName()]; !ok {  					p.byText[d.TextName()] = d  				} +				if isGroupLike(d) { +					lowerJSONName := strings.ToLower(d.JSONName()) +					if _, ok := p.byJSON[lowerJSONName]; !ok { +						p.byJSON[lowerJSONName] = d +					} +					lowerTextName := strings.ToLower(d.TextName()) +					if _, ok := p.byText[lowerTextName]; !ok { +						p.byText[lowerTextName] = d +					} +				}  				if _, ok := p.byNum[d.Number()]; !ok {  					p.byNum[d.Number()] = d  				} diff --git a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go index d1e16a26d..11f5f356b 100644 --- a/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +++ b/vendor/google.golang.org/protobuf/internal/filedesc/editions.go @@ -108,7 +108,9 @@ func unmarshalEditionDefault(b []byte) {  			v, m := protowire.ConsumeBytes(b)  			b = b[m:]  			switch num { -			case genid.FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number: +			case genid.FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_number: +				fs = unmarshalFeatureSet(v, fs) +			case genid.FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_number:  				fs = unmarshalFeatureSet(v, fs)  			}  		} diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go index 40272c893..1447a1198 100644 --- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go @@ -21,6 +21,7 @@ const (  // Enum values for google.protobuf.Edition.  const (  	Edition_EDITION_UNKNOWN_enum_value         = 0 +	Edition_EDITION_LEGACY_enum_value          = 900  	Edition_EDITION_PROTO2_enum_value          = 998  	Edition_EDITION_PROTO3_enum_value          = 999  	Edition_EDITION_2023_enum_value            = 1000 @@ -653,6 +654,7 @@ const (  	FieldOptions_Targets_field_name             protoreflect.Name = "targets"  	FieldOptions_EditionDefaults_field_name     protoreflect.Name = "edition_defaults"  	FieldOptions_Features_field_name            protoreflect.Name = "features" +	FieldOptions_FeatureSupport_field_name      protoreflect.Name = "feature_support"  	FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"  	FieldOptions_Ctype_field_fullname               protoreflect.FullName = "google.protobuf.FieldOptions.ctype" @@ -667,6 +669,7 @@ const (  	FieldOptions_Targets_field_fullname             protoreflect.FullName = "google.protobuf.FieldOptions.targets"  	FieldOptions_EditionDefaults_field_fullname     protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults"  	FieldOptions_Features_field_fullname            protoreflect.FullName = "google.protobuf.FieldOptions.features" +	FieldOptions_FeatureSupport_field_fullname      protoreflect.FullName = "google.protobuf.FieldOptions.feature_support"  	FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"  ) @@ -684,6 +687,7 @@ const (  	FieldOptions_Targets_field_number             protoreflect.FieldNumber = 19  	FieldOptions_EditionDefaults_field_number     protoreflect.FieldNumber = 20  	FieldOptions_Features_field_number            protoreflect.FieldNumber = 21 +	FieldOptions_FeatureSupport_field_number      protoreflect.FieldNumber = 22  	FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999  ) @@ -767,6 +771,33 @@ const (  	FieldOptions_EditionDefault_Value_field_number   protoreflect.FieldNumber = 2  ) +// Names for google.protobuf.FieldOptions.FeatureSupport. +const ( +	FieldOptions_FeatureSupport_message_name     protoreflect.Name     = "FeatureSupport" +	FieldOptions_FeatureSupport_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport" +) + +// Field names for google.protobuf.FieldOptions.FeatureSupport. +const ( +	FieldOptions_FeatureSupport_EditionIntroduced_field_name  protoreflect.Name = "edition_introduced" +	FieldOptions_FeatureSupport_EditionDeprecated_field_name  protoreflect.Name = "edition_deprecated" +	FieldOptions_FeatureSupport_DeprecationWarning_field_name protoreflect.Name = "deprecation_warning" +	FieldOptions_FeatureSupport_EditionRemoved_field_name     protoreflect.Name = "edition_removed" + +	FieldOptions_FeatureSupport_EditionIntroduced_field_fullname  protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_introduced" +	FieldOptions_FeatureSupport_EditionDeprecated_field_fullname  protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_deprecated" +	FieldOptions_FeatureSupport_DeprecationWarning_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.deprecation_warning" +	FieldOptions_FeatureSupport_EditionRemoved_field_fullname     protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_removed" +) + +// Field numbers for google.protobuf.FieldOptions.FeatureSupport. +const ( +	FieldOptions_FeatureSupport_EditionIntroduced_field_number  protoreflect.FieldNumber = 1 +	FieldOptions_FeatureSupport_EditionDeprecated_field_number  protoreflect.FieldNumber = 2 +	FieldOptions_FeatureSupport_DeprecationWarning_field_number protoreflect.FieldNumber = 3 +	FieldOptions_FeatureSupport_EditionRemoved_field_number     protoreflect.FieldNumber = 4 +) +  // Names for google.protobuf.OneofOptions.  const (  	OneofOptions_message_name     protoreflect.Name     = "OneofOptions" @@ -1110,17 +1141,20 @@ const (  // Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.  const ( -	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name  protoreflect.Name = "edition" -	FeatureSetDefaults_FeatureSetEditionDefault_Features_field_name protoreflect.Name = "features" +	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name             protoreflect.Name = "edition" +	FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_name protoreflect.Name = "overridable_features" +	FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_name       protoreflect.Name = "fixed_features" -	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname  protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition" -	FeatureSetDefaults_FeatureSetEditionDefault_Features_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features" +	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname             protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition" +	FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features" +	FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_fullname       protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features"  )  // Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.  const ( -	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number  protoreflect.FieldNumber = 3 -	FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number protoreflect.FieldNumber = 2 +	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number             protoreflect.FieldNumber = 3 +	FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_number protoreflect.FieldNumber = 4 +	FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_number       protoreflect.FieldNumber = 5  )  // Names for google.protobuf.SourceCodeInfo. diff --git a/vendor/google.golang.org/protobuf/internal/version/version.go b/vendor/google.golang.org/protobuf/internal/version/version.go index fc6bfc396..a3cba5080 100644 --- a/vendor/google.golang.org/protobuf/internal/version/version.go +++ b/vendor/google.golang.org/protobuf/internal/version/version.go @@ -52,7 +52,7 @@ import (  const (  	Major      = 1  	Minor      = 34 -	Patch      = 0 +	Patch      = 1  	PreRelease = ""  ) diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go index 7dcc2ff09..00102d311 100644 --- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go @@ -373,6 +373,8 @@ func (p *SourcePath) appendFieldOptions(b []byte) []byte {  		b = p.appendRepeatedField(b, "edition_defaults", (*SourcePath).appendFieldOptions_EditionDefault)  	case 21:  		b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet) +	case 22: +		b = p.appendSingularField(b, "feature_support", (*SourcePath).appendFieldOptions_FeatureSupport)  	case 999:  		b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)  	} @@ -519,6 +521,23 @@ func (p *SourcePath) appendFieldOptions_EditionDefault(b []byte) []byte {  	return b  } +func (p *SourcePath) appendFieldOptions_FeatureSupport(b []byte) []byte { +	if len(*p) == 0 { +		return b +	} +	switch (*p)[0] { +	case 1: +		b = p.appendSingularField(b, "edition_introduced", nil) +	case 2: +		b = p.appendSingularField(b, "edition_deprecated", nil) +	case 3: +		b = p.appendSingularField(b, "deprecation_warning", nil) +	case 4: +		b = p.appendSingularField(b, "edition_removed", nil) +	} +	return b +} +  func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte {  	if len(*p) == 0 {  		return b | 
