Обновление снапшота с v0.0.0-20250811.0 на пин, которого требует sing-box после мержа 235 коммитов (upstream d620bbbf2 "Update gvisor to 20260727.0"). Прежний снапшот был взят 2026-08-04 ровно с той версии, на которой тогда стоял апстрим; разрыв возник 2026-08-05 вместе с его бампом. За год апстрим-gvisor изменил ~14 000 строк в 292 файлах. Значимое для нас — сетевой стек: tcp/connect.go (PMTU-discovery + исправление начального RTT/RTO: раньше задержка ACK внутри стека завышала стартовый таймаут на несколько RTT), tcp/snd.go, tcp/rcv.go, stack/conntrack.go, stack/packet_buffer.go. Всего 30 файлов в TCP и 37 в stack. Баг SPEC 048 апстрим НЕ исправил — проверено по коду новой версии: handleConnecting по-прежнему проверяет состояние endpoint'а, но не ep.h, а performHandshake так же зануляет h и отпускает мьютекс до Close(). Поэтому guard перенесён (12 строк) вместе со своим тестом (45 строк). Red/green проверен на новой базе: без guard'а тест падает с той же nil-паникой, что в полевом крашдампе; с ним зелёный.
835 lines
26 KiB
Go
835 lines
26 KiB
Go
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.11
|
|
// protoc v6.33.4
|
|
// source: sandboxexec/proto/sandbox_options.proto
|
|
|
|
package sandbox_options_go_proto
|
|
|
|
import (
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
type EnvVar_EnvVarPolicy int32
|
|
|
|
const (
|
|
EnvVar_ENV_VAR_POLICY_UNSPECIFIED EnvVar_EnvVarPolicy = 0
|
|
EnvVar_ENV_VAR_POLICY_FORWARD EnvVar_EnvVarPolicy = 1
|
|
EnvVar_ENV_VAR_POLICY_UNSET EnvVar_EnvVarPolicy = 2
|
|
)
|
|
|
|
// Enum value maps for EnvVar_EnvVarPolicy.
|
|
var (
|
|
EnvVar_EnvVarPolicy_name = map[int32]string{
|
|
0: "ENV_VAR_POLICY_UNSPECIFIED",
|
|
1: "ENV_VAR_POLICY_FORWARD",
|
|
2: "ENV_VAR_POLICY_UNSET",
|
|
}
|
|
EnvVar_EnvVarPolicy_value = map[string]int32{
|
|
"ENV_VAR_POLICY_UNSPECIFIED": 0,
|
|
"ENV_VAR_POLICY_FORWARD": 1,
|
|
"ENV_VAR_POLICY_UNSET": 2,
|
|
}
|
|
)
|
|
|
|
func (x EnvVar_EnvVarPolicy) Enum() *EnvVar_EnvVarPolicy {
|
|
p := new(EnvVar_EnvVarPolicy)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x EnvVar_EnvVarPolicy) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (EnvVar_EnvVarPolicy) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_sandboxexec_proto_sandbox_options_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (EnvVar_EnvVarPolicy) Type() protoreflect.EnumType {
|
|
return &file_sandboxexec_proto_sandbox_options_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x EnvVar_EnvVarPolicy) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use EnvVar_EnvVarPolicy.Descriptor instead.
|
|
func (EnvVar_EnvVarPolicy) EnumDescriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{3, 0}
|
|
}
|
|
|
|
type PortMapping_PortMappingType int32
|
|
|
|
const (
|
|
PortMapping_PORT_MAPPING_TYPE_TCP PortMapping_PortMappingType = 0
|
|
PortMapping_PORT_MAPPING_TYPE_UDP PortMapping_PortMappingType = 1
|
|
)
|
|
|
|
// Enum value maps for PortMapping_PortMappingType.
|
|
var (
|
|
PortMapping_PortMappingType_name = map[int32]string{
|
|
0: "PORT_MAPPING_TYPE_TCP",
|
|
1: "PORT_MAPPING_TYPE_UDP",
|
|
}
|
|
PortMapping_PortMappingType_value = map[string]int32{
|
|
"PORT_MAPPING_TYPE_TCP": 0,
|
|
"PORT_MAPPING_TYPE_UDP": 1,
|
|
}
|
|
)
|
|
|
|
func (x PortMapping_PortMappingType) Enum() *PortMapping_PortMappingType {
|
|
p := new(PortMapping_PortMappingType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x PortMapping_PortMappingType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (PortMapping_PortMappingType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_sandboxexec_proto_sandbox_options_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (PortMapping_PortMappingType) Type() protoreflect.EnumType {
|
|
return &file_sandboxexec_proto_sandbox_options_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x PortMapping_PortMappingType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use PortMapping_PortMappingType.Descriptor instead.
|
|
func (PortMapping_PortMappingType) EnumDescriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{4, 0}
|
|
}
|
|
|
|
type SandboxOptions struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Mounts []*Mount `protobuf:"bytes,1,rep,name=mounts,proto3" json:"mounts,omitempty"`
|
|
NetworkingOptions *NetworkingOptions `protobuf:"bytes,2,opt,name=networking_options,json=networkingOptions,proto3" json:"networking_options,omitempty"`
|
|
StdoutFile string `protobuf:"bytes,3,opt,name=stdout_file,json=stdoutFile,proto3" json:"stdout_file,omitempty"`
|
|
StderrFile string `protobuf:"bytes,4,opt,name=stderr_file,json=stderrFile,proto3" json:"stderr_file,omitempty"`
|
|
EnvVars []*EnvVar `protobuf:"bytes,5,rep,name=env_vars,json=envVars,proto3" json:"env_vars,omitempty"`
|
|
DebugOptions *DebugOptions `protobuf:"bytes,6,opt,name=debug_options,json=debugOptions,proto3" json:"debug_options,omitempty"`
|
|
StartTimeoutMs int64 `protobuf:"varint,7,opt,name=start_timeout_ms,json=startTimeoutMs,proto3" json:"start_timeout_ms,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SandboxOptions) Reset() {
|
|
*x = SandboxOptions{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SandboxOptions) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SandboxOptions) ProtoMessage() {}
|
|
|
|
func (x *SandboxOptions) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SandboxOptions.ProtoReflect.Descriptor instead.
|
|
func (*SandboxOptions) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *SandboxOptions) GetMounts() []*Mount {
|
|
if x != nil {
|
|
return x.Mounts
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SandboxOptions) GetNetworkingOptions() *NetworkingOptions {
|
|
if x != nil {
|
|
return x.NetworkingOptions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SandboxOptions) GetStdoutFile() string {
|
|
if x != nil {
|
|
return x.StdoutFile
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SandboxOptions) GetStderrFile() string {
|
|
if x != nil {
|
|
return x.StderrFile
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *SandboxOptions) GetEnvVars() []*EnvVar {
|
|
if x != nil {
|
|
return x.EnvVars
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SandboxOptions) GetDebugOptions() *DebugOptions {
|
|
if x != nil {
|
|
return x.DebugOptions
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SandboxOptions) GetStartTimeoutMs() int64 {
|
|
if x != nil {
|
|
return x.StartTimeoutMs
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type NetworkingOptions struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
EnableExternalNetworking bool `protobuf:"varint,1,opt,name=enable_external_networking,json=enableExternalNetworking,proto3" json:"enable_external_networking,omitempty"`
|
|
PortMappings []*PortMapping `protobuf:"bytes,2,rep,name=port_mappings,json=portMappings,proto3" json:"port_mappings,omitempty"`
|
|
DomainAllowlist []string `protobuf:"bytes,3,rep,name=domain_allowlist,json=domainAllowlist,proto3" json:"domain_allowlist,omitempty"`
|
|
DomainDenylist []string `protobuf:"bytes,4,rep,name=domain_denylist,json=domainDenylist,proto3" json:"domain_denylist,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *NetworkingOptions) Reset() {
|
|
*x = NetworkingOptions{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *NetworkingOptions) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*NetworkingOptions) ProtoMessage() {}
|
|
|
|
func (x *NetworkingOptions) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use NetworkingOptions.ProtoReflect.Descriptor instead.
|
|
func (*NetworkingOptions) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *NetworkingOptions) GetEnableExternalNetworking() bool {
|
|
if x != nil {
|
|
return x.EnableExternalNetworking
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *NetworkingOptions) GetPortMappings() []*PortMapping {
|
|
if x != nil {
|
|
return x.PortMappings
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *NetworkingOptions) GetDomainAllowlist() []string {
|
|
if x != nil {
|
|
return x.DomainAllowlist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *NetworkingOptions) GetDomainDenylist() []string {
|
|
if x != nil {
|
|
return x.DomainDenylist
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type DebugOptions struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
EnableDebugLogs string `protobuf:"bytes,1,opt,name=enable_debug_logs,json=enableDebugLogs,proto3" json:"enable_debug_logs,omitempty"`
|
|
DebugLogFile string `protobuf:"bytes,2,opt,name=debug_log_file,json=debugLogFile,proto3" json:"debug_log_file,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DebugOptions) Reset() {
|
|
*x = DebugOptions{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DebugOptions) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DebugOptions) ProtoMessage() {}
|
|
|
|
func (x *DebugOptions) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DebugOptions.ProtoReflect.Descriptor instead.
|
|
func (*DebugOptions) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *DebugOptions) GetEnableDebugLogs() string {
|
|
if x != nil {
|
|
return x.EnableDebugLogs
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DebugOptions) GetDebugLogFile() string {
|
|
if x != nil {
|
|
return x.DebugLogFile
|
|
}
|
|
return ""
|
|
}
|
|
|
|
type EnvVar struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// Types that are valid to be assigned to PolicyOrValue:
|
|
//
|
|
// *EnvVar_Value
|
|
// *EnvVar_Policy
|
|
PolicyOrValue isEnvVar_PolicyOrValue `protobuf_oneof:"policy_or_value"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *EnvVar) Reset() {
|
|
*x = EnvVar{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *EnvVar) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*EnvVar) ProtoMessage() {}
|
|
|
|
func (x *EnvVar) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use EnvVar.ProtoReflect.Descriptor instead.
|
|
func (*EnvVar) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *EnvVar) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *EnvVar) GetPolicyOrValue() isEnvVar_PolicyOrValue {
|
|
if x != nil {
|
|
return x.PolicyOrValue
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *EnvVar) GetValue() string {
|
|
if x != nil {
|
|
if x, ok := x.PolicyOrValue.(*EnvVar_Value); ok {
|
|
return x.Value
|
|
}
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *EnvVar) GetPolicy() EnvVar_EnvVarPolicy {
|
|
if x != nil {
|
|
if x, ok := x.PolicyOrValue.(*EnvVar_Policy); ok {
|
|
return x.Policy
|
|
}
|
|
}
|
|
return EnvVar_ENV_VAR_POLICY_UNSPECIFIED
|
|
}
|
|
|
|
type isEnvVar_PolicyOrValue interface {
|
|
isEnvVar_PolicyOrValue()
|
|
}
|
|
|
|
type EnvVar_Value struct {
|
|
Value string `protobuf:"bytes,2,opt,name=value,proto3,oneof"`
|
|
}
|
|
|
|
type EnvVar_Policy struct {
|
|
Policy EnvVar_EnvVarPolicy `protobuf:"varint,3,opt,name=policy,proto3,enum=cloud_gvisor_sandboxexec.EnvVar_EnvVarPolicy,oneof"`
|
|
}
|
|
|
|
func (*EnvVar_Value) isEnvVar_PolicyOrValue() {}
|
|
|
|
func (*EnvVar_Policy) isEnvVar_PolicyOrValue() {}
|
|
|
|
type PortMapping struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
SandboxPort uint32 `protobuf:"varint,1,opt,name=sandbox_port,json=sandboxPort,proto3" json:"sandbox_port,omitempty"`
|
|
HostPort uint32 `protobuf:"varint,2,opt,name=host_port,json=hostPort,proto3" json:"host_port,omitempty"`
|
|
PortMappingType PortMapping_PortMappingType `protobuf:"varint,3,opt,name=port_mapping_type,json=portMappingType,proto3,enum=cloud_gvisor_sandboxexec.PortMapping_PortMappingType" json:"port_mapping_type,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PortMapping) Reset() {
|
|
*x = PortMapping{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PortMapping) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PortMapping) ProtoMessage() {}
|
|
|
|
func (x *PortMapping) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PortMapping.ProtoReflect.Descriptor instead.
|
|
func (*PortMapping) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *PortMapping) GetSandboxPort() uint32 {
|
|
if x != nil {
|
|
return x.SandboxPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PortMapping) GetHostPort() uint32 {
|
|
if x != nil {
|
|
return x.HostPort
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PortMapping) GetPortMappingType() PortMapping_PortMappingType {
|
|
if x != nil {
|
|
return x.PortMappingType
|
|
}
|
|
return PortMapping_PORT_MAPPING_TYPE_TCP
|
|
}
|
|
|
|
type MountOptions struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Passthrough bool `protobuf:"varint,1,opt,name=passthrough,proto3" json:"passthrough,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MountOptions) Reset() {
|
|
*x = MountOptions{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MountOptions) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountOptions) ProtoMessage() {}
|
|
|
|
func (x *MountOptions) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountOptions.ProtoReflect.Descriptor instead.
|
|
func (*MountOptions) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *MountOptions) GetPassthrough() bool {
|
|
if x != nil {
|
|
return x.Passthrough
|
|
}
|
|
return false
|
|
}
|
|
|
|
type Mount struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
|
|
// Types that are valid to be assigned to Mount:
|
|
//
|
|
// *Mount_HostMount
|
|
// *Mount_SandboxTmpfsMount
|
|
Mount isMount_Mount `protobuf_oneof:"mount"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *Mount) Reset() {
|
|
*x = Mount{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *Mount) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Mount) ProtoMessage() {}
|
|
|
|
func (x *Mount) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Mount.ProtoReflect.Descriptor instead.
|
|
func (*Mount) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *Mount) GetTarget() string {
|
|
if x != nil {
|
|
return x.Target
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Mount) GetMount() isMount_Mount {
|
|
if x != nil {
|
|
return x.Mount
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Mount) GetHostMount() *HostMount {
|
|
if x != nil {
|
|
if x, ok := x.Mount.(*Mount_HostMount); ok {
|
|
return x.HostMount
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Mount) GetSandboxTmpfsMount() *SandboxTmpfsMount {
|
|
if x != nil {
|
|
if x, ok := x.Mount.(*Mount_SandboxTmpfsMount); ok {
|
|
return x.SandboxTmpfsMount
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isMount_Mount interface {
|
|
isMount_Mount()
|
|
}
|
|
|
|
type Mount_HostMount struct {
|
|
HostMount *HostMount `protobuf:"bytes,2,opt,name=host_mount,json=hostMount,proto3,oneof"`
|
|
}
|
|
|
|
type Mount_SandboxTmpfsMount struct {
|
|
SandboxTmpfsMount *SandboxTmpfsMount `protobuf:"bytes,3,opt,name=sandbox_tmpfs_mount,json=sandboxTmpfsMount,proto3,oneof"`
|
|
}
|
|
|
|
func (*Mount_HostMount) isMount_Mount() {}
|
|
|
|
func (*Mount_SandboxTmpfsMount) isMount_Mount() {}
|
|
|
|
type HostMount struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
HostPath string `protobuf:"bytes,1,opt,name=host_path,json=hostPath,proto3" json:"host_path,omitempty"`
|
|
Options *MountOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *HostMount) Reset() {
|
|
*x = HostMount{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *HostMount) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HostMount) ProtoMessage() {}
|
|
|
|
func (x *HostMount) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HostMount.ProtoReflect.Descriptor instead.
|
|
func (*HostMount) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *HostMount) GetHostPath() string {
|
|
if x != nil {
|
|
return x.HostPath
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HostMount) GetOptions() *MountOptions {
|
|
if x != nil {
|
|
return x.Options
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type SandboxTmpfsMount struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *SandboxTmpfsMount) Reset() {
|
|
*x = SandboxTmpfsMount{}
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *SandboxTmpfsMount) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SandboxTmpfsMount) ProtoMessage() {}
|
|
|
|
func (x *SandboxTmpfsMount) ProtoReflect() protoreflect.Message {
|
|
mi := &file_sandboxexec_proto_sandbox_options_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use SandboxTmpfsMount.ProtoReflect.Descriptor instead.
|
|
func (*SandboxTmpfsMount) Descriptor() ([]byte, []int) {
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
var File_sandboxexec_proto_sandbox_options_proto protoreflect.FileDescriptor
|
|
|
|
const file_sandboxexec_proto_sandbox_options_proto_rawDesc = "" +
|
|
"\n" +
|
|
"'sandboxexec/proto/sandbox_options.proto\x12\x18cloud_gvisor_sandboxexec\"\x9b\x03\n" +
|
|
"\x0eSandboxOptions\x127\n" +
|
|
"\x06mounts\x18\x01 \x03(\v2\x1f.cloud_gvisor_sandboxexec.MountR\x06mounts\x12Z\n" +
|
|
"\x12networking_options\x18\x02 \x01(\v2+.cloud_gvisor_sandboxexec.NetworkingOptionsR\x11networkingOptions\x12\x1f\n" +
|
|
"\vstdout_file\x18\x03 \x01(\tR\n" +
|
|
"stdoutFile\x12\x1f\n" +
|
|
"\vstderr_file\x18\x04 \x01(\tR\n" +
|
|
"stderrFile\x12;\n" +
|
|
"\benv_vars\x18\x05 \x03(\v2 .cloud_gvisor_sandboxexec.EnvVarR\aenvVars\x12K\n" +
|
|
"\rdebug_options\x18\x06 \x01(\v2&.cloud_gvisor_sandboxexec.DebugOptionsR\fdebugOptions\x12(\n" +
|
|
"\x10start_timeout_ms\x18\a \x01(\x03R\x0estartTimeoutMs\"\xf1\x01\n" +
|
|
"\x11NetworkingOptions\x12<\n" +
|
|
"\x1aenable_external_networking\x18\x01 \x01(\bR\x18enableExternalNetworking\x12J\n" +
|
|
"\rport_mappings\x18\x02 \x03(\v2%.cloud_gvisor_sandboxexec.PortMappingR\fportMappings\x12)\n" +
|
|
"\x10domain_allowlist\x18\x03 \x03(\tR\x0fdomainAllowlist\x12'\n" +
|
|
"\x0fdomain_denylist\x18\x04 \x03(\tR\x0edomainDenylist\"`\n" +
|
|
"\fDebugOptions\x12*\n" +
|
|
"\x11enable_debug_logs\x18\x01 \x01(\tR\x0fenableDebugLogs\x12$\n" +
|
|
"\x0edebug_log_file\x18\x02 \x01(\tR\fdebugLogFile\"\xf6\x01\n" +
|
|
"\x06EnvVar\x12\x12\n" +
|
|
"\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
|
|
"\x05value\x18\x02 \x01(\tH\x00R\x05value\x12G\n" +
|
|
"\x06policy\x18\x03 \x01(\x0e2-.cloud_gvisor_sandboxexec.EnvVar.EnvVarPolicyH\x00R\x06policy\"d\n" +
|
|
"\fEnvVarPolicy\x12\x1e\n" +
|
|
"\x1aENV_VAR_POLICY_UNSPECIFIED\x10\x00\x12\x1a\n" +
|
|
"\x16ENV_VAR_POLICY_FORWARD\x10\x01\x12\x18\n" +
|
|
"\x14ENV_VAR_POLICY_UNSET\x10\x02B\x11\n" +
|
|
"\x0fpolicy_or_value\"\xf9\x01\n" +
|
|
"\vPortMapping\x12!\n" +
|
|
"\fsandbox_port\x18\x01 \x01(\rR\vsandboxPort\x12\x1b\n" +
|
|
"\thost_port\x18\x02 \x01(\rR\bhostPort\x12a\n" +
|
|
"\x11port_mapping_type\x18\x03 \x01(\x0e25.cloud_gvisor_sandboxexec.PortMapping.PortMappingTypeR\x0fportMappingType\"G\n" +
|
|
"\x0fPortMappingType\x12\x19\n" +
|
|
"\x15PORT_MAPPING_TYPE_TCP\x10\x00\x12\x19\n" +
|
|
"\x15PORT_MAPPING_TYPE_UDP\x10\x01\"0\n" +
|
|
"\fMountOptions\x12 \n" +
|
|
"\vpassthrough\x18\x01 \x01(\bR\vpassthrough\"\xcd\x01\n" +
|
|
"\x05Mount\x12\x16\n" +
|
|
"\x06target\x18\x01 \x01(\tR\x06target\x12D\n" +
|
|
"\n" +
|
|
"host_mount\x18\x02 \x01(\v2#.cloud_gvisor_sandboxexec.HostMountH\x00R\thostMount\x12]\n" +
|
|
"\x13sandbox_tmpfs_mount\x18\x03 \x01(\v2+.cloud_gvisor_sandboxexec.SandboxTmpfsMountH\x00R\x11sandboxTmpfsMountB\a\n" +
|
|
"\x05mount\"j\n" +
|
|
"\tHostMount\x12\x1b\n" +
|
|
"\thost_path\x18\x01 \x01(\tR\bhostPath\x12@\n" +
|
|
"\aoptions\x18\x02 \x01(\v2&.cloud_gvisor_sandboxexec.MountOptionsR\aoptions\"\x13\n" +
|
|
"\x11SandboxTmpfsMountb\x06proto3"
|
|
|
|
var (
|
|
file_sandboxexec_proto_sandbox_options_proto_rawDescOnce sync.Once
|
|
file_sandboxexec_proto_sandbox_options_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_sandboxexec_proto_sandbox_options_proto_rawDescGZIP() []byte {
|
|
file_sandboxexec_proto_sandbox_options_proto_rawDescOnce.Do(func() {
|
|
file_sandboxexec_proto_sandbox_options_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_sandboxexec_proto_sandbox_options_proto_rawDesc), len(file_sandboxexec_proto_sandbox_options_proto_rawDesc)))
|
|
})
|
|
return file_sandboxexec_proto_sandbox_options_proto_rawDescData
|
|
}
|
|
|
|
var (
|
|
file_sandboxexec_proto_sandbox_options_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
|
file_sandboxexec_proto_sandbox_options_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
|
file_sandboxexec_proto_sandbox_options_proto_goTypes = []any{
|
|
(EnvVar_EnvVarPolicy)(0), // 0: cloud_gvisor_sandboxexec.EnvVar.EnvVarPolicy
|
|
(PortMapping_PortMappingType)(0), // 1: cloud_gvisor_sandboxexec.PortMapping.PortMappingType
|
|
(*SandboxOptions)(nil), // 2: cloud_gvisor_sandboxexec.SandboxOptions
|
|
(*NetworkingOptions)(nil), // 3: cloud_gvisor_sandboxexec.NetworkingOptions
|
|
(*DebugOptions)(nil), // 4: cloud_gvisor_sandboxexec.DebugOptions
|
|
(*EnvVar)(nil), // 5: cloud_gvisor_sandboxexec.EnvVar
|
|
(*PortMapping)(nil), // 6: cloud_gvisor_sandboxexec.PortMapping
|
|
(*MountOptions)(nil), // 7: cloud_gvisor_sandboxexec.MountOptions
|
|
(*Mount)(nil), // 8: cloud_gvisor_sandboxexec.Mount
|
|
(*HostMount)(nil), // 9: cloud_gvisor_sandboxexec.HostMount
|
|
(*SandboxTmpfsMount)(nil), // 10: cloud_gvisor_sandboxexec.SandboxTmpfsMount
|
|
}
|
|
)
|
|
|
|
var file_sandboxexec_proto_sandbox_options_proto_depIdxs = []int32{
|
|
8, // 0: cloud_gvisor_sandboxexec.SandboxOptions.mounts:type_name -> cloud_gvisor_sandboxexec.Mount
|
|
3, // 1: cloud_gvisor_sandboxexec.SandboxOptions.networking_options:type_name -> cloud_gvisor_sandboxexec.NetworkingOptions
|
|
5, // 2: cloud_gvisor_sandboxexec.SandboxOptions.env_vars:type_name -> cloud_gvisor_sandboxexec.EnvVar
|
|
4, // 3: cloud_gvisor_sandboxexec.SandboxOptions.debug_options:type_name -> cloud_gvisor_sandboxexec.DebugOptions
|
|
6, // 4: cloud_gvisor_sandboxexec.NetworkingOptions.port_mappings:type_name -> cloud_gvisor_sandboxexec.PortMapping
|
|
0, // 5: cloud_gvisor_sandboxexec.EnvVar.policy:type_name -> cloud_gvisor_sandboxexec.EnvVar.EnvVarPolicy
|
|
1, // 6: cloud_gvisor_sandboxexec.PortMapping.port_mapping_type:type_name -> cloud_gvisor_sandboxexec.PortMapping.PortMappingType
|
|
9, // 7: cloud_gvisor_sandboxexec.Mount.host_mount:type_name -> cloud_gvisor_sandboxexec.HostMount
|
|
10, // 8: cloud_gvisor_sandboxexec.Mount.sandbox_tmpfs_mount:type_name -> cloud_gvisor_sandboxexec.SandboxTmpfsMount
|
|
7, // 9: cloud_gvisor_sandboxexec.HostMount.options:type_name -> cloud_gvisor_sandboxexec.MountOptions
|
|
10, // [10:10] is the sub-list for method output_type
|
|
10, // [10:10] is the sub-list for method input_type
|
|
10, // [10:10] is the sub-list for extension type_name
|
|
10, // [10:10] is the sub-list for extension extendee
|
|
0, // [0:10] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_sandboxexec_proto_sandbox_options_proto_init() }
|
|
func file_sandboxexec_proto_sandbox_options_proto_init() {
|
|
if File_sandboxexec_proto_sandbox_options_proto != nil {
|
|
return
|
|
}
|
|
file_sandboxexec_proto_sandbox_options_proto_msgTypes[3].OneofWrappers = []any{
|
|
(*EnvVar_Value)(nil),
|
|
(*EnvVar_Policy)(nil),
|
|
}
|
|
file_sandboxexec_proto_sandbox_options_proto_msgTypes[6].OneofWrappers = []any{
|
|
(*Mount_HostMount)(nil),
|
|
(*Mount_SandboxTmpfsMount)(nil),
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_sandboxexec_proto_sandbox_options_proto_rawDesc), len(file_sandboxexec_proto_sandbox_options_proto_rawDesc)),
|
|
NumEnums: 2,
|
|
NumMessages: 9,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_sandboxexec_proto_sandbox_options_proto_goTypes,
|
|
DependencyIndexes: file_sandboxexec_proto_sandbox_options_proto_depIdxs,
|
|
EnumInfos: file_sandboxexec_proto_sandbox_options_proto_enumTypes,
|
|
MessageInfos: file_sandboxexec_proto_sandbox_options_proto_msgTypes,
|
|
}.Build()
|
|
File_sandboxexec_proto_sandbox_options_proto = out.File
|
|
file_sandboxexec_proto_sandbox_options_proto_goTypes = nil
|
|
file_sandboxexec_proto_sandbox_options_proto_depIdxs = nil
|
|
}
|