diff --git a/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go b/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go index f3b8ca404b..708e9201e3 100644 --- a/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go +++ b/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto +// source: github.com/microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto package options @@ -11,6 +11,7 @@ import ( github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" io "io" math "math" + math_bits "math/bits" reflect "reflect" strings "strings" time "time" @@ -26,7 +27,7 @@ var _ = time.Kitchen // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Options_DebugType int32 @@ -53,7 +54,7 @@ func (x Options_DebugType) String() string { } func (Options_DebugType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{0, 0} + return fileDescriptor_024c3924f1246980, []int{0, 0} } type Options_SandboxIsolation int32 @@ -78,7 +79,7 @@ func (x Options_SandboxIsolation) String() string { } func (Options_SandboxIsolation) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{0, 1} + return fileDescriptor_024c3924f1246980, []int{0, 1} } // Options are the set of customizations that can be passed at Create time. @@ -149,16 +150,18 @@ type Options struct { DefaultContainerAnnotations map[string]string `protobuf:"bytes,18,rep,name=default_container_annotations,json=defaultContainerAnnotations,proto3" json:"default_container_annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // no_inherit_host_timezone specifies to skip inheriting the hosts time zone for WCOW UVMs and instead default to // UTC. - NoInheritHostTimezone bool `protobuf:"varint,19,opt,name=no_inherit_host_timezone,json=noInheritHostTimezone,proto3" json:"no_inherit_host_timezone,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NoInheritHostTimezone bool `protobuf:"varint,19,opt,name=no_inherit_host_timezone,json=noInheritHostTimezone,proto3" json:"no_inherit_host_timezone,omitempty"` + // scrub_logs enables removing environment variables and other protentially sensitive information from logs + ScrubLogs bool `protobuf:"varint,20,opt,name=scrub_logs,json=scrubLogs,proto3" json:"scrub_logs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Options) Reset() { *m = Options{} } func (*Options) ProtoMessage() {} func (*Options) Descriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{0} + return fileDescriptor_024c3924f1246980, []int{0} } func (m *Options) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -168,7 +171,7 @@ func (m *Options) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Options.Marshal(b, m, deterministic) } else { b = b[:cap(b)] - n, err := m.MarshalTo(b) + n, err := m.MarshalToSizedBuffer(b) if err != nil { return nil, err } @@ -207,7 +210,7 @@ type ProcessDetails struct { func (m *ProcessDetails) Reset() { *m = ProcessDetails{} } func (*ProcessDetails) ProtoMessage() {} func (*ProcessDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{1} + return fileDescriptor_024c3924f1246980, []int{1} } func (m *ProcessDetails) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -217,7 +220,7 @@ func (m *ProcessDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return xxx_messageInfo_ProcessDetails.Marshal(b, m, deterministic) } else { b = b[:cap(b)] - n, err := m.MarshalTo(b) + n, err := m.MarshalToSizedBuffer(b) if err != nil { return nil, err } @@ -245,84 +248,85 @@ func init() { } func init() { - proto.RegisterFile("github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto", fileDescriptor_b643df6839c75082) + proto.RegisterFile("github.com/microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto", fileDescriptor_024c3924f1246980) } -var fileDescriptor_b643df6839c75082 = []byte{ - // 1058 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x5d, 0x4f, 0x23, 0x37, - 0x17, 0xce, 0x2c, 0x5f, 0x99, 0xc3, 0x02, 0xc1, 0xf0, 0x6a, 0x47, 0xf0, 0x6e, 0x12, 0xb1, 0x95, - 0x96, 0x55, 0x97, 0x09, 0xd0, 0x4a, 0xad, 0xda, 0xaa, 0x15, 0x24, 0x61, 0x49, 0xc5, 0x47, 0x34, - 0x49, 0xd9, 0x7e, 0x5c, 0x58, 0x93, 0x19, 0x33, 0xb1, 0x98, 0x19, 0x47, 0xb6, 0x93, 0x12, 0xae, - 0xaa, 0xfe, 0x82, 0xfe, 0x9e, 0xfe, 0x02, 0x2e, 0x7b, 0x59, 0xa9, 0x12, 0xed, 0xe6, 0x97, 0x54, - 0xf6, 0x78, 0x60, 0x17, 0xd1, 0xee, 0x45, 0xaf, 0x62, 0x3f, 0xcf, 0xe3, 0xc7, 0xe7, 0x9c, 0xf1, - 0x39, 0x81, 0xd3, 0x88, 0xca, 0xfe, 0xb0, 0xe7, 0x06, 0x2c, 0xa9, 0x1d, 0xd3, 0x80, 0x33, 0xc1, - 0xce, 0x65, 0xad, 0x1f, 0x08, 0xd1, 0xa7, 0x49, 0x2d, 0x48, 0xc2, 0x5a, 0xc0, 0x52, 0xe9, 0xd3, - 0x94, 0xf0, 0x70, 0x4b, 0x61, 0x5b, 0x7c, 0x98, 0xf6, 0x03, 0xb1, 0x35, 0xda, 0xa9, 0xb1, 0x81, - 0xa4, 0x2c, 0x15, 0xb5, 0x0c, 0x71, 0x07, 0x9c, 0x49, 0x86, 0x56, 0xef, 0xf4, 0xae, 0x21, 0x46, - 0x3b, 0x6b, 0xab, 0x11, 0x8b, 0x98, 0x16, 0xd4, 0xd4, 0x2a, 0xd3, 0xae, 0x55, 0x22, 0xc6, 0xa2, - 0x98, 0xd4, 0xf4, 0xae, 0x37, 0x3c, 0xaf, 0x49, 0x9a, 0x10, 0x21, 0xfd, 0x64, 0x90, 0x09, 0x36, - 0x7e, 0xb5, 0x61, 0xee, 0x34, 0xbb, 0x05, 0xad, 0xc2, 0x4c, 0x48, 0x7a, 0xc3, 0xc8, 0xb1, 0xaa, - 0xd6, 0x66, 0xd1, 0xcb, 0x36, 0xe8, 0x00, 0x40, 0x2f, 0xb0, 0x1c, 0x0f, 0x88, 0xf3, 0xa8, 0x6a, - 0x6d, 0x2e, 0xee, 0x3e, 0x77, 0x1f, 0x8a, 0xc1, 0x35, 0x46, 0x6e, 0x43, 0xe9, 0xbb, 0xe3, 0x01, - 0xf1, 0xec, 0x30, 0x5f, 0xa2, 0x67, 0xb0, 0xc0, 0x49, 0x44, 0x85, 0xe4, 0x63, 0xcc, 0x19, 0x93, - 0xce, 0x54, 0xd5, 0xda, 0xb4, 0xbd, 0xc7, 0x39, 0xe8, 0x31, 0x26, 0x95, 0x48, 0xf8, 0x69, 0xd8, - 0x63, 0x97, 0x98, 0x26, 0x7e, 0x44, 0x9c, 0xe9, 0x4c, 0x64, 0xc0, 0x96, 0xc2, 0xd0, 0x0b, 0x28, - 0xe5, 0xa2, 0x41, 0xec, 0xcb, 0x73, 0xc6, 0x13, 0x67, 0x46, 0xeb, 0x96, 0x0c, 0xde, 0x36, 0x30, - 0xfa, 0x01, 0x96, 0x6f, 0xfd, 0x04, 0x8b, 0x7d, 0x15, 0x9f, 0x33, 0xab, 0x73, 0x70, 0xff, 0x3d, - 0x87, 0x8e, 0xb9, 0x31, 0x3f, 0xe5, 0xe5, 0x77, 0xde, 0x22, 0xa8, 0x06, 0xab, 0x3d, 0xc6, 0x24, - 0x3e, 0xa7, 0x31, 0x11, 0x3a, 0x27, 0x3c, 0xf0, 0x65, 0xdf, 0x99, 0xd3, 0xb1, 0x2c, 0x2b, 0xee, - 0x40, 0x51, 0x2a, 0xb3, 0xb6, 0x2f, 0xfb, 0xe8, 0x25, 0xa0, 0x51, 0x82, 0x07, 0x9c, 0x05, 0x44, - 0x08, 0xc6, 0x71, 0xc0, 0x86, 0xa9, 0x74, 0x8a, 0x55, 0x6b, 0x73, 0xc6, 0x2b, 0x8d, 0x92, 0x76, - 0x4e, 0xd4, 0x15, 0x8e, 0x5c, 0x58, 0x1d, 0x25, 0x38, 0x21, 0x09, 0xe3, 0x63, 0x2c, 0xe8, 0x15, - 0xc1, 0x34, 0xc5, 0x49, 0xcf, 0xb1, 0x73, 0xfd, 0xb1, 0xa6, 0x3a, 0xf4, 0x8a, 0xb4, 0xd2, 0xe3, - 0x1e, 0x2a, 0x03, 0xbc, 0x6a, 0x7f, 0x73, 0x76, 0xd8, 0x50, 0x77, 0x39, 0xa0, 0x83, 0x78, 0x0b, - 0x41, 0x5f, 0xc0, 0xba, 0x08, 0xfc, 0x98, 0xe0, 0x60, 0x30, 0xc4, 0x31, 0x4d, 0xa8, 0x14, 0x58, - 0x32, 0x6c, 0xd2, 0x72, 0xe6, 0xf5, 0x47, 0x7f, 0xa2, 0x25, 0xf5, 0xc1, 0xf0, 0x48, 0x0b, 0xba, - 0xcc, 0xd4, 0x01, 0x1d, 0xc3, 0x07, 0x21, 0x39, 0xf7, 0x87, 0xb1, 0xc4, 0xb7, 0x75, 0xc3, 0x22, - 0xe0, 0xbe, 0x0c, 0xfa, 0xb7, 0xd1, 0x45, 0x3d, 0xe7, 0xb1, 0x8e, 0xae, 0x62, 0xb4, 0xf5, 0x5c, - 0xda, 0xc9, 0x94, 0x59, 0xb0, 0xaf, 0x7a, 0xe8, 0x2b, 0x78, 0x9a, 0xdb, 0x8d, 0x92, 0x87, 0x7c, - 0x16, 0xb4, 0x8f, 0x63, 0x44, 0x67, 0xc9, 0x7d, 0x03, 0xf5, 0x52, 0xfa, 0x3e, 0x27, 0xf9, 0x59, - 0x67, 0x51, 0xc7, 0xff, 0x58, 0x83, 0x46, 0x8c, 0xaa, 0x30, 0x7f, 0x52, 0x6f, 0x73, 0x76, 0x39, - 0xde, 0x0b, 0x43, 0xee, 0x2c, 0xe9, 0x9a, 0xbc, 0x0d, 0xa1, 0x75, 0xb0, 0x63, 0x16, 0xe1, 0x98, - 0x8c, 0x48, 0xec, 0x94, 0x34, 0x5f, 0x8c, 0x59, 0x74, 0xa4, 0xf6, 0xe8, 0x63, 0x78, 0x42, 0x19, - 0xe6, 0x44, 0x3d, 0x59, 0xd5, 0x38, 0x6c, 0x28, 0x55, 0x74, 0x82, 0x04, 0xce, 0xb2, 0x0e, 0x6f, - 0x85, 0x32, 0x4f, 0xb1, 0xdd, 0x8c, 0x6c, 0xa5, 0x1d, 0x12, 0xa0, 0x9f, 0xad, 0xbb, 0xdc, 0xee, - 0x4a, 0xe5, 0xa7, 0x29, 0x93, 0xfa, 0xdd, 0x08, 0x07, 0x55, 0xa7, 0x36, 0xe7, 0x77, 0xbf, 0x7c, - 0x5f, 0x13, 0xbd, 0x5b, 0xc1, 0xbd, 0x3b, 0x83, 0x66, 0xaa, 0xfa, 0x65, 0x3d, 0xfc, 0x67, 0x05, - 0xfa, 0x04, 0x9c, 0x94, 0x61, 0x9a, 0xf6, 0x09, 0xa7, 0x12, 0xf7, 0x99, 0x90, 0x3a, 0x83, 0x2b, - 0x96, 0x12, 0x67, 0x45, 0x57, 0xea, 0x7f, 0x29, 0x6b, 0x65, 0xf4, 0x21, 0x13, 0xb2, 0x6b, 0xc8, - 0xb5, 0x13, 0xa8, 0xbe, 0xef, 0x66, 0x54, 0x82, 0xa9, 0x0b, 0x32, 0xd6, 0x63, 0xc2, 0xf6, 0xd4, - 0x52, 0x8d, 0x8e, 0x91, 0x1f, 0x0f, 0xb3, 0xf9, 0x60, 0x7b, 0xd9, 0xe6, 0xb3, 0x47, 0x9f, 0x5a, - 0x1b, 0x2f, 0xc0, 0xbe, 0x1d, 0x07, 0xc8, 0x86, 0x99, 0x93, 0x76, 0xab, 0xdd, 0x2c, 0x15, 0x50, - 0x11, 0xa6, 0x0f, 0x5a, 0x47, 0xcd, 0x92, 0x85, 0xe6, 0x60, 0xaa, 0xd9, 0x7d, 0x5d, 0x7a, 0xb4, - 0x51, 0x83, 0xd2, 0xfd, 0xae, 0x43, 0xf3, 0x30, 0xd7, 0xf6, 0x4e, 0xeb, 0xcd, 0x4e, 0xa7, 0x54, - 0x40, 0x8b, 0x00, 0x87, 0xdf, 0xb5, 0x9b, 0xde, 0x59, 0xab, 0x73, 0xea, 0x95, 0xac, 0x8d, 0x3f, - 0xa6, 0x60, 0xd1, 0x34, 0x4d, 0x83, 0x48, 0x9f, 0xc6, 0x02, 0x3d, 0x05, 0xd0, 0x83, 0x03, 0xa7, - 0x7e, 0x42, 0x4c, 0x84, 0xb6, 0x46, 0x4e, 0xfc, 0x84, 0xa0, 0x3a, 0x40, 0xc0, 0x89, 0x2f, 0x49, - 0x88, 0x7d, 0xa9, 0x83, 0x9d, 0xdf, 0x5d, 0x73, 0xb3, 0x21, 0xe9, 0xe6, 0x43, 0xd2, 0xed, 0xe6, - 0x43, 0x72, 0xbf, 0x78, 0x7d, 0x53, 0x29, 0xfc, 0xf2, 0x67, 0xc5, 0xf2, 0x6c, 0x73, 0x6e, 0x4f, - 0xa2, 0x0f, 0x01, 0x5d, 0x10, 0x9e, 0x92, 0x58, 0x97, 0x14, 0xef, 0x6c, 0x6f, 0xe3, 0x54, 0xe8, - 0x71, 0x36, 0xed, 0x2d, 0x65, 0x8c, 0x72, 0xd8, 0xd9, 0xde, 0x3e, 0x11, 0xc8, 0x85, 0x15, 0xd3, - 0xc2, 0x01, 0x4b, 0x12, 0x2a, 0x71, 0x6f, 0x2c, 0x89, 0xd0, 0x73, 0x6d, 0xda, 0x5b, 0xce, 0xa8, - 0xba, 0x66, 0xf6, 0x15, 0x81, 0x0e, 0xa0, 0x6a, 0xf4, 0x3f, 0x32, 0x7e, 0x41, 0xd3, 0x08, 0x0b, - 0x22, 0xf1, 0x80, 0xd3, 0x91, 0x2f, 0x89, 0x39, 0x3c, 0xa3, 0x0f, 0xff, 0x3f, 0xd3, 0xbd, 0xce, - 0x64, 0x1d, 0x22, 0xdb, 0x99, 0x28, 0xf3, 0x69, 0x40, 0xe5, 0x01, 0x1f, 0xdd, 0x1d, 0xa1, 0xb1, - 0x99, 0xd5, 0x36, 0xeb, 0xf7, 0x6d, 0x3a, 0x5a, 0x93, 0xb9, 0xbc, 0x04, 0x30, 0xe3, 0x0a, 0xd3, - 0x50, 0x0f, 0xb6, 0x85, 0xfd, 0x85, 0xc9, 0x4d, 0xc5, 0x36, 0x65, 0x6f, 0x35, 0x3c, 0xdb, 0x08, - 0x5a, 0x21, 0x7a, 0x0e, 0xa5, 0xa1, 0x20, 0xfc, 0x9d, 0xb2, 0x14, 0xf5, 0x25, 0x0b, 0x0a, 0xbf, - 0x2b, 0xca, 0x33, 0x98, 0x23, 0x97, 0x24, 0x50, 0x9e, 0x6a, 0x9a, 0xd9, 0xfb, 0x30, 0xb9, 0xa9, - 0xcc, 0x36, 0x2f, 0x49, 0xd0, 0x6a, 0x78, 0xb3, 0x8a, 0x6a, 0x85, 0xfb, 0xe1, 0xf5, 0x9b, 0x72, - 0xe1, 0xf7, 0x37, 0xe5, 0xc2, 0x4f, 0x93, 0xb2, 0x75, 0x3d, 0x29, 0x5b, 0xbf, 0x4d, 0xca, 0xd6, - 0x5f, 0x93, 0xb2, 0xf5, 0xfd, 0xd7, 0xff, 0xfd, 0x2f, 0xf5, 0x73, 0xf3, 0xfb, 0x6d, 0xa1, 0x37, - 0xab, 0xbf, 0xfb, 0x47, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x36, 0xb1, 0x82, 0xa9, 0x07, - 0x00, 0x00, +var fileDescriptor_024c3924f1246980 = []byte{ + // 1076 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdb, 0x4f, 0x23, 0xb7, + 0x17, 0xce, 0x2c, 0xb7, 0x8c, 0xb9, 0x05, 0x93, 0x9f, 0x76, 0x04, 0xbf, 0x4d, 0x22, 0xb6, 0xd2, + 0xb2, 0xea, 0x32, 0x01, 0x5a, 0xa9, 0x55, 0x5b, 0xb5, 0x82, 0x24, 0x2c, 0xa9, 0xb8, 0x44, 0x93, + 0x94, 0xed, 0xe5, 0xc1, 0x9a, 0x8b, 0x99, 0x58, 0xcc, 0x8c, 0x47, 0xb6, 0x27, 0x25, 0x3c, 0x55, + 0xfd, 0x0b, 0xfa, 0x67, 0xf1, 0xd8, 0xc7, 0x56, 0x95, 0x68, 0x37, 0x7f, 0x49, 0x65, 0x8f, 0x07, + 0x58, 0x44, 0xbb, 0x52, 0x9f, 0x62, 0x7f, 0xdf, 0xe7, 0xcf, 0xe7, 0x9c, 0xf8, 0x9c, 0x01, 0xa7, + 0x21, 0x11, 0xc3, 0xcc, 0xb3, 0x7d, 0x1a, 0x37, 0x63, 0xe2, 0x33, 0xca, 0xe9, 0xb9, 0x68, 0x0e, + 0x7d, 0xce, 0x87, 0x24, 0x6e, 0xfa, 0x71, 0xd0, 0xf4, 0x69, 0x22, 0x5c, 0x92, 0x60, 0x16, 0x6c, + 0x49, 0x6c, 0x8b, 0x65, 0xc9, 0xd0, 0xe7, 0x5b, 0xa3, 0x9d, 0x26, 0x4d, 0x05, 0xa1, 0x09, 0x6f, + 0xe6, 0x88, 0x9d, 0x32, 0x2a, 0x28, 0xac, 0xde, 0xe9, 0x6d, 0x4d, 0x8c, 0x76, 0xd6, 0xaa, 0x21, + 0x0d, 0xa9, 0x12, 0x34, 0xe5, 0x2a, 0xd7, 0xae, 0xd5, 0x43, 0x4a, 0xc3, 0x08, 0x37, 0xd5, 0xce, + 0xcb, 0xce, 0x9b, 0x82, 0xc4, 0x98, 0x0b, 0x37, 0x4e, 0x73, 0xc1, 0xc6, 0xef, 0x26, 0x98, 0x3b, + 0xcd, 0x6f, 0x81, 0x55, 0x30, 0x13, 0x60, 0x2f, 0x0b, 0x2d, 0xa3, 0x61, 0x6c, 0x96, 0x9d, 0x7c, + 0x03, 0x0f, 0x00, 0x50, 0x0b, 0x24, 0xc6, 0x29, 0xb6, 0x9e, 0x34, 0x8c, 0xcd, 0xa5, 0xdd, 0x17, + 0xf6, 0x63, 0x31, 0xd8, 0xda, 0xc8, 0x6e, 0x4b, 0xfd, 0x60, 0x9c, 0x62, 0xc7, 0x0c, 0x8a, 0x25, + 0x7c, 0x0e, 0x16, 0x19, 0x0e, 0x09, 0x17, 0x6c, 0x8c, 0x18, 0xa5, 0xc2, 0x9a, 0x6a, 0x18, 0x9b, + 0xa6, 0xb3, 0x50, 0x80, 0x0e, 0xa5, 0x42, 0x8a, 0xb8, 0x9b, 0x04, 0x1e, 0xbd, 0x44, 0x24, 0x76, + 0x43, 0x6c, 0x4d, 0xe7, 0x22, 0x0d, 0x76, 0x25, 0x06, 0x5f, 0x82, 0x4a, 0x21, 0x4a, 0x23, 0x57, + 0x9c, 0x53, 0x16, 0x5b, 0x33, 0x4a, 0xb7, 0xac, 0xf1, 0x9e, 0x86, 0xe1, 0x0f, 0x60, 0xe5, 0xd6, + 0x8f, 0xd3, 0xc8, 0x95, 0xf1, 0x59, 0xb3, 0x2a, 0x07, 0xfb, 0xdf, 0x73, 0xe8, 0xeb, 0x1b, 0x8b, + 0x53, 0x4e, 0x71, 0xe7, 0x2d, 0x02, 0x9b, 0xa0, 0xea, 0x51, 0x2a, 0xd0, 0x39, 0x89, 0x30, 0x57, + 0x39, 0xa1, 0xd4, 0x15, 0x43, 0x6b, 0x4e, 0xc5, 0xb2, 0x22, 0xb9, 0x03, 0x49, 0xc9, 0xcc, 0x7a, + 0xae, 0x18, 0xc2, 0x57, 0x00, 0x8e, 0x62, 0x94, 0x32, 0xea, 0x63, 0xce, 0x29, 0x43, 0x3e, 0xcd, + 0x12, 0x61, 0x95, 0x1b, 0xc6, 0xe6, 0x8c, 0x53, 0x19, 0xc5, 0xbd, 0x82, 0x68, 0x49, 0x1c, 0xda, + 0xa0, 0x3a, 0x8a, 0x51, 0x8c, 0x63, 0xca, 0xc6, 0x88, 0x93, 0x2b, 0x8c, 0x48, 0x82, 0x62, 0xcf, + 0x32, 0x0b, 0xfd, 0xb1, 0xa2, 0xfa, 0xe4, 0x0a, 0x77, 0x93, 0x63, 0x0f, 0xd6, 0x00, 0x78, 0xdd, + 0xfb, 0xe6, 0xec, 0xb0, 0x2d, 0xef, 0xb2, 0x80, 0x0a, 0xe2, 0x1e, 0x02, 0xbf, 0x00, 0xeb, 0xdc, + 0x77, 0x23, 0x8c, 0xfc, 0x34, 0x43, 0x11, 0x89, 0x89, 0xe0, 0x48, 0x50, 0xa4, 0xd3, 0xb2, 0xe6, + 0xd5, 0x9f, 0xfe, 0x54, 0x49, 0x5a, 0x69, 0x76, 0xa4, 0x04, 0x03, 0xaa, 0xeb, 0x00, 0x8f, 0xc1, + 0x07, 0x01, 0x3e, 0x77, 0xb3, 0x48, 0xa0, 0xdb, 0xba, 0x21, 0xee, 0x33, 0x57, 0xf8, 0xc3, 0xdb, + 0xe8, 0x42, 0xcf, 0x5a, 0x50, 0xd1, 0xd5, 0xb5, 0xb6, 0x55, 0x48, 0xfb, 0xb9, 0x32, 0x0f, 0xf6, + 0xb5, 0x07, 0xbf, 0x02, 0xcf, 0x0a, 0xbb, 0x51, 0xfc, 0x98, 0xcf, 0xa2, 0xf2, 0xb1, 0xb4, 0xe8, + 0x2c, 0x7e, 0x68, 0x20, 0x5f, 0xca, 0xd0, 0x65, 0xb8, 0x38, 0x6b, 0x2d, 0xa9, 0xf8, 0x17, 0x14, + 0xa8, 0xc5, 0xb0, 0x01, 0xe6, 0x4f, 0x5a, 0x3d, 0x46, 0x2f, 0xc7, 0x7b, 0x41, 0xc0, 0xac, 0x65, + 0x55, 0x93, 0xfb, 0x10, 0x5c, 0x07, 0x66, 0x44, 0x43, 0x14, 0xe1, 0x11, 0x8e, 0xac, 0x8a, 0xe2, + 0xcb, 0x11, 0x0d, 0x8f, 0xe4, 0x1e, 0x7e, 0x0c, 0x9e, 0x12, 0x8a, 0x18, 0x96, 0x4f, 0x56, 0x36, + 0x0e, 0xcd, 0x84, 0x8c, 0x8e, 0x63, 0xdf, 0x5a, 0x51, 0xe1, 0xad, 0x12, 0xea, 0x48, 0x76, 0x90, + 0x93, 0xdd, 0xa4, 0x8f, 0x7d, 0xf8, 0xb3, 0x71, 0x97, 0xdb, 0x5d, 0xa9, 0xdc, 0x24, 0xa1, 0x42, + 0xbd, 0x1b, 0x6e, 0xc1, 0xc6, 0xd4, 0xe6, 0xfc, 0xee, 0x97, 0xef, 0x6b, 0xa2, 0x77, 0x2b, 0xb8, + 0x77, 0x67, 0xd0, 0x49, 0x64, 0xbf, 0xac, 0x07, 0xff, 0xac, 0x80, 0x9f, 0x00, 0x2b, 0xa1, 0x88, + 0x24, 0x43, 0xcc, 0x88, 0x40, 0x43, 0xca, 0x85, 0xca, 0xe0, 0x8a, 0x26, 0xd8, 0x5a, 0x55, 0x95, + 0xfa, 0x5f, 0x42, 0xbb, 0x39, 0x7d, 0x48, 0xb9, 0x18, 0x68, 0x12, 0x3e, 0x03, 0x80, 0xfb, 0x2c, + 0xf3, 0x50, 0x44, 0x43, 0x6e, 0x55, 0x95, 0xd4, 0x54, 0xc8, 0x11, 0x0d, 0xf9, 0xda, 0x09, 0x68, + 0xbc, 0x2f, 0x30, 0x58, 0x01, 0x53, 0x17, 0x78, 0xac, 0xa6, 0x88, 0xe9, 0xc8, 0xa5, 0x9c, 0x2c, + 0x23, 0x37, 0xca, 0xf2, 0xf1, 0x61, 0x3a, 0xf9, 0xe6, 0xb3, 0x27, 0x9f, 0x1a, 0x1b, 0x2f, 0x81, + 0x79, 0x3b, 0x2d, 0xa0, 0x09, 0x66, 0x4e, 0x7a, 0xdd, 0x5e, 0xa7, 0x52, 0x82, 0x65, 0x30, 0x7d, + 0xd0, 0x3d, 0xea, 0x54, 0x0c, 0x38, 0x07, 0xa6, 0x3a, 0x83, 0x37, 0x95, 0x27, 0x1b, 0x4d, 0x50, + 0x79, 0xd8, 0x94, 0x70, 0x1e, 0xcc, 0xf5, 0x9c, 0xd3, 0x56, 0xa7, 0xdf, 0xaf, 0x94, 0xe0, 0x12, + 0x00, 0x87, 0xdf, 0xf5, 0x3a, 0xce, 0x59, 0xb7, 0x7f, 0xea, 0x54, 0x8c, 0x8d, 0x3f, 0xa6, 0xc0, + 0x92, 0xee, 0xa9, 0x36, 0x16, 0x2e, 0x89, 0xb8, 0xcc, 0x4e, 0xcd, 0x15, 0x94, 0xb8, 0x31, 0xd6, + 0x11, 0x9a, 0x0a, 0x39, 0x71, 0x63, 0x0c, 0x5b, 0x00, 0xf8, 0x0c, 0xbb, 0x02, 0x07, 0xc8, 0x15, + 0x2a, 0xd8, 0xf9, 0xdd, 0x35, 0x3b, 0x9f, 0xa1, 0x76, 0x31, 0x43, 0xed, 0x41, 0x31, 0x43, 0xf7, + 0xcb, 0xd7, 0x37, 0xf5, 0xd2, 0x2f, 0x7f, 0xd6, 0x0d, 0xc7, 0xd4, 0xe7, 0xf6, 0x04, 0xfc, 0x10, + 0xc0, 0x0b, 0xcc, 0x12, 0x1c, 0xa9, 0x8a, 0xa3, 0x9d, 0xed, 0x6d, 0x94, 0x70, 0x35, 0xed, 0xa6, + 0x9d, 0xe5, 0x9c, 0x91, 0x0e, 0x3b, 0xdb, 0xdb, 0x27, 0x1c, 0xda, 0x60, 0x55, 0x77, 0xb8, 0x4f, + 0xe3, 0x98, 0x08, 0xe4, 0x8d, 0x05, 0xe6, 0x6a, 0xec, 0x4d, 0x3b, 0x2b, 0x39, 0xd5, 0x52, 0xcc, + 0xbe, 0x24, 0xe0, 0x01, 0x68, 0x68, 0xfd, 0x8f, 0x94, 0x5d, 0x90, 0x24, 0x44, 0x1c, 0x0b, 0x94, + 0x32, 0x32, 0x72, 0x05, 0xd6, 0x87, 0x67, 0xd4, 0xe1, 0xff, 0xe7, 0xba, 0x37, 0xb9, 0xac, 0x8f, + 0x45, 0x2f, 0x17, 0xe5, 0x3e, 0x6d, 0x50, 0x7f, 0xc4, 0x47, 0x35, 0x4f, 0xa0, 0x6d, 0x66, 0x95, + 0xcd, 0xfa, 0x43, 0x9b, 0xbe, 0xd2, 0xe4, 0x2e, 0xaf, 0x00, 0xd0, 0xd3, 0x0c, 0x91, 0x40, 0xcd, + 0xbd, 0xc5, 0xfd, 0xc5, 0xc9, 0x4d, 0xdd, 0xd4, 0x65, 0xef, 0xb6, 0x1d, 0x53, 0x0b, 0xba, 0x01, + 0x7c, 0x01, 0x2a, 0x19, 0xc7, 0xec, 0x9d, 0xb2, 0x94, 0xd5, 0x25, 0x8b, 0x12, 0xbf, 0x2b, 0xca, + 0x73, 0x30, 0x87, 0x2f, 0xb1, 0x2f, 0x3d, 0xe5, 0xb0, 0x33, 0xf7, 0xc1, 0xe4, 0xa6, 0x3e, 0xdb, + 0xb9, 0xc4, 0x7e, 0xb7, 0xed, 0xcc, 0x4a, 0xaa, 0x1b, 0xec, 0x07, 0xd7, 0x6f, 0x6b, 0xa5, 0xdf, + 0xde, 0xd6, 0x4a, 0x3f, 0x4d, 0x6a, 0xc6, 0xf5, 0xa4, 0x66, 0xfc, 0x3a, 0xa9, 0x19, 0x7f, 0x4d, + 0x6a, 0xc6, 0xf7, 0x5f, 0xdf, 0xfb, 0xe2, 0x1e, 0xff, 0xb7, 0x2f, 0xee, 0xe7, 0xfa, 0xf7, 0xdb, + 0x92, 0x37, 0xab, 0xfe, 0xf7, 0x8f, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x64, 0xc1, 0xed, 0x65, + 0xc8, 0x07, 0x00, 0x00, } func (m *Options) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } @@ -330,162 +334,189 @@ func (m *Options) Marshal() (dAtA []byte, err error) { } func (m *Options) MarshalTo(dAtA []byte) (int, error) { - var i int + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Options) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) _ = i var l int _ = l - if m.Debug { - dAtA[i] = 0x8 - i++ - if m.Debug { + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.ScrubLogs { + i-- + if m.ScrubLogs { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ - } - if m.DebugType != 0 { - dAtA[i] = 0x10 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.DebugType)) - } - if len(m.RegistryRoot) > 0 { - dAtA[i] = 0x1a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.RegistryRoot))) - i += copy(dAtA[i:], m.RegistryRoot) - } - if len(m.SandboxImage) > 0 { - dAtA[i] = 0x22 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxImage))) - i += copy(dAtA[i:], m.SandboxImage) - } - if len(m.SandboxPlatform) > 0 { - dAtA[i] = 0x2a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxPlatform))) - i += copy(dAtA[i:], m.SandboxPlatform) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 } - if m.SandboxIsolation != 0 { - dAtA[i] = 0x30 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.SandboxIsolation)) + if m.NoInheritHostTimezone { + i-- + if m.NoInheritHostTimezone { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 } - if len(m.BootFilesRootPath) > 0 { - dAtA[i] = 0x3a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.BootFilesRootPath))) - i += copy(dAtA[i:], m.BootFilesRootPath) + if len(m.DefaultContainerAnnotations) > 0 { + for k := range m.DefaultContainerAnnotations { + v := m.DefaultContainerAnnotations[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarintRunhcs(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarintRunhcs(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarintRunhcs(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } } - if m.VmProcessorCount != 0 { - dAtA[i] = 0x40 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.VmProcessorCount)) + if m.IoRetryTimeoutInSec != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.IoRetryTimeoutInSec)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 } - if m.VmMemorySizeInMb != 0 { - dAtA[i] = 0x48 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.VmMemorySizeInMb)) + if len(m.LogLevel) > 0 { + i -= len(m.LogLevel) + copy(dAtA[i:], m.LogLevel) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.LogLevel))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 } - if len(m.GPUVHDPath) > 0 { - dAtA[i] = 0x52 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.GPUVHDPath))) - i += copy(dAtA[i:], m.GPUVHDPath) + if len(m.NCProxyAddr) > 0 { + i -= len(m.NCProxyAddr) + copy(dAtA[i:], m.NCProxyAddr) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.NCProxyAddr))) + i-- + dAtA[i] = 0x7a } - if m.ScaleCpuLimitsToSandbox { - dAtA[i] = 0x58 - i++ - if m.ScaleCpuLimitsToSandbox { + if m.ShareScratch { + i-- + if m.ShareScratch { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ - } - if m.DefaultContainerScratchSizeInGb != 0 { - dAtA[i] = 0x60 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.DefaultContainerScratchSizeInGb)) + i-- + dAtA[i] = 0x70 } if m.DefaultVmScratchSizeInGb != 0 { - dAtA[i] = 0x68 - i++ i = encodeVarintRunhcs(dAtA, i, uint64(m.DefaultVmScratchSizeInGb)) + i-- + dAtA[i] = 0x68 } - if m.ShareScratch { - dAtA[i] = 0x70 - i++ - if m.ShareScratch { + if m.DefaultContainerScratchSizeInGb != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.DefaultContainerScratchSizeInGb)) + i-- + dAtA[i] = 0x60 + } + if m.ScaleCpuLimitsToSandbox { + i-- + if m.ScaleCpuLimitsToSandbox { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ + i-- + dAtA[i] = 0x58 } - if len(m.NCProxyAddr) > 0 { - dAtA[i] = 0x7a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.NCProxyAddr))) - i += copy(dAtA[i:], m.NCProxyAddr) + if len(m.GPUVHDPath) > 0 { + i -= len(m.GPUVHDPath) + copy(dAtA[i:], m.GPUVHDPath) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.GPUVHDPath))) + i-- + dAtA[i] = 0x52 } - if len(m.LogLevel) > 0 { - dAtA[i] = 0x82 - i++ - dAtA[i] = 0x1 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.LogLevel))) - i += copy(dAtA[i:], m.LogLevel) + if m.VmMemorySizeInMb != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.VmMemorySizeInMb)) + i-- + dAtA[i] = 0x48 } - if m.IoRetryTimeoutInSec != 0 { - dAtA[i] = 0x88 - i++ - dAtA[i] = 0x1 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.IoRetryTimeoutInSec)) + if m.VmProcessorCount != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.VmProcessorCount)) + i-- + dAtA[i] = 0x40 } - if len(m.DefaultContainerAnnotations) > 0 { - for k, _ := range m.DefaultContainerAnnotations { - dAtA[i] = 0x92 - i++ - dAtA[i] = 0x1 - i++ - v := m.DefaultContainerAnnotations[k] - mapSize := 1 + len(k) + sovRunhcs(uint64(len(k))) + 1 + len(v) + sovRunhcs(uint64(len(v))) - i = encodeVarintRunhcs(dAtA, i, uint64(mapSize)) - dAtA[i] = 0xa - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(k))) - i += copy(dAtA[i:], k) - dAtA[i] = 0x12 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(v))) - i += copy(dAtA[i:], v) - } + if len(m.BootFilesRootPath) > 0 { + i -= len(m.BootFilesRootPath) + copy(dAtA[i:], m.BootFilesRootPath) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.BootFilesRootPath))) + i-- + dAtA[i] = 0x3a } - if m.NoInheritHostTimezone { - dAtA[i] = 0x98 - i++ - dAtA[i] = 0x1 - i++ - if m.NoInheritHostTimezone { + if m.SandboxIsolation != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.SandboxIsolation)) + i-- + dAtA[i] = 0x30 + } + if len(m.SandboxPlatform) > 0 { + i -= len(m.SandboxPlatform) + copy(dAtA[i:], m.SandboxPlatform) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxPlatform))) + i-- + dAtA[i] = 0x2a + } + if len(m.SandboxImage) > 0 { + i -= len(m.SandboxImage) + copy(dAtA[i:], m.SandboxImage) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxImage))) + i-- + dAtA[i] = 0x22 + } + if len(m.RegistryRoot) > 0 { + i -= len(m.RegistryRoot) + copy(dAtA[i:], m.RegistryRoot) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.RegistryRoot))) + i-- + dAtA[i] = 0x1a + } + if m.DebugType != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.DebugType)) + i-- + dAtA[i] = 0x10 + } + if m.Debug { + i-- + if m.Debug { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ - } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) + i-- + dAtA[i] = 0x8 } - return i, nil + return len(dAtA) - i, nil } func (m *ProcessDetails) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } @@ -493,74 +524,84 @@ func (m *ProcessDetails) Marshal() (dAtA []byte, err error) { } func (m *ProcessDetails) MarshalTo(dAtA []byte) (int, error) { - var i int + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProcessDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) _ = i var l int _ = l - if len(m.ImageName) > 0 { - dAtA[i] = 0xa - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ImageName))) - i += copy(dAtA[i:], m.ImageName) - } - dAtA[i] = 0x12 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt))) - n1, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i:]) - if err != nil { - return 0, err + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) } - i += n1 - if m.KernelTime_100Ns != 0 { - dAtA[i] = 0x18 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.KernelTime_100Ns)) + if len(m.ExecID) > 0 { + i -= len(m.ExecID) + copy(dAtA[i:], m.ExecID) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ExecID))) + i-- + dAtA[i] = 0x4a } - if m.MemoryCommitBytes != 0 { - dAtA[i] = 0x20 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryCommitBytes)) + if m.UserTime_100Ns != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.UserTime_100Ns)) + i-- + dAtA[i] = 0x40 } - if m.MemoryWorkingSetPrivateBytes != 0 { - dAtA[i] = 0x28 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryWorkingSetPrivateBytes)) + if m.ProcessID != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.ProcessID)) + i-- + dAtA[i] = 0x38 } if m.MemoryWorkingSetSharedBytes != 0 { - dAtA[i] = 0x30 - i++ i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryWorkingSetSharedBytes)) + i-- + dAtA[i] = 0x30 } - if m.ProcessID != 0 { - dAtA[i] = 0x38 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.ProcessID)) + if m.MemoryWorkingSetPrivateBytes != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryWorkingSetPrivateBytes)) + i-- + dAtA[i] = 0x28 } - if m.UserTime_100Ns != 0 { - dAtA[i] = 0x40 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.UserTime_100Ns)) + if m.MemoryCommitBytes != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryCommitBytes)) + i-- + dAtA[i] = 0x20 } - if len(m.ExecID) > 0 { - dAtA[i] = 0x4a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ExecID))) - i += copy(dAtA[i:], m.ExecID) + if m.KernelTime_100Ns != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.KernelTime_100Ns)) + i-- + dAtA[i] = 0x18 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) + n1, err1 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt):]) + if err1 != nil { + return 0, err1 + } + i -= n1 + i = encodeVarintRunhcs(dAtA, i, uint64(n1)) + i-- + dAtA[i] = 0x12 + if len(m.ImageName) > 0 { + i -= len(m.ImageName) + copy(dAtA[i:], m.ImageName) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ImageName))) + i-- + dAtA[i] = 0xa } - return i, nil + return len(dAtA) - i, nil } func encodeVarintRunhcs(dAtA []byte, offset int, v uint64) int { + offset -= sovRunhcs(v) + base := offset for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) v >>= 7 offset++ } dAtA[offset] = uint8(v) - return offset + 1 + return base } func (m *Options) Size() (n int) { if m == nil { @@ -637,6 +678,9 @@ func (m *Options) Size() (n int) { if m.NoInheritHostTimezone { n += 3 } + if m.ScrubLogs { + n += 3 + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -684,14 +728,7 @@ func (m *ProcessDetails) Size() (n int) { } func sovRunhcs(x uint64) (n int) { - for { - n++ - x >>= 7 - if x == 0 { - break - } - } - return n + return (math_bits.Len64(x|1) + 6) / 7 } func sozRunhcs(x uint64) (n int) { return sovRunhcs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) @@ -730,6 +767,7 @@ func (this *Options) String() string { `IoRetryTimeoutInSec:` + fmt.Sprintf("%v", this.IoRetryTimeoutInSec) + `,`, `DefaultContainerAnnotations:` + mapStringForDefaultContainerAnnotations + `,`, `NoInheritHostTimezone:` + fmt.Sprintf("%v", this.NoInheritHostTimezone) + `,`, + `ScrubLogs:` + fmt.Sprintf("%v", this.ScrubLogs) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -741,7 +779,7 @@ func (this *ProcessDetails) String() string { } s := strings.Join([]string{`&ProcessDetails{`, `ImageName:` + fmt.Sprintf("%v", this.ImageName) + `,`, - `CreatedAt:` + strings.Replace(strings.Replace(this.CreatedAt.String(), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `CreatedAt:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CreatedAt), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, `KernelTime_100Ns:` + fmt.Sprintf("%v", this.KernelTime_100Ns) + `,`, `MemoryCommitBytes:` + fmt.Sprintf("%v", this.MemoryCommitBytes) + `,`, `MemoryWorkingSetPrivateBytes:` + fmt.Sprintf("%v", this.MemoryWorkingSetPrivateBytes) + `,`, @@ -1324,7 +1362,7 @@ func (m *Options) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthRunhcs } if (iNdEx + skippy) > postIndex { @@ -1355,16 +1393,33 @@ func (m *Options) Unmarshal(dAtA []byte) error { } } m.NoInheritHostTimezone = bool(v != 0) + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScrubLogs", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRunhcs + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ScrubLogs = bool(v != 0) default: iNdEx = preIndex skippy, err := skipRunhcs(dAtA[iNdEx:]) if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthRunhcs - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthRunhcs } if (iNdEx + skippy) > l { @@ -1626,10 +1681,7 @@ func (m *ProcessDetails) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthRunhcs - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthRunhcs } if (iNdEx + skippy) > l { @@ -1648,6 +1700,7 @@ func (m *ProcessDetails) Unmarshal(dAtA []byte) error { func skipRunhcs(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 + depth := 0 for iNdEx < l { var wire uint64 for shift := uint(0); ; shift += 7 { @@ -1679,10 +1732,8 @@ func skipRunhcs(dAtA []byte) (n int, err error) { break } } - return iNdEx, nil case 1: iNdEx += 8 - return iNdEx, nil case 2: var length int for shift := uint(0); ; shift += 7 { @@ -1703,55 +1754,30 @@ func skipRunhcs(dAtA []byte) (n int, err error) { return 0, ErrInvalidLengthRunhcs } iNdEx += length - if iNdEx < 0 { - return 0, ErrInvalidLengthRunhcs - } - return iNdEx, nil case 3: - for { - var innerWire uint64 - var start int = iNdEx - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowRunhcs - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - innerWire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - innerWireType := int(innerWire & 0x7) - if innerWireType == 4 { - break - } - next, err := skipRunhcs(dAtA[start:]) - if err != nil { - return 0, err - } - iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthRunhcs - } - } - return iNdEx, nil + depth++ case 4: - return iNdEx, nil + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupRunhcs + } + depth-- case 5: iNdEx += 4 - return iNdEx, nil default: return 0, fmt.Errorf("proto: illegal wireType %d", wireType) } + if iNdEx < 0 { + return 0, ErrInvalidLengthRunhcs + } + if depth == 0 { + return iNdEx, nil + } } - panic("unreachable") + return 0, io.ErrUnexpectedEOF } var ( - ErrInvalidLengthRunhcs = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowRunhcs = fmt.Errorf("proto: integer overflow") + ErrInvalidLengthRunhcs = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowRunhcs = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupRunhcs = fmt.Errorf("proto: unexpected end of group") ) diff --git a/cmd/containerd-shim-runhcs-v1/options/runhcs.proto b/cmd/containerd-shim-runhcs-v1/options/runhcs.proto index 69ac25a502..d06dc69584 100644 --- a/cmd/containerd-shim-runhcs-v1/options/runhcs.proto +++ b/cmd/containerd-shim-runhcs-v1/options/runhcs.proto @@ -105,6 +105,9 @@ message Options { // no_inherit_host_timezone specifies to skip inheriting the hosts time zone for WCOW UVMs and instead default to // UTC. bool no_inherit_host_timezone = 19; + + // scrub_logs enables removing environment variables and other protentially sensitive information from logs + bool scrub_logs = 20; } // ProcessDetails contains additional information about a process. This is the additional diff --git a/cmd/containerd-shim-runhcs-v1/serve.go b/cmd/containerd-shim-runhcs-v1/serve.go index 6a973f1c3c..c772dbf4a8 100644 --- a/cmd/containerd-shim-runhcs-v1/serve.go +++ b/cmd/containerd-shim-runhcs-v1/serve.go @@ -12,10 +12,6 @@ import ( "unsafe" "github.com/Microsoft/go-winio" - runhcsopts "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options" - "github.com/Microsoft/hcsshim/internal/extendedtask" - "github.com/Microsoft/hcsshim/internal/shimdiag" - "github.com/Microsoft/hcsshim/pkg/octtrpc" "github.com/containerd/containerd/log" "github.com/containerd/containerd/runtime/v2/task" "github.com/containerd/ttrpc" @@ -26,6 +22,12 @@ import ( "github.com/sirupsen/logrus" "github.com/urfave/cli" "golang.org/x/sys/windows" + + runhcsopts "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options" + "github.com/Microsoft/hcsshim/internal/extendedtask" + hcslog "github.com/Microsoft/hcsshim/internal/log" + "github.com/Microsoft/hcsshim/internal/shimdiag" + "github.com/Microsoft/hcsshim/pkg/octtrpc" ) var svc *service @@ -84,7 +86,7 @@ var serveCommand = cli.Command{ } if shimOpts.Debug && shimOpts.LogLevel != "" { - logrus.Warning("Both Debug and LogLevel specified, Debug will be overriden") + logrus.Warning("Both Debug and LogLevel specified, Debug will be overridden") } // For now keep supporting the debug option, this used to be the only way to specify a different logging @@ -158,6 +160,11 @@ var serveCommand = cli.Command{ os.Stdin.Close() + // enable scrubbing + if shimOpts.ScrubLogs { + hcslog.SetScrubbing(true) + } + // Force the cli.ErrWriter to be os.Stdout for this. We use stderr for // the panic.log attached via start. cli.ErrWriter = os.Stdout diff --git a/internal/gcs/bridge.go b/internal/gcs/bridge.go index d1650ecb4a..22d89dd303 100644 --- a/internal/gcs/bridge.go +++ b/internal/gcs/bridge.go @@ -17,6 +17,8 @@ import ( "github.com/sirupsen/logrus" "golang.org/x/sys/windows" + + "github.com/Microsoft/hcsshim/internal/log" ) const ( @@ -365,6 +367,7 @@ func (brdg *bridge) recvLoop() error { func (brdg *bridge) sendLoop() { var buf bytes.Buffer enc := json.NewEncoder(&buf) + enc.SetEscapeHTML(false) for { select { case <-brdg.waitCh: @@ -392,11 +395,26 @@ func (brdg *bridge) writeMessage(buf *bytes.Buffer, enc *json.Encoder, typ msgTy } // Update the message header with the size. binary.LittleEndian.PutUint32(buf.Bytes()[hdrOffSize:], uint32(buf.Len())) + + if brdg.log.Logger.GetLevel() >= logrus.DebugLevel { + b := buf.Bytes()[hdrSize:] + switch typ { + // container environment vars are in rpCreate for linux; rpcExecuteProcess for windows + case msgType(rpcCreate) | msgTypeRequest: + b, err = log.ScrubBridgeCreate(b) + case msgType(rpcExecuteProcess) | msgTypeRequest: + b, err = log.ScrubBridgeExecProcess(b) + } + if err != nil { + brdg.log.WithError(err).Warning("could not scrub bridge payload") + } + brdg.log.WithFields(logrus.Fields{ + "payload": string(b), + "type": typ, + "message-id": id}).Debug("bridge send") + } + // Write the message. - brdg.log.WithFields(logrus.Fields{ - "payload": string(buf.Bytes()[hdrSize:]), - "type": typ, - "message-id": id}).Debug("bridge send") _, err = buf.WriteTo(brdg.conn) if err != nil { return fmt.Errorf("bridge write: %s", err) diff --git a/internal/log/scrub.go b/internal/log/scrub.go new file mode 100644 index 0000000000..f66913941f --- /dev/null +++ b/internal/log/scrub.go @@ -0,0 +1,174 @@ +package log + +import ( + "bytes" + "encoding/json" + "errors" + "sync/atomic" + + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" +) + +// This package scrubs objects of potentially sensitive information to pass to logging + +type genMap = map[string]interface{} +type scrubberFunc func(genMap) error + +const ScrubbedReplacement = "" + +var ( + ErrUnknownType = errors.New("encoded object is of unknown type") + + // case sensitive keywords, so "env" is not a substring on "Environment" + _scrubKeywords = [][]byte{[]byte("env"), []byte("Environment")} + + _scrub int32 +) + +// SetScrubbing enables scrubbing +func SetScrubbing(enable bool) { + v := int32(0) // cant convert from bool to int32 directly + if enable { + v = 1 + } + atomic.StoreInt32(&_scrub, v) +} + +// IsScrubbingEnabled checks if scrubbing is enabled +func IsScrubbingEnabled() bool { + v := atomic.LoadInt32(&_scrub) + return v != 0 +} + +// ScrubProcessParameters scrubs HCS Create Process requests with config parameters of +// type internal/hcs/schema2.ScrubProcessParameters (aka hcsshema.ScrubProcessParameters) +func ScrubProcessParameters(s string) (string, error) { + // todo: deal with v1 ProcessConfig + b := []byte(s) + if !IsScrubbingEnabled() || !hasKeywords(b) || !json.Valid(b) { + return s, nil + } + + pp := hcsschema.ProcessParameters{} + if err := json.Unmarshal(b, &pp); err != nil { + return "", err + } + pp.Environment = map[string]string{ScrubbedReplacement: ScrubbedReplacement} + + buf := bytes.NewBuffer(b[:0]) + if err := encode(buf, pp); err != nil { + return "", err + } + return buf.String(), nil +} + +// ScrubBridgeCreate scrubs requests sent over the bridge of type +// internal/gcs/protocol.containerCreate wrapping an internal/hcsoci.linuxHostedSystem +func ScrubBridgeCreate(b []byte) ([]byte, error) { + return scrubBytes(b, scrubLinuxHostedSystem) +} + +func scrubLinuxHostedSystem(m genMap) error { + if !isRequestBase(m) { + return ErrUnknownType + } + if m, ok := index(m, "ContainerConfig"); ok { + if m, ok := index(m, "OciSpecification"); ok { + if m, ok := index(m, "process"); ok { + if _, ok := m["env"]; ok { + m["env"] = []string{ScrubbedReplacement} + return nil + } + } + } + } + return ErrUnknownType +} + +// ScrubBridgeExecProcess scrubs requests sent over the bridge of type +// internal/gcs/protocol.containerExecuteProcess +func ScrubBridgeExecProcess(b []byte) ([]byte, error) { + return scrubBytes(b, scrubExecuteProcess) +} + +func scrubExecuteProcess(m genMap) error { + if !isRequestBase(m) { + return ErrUnknownType + } + if m, ok := index(m, "Settings"); ok { + if ss, ok := m["ProcessParameters"]; ok { + // ProcessParameters is a json encoded struct passed as a regular sting field + s, ok := ss.(string) + if !ok { + return ErrUnknownType + } + + s, err := ScrubProcessParameters(s) + if err != nil { + return err + } + + m["ProcessParameters"] = s + return nil + } + } + return ErrUnknownType +} + +func scrubBytes(b []byte, scrub scrubberFunc) ([]byte, error) { + if !IsScrubbingEnabled() || !hasKeywords(b) || !json.Valid(b) { + return b, nil + } + + m := make(genMap) + if err := json.Unmarshal(b, &m); err != nil { + return nil, err + } + + // could use regexp, but if the env strings contain braces, the regexp fails + // parsing into individual structs would require access to private structs + if err := scrub(m); err != nil { + return nil, err + } + + buf := &bytes.Buffer{} + if err := encode(buf, m); err != nil { + return nil, err + } + return buf.Bytes(), nil +} + +func encode(buf *bytes.Buffer, v interface{}) error { + enc := json.NewEncoder(buf) + enc.SetEscapeHTML(false) + if err := enc.Encode(v); err != nil { + return err + } + return nil +} + +func isRequestBase(m genMap) bool { + // neither of these are (currently) `omitempty` + _, a := m["ActivityId"] + _, c := m["ContainerId"] + return a && c +} + +// combination `m, ok := m[s]` and `m, ok := m.(genMap)` +func index(m genMap, s string) (genMap, bool) { + if m, ok := m[s]; ok { + mm, ok := m.(genMap) + return mm, ok + } + + return m, false +} + +func hasKeywords(b []byte) bool { + for _, bb := range _scrubKeywords { + if bytes.Contains(b, bb) { + return true + } + } + return false +} diff --git a/internal/vmcompute/vmcompute.go b/internal/vmcompute/vmcompute.go index e7f114b67a..8ca01f8247 100644 --- a/internal/vmcompute/vmcompute.go +++ b/internal/vmcompute/vmcompute.go @@ -5,12 +5,13 @@ import ( "syscall" "time" + "go.opencensus.io/trace" + "github.com/Microsoft/hcsshim/internal/interop" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/oc" "github.com/Microsoft/hcsshim/internal/timeout" - "go.opencensus.io/trace" ) //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go vmcompute.go @@ -389,7 +390,12 @@ func HcsCreateProcess(ctx gcontext.Context, computeSystem HcsSystem, processPara } oc.SetSpanStatus(span, hr) }() - span.AddAttributes(trace.StringAttribute("processParameters", processParameters)) + if span.IsRecordingEvents() { + // wont handle v1 process parameters + if s, err := log.ScrubProcessParameters(processParameters); err == nil { + span.AddAttributes(trace.StringAttribute("processParameters", s)) + } + } return processInformation, process, result, execute(ctx, timeout.SyscallWatcher, func() error { var resultp *uint16 diff --git a/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go b/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go index f3b8ca404b..708e9201e3 100644 --- a/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go +++ b/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto +// source: github.com/microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto package options @@ -11,6 +11,7 @@ import ( github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" io "io" math "math" + math_bits "math/bits" reflect "reflect" strings "strings" time "time" @@ -26,7 +27,7 @@ var _ = time.Kitchen // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type Options_DebugType int32 @@ -53,7 +54,7 @@ func (x Options_DebugType) String() string { } func (Options_DebugType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{0, 0} + return fileDescriptor_024c3924f1246980, []int{0, 0} } type Options_SandboxIsolation int32 @@ -78,7 +79,7 @@ func (x Options_SandboxIsolation) String() string { } func (Options_SandboxIsolation) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{0, 1} + return fileDescriptor_024c3924f1246980, []int{0, 1} } // Options are the set of customizations that can be passed at Create time. @@ -149,16 +150,18 @@ type Options struct { DefaultContainerAnnotations map[string]string `protobuf:"bytes,18,rep,name=default_container_annotations,json=defaultContainerAnnotations,proto3" json:"default_container_annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // no_inherit_host_timezone specifies to skip inheriting the hosts time zone for WCOW UVMs and instead default to // UTC. - NoInheritHostTimezone bool `protobuf:"varint,19,opt,name=no_inherit_host_timezone,json=noInheritHostTimezone,proto3" json:"no_inherit_host_timezone,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + NoInheritHostTimezone bool `protobuf:"varint,19,opt,name=no_inherit_host_timezone,json=noInheritHostTimezone,proto3" json:"no_inherit_host_timezone,omitempty"` + // scrub_logs enables removing environment variables and other protentially sensitive information from logs + ScrubLogs bool `protobuf:"varint,20,opt,name=scrub_logs,json=scrubLogs,proto3" json:"scrub_logs,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Options) Reset() { *m = Options{} } func (*Options) ProtoMessage() {} func (*Options) Descriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{0} + return fileDescriptor_024c3924f1246980, []int{0} } func (m *Options) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -168,7 +171,7 @@ func (m *Options) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return xxx_messageInfo_Options.Marshal(b, m, deterministic) } else { b = b[:cap(b)] - n, err := m.MarshalTo(b) + n, err := m.MarshalToSizedBuffer(b) if err != nil { return nil, err } @@ -207,7 +210,7 @@ type ProcessDetails struct { func (m *ProcessDetails) Reset() { *m = ProcessDetails{} } func (*ProcessDetails) ProtoMessage() {} func (*ProcessDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_b643df6839c75082, []int{1} + return fileDescriptor_024c3924f1246980, []int{1} } func (m *ProcessDetails) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -217,7 +220,7 @@ func (m *ProcessDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return xxx_messageInfo_ProcessDetails.Marshal(b, m, deterministic) } else { b = b[:cap(b)] - n, err := m.MarshalTo(b) + n, err := m.MarshalToSizedBuffer(b) if err != nil { return nil, err } @@ -245,84 +248,85 @@ func init() { } func init() { - proto.RegisterFile("github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto", fileDescriptor_b643df6839c75082) + proto.RegisterFile("github.com/microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto", fileDescriptor_024c3924f1246980) } -var fileDescriptor_b643df6839c75082 = []byte{ - // 1058 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x5d, 0x4f, 0x23, 0x37, - 0x17, 0xce, 0x2c, 0x5f, 0x99, 0xc3, 0x02, 0xc1, 0xf0, 0x6a, 0x47, 0xf0, 0x6e, 0x12, 0xb1, 0x95, - 0x96, 0x55, 0x97, 0x09, 0xd0, 0x4a, 0xad, 0xda, 0xaa, 0x15, 0x24, 0x61, 0x49, 0xc5, 0x47, 0x34, - 0x49, 0xd9, 0x7e, 0x5c, 0x58, 0x93, 0x19, 0x33, 0xb1, 0x98, 0x19, 0x47, 0xb6, 0x93, 0x12, 0xae, - 0xaa, 0xfe, 0x82, 0xfe, 0x9e, 0xfe, 0x02, 0x2e, 0x7b, 0x59, 0xa9, 0x12, 0xed, 0xe6, 0x97, 0x54, - 0xf6, 0x78, 0x60, 0x17, 0xd1, 0xee, 0x45, 0xaf, 0x62, 0x3f, 0xcf, 0xe3, 0xc7, 0xe7, 0x9c, 0xf1, - 0x39, 0x81, 0xd3, 0x88, 0xca, 0xfe, 0xb0, 0xe7, 0x06, 0x2c, 0xa9, 0x1d, 0xd3, 0x80, 0x33, 0xc1, - 0xce, 0x65, 0xad, 0x1f, 0x08, 0xd1, 0xa7, 0x49, 0x2d, 0x48, 0xc2, 0x5a, 0xc0, 0x52, 0xe9, 0xd3, - 0x94, 0xf0, 0x70, 0x4b, 0x61, 0x5b, 0x7c, 0x98, 0xf6, 0x03, 0xb1, 0x35, 0xda, 0xa9, 0xb1, 0x81, - 0xa4, 0x2c, 0x15, 0xb5, 0x0c, 0x71, 0x07, 0x9c, 0x49, 0x86, 0x56, 0xef, 0xf4, 0xae, 0x21, 0x46, - 0x3b, 0x6b, 0xab, 0x11, 0x8b, 0x98, 0x16, 0xd4, 0xd4, 0x2a, 0xd3, 0xae, 0x55, 0x22, 0xc6, 0xa2, - 0x98, 0xd4, 0xf4, 0xae, 0x37, 0x3c, 0xaf, 0x49, 0x9a, 0x10, 0x21, 0xfd, 0x64, 0x90, 0x09, 0x36, - 0x7e, 0xb5, 0x61, 0xee, 0x34, 0xbb, 0x05, 0xad, 0xc2, 0x4c, 0x48, 0x7a, 0xc3, 0xc8, 0xb1, 0xaa, - 0xd6, 0x66, 0xd1, 0xcb, 0x36, 0xe8, 0x00, 0x40, 0x2f, 0xb0, 0x1c, 0x0f, 0x88, 0xf3, 0xa8, 0x6a, - 0x6d, 0x2e, 0xee, 0x3e, 0x77, 0x1f, 0x8a, 0xc1, 0x35, 0x46, 0x6e, 0x43, 0xe9, 0xbb, 0xe3, 0x01, - 0xf1, 0xec, 0x30, 0x5f, 0xa2, 0x67, 0xb0, 0xc0, 0x49, 0x44, 0x85, 0xe4, 0x63, 0xcc, 0x19, 0x93, - 0xce, 0x54, 0xd5, 0xda, 0xb4, 0xbd, 0xc7, 0x39, 0xe8, 0x31, 0x26, 0x95, 0x48, 0xf8, 0x69, 0xd8, - 0x63, 0x97, 0x98, 0x26, 0x7e, 0x44, 0x9c, 0xe9, 0x4c, 0x64, 0xc0, 0x96, 0xc2, 0xd0, 0x0b, 0x28, - 0xe5, 0xa2, 0x41, 0xec, 0xcb, 0x73, 0xc6, 0x13, 0x67, 0x46, 0xeb, 0x96, 0x0c, 0xde, 0x36, 0x30, - 0xfa, 0x01, 0x96, 0x6f, 0xfd, 0x04, 0x8b, 0x7d, 0x15, 0x9f, 0x33, 0xab, 0x73, 0x70, 0xff, 0x3d, - 0x87, 0x8e, 0xb9, 0x31, 0x3f, 0xe5, 0xe5, 0x77, 0xde, 0x22, 0xa8, 0x06, 0xab, 0x3d, 0xc6, 0x24, - 0x3e, 0xa7, 0x31, 0x11, 0x3a, 0x27, 0x3c, 0xf0, 0x65, 0xdf, 0x99, 0xd3, 0xb1, 0x2c, 0x2b, 0xee, - 0x40, 0x51, 0x2a, 0xb3, 0xb6, 0x2f, 0xfb, 0xe8, 0x25, 0xa0, 0x51, 0x82, 0x07, 0x9c, 0x05, 0x44, - 0x08, 0xc6, 0x71, 0xc0, 0x86, 0xa9, 0x74, 0x8a, 0x55, 0x6b, 0x73, 0xc6, 0x2b, 0x8d, 0x92, 0x76, - 0x4e, 0xd4, 0x15, 0x8e, 0x5c, 0x58, 0x1d, 0x25, 0x38, 0x21, 0x09, 0xe3, 0x63, 0x2c, 0xe8, 0x15, - 0xc1, 0x34, 0xc5, 0x49, 0xcf, 0xb1, 0x73, 0xfd, 0xb1, 0xa6, 0x3a, 0xf4, 0x8a, 0xb4, 0xd2, 0xe3, - 0x1e, 0x2a, 0x03, 0xbc, 0x6a, 0x7f, 0x73, 0x76, 0xd8, 0x50, 0x77, 0x39, 0xa0, 0x83, 0x78, 0x0b, - 0x41, 0x5f, 0xc0, 0xba, 0x08, 0xfc, 0x98, 0xe0, 0x60, 0x30, 0xc4, 0x31, 0x4d, 0xa8, 0x14, 0x58, - 0x32, 0x6c, 0xd2, 0x72, 0xe6, 0xf5, 0x47, 0x7f, 0xa2, 0x25, 0xf5, 0xc1, 0xf0, 0x48, 0x0b, 0xba, - 0xcc, 0xd4, 0x01, 0x1d, 0xc3, 0x07, 0x21, 0x39, 0xf7, 0x87, 0xb1, 0xc4, 0xb7, 0x75, 0xc3, 0x22, - 0xe0, 0xbe, 0x0c, 0xfa, 0xb7, 0xd1, 0x45, 0x3d, 0xe7, 0xb1, 0x8e, 0xae, 0x62, 0xb4, 0xf5, 0x5c, - 0xda, 0xc9, 0x94, 0x59, 0xb0, 0xaf, 0x7a, 0xe8, 0x2b, 0x78, 0x9a, 0xdb, 0x8d, 0x92, 0x87, 0x7c, - 0x16, 0xb4, 0x8f, 0x63, 0x44, 0x67, 0xc9, 0x7d, 0x03, 0xf5, 0x52, 0xfa, 0x3e, 0x27, 0xf9, 0x59, - 0x67, 0x51, 0xc7, 0xff, 0x58, 0x83, 0x46, 0x8c, 0xaa, 0x30, 0x7f, 0x52, 0x6f, 0x73, 0x76, 0x39, - 0xde, 0x0b, 0x43, 0xee, 0x2c, 0xe9, 0x9a, 0xbc, 0x0d, 0xa1, 0x75, 0xb0, 0x63, 0x16, 0xe1, 0x98, - 0x8c, 0x48, 0xec, 0x94, 0x34, 0x5f, 0x8c, 0x59, 0x74, 0xa4, 0xf6, 0xe8, 0x63, 0x78, 0x42, 0x19, - 0xe6, 0x44, 0x3d, 0x59, 0xd5, 0x38, 0x6c, 0x28, 0x55, 0x74, 0x82, 0x04, 0xce, 0xb2, 0x0e, 0x6f, - 0x85, 0x32, 0x4f, 0xb1, 0xdd, 0x8c, 0x6c, 0xa5, 0x1d, 0x12, 0xa0, 0x9f, 0xad, 0xbb, 0xdc, 0xee, - 0x4a, 0xe5, 0xa7, 0x29, 0x93, 0xfa, 0xdd, 0x08, 0x07, 0x55, 0xa7, 0x36, 0xe7, 0x77, 0xbf, 0x7c, - 0x5f, 0x13, 0xbd, 0x5b, 0xc1, 0xbd, 0x3b, 0x83, 0x66, 0xaa, 0xfa, 0x65, 0x3d, 0xfc, 0x67, 0x05, - 0xfa, 0x04, 0x9c, 0x94, 0x61, 0x9a, 0xf6, 0x09, 0xa7, 0x12, 0xf7, 0x99, 0x90, 0x3a, 0x83, 0x2b, - 0x96, 0x12, 0x67, 0x45, 0x57, 0xea, 0x7f, 0x29, 0x6b, 0x65, 0xf4, 0x21, 0x13, 0xb2, 0x6b, 0xc8, - 0xb5, 0x13, 0xa8, 0xbe, 0xef, 0x66, 0x54, 0x82, 0xa9, 0x0b, 0x32, 0xd6, 0x63, 0xc2, 0xf6, 0xd4, - 0x52, 0x8d, 0x8e, 0x91, 0x1f, 0x0f, 0xb3, 0xf9, 0x60, 0x7b, 0xd9, 0xe6, 0xb3, 0x47, 0x9f, 0x5a, - 0x1b, 0x2f, 0xc0, 0xbe, 0x1d, 0x07, 0xc8, 0x86, 0x99, 0x93, 0x76, 0xab, 0xdd, 0x2c, 0x15, 0x50, - 0x11, 0xa6, 0x0f, 0x5a, 0x47, 0xcd, 0x92, 0x85, 0xe6, 0x60, 0xaa, 0xd9, 0x7d, 0x5d, 0x7a, 0xb4, - 0x51, 0x83, 0xd2, 0xfd, 0xae, 0x43, 0xf3, 0x30, 0xd7, 0xf6, 0x4e, 0xeb, 0xcd, 0x4e, 0xa7, 0x54, - 0x40, 0x8b, 0x00, 0x87, 0xdf, 0xb5, 0x9b, 0xde, 0x59, 0xab, 0x73, 0xea, 0x95, 0xac, 0x8d, 0x3f, - 0xa6, 0x60, 0xd1, 0x34, 0x4d, 0x83, 0x48, 0x9f, 0xc6, 0x02, 0x3d, 0x05, 0xd0, 0x83, 0x03, 0xa7, - 0x7e, 0x42, 0x4c, 0x84, 0xb6, 0x46, 0x4e, 0xfc, 0x84, 0xa0, 0x3a, 0x40, 0xc0, 0x89, 0x2f, 0x49, - 0x88, 0x7d, 0xa9, 0x83, 0x9d, 0xdf, 0x5d, 0x73, 0xb3, 0x21, 0xe9, 0xe6, 0x43, 0xd2, 0xed, 0xe6, - 0x43, 0x72, 0xbf, 0x78, 0x7d, 0x53, 0x29, 0xfc, 0xf2, 0x67, 0xc5, 0xf2, 0x6c, 0x73, 0x6e, 0x4f, - 0xa2, 0x0f, 0x01, 0x5d, 0x10, 0x9e, 0x92, 0x58, 0x97, 0x14, 0xef, 0x6c, 0x6f, 0xe3, 0x54, 0xe8, - 0x71, 0x36, 0xed, 0x2d, 0x65, 0x8c, 0x72, 0xd8, 0xd9, 0xde, 0x3e, 0x11, 0xc8, 0x85, 0x15, 0xd3, - 0xc2, 0x01, 0x4b, 0x12, 0x2a, 0x71, 0x6f, 0x2c, 0x89, 0xd0, 0x73, 0x6d, 0xda, 0x5b, 0xce, 0xa8, - 0xba, 0x66, 0xf6, 0x15, 0x81, 0x0e, 0xa0, 0x6a, 0xf4, 0x3f, 0x32, 0x7e, 0x41, 0xd3, 0x08, 0x0b, - 0x22, 0xf1, 0x80, 0xd3, 0x91, 0x2f, 0x89, 0x39, 0x3c, 0xa3, 0x0f, 0xff, 0x3f, 0xd3, 0xbd, 0xce, - 0x64, 0x1d, 0x22, 0xdb, 0x99, 0x28, 0xf3, 0x69, 0x40, 0xe5, 0x01, 0x1f, 0xdd, 0x1d, 0xa1, 0xb1, - 0x99, 0xd5, 0x36, 0xeb, 0xf7, 0x6d, 0x3a, 0x5a, 0x93, 0xb9, 0xbc, 0x04, 0x30, 0xe3, 0x0a, 0xd3, - 0x50, 0x0f, 0xb6, 0x85, 0xfd, 0x85, 0xc9, 0x4d, 0xc5, 0x36, 0x65, 0x6f, 0x35, 0x3c, 0xdb, 0x08, - 0x5a, 0x21, 0x7a, 0x0e, 0xa5, 0xa1, 0x20, 0xfc, 0x9d, 0xb2, 0x14, 0xf5, 0x25, 0x0b, 0x0a, 0xbf, - 0x2b, 0xca, 0x33, 0x98, 0x23, 0x97, 0x24, 0x50, 0x9e, 0x6a, 0x9a, 0xd9, 0xfb, 0x30, 0xb9, 0xa9, - 0xcc, 0x36, 0x2f, 0x49, 0xd0, 0x6a, 0x78, 0xb3, 0x8a, 0x6a, 0x85, 0xfb, 0xe1, 0xf5, 0x9b, 0x72, - 0xe1, 0xf7, 0x37, 0xe5, 0xc2, 0x4f, 0x93, 0xb2, 0x75, 0x3d, 0x29, 0x5b, 0xbf, 0x4d, 0xca, 0xd6, - 0x5f, 0x93, 0xb2, 0xf5, 0xfd, 0xd7, 0xff, 0xfd, 0x2f, 0xf5, 0x73, 0xf3, 0xfb, 0x6d, 0xa1, 0x37, - 0xab, 0xbf, 0xfb, 0x47, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x36, 0xb1, 0x82, 0xa9, 0x07, - 0x00, 0x00, +var fileDescriptor_024c3924f1246980 = []byte{ + // 1076 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0xdb, 0x4f, 0x23, 0xb7, + 0x17, 0xce, 0x2c, 0xb7, 0x8c, 0xb9, 0x05, 0x93, 0x9f, 0x76, 0x04, 0xbf, 0x4d, 0x22, 0xb6, 0xd2, + 0xb2, 0xea, 0x32, 0x01, 0x5a, 0xa9, 0x55, 0x5b, 0xb5, 0x82, 0x24, 0x2c, 0xa9, 0xb8, 0x44, 0x93, + 0x94, 0xed, 0xe5, 0xc1, 0x9a, 0x8b, 0x99, 0x58, 0xcc, 0x8c, 0x47, 0xb6, 0x27, 0x25, 0x3c, 0x55, + 0xfd, 0x0b, 0xfa, 0x67, 0xf1, 0xd8, 0xc7, 0x56, 0x95, 0x68, 0x37, 0x7f, 0x49, 0x65, 0x8f, 0x07, + 0x58, 0x44, 0xbb, 0x52, 0x9f, 0x62, 0x7f, 0xdf, 0xe7, 0xcf, 0xe7, 0x9c, 0xf8, 0x9c, 0x01, 0xa7, + 0x21, 0x11, 0xc3, 0xcc, 0xb3, 0x7d, 0x1a, 0x37, 0x63, 0xe2, 0x33, 0xca, 0xe9, 0xb9, 0x68, 0x0e, + 0x7d, 0xce, 0x87, 0x24, 0x6e, 0xfa, 0x71, 0xd0, 0xf4, 0x69, 0x22, 0x5c, 0x92, 0x60, 0x16, 0x6c, + 0x49, 0x6c, 0x8b, 0x65, 0xc9, 0xd0, 0xe7, 0x5b, 0xa3, 0x9d, 0x26, 0x4d, 0x05, 0xa1, 0x09, 0x6f, + 0xe6, 0x88, 0x9d, 0x32, 0x2a, 0x28, 0xac, 0xde, 0xe9, 0x6d, 0x4d, 0x8c, 0x76, 0xd6, 0xaa, 0x21, + 0x0d, 0xa9, 0x12, 0x34, 0xe5, 0x2a, 0xd7, 0xae, 0xd5, 0x43, 0x4a, 0xc3, 0x08, 0x37, 0xd5, 0xce, + 0xcb, 0xce, 0x9b, 0x82, 0xc4, 0x98, 0x0b, 0x37, 0x4e, 0x73, 0xc1, 0xc6, 0xef, 0x26, 0x98, 0x3b, + 0xcd, 0x6f, 0x81, 0x55, 0x30, 0x13, 0x60, 0x2f, 0x0b, 0x2d, 0xa3, 0x61, 0x6c, 0x96, 0x9d, 0x7c, + 0x03, 0x0f, 0x00, 0x50, 0x0b, 0x24, 0xc6, 0x29, 0xb6, 0x9e, 0x34, 0x8c, 0xcd, 0xa5, 0xdd, 0x17, + 0xf6, 0x63, 0x31, 0xd8, 0xda, 0xc8, 0x6e, 0x4b, 0xfd, 0x60, 0x9c, 0x62, 0xc7, 0x0c, 0x8a, 0x25, + 0x7c, 0x0e, 0x16, 0x19, 0x0e, 0x09, 0x17, 0x6c, 0x8c, 0x18, 0xa5, 0xc2, 0x9a, 0x6a, 0x18, 0x9b, + 0xa6, 0xb3, 0x50, 0x80, 0x0e, 0xa5, 0x42, 0x8a, 0xb8, 0x9b, 0x04, 0x1e, 0xbd, 0x44, 0x24, 0x76, + 0x43, 0x6c, 0x4d, 0xe7, 0x22, 0x0d, 0x76, 0x25, 0x06, 0x5f, 0x82, 0x4a, 0x21, 0x4a, 0x23, 0x57, + 0x9c, 0x53, 0x16, 0x5b, 0x33, 0x4a, 0xb7, 0xac, 0xf1, 0x9e, 0x86, 0xe1, 0x0f, 0x60, 0xe5, 0xd6, + 0x8f, 0xd3, 0xc8, 0x95, 0xf1, 0x59, 0xb3, 0x2a, 0x07, 0xfb, 0xdf, 0x73, 0xe8, 0xeb, 0x1b, 0x8b, + 0x53, 0x4e, 0x71, 0xe7, 0x2d, 0x02, 0x9b, 0xa0, 0xea, 0x51, 0x2a, 0xd0, 0x39, 0x89, 0x30, 0x57, + 0x39, 0xa1, 0xd4, 0x15, 0x43, 0x6b, 0x4e, 0xc5, 0xb2, 0x22, 0xb9, 0x03, 0x49, 0xc9, 0xcc, 0x7a, + 0xae, 0x18, 0xc2, 0x57, 0x00, 0x8e, 0x62, 0x94, 0x32, 0xea, 0x63, 0xce, 0x29, 0x43, 0x3e, 0xcd, + 0x12, 0x61, 0x95, 0x1b, 0xc6, 0xe6, 0x8c, 0x53, 0x19, 0xc5, 0xbd, 0x82, 0x68, 0x49, 0x1c, 0xda, + 0xa0, 0x3a, 0x8a, 0x51, 0x8c, 0x63, 0xca, 0xc6, 0x88, 0x93, 0x2b, 0x8c, 0x48, 0x82, 0x62, 0xcf, + 0x32, 0x0b, 0xfd, 0xb1, 0xa2, 0xfa, 0xe4, 0x0a, 0x77, 0x93, 0x63, 0x0f, 0xd6, 0x00, 0x78, 0xdd, + 0xfb, 0xe6, 0xec, 0xb0, 0x2d, 0xef, 0xb2, 0x80, 0x0a, 0xe2, 0x1e, 0x02, 0xbf, 0x00, 0xeb, 0xdc, + 0x77, 0x23, 0x8c, 0xfc, 0x34, 0x43, 0x11, 0x89, 0x89, 0xe0, 0x48, 0x50, 0xa4, 0xd3, 0xb2, 0xe6, + 0xd5, 0x9f, 0xfe, 0x54, 0x49, 0x5a, 0x69, 0x76, 0xa4, 0x04, 0x03, 0xaa, 0xeb, 0x00, 0x8f, 0xc1, + 0x07, 0x01, 0x3e, 0x77, 0xb3, 0x48, 0xa0, 0xdb, 0xba, 0x21, 0xee, 0x33, 0x57, 0xf8, 0xc3, 0xdb, + 0xe8, 0x42, 0xcf, 0x5a, 0x50, 0xd1, 0xd5, 0xb5, 0xb6, 0x55, 0x48, 0xfb, 0xb9, 0x32, 0x0f, 0xf6, + 0xb5, 0x07, 0xbf, 0x02, 0xcf, 0x0a, 0xbb, 0x51, 0xfc, 0x98, 0xcf, 0xa2, 0xf2, 0xb1, 0xb4, 0xe8, + 0x2c, 0x7e, 0x68, 0x20, 0x5f, 0xca, 0xd0, 0x65, 0xb8, 0x38, 0x6b, 0x2d, 0xa9, 0xf8, 0x17, 0x14, + 0xa8, 0xc5, 0xb0, 0x01, 0xe6, 0x4f, 0x5a, 0x3d, 0x46, 0x2f, 0xc7, 0x7b, 0x41, 0xc0, 0xac, 0x65, + 0x55, 0x93, 0xfb, 0x10, 0x5c, 0x07, 0x66, 0x44, 0x43, 0x14, 0xe1, 0x11, 0x8e, 0xac, 0x8a, 0xe2, + 0xcb, 0x11, 0x0d, 0x8f, 0xe4, 0x1e, 0x7e, 0x0c, 0x9e, 0x12, 0x8a, 0x18, 0x96, 0x4f, 0x56, 0x36, + 0x0e, 0xcd, 0x84, 0x8c, 0x8e, 0x63, 0xdf, 0x5a, 0x51, 0xe1, 0xad, 0x12, 0xea, 0x48, 0x76, 0x90, + 0x93, 0xdd, 0xa4, 0x8f, 0x7d, 0xf8, 0xb3, 0x71, 0x97, 0xdb, 0x5d, 0xa9, 0xdc, 0x24, 0xa1, 0x42, + 0xbd, 0x1b, 0x6e, 0xc1, 0xc6, 0xd4, 0xe6, 0xfc, 0xee, 0x97, 0xef, 0x6b, 0xa2, 0x77, 0x2b, 0xb8, + 0x77, 0x67, 0xd0, 0x49, 0x64, 0xbf, 0xac, 0x07, 0xff, 0xac, 0x80, 0x9f, 0x00, 0x2b, 0xa1, 0x88, + 0x24, 0x43, 0xcc, 0x88, 0x40, 0x43, 0xca, 0x85, 0xca, 0xe0, 0x8a, 0x26, 0xd8, 0x5a, 0x55, 0x95, + 0xfa, 0x5f, 0x42, 0xbb, 0x39, 0x7d, 0x48, 0xb9, 0x18, 0x68, 0x12, 0x3e, 0x03, 0x80, 0xfb, 0x2c, + 0xf3, 0x50, 0x44, 0x43, 0x6e, 0x55, 0x95, 0xd4, 0x54, 0xc8, 0x11, 0x0d, 0xf9, 0xda, 0x09, 0x68, + 0xbc, 0x2f, 0x30, 0x58, 0x01, 0x53, 0x17, 0x78, 0xac, 0xa6, 0x88, 0xe9, 0xc8, 0xa5, 0x9c, 0x2c, + 0x23, 0x37, 0xca, 0xf2, 0xf1, 0x61, 0x3a, 0xf9, 0xe6, 0xb3, 0x27, 0x9f, 0x1a, 0x1b, 0x2f, 0x81, + 0x79, 0x3b, 0x2d, 0xa0, 0x09, 0x66, 0x4e, 0x7a, 0xdd, 0x5e, 0xa7, 0x52, 0x82, 0x65, 0x30, 0x7d, + 0xd0, 0x3d, 0xea, 0x54, 0x0c, 0x38, 0x07, 0xa6, 0x3a, 0x83, 0x37, 0x95, 0x27, 0x1b, 0x4d, 0x50, + 0x79, 0xd8, 0x94, 0x70, 0x1e, 0xcc, 0xf5, 0x9c, 0xd3, 0x56, 0xa7, 0xdf, 0xaf, 0x94, 0xe0, 0x12, + 0x00, 0x87, 0xdf, 0xf5, 0x3a, 0xce, 0x59, 0xb7, 0x7f, 0xea, 0x54, 0x8c, 0x8d, 0x3f, 0xa6, 0xc0, + 0x92, 0xee, 0xa9, 0x36, 0x16, 0x2e, 0x89, 0xb8, 0xcc, 0x4e, 0xcd, 0x15, 0x94, 0xb8, 0x31, 0xd6, + 0x11, 0x9a, 0x0a, 0x39, 0x71, 0x63, 0x0c, 0x5b, 0x00, 0xf8, 0x0c, 0xbb, 0x02, 0x07, 0xc8, 0x15, + 0x2a, 0xd8, 0xf9, 0xdd, 0x35, 0x3b, 0x9f, 0xa1, 0x76, 0x31, 0x43, 0xed, 0x41, 0x31, 0x43, 0xf7, + 0xcb, 0xd7, 0x37, 0xf5, 0xd2, 0x2f, 0x7f, 0xd6, 0x0d, 0xc7, 0xd4, 0xe7, 0xf6, 0x04, 0xfc, 0x10, + 0xc0, 0x0b, 0xcc, 0x12, 0x1c, 0xa9, 0x8a, 0xa3, 0x9d, 0xed, 0x6d, 0x94, 0x70, 0x35, 0xed, 0xa6, + 0x9d, 0xe5, 0x9c, 0x91, 0x0e, 0x3b, 0xdb, 0xdb, 0x27, 0x1c, 0xda, 0x60, 0x55, 0x77, 0xb8, 0x4f, + 0xe3, 0x98, 0x08, 0xe4, 0x8d, 0x05, 0xe6, 0x6a, 0xec, 0x4d, 0x3b, 0x2b, 0x39, 0xd5, 0x52, 0xcc, + 0xbe, 0x24, 0xe0, 0x01, 0x68, 0x68, 0xfd, 0x8f, 0x94, 0x5d, 0x90, 0x24, 0x44, 0x1c, 0x0b, 0x94, + 0x32, 0x32, 0x72, 0x05, 0xd6, 0x87, 0x67, 0xd4, 0xe1, 0xff, 0xe7, 0xba, 0x37, 0xb9, 0xac, 0x8f, + 0x45, 0x2f, 0x17, 0xe5, 0x3e, 0x6d, 0x50, 0x7f, 0xc4, 0x47, 0x35, 0x4f, 0xa0, 0x6d, 0x66, 0x95, + 0xcd, 0xfa, 0x43, 0x9b, 0xbe, 0xd2, 0xe4, 0x2e, 0xaf, 0x00, 0xd0, 0xd3, 0x0c, 0x91, 0x40, 0xcd, + 0xbd, 0xc5, 0xfd, 0xc5, 0xc9, 0x4d, 0xdd, 0xd4, 0x65, 0xef, 0xb6, 0x1d, 0x53, 0x0b, 0xba, 0x01, + 0x7c, 0x01, 0x2a, 0x19, 0xc7, 0xec, 0x9d, 0xb2, 0x94, 0xd5, 0x25, 0x8b, 0x12, 0xbf, 0x2b, 0xca, + 0x73, 0x30, 0x87, 0x2f, 0xb1, 0x2f, 0x3d, 0xe5, 0xb0, 0x33, 0xf7, 0xc1, 0xe4, 0xa6, 0x3e, 0xdb, + 0xb9, 0xc4, 0x7e, 0xb7, 0xed, 0xcc, 0x4a, 0xaa, 0x1b, 0xec, 0x07, 0xd7, 0x6f, 0x6b, 0xa5, 0xdf, + 0xde, 0xd6, 0x4a, 0x3f, 0x4d, 0x6a, 0xc6, 0xf5, 0xa4, 0x66, 0xfc, 0x3a, 0xa9, 0x19, 0x7f, 0x4d, + 0x6a, 0xc6, 0xf7, 0x5f, 0xdf, 0xfb, 0xe2, 0x1e, 0xff, 0xb7, 0x2f, 0xee, 0xe7, 0xfa, 0xf7, 0xdb, + 0x92, 0x37, 0xab, 0xfe, 0xf7, 0x8f, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x64, 0xc1, 0xed, 0x65, + 0xc8, 0x07, 0x00, 0x00, } func (m *Options) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } @@ -330,162 +334,189 @@ func (m *Options) Marshal() (dAtA []byte, err error) { } func (m *Options) MarshalTo(dAtA []byte) (int, error) { - var i int + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Options) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) _ = i var l int _ = l - if m.Debug { - dAtA[i] = 0x8 - i++ - if m.Debug { + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.ScrubLogs { + i-- + if m.ScrubLogs { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ - } - if m.DebugType != 0 { - dAtA[i] = 0x10 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.DebugType)) - } - if len(m.RegistryRoot) > 0 { - dAtA[i] = 0x1a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.RegistryRoot))) - i += copy(dAtA[i:], m.RegistryRoot) - } - if len(m.SandboxImage) > 0 { - dAtA[i] = 0x22 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxImage))) - i += copy(dAtA[i:], m.SandboxImage) - } - if len(m.SandboxPlatform) > 0 { - dAtA[i] = 0x2a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxPlatform))) - i += copy(dAtA[i:], m.SandboxPlatform) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 } - if m.SandboxIsolation != 0 { - dAtA[i] = 0x30 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.SandboxIsolation)) + if m.NoInheritHostTimezone { + i-- + if m.NoInheritHostTimezone { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 } - if len(m.BootFilesRootPath) > 0 { - dAtA[i] = 0x3a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.BootFilesRootPath))) - i += copy(dAtA[i:], m.BootFilesRootPath) + if len(m.DefaultContainerAnnotations) > 0 { + for k := range m.DefaultContainerAnnotations { + v := m.DefaultContainerAnnotations[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarintRunhcs(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarintRunhcs(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarintRunhcs(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } } - if m.VmProcessorCount != 0 { - dAtA[i] = 0x40 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.VmProcessorCount)) + if m.IoRetryTimeoutInSec != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.IoRetryTimeoutInSec)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 } - if m.VmMemorySizeInMb != 0 { - dAtA[i] = 0x48 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.VmMemorySizeInMb)) + if len(m.LogLevel) > 0 { + i -= len(m.LogLevel) + copy(dAtA[i:], m.LogLevel) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.LogLevel))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 } - if len(m.GPUVHDPath) > 0 { - dAtA[i] = 0x52 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.GPUVHDPath))) - i += copy(dAtA[i:], m.GPUVHDPath) + if len(m.NCProxyAddr) > 0 { + i -= len(m.NCProxyAddr) + copy(dAtA[i:], m.NCProxyAddr) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.NCProxyAddr))) + i-- + dAtA[i] = 0x7a } - if m.ScaleCpuLimitsToSandbox { - dAtA[i] = 0x58 - i++ - if m.ScaleCpuLimitsToSandbox { + if m.ShareScratch { + i-- + if m.ShareScratch { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ - } - if m.DefaultContainerScratchSizeInGb != 0 { - dAtA[i] = 0x60 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.DefaultContainerScratchSizeInGb)) + i-- + dAtA[i] = 0x70 } if m.DefaultVmScratchSizeInGb != 0 { - dAtA[i] = 0x68 - i++ i = encodeVarintRunhcs(dAtA, i, uint64(m.DefaultVmScratchSizeInGb)) + i-- + dAtA[i] = 0x68 } - if m.ShareScratch { - dAtA[i] = 0x70 - i++ - if m.ShareScratch { + if m.DefaultContainerScratchSizeInGb != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.DefaultContainerScratchSizeInGb)) + i-- + dAtA[i] = 0x60 + } + if m.ScaleCpuLimitsToSandbox { + i-- + if m.ScaleCpuLimitsToSandbox { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ + i-- + dAtA[i] = 0x58 } - if len(m.NCProxyAddr) > 0 { - dAtA[i] = 0x7a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.NCProxyAddr))) - i += copy(dAtA[i:], m.NCProxyAddr) + if len(m.GPUVHDPath) > 0 { + i -= len(m.GPUVHDPath) + copy(dAtA[i:], m.GPUVHDPath) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.GPUVHDPath))) + i-- + dAtA[i] = 0x52 } - if len(m.LogLevel) > 0 { - dAtA[i] = 0x82 - i++ - dAtA[i] = 0x1 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.LogLevel))) - i += copy(dAtA[i:], m.LogLevel) + if m.VmMemorySizeInMb != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.VmMemorySizeInMb)) + i-- + dAtA[i] = 0x48 } - if m.IoRetryTimeoutInSec != 0 { - dAtA[i] = 0x88 - i++ - dAtA[i] = 0x1 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.IoRetryTimeoutInSec)) + if m.VmProcessorCount != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.VmProcessorCount)) + i-- + dAtA[i] = 0x40 } - if len(m.DefaultContainerAnnotations) > 0 { - for k, _ := range m.DefaultContainerAnnotations { - dAtA[i] = 0x92 - i++ - dAtA[i] = 0x1 - i++ - v := m.DefaultContainerAnnotations[k] - mapSize := 1 + len(k) + sovRunhcs(uint64(len(k))) + 1 + len(v) + sovRunhcs(uint64(len(v))) - i = encodeVarintRunhcs(dAtA, i, uint64(mapSize)) - dAtA[i] = 0xa - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(k))) - i += copy(dAtA[i:], k) - dAtA[i] = 0x12 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(v))) - i += copy(dAtA[i:], v) - } + if len(m.BootFilesRootPath) > 0 { + i -= len(m.BootFilesRootPath) + copy(dAtA[i:], m.BootFilesRootPath) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.BootFilesRootPath))) + i-- + dAtA[i] = 0x3a } - if m.NoInheritHostTimezone { - dAtA[i] = 0x98 - i++ - dAtA[i] = 0x1 - i++ - if m.NoInheritHostTimezone { + if m.SandboxIsolation != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.SandboxIsolation)) + i-- + dAtA[i] = 0x30 + } + if len(m.SandboxPlatform) > 0 { + i -= len(m.SandboxPlatform) + copy(dAtA[i:], m.SandboxPlatform) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxPlatform))) + i-- + dAtA[i] = 0x2a + } + if len(m.SandboxImage) > 0 { + i -= len(m.SandboxImage) + copy(dAtA[i:], m.SandboxImage) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.SandboxImage))) + i-- + dAtA[i] = 0x22 + } + if len(m.RegistryRoot) > 0 { + i -= len(m.RegistryRoot) + copy(dAtA[i:], m.RegistryRoot) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.RegistryRoot))) + i-- + dAtA[i] = 0x1a + } + if m.DebugType != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.DebugType)) + i-- + dAtA[i] = 0x10 + } + if m.Debug { + i-- + if m.Debug { dAtA[i] = 1 } else { dAtA[i] = 0 } - i++ - } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) + i-- + dAtA[i] = 0x8 } - return i, nil + return len(dAtA) - i, nil } func (m *ProcessDetails) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) if err != nil { return nil, err } @@ -493,74 +524,84 @@ func (m *ProcessDetails) Marshal() (dAtA []byte, err error) { } func (m *ProcessDetails) MarshalTo(dAtA []byte) (int, error) { - var i int + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProcessDetails) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) _ = i var l int _ = l - if len(m.ImageName) > 0 { - dAtA[i] = 0xa - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ImageName))) - i += copy(dAtA[i:], m.ImageName) - } - dAtA[i] = 0x12 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt))) - n1, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i:]) - if err != nil { - return 0, err + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) } - i += n1 - if m.KernelTime_100Ns != 0 { - dAtA[i] = 0x18 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.KernelTime_100Ns)) + if len(m.ExecID) > 0 { + i -= len(m.ExecID) + copy(dAtA[i:], m.ExecID) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ExecID))) + i-- + dAtA[i] = 0x4a } - if m.MemoryCommitBytes != 0 { - dAtA[i] = 0x20 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryCommitBytes)) + if m.UserTime_100Ns != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.UserTime_100Ns)) + i-- + dAtA[i] = 0x40 } - if m.MemoryWorkingSetPrivateBytes != 0 { - dAtA[i] = 0x28 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryWorkingSetPrivateBytes)) + if m.ProcessID != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.ProcessID)) + i-- + dAtA[i] = 0x38 } if m.MemoryWorkingSetSharedBytes != 0 { - dAtA[i] = 0x30 - i++ i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryWorkingSetSharedBytes)) + i-- + dAtA[i] = 0x30 } - if m.ProcessID != 0 { - dAtA[i] = 0x38 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.ProcessID)) + if m.MemoryWorkingSetPrivateBytes != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryWorkingSetPrivateBytes)) + i-- + dAtA[i] = 0x28 } - if m.UserTime_100Ns != 0 { - dAtA[i] = 0x40 - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(m.UserTime_100Ns)) + if m.MemoryCommitBytes != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.MemoryCommitBytes)) + i-- + dAtA[i] = 0x20 } - if len(m.ExecID) > 0 { - dAtA[i] = 0x4a - i++ - i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ExecID))) - i += copy(dAtA[i:], m.ExecID) + if m.KernelTime_100Ns != 0 { + i = encodeVarintRunhcs(dAtA, i, uint64(m.KernelTime_100Ns)) + i-- + dAtA[i] = 0x18 } - if m.XXX_unrecognized != nil { - i += copy(dAtA[i:], m.XXX_unrecognized) + n1, err1 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt):]) + if err1 != nil { + return 0, err1 + } + i -= n1 + i = encodeVarintRunhcs(dAtA, i, uint64(n1)) + i-- + dAtA[i] = 0x12 + if len(m.ImageName) > 0 { + i -= len(m.ImageName) + copy(dAtA[i:], m.ImageName) + i = encodeVarintRunhcs(dAtA, i, uint64(len(m.ImageName))) + i-- + dAtA[i] = 0xa } - return i, nil + return len(dAtA) - i, nil } func encodeVarintRunhcs(dAtA []byte, offset int, v uint64) int { + offset -= sovRunhcs(v) + base := offset for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) v >>= 7 offset++ } dAtA[offset] = uint8(v) - return offset + 1 + return base } func (m *Options) Size() (n int) { if m == nil { @@ -637,6 +678,9 @@ func (m *Options) Size() (n int) { if m.NoInheritHostTimezone { n += 3 } + if m.ScrubLogs { + n += 3 + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -684,14 +728,7 @@ func (m *ProcessDetails) Size() (n int) { } func sovRunhcs(x uint64) (n int) { - for { - n++ - x >>= 7 - if x == 0 { - break - } - } - return n + return (math_bits.Len64(x|1) + 6) / 7 } func sozRunhcs(x uint64) (n int) { return sovRunhcs(uint64((x << 1) ^ uint64((int64(x) >> 63)))) @@ -730,6 +767,7 @@ func (this *Options) String() string { `IoRetryTimeoutInSec:` + fmt.Sprintf("%v", this.IoRetryTimeoutInSec) + `,`, `DefaultContainerAnnotations:` + mapStringForDefaultContainerAnnotations + `,`, `NoInheritHostTimezone:` + fmt.Sprintf("%v", this.NoInheritHostTimezone) + `,`, + `ScrubLogs:` + fmt.Sprintf("%v", this.ScrubLogs) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") @@ -741,7 +779,7 @@ func (this *ProcessDetails) String() string { } s := strings.Join([]string{`&ProcessDetails{`, `ImageName:` + fmt.Sprintf("%v", this.ImageName) + `,`, - `CreatedAt:` + strings.Replace(strings.Replace(this.CreatedAt.String(), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, + `CreatedAt:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.CreatedAt), "Timestamp", "types.Timestamp", 1), `&`, ``, 1) + `,`, `KernelTime_100Ns:` + fmt.Sprintf("%v", this.KernelTime_100Ns) + `,`, `MemoryCommitBytes:` + fmt.Sprintf("%v", this.MemoryCommitBytes) + `,`, `MemoryWorkingSetPrivateBytes:` + fmt.Sprintf("%v", this.MemoryWorkingSetPrivateBytes) + `,`, @@ -1324,7 +1362,7 @@ func (m *Options) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthRunhcs } if (iNdEx + skippy) > postIndex { @@ -1355,16 +1393,33 @@ func (m *Options) Unmarshal(dAtA []byte) error { } } m.NoInheritHostTimezone = bool(v != 0) + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScrubLogs", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowRunhcs + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ScrubLogs = bool(v != 0) default: iNdEx = preIndex skippy, err := skipRunhcs(dAtA[iNdEx:]) if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthRunhcs - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthRunhcs } if (iNdEx + skippy) > l { @@ -1626,10 +1681,7 @@ func (m *ProcessDetails) Unmarshal(dAtA []byte) error { if err != nil { return err } - if skippy < 0 { - return ErrInvalidLengthRunhcs - } - if (iNdEx + skippy) < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthRunhcs } if (iNdEx + skippy) > l { @@ -1648,6 +1700,7 @@ func (m *ProcessDetails) Unmarshal(dAtA []byte) error { func skipRunhcs(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 + depth := 0 for iNdEx < l { var wire uint64 for shift := uint(0); ; shift += 7 { @@ -1679,10 +1732,8 @@ func skipRunhcs(dAtA []byte) (n int, err error) { break } } - return iNdEx, nil case 1: iNdEx += 8 - return iNdEx, nil case 2: var length int for shift := uint(0); ; shift += 7 { @@ -1703,55 +1754,30 @@ func skipRunhcs(dAtA []byte) (n int, err error) { return 0, ErrInvalidLengthRunhcs } iNdEx += length - if iNdEx < 0 { - return 0, ErrInvalidLengthRunhcs - } - return iNdEx, nil case 3: - for { - var innerWire uint64 - var start int = iNdEx - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowRunhcs - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - innerWire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - innerWireType := int(innerWire & 0x7) - if innerWireType == 4 { - break - } - next, err := skipRunhcs(dAtA[start:]) - if err != nil { - return 0, err - } - iNdEx = start + next - if iNdEx < 0 { - return 0, ErrInvalidLengthRunhcs - } - } - return iNdEx, nil + depth++ case 4: - return iNdEx, nil + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupRunhcs + } + depth-- case 5: iNdEx += 4 - return iNdEx, nil default: return 0, fmt.Errorf("proto: illegal wireType %d", wireType) } + if iNdEx < 0 { + return 0, ErrInvalidLengthRunhcs + } + if depth == 0 { + return iNdEx, nil + } } - panic("unreachable") + return 0, io.ErrUnexpectedEOF } var ( - ErrInvalidLengthRunhcs = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowRunhcs = fmt.Errorf("proto: integer overflow") + ErrInvalidLengthRunhcs = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowRunhcs = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupRunhcs = fmt.Errorf("proto: unexpected end of group") ) diff --git a/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto b/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto index 69ac25a502..d06dc69584 100644 --- a/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto +++ b/test/vendor/github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/options/runhcs.proto @@ -105,6 +105,9 @@ message Options { // no_inherit_host_timezone specifies to skip inheriting the hosts time zone for WCOW UVMs and instead default to // UTC. bool no_inherit_host_timezone = 19; + + // scrub_logs enables removing environment variables and other protentially sensitive information from logs + bool scrub_logs = 20; } // ProcessDetails contains additional information about a process. This is the additional diff --git a/test/vendor/github.com/Microsoft/hcsshim/internal/gcs/bridge.go b/test/vendor/github.com/Microsoft/hcsshim/internal/gcs/bridge.go index d1650ecb4a..22d89dd303 100644 --- a/test/vendor/github.com/Microsoft/hcsshim/internal/gcs/bridge.go +++ b/test/vendor/github.com/Microsoft/hcsshim/internal/gcs/bridge.go @@ -17,6 +17,8 @@ import ( "github.com/sirupsen/logrus" "golang.org/x/sys/windows" + + "github.com/Microsoft/hcsshim/internal/log" ) const ( @@ -365,6 +367,7 @@ func (brdg *bridge) recvLoop() error { func (brdg *bridge) sendLoop() { var buf bytes.Buffer enc := json.NewEncoder(&buf) + enc.SetEscapeHTML(false) for { select { case <-brdg.waitCh: @@ -392,11 +395,26 @@ func (brdg *bridge) writeMessage(buf *bytes.Buffer, enc *json.Encoder, typ msgTy } // Update the message header with the size. binary.LittleEndian.PutUint32(buf.Bytes()[hdrOffSize:], uint32(buf.Len())) + + if brdg.log.Logger.GetLevel() >= logrus.DebugLevel { + b := buf.Bytes()[hdrSize:] + switch typ { + // container environment vars are in rpCreate for linux; rpcExecuteProcess for windows + case msgType(rpcCreate) | msgTypeRequest: + b, err = log.ScrubBridgeCreate(b) + case msgType(rpcExecuteProcess) | msgTypeRequest: + b, err = log.ScrubBridgeExecProcess(b) + } + if err != nil { + brdg.log.WithError(err).Warning("could not scrub bridge payload") + } + brdg.log.WithFields(logrus.Fields{ + "payload": string(b), + "type": typ, + "message-id": id}).Debug("bridge send") + } + // Write the message. - brdg.log.WithFields(logrus.Fields{ - "payload": string(buf.Bytes()[hdrSize:]), - "type": typ, - "message-id": id}).Debug("bridge send") _, err = buf.WriteTo(brdg.conn) if err != nil { return fmt.Errorf("bridge write: %s", err) diff --git a/test/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go b/test/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go new file mode 100644 index 0000000000..f66913941f --- /dev/null +++ b/test/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go @@ -0,0 +1,174 @@ +package log + +import ( + "bytes" + "encoding/json" + "errors" + "sync/atomic" + + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" +) + +// This package scrubs objects of potentially sensitive information to pass to logging + +type genMap = map[string]interface{} +type scrubberFunc func(genMap) error + +const ScrubbedReplacement = "" + +var ( + ErrUnknownType = errors.New("encoded object is of unknown type") + + // case sensitive keywords, so "env" is not a substring on "Environment" + _scrubKeywords = [][]byte{[]byte("env"), []byte("Environment")} + + _scrub int32 +) + +// SetScrubbing enables scrubbing +func SetScrubbing(enable bool) { + v := int32(0) // cant convert from bool to int32 directly + if enable { + v = 1 + } + atomic.StoreInt32(&_scrub, v) +} + +// IsScrubbingEnabled checks if scrubbing is enabled +func IsScrubbingEnabled() bool { + v := atomic.LoadInt32(&_scrub) + return v != 0 +} + +// ScrubProcessParameters scrubs HCS Create Process requests with config parameters of +// type internal/hcs/schema2.ScrubProcessParameters (aka hcsshema.ScrubProcessParameters) +func ScrubProcessParameters(s string) (string, error) { + // todo: deal with v1 ProcessConfig + b := []byte(s) + if !IsScrubbingEnabled() || !hasKeywords(b) || !json.Valid(b) { + return s, nil + } + + pp := hcsschema.ProcessParameters{} + if err := json.Unmarshal(b, &pp); err != nil { + return "", err + } + pp.Environment = map[string]string{ScrubbedReplacement: ScrubbedReplacement} + + buf := bytes.NewBuffer(b[:0]) + if err := encode(buf, pp); err != nil { + return "", err + } + return buf.String(), nil +} + +// ScrubBridgeCreate scrubs requests sent over the bridge of type +// internal/gcs/protocol.containerCreate wrapping an internal/hcsoci.linuxHostedSystem +func ScrubBridgeCreate(b []byte) ([]byte, error) { + return scrubBytes(b, scrubLinuxHostedSystem) +} + +func scrubLinuxHostedSystem(m genMap) error { + if !isRequestBase(m) { + return ErrUnknownType + } + if m, ok := index(m, "ContainerConfig"); ok { + if m, ok := index(m, "OciSpecification"); ok { + if m, ok := index(m, "process"); ok { + if _, ok := m["env"]; ok { + m["env"] = []string{ScrubbedReplacement} + return nil + } + } + } + } + return ErrUnknownType +} + +// ScrubBridgeExecProcess scrubs requests sent over the bridge of type +// internal/gcs/protocol.containerExecuteProcess +func ScrubBridgeExecProcess(b []byte) ([]byte, error) { + return scrubBytes(b, scrubExecuteProcess) +} + +func scrubExecuteProcess(m genMap) error { + if !isRequestBase(m) { + return ErrUnknownType + } + if m, ok := index(m, "Settings"); ok { + if ss, ok := m["ProcessParameters"]; ok { + // ProcessParameters is a json encoded struct passed as a regular sting field + s, ok := ss.(string) + if !ok { + return ErrUnknownType + } + + s, err := ScrubProcessParameters(s) + if err != nil { + return err + } + + m["ProcessParameters"] = s + return nil + } + } + return ErrUnknownType +} + +func scrubBytes(b []byte, scrub scrubberFunc) ([]byte, error) { + if !IsScrubbingEnabled() || !hasKeywords(b) || !json.Valid(b) { + return b, nil + } + + m := make(genMap) + if err := json.Unmarshal(b, &m); err != nil { + return nil, err + } + + // could use regexp, but if the env strings contain braces, the regexp fails + // parsing into individual structs would require access to private structs + if err := scrub(m); err != nil { + return nil, err + } + + buf := &bytes.Buffer{} + if err := encode(buf, m); err != nil { + return nil, err + } + return buf.Bytes(), nil +} + +func encode(buf *bytes.Buffer, v interface{}) error { + enc := json.NewEncoder(buf) + enc.SetEscapeHTML(false) + if err := enc.Encode(v); err != nil { + return err + } + return nil +} + +func isRequestBase(m genMap) bool { + // neither of these are (currently) `omitempty` + _, a := m["ActivityId"] + _, c := m["ContainerId"] + return a && c +} + +// combination `m, ok := m[s]` and `m, ok := m.(genMap)` +func index(m genMap, s string) (genMap, bool) { + if m, ok := m[s]; ok { + mm, ok := m.(genMap) + return mm, ok + } + + return m, false +} + +func hasKeywords(b []byte) bool { + for _, bb := range _scrubKeywords { + if bytes.Contains(b, bb) { + return true + } + } + return false +} diff --git a/test/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go b/test/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go index e7f114b67a..8ca01f8247 100644 --- a/test/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go +++ b/test/vendor/github.com/Microsoft/hcsshim/internal/vmcompute/vmcompute.go @@ -5,12 +5,13 @@ import ( "syscall" "time" + "go.opencensus.io/trace" + "github.com/Microsoft/hcsshim/internal/interop" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/oc" "github.com/Microsoft/hcsshim/internal/timeout" - "go.opencensus.io/trace" ) //go:generate go run ../../mksyscall_windows.go -output zsyscall_windows.go vmcompute.go @@ -389,7 +390,12 @@ func HcsCreateProcess(ctx gcontext.Context, computeSystem HcsSystem, processPara } oc.SetSpanStatus(span, hr) }() - span.AddAttributes(trace.StringAttribute("processParameters", processParameters)) + if span.IsRecordingEvents() { + // wont handle v1 process parameters + if s, err := log.ScrubProcessParameters(processParameters); err == nil { + span.AddAttributes(trace.StringAttribute("processParameters", s)) + } + } return processInformation, process, result, execute(ctx, timeout.SyscallWatcher, func() error { var resultp *uint16