| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.27.1 |
| // protoc v3.17.3 |
| // source: nsjail/config.proto |
| |
| package nsjail |
| |
| import ( |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| 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 Mode int32 |
| |
| const ( |
| Mode_LISTEN Mode = 0 // Listening on a TCP port |
| Mode_ONCE Mode = 1 // Running the command once only |
| Mode_RERUN Mode = 2 // Re-executing the command (forever) |
| Mode_EXECVE Mode = 3 // Executing command w/o the supervisor |
| ) |
| |
| // Enum value maps for Mode. |
| var ( |
| Mode_name = map[int32]string{ |
| 0: "LISTEN", |
| 1: "ONCE", |
| 2: "RERUN", |
| 3: "EXECVE", |
| } |
| Mode_value = map[string]int32{ |
| "LISTEN": 0, |
| "ONCE": 1, |
| "RERUN": 2, |
| "EXECVE": 3, |
| } |
| ) |
| |
| func (x Mode) Enum() *Mode { |
| p := new(Mode) |
| *p = x |
| return p |
| } |
| |
| func (x Mode) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Mode) Descriptor() protoreflect.EnumDescriptor { |
| return file_nsjail_config_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (Mode) Type() protoreflect.EnumType { |
| return &file_nsjail_config_proto_enumTypes[0] |
| } |
| |
| func (x Mode) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *Mode) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = Mode(num) |
| return nil |
| } |
| |
| // Deprecated: Use Mode.Descriptor instead. |
| func (Mode) EnumDescriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // Should be self explanatory |
| type LogLevel int32 |
| |
| const ( |
| LogLevel_DEBUG LogLevel = 0 // Equivalent to the '-v' cmd-line option |
| LogLevel_INFO LogLevel = 1 // Default level |
| LogLevel_WARNING LogLevel = 2 // Equivalent to the '-q' cmd-line option |
| LogLevel_ERROR LogLevel = 3 |
| LogLevel_FATAL LogLevel = 4 |
| ) |
| |
| // Enum value maps for LogLevel. |
| var ( |
| LogLevel_name = map[int32]string{ |
| 0: "DEBUG", |
| 1: "INFO", |
| 2: "WARNING", |
| 3: "ERROR", |
| 4: "FATAL", |
| } |
| LogLevel_value = map[string]int32{ |
| "DEBUG": 0, |
| "INFO": 1, |
| "WARNING": 2, |
| "ERROR": 3, |
| "FATAL": 4, |
| } |
| ) |
| |
| func (x LogLevel) Enum() *LogLevel { |
| p := new(LogLevel) |
| *p = x |
| return p |
| } |
| |
| func (x LogLevel) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (LogLevel) Descriptor() protoreflect.EnumDescriptor { |
| return file_nsjail_config_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (LogLevel) Type() protoreflect.EnumType { |
| return &file_nsjail_config_proto_enumTypes[1] |
| } |
| |
| func (x LogLevel) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *LogLevel) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = LogLevel(num) |
| return nil |
| } |
| |
| // Deprecated: Use LogLevel.Descriptor instead. |
| func (LogLevel) EnumDescriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{1} |
| } |
| |
| type RLimit int32 |
| |
| const ( |
| RLimit_VALUE RLimit = 0 // Use the provided value |
| RLimit_SOFT RLimit = 1 // Use the current soft rlimit |
| RLimit_HARD RLimit = 2 // Use the current hard rlimit |
| RLimit_INF RLimit = 3 // Use RLIM64_INFINITY |
| ) |
| |
| // Enum value maps for RLimit. |
| var ( |
| RLimit_name = map[int32]string{ |
| 0: "VALUE", |
| 1: "SOFT", |
| 2: "HARD", |
| 3: "INF", |
| } |
| RLimit_value = map[string]int32{ |
| "VALUE": 0, |
| "SOFT": 1, |
| "HARD": 2, |
| "INF": 3, |
| } |
| ) |
| |
| func (x RLimit) Enum() *RLimit { |
| p := new(RLimit) |
| *p = x |
| return p |
| } |
| |
| func (x RLimit) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (RLimit) Descriptor() protoreflect.EnumDescriptor { |
| return file_nsjail_config_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (RLimit) Type() protoreflect.EnumType { |
| return &file_nsjail_config_proto_enumTypes[2] |
| } |
| |
| func (x RLimit) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Do not use. |
| func (x *RLimit) UnmarshalJSON(b []byte) error { |
| num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) |
| if err != nil { |
| return err |
| } |
| *x = RLimit(num) |
| return nil |
| } |
| |
| // Deprecated: Use RLimit.Descriptor instead. |
| func (RLimit) EnumDescriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{2} |
| } |
| |
| type IdMap struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Empty string means "current uid/gid" |
| InsideId *string `protobuf:"bytes,1,opt,name=inside_id,json=insideId,def=" json:"inside_id,omitempty"` |
| OutsideId *string `protobuf:"bytes,2,opt,name=outside_id,json=outsideId,def=" json:"outside_id,omitempty"` |
| // See 'man user_namespaces' for the meaning of count |
| Count *uint32 `protobuf:"varint,3,opt,name=count,def=1" json:"count,omitempty"` |
| // Does this map use /usr/bin/new[u|g]idmap binary? |
| UseNewidmap *bool `protobuf:"varint,4,opt,name=use_newidmap,json=useNewidmap,def=0" json:"use_newidmap,omitempty"` |
| } |
| |
| // Default values for IdMap fields. |
| const ( |
| Default_IdMap_InsideId = string("") |
| Default_IdMap_OutsideId = string("") |
| Default_IdMap_Count = uint32(1) |
| Default_IdMap_UseNewidmap = bool(false) |
| ) |
| |
| func (x *IdMap) Reset() { |
| *x = IdMap{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_nsjail_config_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *IdMap) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*IdMap) ProtoMessage() {} |
| |
| func (x *IdMap) ProtoReflect() protoreflect.Message { |
| mi := &file_nsjail_config_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use IdMap.ProtoReflect.Descriptor instead. |
| func (*IdMap) Descriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *IdMap) GetInsideId() string { |
| if x != nil && x.InsideId != nil { |
| return *x.InsideId |
| } |
| return Default_IdMap_InsideId |
| } |
| |
| func (x *IdMap) GetOutsideId() string { |
| if x != nil && x.OutsideId != nil { |
| return *x.OutsideId |
| } |
| return Default_IdMap_OutsideId |
| } |
| |
| func (x *IdMap) GetCount() uint32 { |
| if x != nil && x.Count != nil { |
| return *x.Count |
| } |
| return Default_IdMap_Count |
| } |
| |
| func (x *IdMap) GetUseNewidmap() bool { |
| if x != nil && x.UseNewidmap != nil { |
| return *x.UseNewidmap |
| } |
| return Default_IdMap_UseNewidmap |
| } |
| |
| type MountPt struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Can be skipped for filesystems like 'proc' |
| Src *string `protobuf:"bytes,1,opt,name=src,def=" json:"src,omitempty"` |
| // Should 'src' path be prefixed with this envvar? |
| PrefixSrcEnv *string `protobuf:"bytes,2,opt,name=prefix_src_env,json=prefixSrcEnv,def=" json:"prefix_src_env,omitempty"` |
| // If specified, contains buffer that will be written to the dst file |
| SrcContent []byte `protobuf:"bytes,3,opt,name=src_content,json=srcContent,def=" json:"src_content,omitempty"` |
| // Mount point inside jail |
| Dst *string `protobuf:"bytes,4,req,name=dst,def=" json:"dst,omitempty"` |
| // Should 'dst' path be prefixed with this envvar? |
| PrefixDstEnv *string `protobuf:"bytes,5,opt,name=prefix_dst_env,json=prefixDstEnv,def=" json:"prefix_dst_env,omitempty"` |
| // Can be empty for mount --bind mounts |
| Fstype *string `protobuf:"bytes,6,opt,name=fstype,def=" json:"fstype,omitempty"` |
| // E.g. size=5000000 for 'tmpfs' |
| Options *string `protobuf:"bytes,7,opt,name=options,def=" json:"options,omitempty"` |
| // Is it a 'mount --bind src dst' type of mount? |
| IsBind *bool `protobuf:"varint,8,opt,name=is_bind,json=isBind,def=0" json:"is_bind,omitempty"` |
| // Is it a R/W mount? |
| Rw *bool `protobuf:"varint,9,opt,name=rw,def=0" json:"rw,omitempty"` |
| // Is it a directory? If not specified an internal |
| //heuristics will be used to determine that |
| IsDir *bool `protobuf:"varint,10,opt,name=is_dir,json=isDir" json:"is_dir,omitempty"` |
| // Should the sandboxing fail if we cannot mount this resource? |
| Mandatory *bool `protobuf:"varint,11,opt,name=mandatory,def=1" json:"mandatory,omitempty"` |
| // Is it a symlink (instead of real mount point)? |
| IsSymlink *bool `protobuf:"varint,12,opt,name=is_symlink,json=isSymlink,def=0" json:"is_symlink,omitempty"` |
| // Is it a nosuid mount |
| Nosuid *bool `protobuf:"varint,13,opt,name=nosuid,def=0" json:"nosuid,omitempty"` |
| // Is it a nodev mount |
| Nodev *bool `protobuf:"varint,14,opt,name=nodev,def=0" json:"nodev,omitempty"` |
| // Is it a noexec mount |
| Noexec *bool `protobuf:"varint,15,opt,name=noexec,def=0" json:"noexec,omitempty"` |
| } |
| |
| // Default values for MountPt fields. |
| const ( |
| Default_MountPt_Src = string("") |
| Default_MountPt_PrefixSrcEnv = string("") |
| Default_MountPt_Dst = string("") |
| Default_MountPt_PrefixDstEnv = string("") |
| Default_MountPt_Fstype = string("") |
| Default_MountPt_Options = string("") |
| Default_MountPt_IsBind = bool(false) |
| Default_MountPt_Rw = bool(false) |
| Default_MountPt_Mandatory = bool(true) |
| Default_MountPt_IsSymlink = bool(false) |
| Default_MountPt_Nosuid = bool(false) |
| Default_MountPt_Nodev = bool(false) |
| Default_MountPt_Noexec = bool(false) |
| ) |
| |
| // Default values for MountPt fields. |
| var ( |
| Default_MountPt_SrcContent = []byte("") |
| ) |
| |
| func (x *MountPt) Reset() { |
| *x = MountPt{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_nsjail_config_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *MountPt) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*MountPt) ProtoMessage() {} |
| |
| func (x *MountPt) ProtoReflect() protoreflect.Message { |
| mi := &file_nsjail_config_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use MountPt.ProtoReflect.Descriptor instead. |
| func (*MountPt) Descriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *MountPt) GetSrc() string { |
| if x != nil && x.Src != nil { |
| return *x.Src |
| } |
| return Default_MountPt_Src |
| } |
| |
| func (x *MountPt) GetPrefixSrcEnv() string { |
| if x != nil && x.PrefixSrcEnv != nil { |
| return *x.PrefixSrcEnv |
| } |
| return Default_MountPt_PrefixSrcEnv |
| } |
| |
| func (x *MountPt) GetSrcContent() []byte { |
| if x != nil && x.SrcContent != nil { |
| return x.SrcContent |
| } |
| return append([]byte(nil), Default_MountPt_SrcContent...) |
| } |
| |
| func (x *MountPt) GetDst() string { |
| if x != nil && x.Dst != nil { |
| return *x.Dst |
| } |
| return Default_MountPt_Dst |
| } |
| |
| func (x *MountPt) GetPrefixDstEnv() string { |
| if x != nil && x.PrefixDstEnv != nil { |
| return *x.PrefixDstEnv |
| } |
| return Default_MountPt_PrefixDstEnv |
| } |
| |
| func (x *MountPt) GetFstype() string { |
| if x != nil && x.Fstype != nil { |
| return *x.Fstype |
| } |
| return Default_MountPt_Fstype |
| } |
| |
| func (x *MountPt) GetOptions() string { |
| if x != nil && x.Options != nil { |
| return *x.Options |
| } |
| return Default_MountPt_Options |
| } |
| |
| func (x *MountPt) GetIsBind() bool { |
| if x != nil && x.IsBind != nil { |
| return *x.IsBind |
| } |
| return Default_MountPt_IsBind |
| } |
| |
| func (x *MountPt) GetRw() bool { |
| if x != nil && x.Rw != nil { |
| return *x.Rw |
| } |
| return Default_MountPt_Rw |
| } |
| |
| func (x *MountPt) GetIsDir() bool { |
| if x != nil && x.IsDir != nil { |
| return *x.IsDir |
| } |
| return false |
| } |
| |
| func (x *MountPt) GetMandatory() bool { |
| if x != nil && x.Mandatory != nil { |
| return *x.Mandatory |
| } |
| return Default_MountPt_Mandatory |
| } |
| |
| func (x *MountPt) GetIsSymlink() bool { |
| if x != nil && x.IsSymlink != nil { |
| return *x.IsSymlink |
| } |
| return Default_MountPt_IsSymlink |
| } |
| |
| func (x *MountPt) GetNosuid() bool { |
| if x != nil && x.Nosuid != nil { |
| return *x.Nosuid |
| } |
| return Default_MountPt_Nosuid |
| } |
| |
| func (x *MountPt) GetNodev() bool { |
| if x != nil && x.Nodev != nil { |
| return *x.Nodev |
| } |
| return Default_MountPt_Nodev |
| } |
| |
| func (x *MountPt) GetNoexec() bool { |
| if x != nil && x.Noexec != nil { |
| return *x.Noexec |
| } |
| return Default_MountPt_Noexec |
| } |
| |
| type Exe struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Will be used both as execv's path and as argv[0] |
| Path *string `protobuf:"bytes,1,req,name=path" json:"path,omitempty"` |
| // This will be argv[1] and so on.. |
| Arg []string `protobuf:"bytes,2,rep,name=arg" json:"arg,omitempty"` |
| // Override argv[0] |
| Arg0 *string `protobuf:"bytes,3,opt,name=arg0" json:"arg0,omitempty"` |
| // Should execveat() be used to execute a file-descriptor instead? |
| ExecFd *bool `protobuf:"varint,4,opt,name=exec_fd,json=execFd,def=0" json:"exec_fd,omitempty"` |
| } |
| |
| // Default values for Exe fields. |
| const ( |
| Default_Exe_ExecFd = bool(false) |
| ) |
| |
| func (x *Exe) Reset() { |
| *x = Exe{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_nsjail_config_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Exe) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Exe) ProtoMessage() {} |
| |
| func (x *Exe) ProtoReflect() protoreflect.Message { |
| mi := &file_nsjail_config_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Exe.ProtoReflect.Descriptor instead. |
| func (*Exe) Descriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *Exe) GetPath() string { |
| if x != nil && x.Path != nil { |
| return *x.Path |
| } |
| return "" |
| } |
| |
| func (x *Exe) GetArg() []string { |
| if x != nil { |
| return x.Arg |
| } |
| return nil |
| } |
| |
| func (x *Exe) GetArg0() string { |
| if x != nil && x.Arg0 != nil { |
| return *x.Arg0 |
| } |
| return "" |
| } |
| |
| func (x *Exe) GetExecFd() bool { |
| if x != nil && x.ExecFd != nil { |
| return *x.ExecFd |
| } |
| return Default_Exe_ExecFd |
| } |
| |
| type NsJailConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Optional name and description for this config |
| Name *string `protobuf:"bytes,1,opt,name=name,def=" json:"name,omitempty"` |
| Description []string `protobuf:"bytes,2,rep,name=description" json:"description,omitempty"` |
| // Execution mode: see 'msg Mode' description for more |
| Mode *Mode `protobuf:"varint,3,opt,name=mode,enum=nsjail.Mode,def=1" json:"mode,omitempty"` |
| // Equivalent to a bind mount with dst='/'. DEPRECATED: Use bind mounts. |
| // Deprecated: Do not use. |
| ChrootDir *string `protobuf:"bytes,4,opt,name=chroot_dir,json=chrootDir" json:"chroot_dir,omitempty"` |
| // Applies both to the chroot_dir and to /proc mounts. DEPRECATED: Use bind mounts |
| // Deprecated: Do not use. |
| IsRootRw *bool `protobuf:"varint,5,opt,name=is_root_rw,json=isRootRw,def=0" json:"is_root_rw,omitempty"` |
| // Hostname inside jail |
| Hostname *string `protobuf:"bytes,8,opt,name=hostname,def=NSJAIL" json:"hostname,omitempty"` |
| // Initial current working directory for the binary |
| Cwd *string `protobuf:"bytes,9,opt,name=cwd,def=/" json:"cwd,omitempty"` |
| // TCP port to listen to. Valid with mode=LISTEN only |
| Port *uint32 `protobuf:"varint,10,opt,name=port,def=0" json:"port,omitempty"` |
| // Host to bind to for mode=LISTEN. Must be in IPv6 format |
| Bindhost *string `protobuf:"bytes,11,opt,name=bindhost,def=::" json:"bindhost,omitempty"` |
| // For mode=LISTEN, maximum number of connections from a single IP |
| MaxConnsPerIp *uint32 `protobuf:"varint,12,opt,name=max_conns_per_ip,json=maxConnsPerIp,def=0" json:"max_conns_per_ip,omitempty"` |
| // Wall-time time limit for commands |
| TimeLimit *uint32 `protobuf:"varint,13,opt,name=time_limit,json=timeLimit,def=600" json:"time_limit,omitempty"` |
| // Should nsjail go into background? |
| Daemon *bool `protobuf:"varint,14,opt,name=daemon,def=0" json:"daemon,omitempty"` |
| // Maximum number of CPUs to use: 0 - no limit |
| MaxCpus *uint32 `protobuf:"varint,15,opt,name=max_cpus,json=maxCpus,def=0" json:"max_cpus,omitempty"` |
| // FD to log to. |
| LogFd *int32 `protobuf:"varint,16,opt,name=log_fd,json=logFd" json:"log_fd,omitempty"` |
| // File to save lofs to |
| LogFile *string `protobuf:"bytes,17,opt,name=log_file,json=logFile" json:"log_file,omitempty"` |
| // Minimum log level displayed. |
| //See 'msg LogLevel' description for more |
| LogLevel *LogLevel `protobuf:"varint,18,opt,name=log_level,json=logLevel,enum=nsjail.LogLevel" json:"log_level,omitempty"` |
| // Should the current environment variables be kept |
| //when executing the binary |
| KeepEnv *bool `protobuf:"varint,19,opt,name=keep_env,json=keepEnv,def=0" json:"keep_env,omitempty"` |
| // EnvVars to be set before executing binaries. If the envvar doesn't contain '=' |
| //(e.g. just the 'DISPLAY' string), the current envvar value will be used |
| Envar []string `protobuf:"bytes,20,rep,name=envar" json:"envar,omitempty"` |
| // Should capabilities be preserved or dropped |
| KeepCaps *bool `protobuf:"varint,21,opt,name=keep_caps,json=keepCaps,def=0" json:"keep_caps,omitempty"` |
| // Which capabilities should be preserved if keep_caps == false. |
| //Format: "CAP_SYS_PTRACE" |
| Cap []string `protobuf:"bytes,22,rep,name=cap" json:"cap,omitempty"` |
| // Should nsjail close FD=0,1,2 before executing the process |
| Silent *bool `protobuf:"varint,23,opt,name=silent,def=0" json:"silent,omitempty"` |
| // Should the child process have control over terminal? |
| //Can be useful to allow /bin/sh to provide |
| //job control / signals. Dangerous, can be used to put |
| //characters into the controlling terminal back |
| SkipSetsid *bool `protobuf:"varint,24,opt,name=skip_setsid,json=skipSetsid,def=0" json:"skip_setsid,omitempty"` |
| // Redirect sdterr of the process to /dev/null instead of the socket or original TTY |
| StderrToNull *bool `protobuf:"varint,25,opt,name=stderr_to_null,json=stderrToNull,def=0" json:"stderr_to_null,omitempty"` |
| // Which FDs should be passed to the newly executed process |
| //By default only FD=0,1,2 are passed |
| PassFd []int32 `protobuf:"varint,26,rep,name=pass_fd,json=passFd" json:"pass_fd,omitempty"` |
| // Setting it to true will allow to have set-uid binaries |
| //inside the jail |
| DisableNoNewPrivs *bool `protobuf:"varint,27,opt,name=disable_no_new_privs,json=disableNoNewPrivs,def=0" json:"disable_no_new_privs,omitempty"` |
| // Various rlimits, the rlimit_as/rlimit_core/... are used only if |
| //rlimit_as_type/rlimit_core_type/... are set to RLimit::VALUE |
| RlimitAs *uint64 `protobuf:"varint,28,opt,name=rlimit_as,json=rlimitAs,def=512" json:"rlimit_as,omitempty"` // In MiB |
| RlimitAsType *RLimit `protobuf:"varint,29,opt,name=rlimit_as_type,json=rlimitAsType,enum=nsjail.RLimit,def=0" json:"rlimit_as_type,omitempty"` |
| RlimitCore *uint64 `protobuf:"varint,30,opt,name=rlimit_core,json=rlimitCore,def=0" json:"rlimit_core,omitempty"` // In MiB |
| RlimitCoreType *RLimit `protobuf:"varint,31,opt,name=rlimit_core_type,json=rlimitCoreType,enum=nsjail.RLimit,def=0" json:"rlimit_core_type,omitempty"` |
| RlimitCpu *uint64 `protobuf:"varint,32,opt,name=rlimit_cpu,json=rlimitCpu,def=600" json:"rlimit_cpu,omitempty"` // In seconds |
| RlimitCpuType *RLimit `protobuf:"varint,33,opt,name=rlimit_cpu_type,json=rlimitCpuType,enum=nsjail.RLimit,def=0" json:"rlimit_cpu_type,omitempty"` |
| RlimitFsize *uint64 `protobuf:"varint,34,opt,name=rlimit_fsize,json=rlimitFsize,def=1" json:"rlimit_fsize,omitempty"` // In MiB |
| RlimitFsizeType *RLimit `protobuf:"varint,35,opt,name=rlimit_fsize_type,json=rlimitFsizeType,enum=nsjail.RLimit,def=0" json:"rlimit_fsize_type,omitempty"` |
| RlimitNofile *uint64 `protobuf:"varint,36,opt,name=rlimit_nofile,json=rlimitNofile,def=32" json:"rlimit_nofile,omitempty"` |
| RlimitNofileType *RLimit `protobuf:"varint,37,opt,name=rlimit_nofile_type,json=rlimitNofileType,enum=nsjail.RLimit,def=0" json:"rlimit_nofile_type,omitempty"` |
| // RLIMIT_NPROC is system-wide - tricky to use; use the soft limit value by |
| // default here |
| RlimitNproc *uint64 `protobuf:"varint,38,opt,name=rlimit_nproc,json=rlimitNproc,def=1024" json:"rlimit_nproc,omitempty"` |
| RlimitNprocType *RLimit `protobuf:"varint,39,opt,name=rlimit_nproc_type,json=rlimitNprocType,enum=nsjail.RLimit,def=1" json:"rlimit_nproc_type,omitempty"` |
| // In MiB, use the soft limit value by default |
| RlimitStack *uint64 `protobuf:"varint,40,opt,name=rlimit_stack,json=rlimitStack,def=1048576" json:"rlimit_stack,omitempty"` |
| RlimitStackType *RLimit `protobuf:"varint,41,opt,name=rlimit_stack_type,json=rlimitStackType,enum=nsjail.RLimit,def=1" json:"rlimit_stack_type,omitempty"` |
| // See 'man personality' for more |
| PersonaAddrCompatLayout *bool `protobuf:"varint,42,opt,name=persona_addr_compat_layout,json=personaAddrCompatLayout,def=0" json:"persona_addr_compat_layout,omitempty"` |
| PersonaMmapPageZero *bool `protobuf:"varint,43,opt,name=persona_mmap_page_zero,json=personaMmapPageZero,def=0" json:"persona_mmap_page_zero,omitempty"` |
| PersonaReadImpliesExec *bool `protobuf:"varint,44,opt,name=persona_read_implies_exec,json=personaReadImpliesExec,def=0" json:"persona_read_implies_exec,omitempty"` |
| PersonaAddrLimit_3Gb *bool `protobuf:"varint,45,opt,name=persona_addr_limit_3gb,json=personaAddrLimit3gb,def=0" json:"persona_addr_limit_3gb,omitempty"` |
| PersonaAddrNoRandomize *bool `protobuf:"varint,46,opt,name=persona_addr_no_randomize,json=personaAddrNoRandomize,def=0" json:"persona_addr_no_randomize,omitempty"` |
| // Which name-spaces should be used? |
| CloneNewnet *bool `protobuf:"varint,47,opt,name=clone_newnet,json=cloneNewnet,def=1" json:"clone_newnet,omitempty"` |
| CloneNewuser *bool `protobuf:"varint,48,opt,name=clone_newuser,json=cloneNewuser,def=1" json:"clone_newuser,omitempty"` |
| CloneNewns *bool `protobuf:"varint,49,opt,name=clone_newns,json=cloneNewns,def=1" json:"clone_newns,omitempty"` |
| CloneNewpid *bool `protobuf:"varint,50,opt,name=clone_newpid,json=cloneNewpid,def=1" json:"clone_newpid,omitempty"` |
| CloneNewipc *bool `protobuf:"varint,51,opt,name=clone_newipc,json=cloneNewipc,def=1" json:"clone_newipc,omitempty"` |
| CloneNewuts *bool `protobuf:"varint,52,opt,name=clone_newuts,json=cloneNewuts,def=1" json:"clone_newuts,omitempty"` |
| // Disable for kernel versions < 4.6 as it's not supported there |
| CloneNewcgroup *bool `protobuf:"varint,53,opt,name=clone_newcgroup,json=cloneNewcgroup,def=1" json:"clone_newcgroup,omitempty"` |
| // Mappings for UIDs and GIDs. See the description for 'msg IdMap' |
| //for more |
| Uidmap []*IdMap `protobuf:"bytes,54,rep,name=uidmap" json:"uidmap,omitempty"` |
| Gidmap []*IdMap `protobuf:"bytes,55,rep,name=gidmap" json:"gidmap,omitempty"` |
| // Should /proc be mounted (R/O)? This can also be added in the 'mount' |
| //section below |
| MountProc *bool `protobuf:"varint,56,opt,name=mount_proc,json=mountProc,def=0" json:"mount_proc,omitempty"` |
| // Mount points inside the jail. See the description for 'msg MountPt' |
| //for more |
| Mount []*MountPt `protobuf:"bytes,57,rep,name=mount" json:"mount,omitempty"` |
| // Kafel seccomp-bpf policy file or a string: |
| //Homepage of the project: https://github.com/google/kafel |
| SeccompPolicyFile *string `protobuf:"bytes,58,opt,name=seccomp_policy_file,json=seccompPolicyFile" json:"seccomp_policy_file,omitempty"` |
| SeccompString []string `protobuf:"bytes,59,rep,name=seccomp_string,json=seccompString" json:"seccomp_string,omitempty"` |
| // Setting it to true makes audit write seccomp logs to dmesg |
| SeccompLog *bool `protobuf:"varint,60,opt,name=seccomp_log,json=seccompLog,def=0" json:"seccomp_log,omitempty"` |
| // If > 0, maximum cumulative size of RAM used inside any jail |
| CgroupMemMax *uint64 `protobuf:"varint,61,opt,name=cgroup_mem_max,json=cgroupMemMax,def=0" json:"cgroup_mem_max,omitempty"` // In MiB |
| // Mount point for cgroups-memory in your system |
| CgroupMemMount *string `protobuf:"bytes,62,opt,name=cgroup_mem_mount,json=cgroupMemMount,def=/sys/fs/cgroup/memory" json:"cgroup_mem_mount,omitempty"` |
| // Writeable directory (for the nsjail user) under cgroup_mem_mount |
| CgroupMemParent *string `protobuf:"bytes,63,opt,name=cgroup_mem_parent,json=cgroupMemParent,def=NSJAIL" json:"cgroup_mem_parent,omitempty"` |
| // If > 0, maximum number of PIDs (threads/processes) inside jail |
| CgroupPidsMax *uint64 `protobuf:"varint,64,opt,name=cgroup_pids_max,json=cgroupPidsMax,def=0" json:"cgroup_pids_max,omitempty"` |
| // Mount point for cgroups-pids in your system |
| CgroupPidsMount *string `protobuf:"bytes,65,opt,name=cgroup_pids_mount,json=cgroupPidsMount,def=/sys/fs/cgroup/pids" json:"cgroup_pids_mount,omitempty"` |
| // Writeable directory (for the nsjail user) under cgroup_pids_mount |
| CgroupPidsParent *string `protobuf:"bytes,66,opt,name=cgroup_pids_parent,json=cgroupPidsParent,def=NSJAIL" json:"cgroup_pids_parent,omitempty"` |
| // If > 0, Class identifier of network packets inside jail |
| CgroupNetClsClassid *uint32 `protobuf:"varint,67,opt,name=cgroup_net_cls_classid,json=cgroupNetClsClassid,def=0" json:"cgroup_net_cls_classid,omitempty"` |
| // Mount point for cgroups-net-cls in your system |
| CgroupNetClsMount *string `protobuf:"bytes,68,opt,name=cgroup_net_cls_mount,json=cgroupNetClsMount,def=/sys/fs/cgroup/net_cls" json:"cgroup_net_cls_mount,omitempty"` |
| // Writeable directory (for the nsjail user) under cgroup_net_mount |
| CgroupNetClsParent *string `protobuf:"bytes,69,opt,name=cgroup_net_cls_parent,json=cgroupNetClsParent,def=NSJAIL" json:"cgroup_net_cls_parent,omitempty"` |
| // If > 0 number of milliseconds of CPU that jail processes can use per each second |
| CgroupCpuMsPerSec *uint32 `protobuf:"varint,70,opt,name=cgroup_cpu_ms_per_sec,json=cgroupCpuMsPerSec,def=0" json:"cgroup_cpu_ms_per_sec,omitempty"` |
| // Mount point for cgroups-cpu in your system |
| CgroupCpuMount *string `protobuf:"bytes,71,opt,name=cgroup_cpu_mount,json=cgroupCpuMount,def=/sys/fs/cgroup/cpu" json:"cgroup_cpu_mount,omitempty"` |
| // Writeable directory (for the nsjail user) under cgroup_cpu_mount |
| CgroupCpuParent *string `protobuf:"bytes,72,opt,name=cgroup_cpu_parent,json=cgroupCpuParent,def=NSJAIL" json:"cgroup_cpu_parent,omitempty"` |
| // Should the 'lo' interface be brought up (active) inside this jail? |
| IfaceNoLo *bool `protobuf:"varint,73,opt,name=iface_no_lo,json=ifaceNoLo,def=0" json:"iface_no_lo,omitempty"` |
| // Put this interface inside the jail |
| IfaceOwn []string `protobuf:"bytes,74,rep,name=iface_own,json=ifaceOwn" json:"iface_own,omitempty"` |
| // Parameters for the cloned MACVLAN interface inside jail |
| MacvlanIface *string `protobuf:"bytes,75,opt,name=macvlan_iface,json=macvlanIface" json:"macvlan_iface,omitempty"` // Interface to be cloned, eg 'eth0' |
| MacvlanVsIp *string `protobuf:"bytes,76,opt,name=macvlan_vs_ip,json=macvlanVsIp,def=192.168.0.2" json:"macvlan_vs_ip,omitempty"` |
| MacvlanVsNm *string `protobuf:"bytes,77,opt,name=macvlan_vs_nm,json=macvlanVsNm,def=255.255.255.0" json:"macvlan_vs_nm,omitempty"` |
| MacvlanVsGw *string `protobuf:"bytes,78,opt,name=macvlan_vs_gw,json=macvlanVsGw,def=192.168.0.1" json:"macvlan_vs_gw,omitempty"` |
| MacvlanVsMa *string `protobuf:"bytes,79,opt,name=macvlan_vs_ma,json=macvlanVsMa,def=" json:"macvlan_vs_ma,omitempty"` |
| // Binary path (with arguments) to be executed. If not specified here, it |
| //can be specified with cmd-line as "-- /path/to/command arg1 arg2" |
| ExecBin *Exe `protobuf:"bytes,80,opt,name=exec_bin,json=execBin" json:"exec_bin,omitempty"` |
| } |
| |
| // Default values for NsJailConfig fields. |
| const ( |
| Default_NsJailConfig_Name = string("") |
| Default_NsJailConfig_Mode = Mode_ONCE |
| Default_NsJailConfig_IsRootRw = bool(false) |
| Default_NsJailConfig_Hostname = string("NSJAIL") |
| Default_NsJailConfig_Cwd = string("/") |
| Default_NsJailConfig_Port = uint32(0) |
| Default_NsJailConfig_Bindhost = string("::") |
| Default_NsJailConfig_MaxConnsPerIp = uint32(0) |
| Default_NsJailConfig_TimeLimit = uint32(600) |
| Default_NsJailConfig_Daemon = bool(false) |
| Default_NsJailConfig_MaxCpus = uint32(0) |
| Default_NsJailConfig_KeepEnv = bool(false) |
| Default_NsJailConfig_KeepCaps = bool(false) |
| Default_NsJailConfig_Silent = bool(false) |
| Default_NsJailConfig_SkipSetsid = bool(false) |
| Default_NsJailConfig_StderrToNull = bool(false) |
| Default_NsJailConfig_DisableNoNewPrivs = bool(false) |
| Default_NsJailConfig_RlimitAs = uint64(512) |
| Default_NsJailConfig_RlimitAsType = RLimit_VALUE |
| Default_NsJailConfig_RlimitCore = uint64(0) |
| Default_NsJailConfig_RlimitCoreType = RLimit_VALUE |
| Default_NsJailConfig_RlimitCpu = uint64(600) |
| Default_NsJailConfig_RlimitCpuType = RLimit_VALUE |
| Default_NsJailConfig_RlimitFsize = uint64(1) |
| Default_NsJailConfig_RlimitFsizeType = RLimit_VALUE |
| Default_NsJailConfig_RlimitNofile = uint64(32) |
| Default_NsJailConfig_RlimitNofileType = RLimit_VALUE |
| Default_NsJailConfig_RlimitNproc = uint64(1024) |
| Default_NsJailConfig_RlimitNprocType = RLimit_SOFT |
| Default_NsJailConfig_RlimitStack = uint64(1048576) |
| Default_NsJailConfig_RlimitStackType = RLimit_SOFT |
| Default_NsJailConfig_PersonaAddrCompatLayout = bool(false) |
| Default_NsJailConfig_PersonaMmapPageZero = bool(false) |
| Default_NsJailConfig_PersonaReadImpliesExec = bool(false) |
| Default_NsJailConfig_PersonaAddrLimit_3Gb = bool(false) |
| Default_NsJailConfig_PersonaAddrNoRandomize = bool(false) |
| Default_NsJailConfig_CloneNewnet = bool(true) |
| Default_NsJailConfig_CloneNewuser = bool(true) |
| Default_NsJailConfig_CloneNewns = bool(true) |
| Default_NsJailConfig_CloneNewpid = bool(true) |
| Default_NsJailConfig_CloneNewipc = bool(true) |
| Default_NsJailConfig_CloneNewuts = bool(true) |
| Default_NsJailConfig_CloneNewcgroup = bool(true) |
| Default_NsJailConfig_MountProc = bool(false) |
| Default_NsJailConfig_SeccompLog = bool(false) |
| Default_NsJailConfig_CgroupMemMax = uint64(0) |
| Default_NsJailConfig_CgroupMemMount = string("/sys/fs/cgroup/memory") |
| Default_NsJailConfig_CgroupMemParent = string("NSJAIL") |
| Default_NsJailConfig_CgroupPidsMax = uint64(0) |
| Default_NsJailConfig_CgroupPidsMount = string("/sys/fs/cgroup/pids") |
| Default_NsJailConfig_CgroupPidsParent = string("NSJAIL") |
| Default_NsJailConfig_CgroupNetClsClassid = uint32(0) |
| Default_NsJailConfig_CgroupNetClsMount = string("/sys/fs/cgroup/net_cls") |
| Default_NsJailConfig_CgroupNetClsParent = string("NSJAIL") |
| Default_NsJailConfig_CgroupCpuMsPerSec = uint32(0) |
| Default_NsJailConfig_CgroupCpuMount = string("/sys/fs/cgroup/cpu") |
| Default_NsJailConfig_CgroupCpuParent = string("NSJAIL") |
| Default_NsJailConfig_IfaceNoLo = bool(false) |
| Default_NsJailConfig_MacvlanVsIp = string("192.168.0.2") |
| Default_NsJailConfig_MacvlanVsNm = string("255.255.255.0") |
| Default_NsJailConfig_MacvlanVsGw = string("192.168.0.1") |
| Default_NsJailConfig_MacvlanVsMa = string("") |
| ) |
| |
| func (x *NsJailConfig) Reset() { |
| *x = NsJailConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_nsjail_config_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *NsJailConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*NsJailConfig) ProtoMessage() {} |
| |
| func (x *NsJailConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_nsjail_config_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use NsJailConfig.ProtoReflect.Descriptor instead. |
| func (*NsJailConfig) Descriptor() ([]byte, []int) { |
| return file_nsjail_config_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *NsJailConfig) GetName() string { |
| if x != nil && x.Name != nil { |
| return *x.Name |
| } |
| return Default_NsJailConfig_Name |
| } |
| |
| func (x *NsJailConfig) GetDescription() []string { |
| if x != nil { |
| return x.Description |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetMode() Mode { |
| if x != nil && x.Mode != nil { |
| return *x.Mode |
| } |
| return Default_NsJailConfig_Mode |
| } |
| |
| // Deprecated: Do not use. |
| func (x *NsJailConfig) GetChrootDir() string { |
| if x != nil && x.ChrootDir != nil { |
| return *x.ChrootDir |
| } |
| return "" |
| } |
| |
| // Deprecated: Do not use. |
| func (x *NsJailConfig) GetIsRootRw() bool { |
| if x != nil && x.IsRootRw != nil { |
| return *x.IsRootRw |
| } |
| return Default_NsJailConfig_IsRootRw |
| } |
| |
| func (x *NsJailConfig) GetHostname() string { |
| if x != nil && x.Hostname != nil { |
| return *x.Hostname |
| } |
| return Default_NsJailConfig_Hostname |
| } |
| |
| func (x *NsJailConfig) GetCwd() string { |
| if x != nil && x.Cwd != nil { |
| return *x.Cwd |
| } |
| return Default_NsJailConfig_Cwd |
| } |
| |
| func (x *NsJailConfig) GetPort() uint32 { |
| if x != nil && x.Port != nil { |
| return *x.Port |
| } |
| return Default_NsJailConfig_Port |
| } |
| |
| func (x *NsJailConfig) GetBindhost() string { |
| if x != nil && x.Bindhost != nil { |
| return *x.Bindhost |
| } |
| return Default_NsJailConfig_Bindhost |
| } |
| |
| func (x *NsJailConfig) GetMaxConnsPerIp() uint32 { |
| if x != nil && x.MaxConnsPerIp != nil { |
| return *x.MaxConnsPerIp |
| } |
| return Default_NsJailConfig_MaxConnsPerIp |
| } |
| |
| func (x *NsJailConfig) GetTimeLimit() uint32 { |
| if x != nil && x.TimeLimit != nil { |
| return *x.TimeLimit |
| } |
| return Default_NsJailConfig_TimeLimit |
| } |
| |
| func (x *NsJailConfig) GetDaemon() bool { |
| if x != nil && x.Daemon != nil { |
| return *x.Daemon |
| } |
| return Default_NsJailConfig_Daemon |
| } |
| |
| func (x *NsJailConfig) GetMaxCpus() uint32 { |
| if x != nil && x.MaxCpus != nil { |
| return *x.MaxCpus |
| } |
| return Default_NsJailConfig_MaxCpus |
| } |
| |
| func (x *NsJailConfig) GetLogFd() int32 { |
| if x != nil && x.LogFd != nil { |
| return *x.LogFd |
| } |
| return 0 |
| } |
| |
| func (x *NsJailConfig) GetLogFile() string { |
| if x != nil && x.LogFile != nil { |
| return *x.LogFile |
| } |
| return "" |
| } |
| |
| func (x *NsJailConfig) GetLogLevel() LogLevel { |
| if x != nil && x.LogLevel != nil { |
| return *x.LogLevel |
| } |
| return LogLevel_DEBUG |
| } |
| |
| func (x *NsJailConfig) GetKeepEnv() bool { |
| if x != nil && x.KeepEnv != nil { |
| return *x.KeepEnv |
| } |
| return Default_NsJailConfig_KeepEnv |
| } |
| |
| func (x *NsJailConfig) GetEnvar() []string { |
| if x != nil { |
| return x.Envar |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetKeepCaps() bool { |
| if x != nil && x.KeepCaps != nil { |
| return *x.KeepCaps |
| } |
| return Default_NsJailConfig_KeepCaps |
| } |
| |
| func (x *NsJailConfig) GetCap() []string { |
| if x != nil { |
| return x.Cap |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetSilent() bool { |
| if x != nil && x.Silent != nil { |
| return *x.Silent |
| } |
| return Default_NsJailConfig_Silent |
| } |
| |
| func (x *NsJailConfig) GetSkipSetsid() bool { |
| if x != nil && x.SkipSetsid != nil { |
| return *x.SkipSetsid |
| } |
| return Default_NsJailConfig_SkipSetsid |
| } |
| |
| func (x *NsJailConfig) GetStderrToNull() bool { |
| if x != nil && x.StderrToNull != nil { |
| return *x.StderrToNull |
| } |
| return Default_NsJailConfig_StderrToNull |
| } |
| |
| func (x *NsJailConfig) GetPassFd() []int32 { |
| if x != nil { |
| return x.PassFd |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetDisableNoNewPrivs() bool { |
| if x != nil && x.DisableNoNewPrivs != nil { |
| return *x.DisableNoNewPrivs |
| } |
| return Default_NsJailConfig_DisableNoNewPrivs |
| } |
| |
| func (x *NsJailConfig) GetRlimitAs() uint64 { |
| if x != nil && x.RlimitAs != nil { |
| return *x.RlimitAs |
| } |
| return Default_NsJailConfig_RlimitAs |
| } |
| |
| func (x *NsJailConfig) GetRlimitAsType() RLimit { |
| if x != nil && x.RlimitAsType != nil { |
| return *x.RlimitAsType |
| } |
| return Default_NsJailConfig_RlimitAsType |
| } |
| |
| func (x *NsJailConfig) GetRlimitCore() uint64 { |
| if x != nil && x.RlimitCore != nil { |
| return *x.RlimitCore |
| } |
| return Default_NsJailConfig_RlimitCore |
| } |
| |
| func (x *NsJailConfig) GetRlimitCoreType() RLimit { |
| if x != nil && x.RlimitCoreType != nil { |
| return *x.RlimitCoreType |
| } |
| return Default_NsJailConfig_RlimitCoreType |
| } |
| |
| func (x *NsJailConfig) GetRlimitCpu() uint64 { |
| if x != nil && x.RlimitCpu != nil { |
| return *x.RlimitCpu |
| } |
| return Default_NsJailConfig_RlimitCpu |
| } |
| |
| func (x *NsJailConfig) GetRlimitCpuType() RLimit { |
| if x != nil && x.RlimitCpuType != nil { |
| return *x.RlimitCpuType |
| } |
| return Default_NsJailConfig_RlimitCpuType |
| } |
| |
| func (x *NsJailConfig) GetRlimitFsize() uint64 { |
| if x != nil && x.RlimitFsize != nil { |
| return *x.RlimitFsize |
| } |
| return Default_NsJailConfig_RlimitFsize |
| } |
| |
| func (x *NsJailConfig) GetRlimitFsizeType() RLimit { |
| if x != nil && x.RlimitFsizeType != nil { |
| return *x.RlimitFsizeType |
| } |
| return Default_NsJailConfig_RlimitFsizeType |
| } |
| |
| func (x *NsJailConfig) GetRlimitNofile() uint64 { |
| if x != nil && x.RlimitNofile != nil { |
| return *x.RlimitNofile |
| } |
| return Default_NsJailConfig_RlimitNofile |
| } |
| |
| func (x *NsJailConfig) GetRlimitNofileType() RLimit { |
| if x != nil && x.RlimitNofileType != nil { |
| return *x.RlimitNofileType |
| } |
| return Default_NsJailConfig_RlimitNofileType |
| } |
| |
| func (x *NsJailConfig) GetRlimitNproc() uint64 { |
| if x != nil && x.RlimitNproc != nil { |
| return *x.RlimitNproc |
| } |
| return Default_NsJailConfig_RlimitNproc |
| } |
| |
| func (x *NsJailConfig) GetRlimitNprocType() RLimit { |
| if x != nil && x.RlimitNprocType != nil { |
| return *x.RlimitNprocType |
| } |
| return Default_NsJailConfig_RlimitNprocType |
| } |
| |
| func (x *NsJailConfig) GetRlimitStack() uint64 { |
| if x != nil && x.RlimitStack != nil { |
| return *x.RlimitStack |
| } |
| return Default_NsJailConfig_RlimitStack |
| } |
| |
| func (x *NsJailConfig) GetRlimitStackType() RLimit { |
| if x != nil && x.RlimitStackType != nil { |
| return *x.RlimitStackType |
| } |
| return Default_NsJailConfig_RlimitStackType |
| } |
| |
| func (x *NsJailConfig) GetPersonaAddrCompatLayout() bool { |
| if x != nil && x.PersonaAddrCompatLayout != nil { |
| return *x.PersonaAddrCompatLayout |
| } |
| return Default_NsJailConfig_PersonaAddrCompatLayout |
| } |
| |
| func (x *NsJailConfig) GetPersonaMmapPageZero() bool { |
| if x != nil && x.PersonaMmapPageZero != nil { |
| return *x.PersonaMmapPageZero |
| } |
| return Default_NsJailConfig_PersonaMmapPageZero |
| } |
| |
| func (x *NsJailConfig) GetPersonaReadImpliesExec() bool { |
| if x != nil && x.PersonaReadImpliesExec != nil { |
| return *x.PersonaReadImpliesExec |
| } |
| return Default_NsJailConfig_PersonaReadImpliesExec |
| } |
| |
| func (x *NsJailConfig) GetPersonaAddrLimit_3Gb() bool { |
| if x != nil && x.PersonaAddrLimit_3Gb != nil { |
| return *x.PersonaAddrLimit_3Gb |
| } |
| return Default_NsJailConfig_PersonaAddrLimit_3Gb |
| } |
| |
| func (x *NsJailConfig) GetPersonaAddrNoRandomize() bool { |
| if x != nil && x.PersonaAddrNoRandomize != nil { |
| return *x.PersonaAddrNoRandomize |
| } |
| return Default_NsJailConfig_PersonaAddrNoRandomize |
| } |
| |
| func (x *NsJailConfig) GetCloneNewnet() bool { |
| if x != nil && x.CloneNewnet != nil { |
| return *x.CloneNewnet |
| } |
| return Default_NsJailConfig_CloneNewnet |
| } |
| |
| func (x *NsJailConfig) GetCloneNewuser() bool { |
| if x != nil && x.CloneNewuser != nil { |
| return *x.CloneNewuser |
| } |
| return Default_NsJailConfig_CloneNewuser |
| } |
| |
| func (x *NsJailConfig) GetCloneNewns() bool { |
| if x != nil && x.CloneNewns != nil { |
| return *x.CloneNewns |
| } |
| return Default_NsJailConfig_CloneNewns |
| } |
| |
| func (x *NsJailConfig) GetCloneNewpid() bool { |
| if x != nil && x.CloneNewpid != nil { |
| return *x.CloneNewpid |
| } |
| return Default_NsJailConfig_CloneNewpid |
| } |
| |
| func (x *NsJailConfig) GetCloneNewipc() bool { |
| if x != nil && x.CloneNewipc != nil { |
| return *x.CloneNewipc |
| } |
| return Default_NsJailConfig_CloneNewipc |
| } |
| |
| func (x *NsJailConfig) GetCloneNewuts() bool { |
| if x != nil && x.CloneNewuts != nil { |
| return *x.CloneNewuts |
| } |
| return Default_NsJailConfig_CloneNewuts |
| } |
| |
| func (x *NsJailConfig) GetCloneNewcgroup() bool { |
| if x != nil && x.CloneNewcgroup != nil { |
| return *x.CloneNewcgroup |
| } |
| return Default_NsJailConfig_CloneNewcgroup |
| } |
| |
| func (x *NsJailConfig) GetUidmap() []*IdMap { |
| if x != nil { |
| return x.Uidmap |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetGidmap() []*IdMap { |
| if x != nil { |
| return x.Gidmap |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetMountProc() bool { |
| if x != nil && x.MountProc != nil { |
| return *x.MountProc |
| } |
| return Default_NsJailConfig_MountProc |
| } |
| |
| func (x *NsJailConfig) GetMount() []*MountPt { |
| if x != nil { |
| return x.Mount |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetSeccompPolicyFile() string { |
| if x != nil && x.SeccompPolicyFile != nil { |
| return *x.SeccompPolicyFile |
| } |
| return "" |
| } |
| |
| func (x *NsJailConfig) GetSeccompString() []string { |
| if x != nil { |
| return x.SeccompString |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetSeccompLog() bool { |
| if x != nil && x.SeccompLog != nil { |
| return *x.SeccompLog |
| } |
| return Default_NsJailConfig_SeccompLog |
| } |
| |
| func (x *NsJailConfig) GetCgroupMemMax() uint64 { |
| if x != nil && x.CgroupMemMax != nil { |
| return *x.CgroupMemMax |
| } |
| return Default_NsJailConfig_CgroupMemMax |
| } |
| |
| func (x *NsJailConfig) GetCgroupMemMount() string { |
| if x != nil && x.CgroupMemMount != nil { |
| return *x.CgroupMemMount |
| } |
| return Default_NsJailConfig_CgroupMemMount |
| } |
| |
| func (x *NsJailConfig) GetCgroupMemParent() string { |
| if x != nil && x.CgroupMemParent != nil { |
| return *x.CgroupMemParent |
| } |
| return Default_NsJailConfig_CgroupMemParent |
| } |
| |
| func (x *NsJailConfig) GetCgroupPidsMax() uint64 { |
| if x != nil && x.CgroupPidsMax != nil { |
| return *x.CgroupPidsMax |
| } |
| return Default_NsJailConfig_CgroupPidsMax |
| } |
| |
| func (x *NsJailConfig) GetCgroupPidsMount() string { |
| if x != nil && x.CgroupPidsMount != nil { |
| return *x.CgroupPidsMount |
| } |
| return Default_NsJailConfig_CgroupPidsMount |
| } |
| |
| func (x *NsJailConfig) GetCgroupPidsParent() string { |
| if x != nil && x.CgroupPidsParent != nil { |
| return *x.CgroupPidsParent |
| } |
| return Default_NsJailConfig_CgroupPidsParent |
| } |
| |
| func (x *NsJailConfig) GetCgroupNetClsClassid() uint32 { |
| if x != nil && x.CgroupNetClsClassid != nil { |
| return *x.CgroupNetClsClassid |
| } |
| return Default_NsJailConfig_CgroupNetClsClassid |
| } |
| |
| func (x *NsJailConfig) GetCgroupNetClsMount() string { |
| if x != nil && x.CgroupNetClsMount != nil { |
| return *x.CgroupNetClsMount |
| } |
| return Default_NsJailConfig_CgroupNetClsMount |
| } |
| |
| func (x *NsJailConfig) GetCgroupNetClsParent() string { |
| if x != nil && x.CgroupNetClsParent != nil { |
| return *x.CgroupNetClsParent |
| } |
| return Default_NsJailConfig_CgroupNetClsParent |
| } |
| |
| func (x *NsJailConfig) GetCgroupCpuMsPerSec() uint32 { |
| if x != nil && x.CgroupCpuMsPerSec != nil { |
| return *x.CgroupCpuMsPerSec |
| } |
| return Default_NsJailConfig_CgroupCpuMsPerSec |
| } |
| |
| func (x *NsJailConfig) GetCgroupCpuMount() string { |
| if x != nil && x.CgroupCpuMount != nil { |
| return *x.CgroupCpuMount |
| } |
| return Default_NsJailConfig_CgroupCpuMount |
| } |
| |
| func (x *NsJailConfig) GetCgroupCpuParent() string { |
| if x != nil && x.CgroupCpuParent != nil { |
| return *x.CgroupCpuParent |
| } |
| return Default_NsJailConfig_CgroupCpuParent |
| } |
| |
| func (x *NsJailConfig) GetIfaceNoLo() bool { |
| if x != nil && x.IfaceNoLo != nil { |
| return *x.IfaceNoLo |
| } |
| return Default_NsJailConfig_IfaceNoLo |
| } |
| |
| func (x *NsJailConfig) GetIfaceOwn() []string { |
| if x != nil { |
| return x.IfaceOwn |
| } |
| return nil |
| } |
| |
| func (x *NsJailConfig) GetMacvlanIface() string { |
| if x != nil && x.MacvlanIface != nil { |
| return *x.MacvlanIface |
| } |
| return "" |
| } |
| |
| func (x *NsJailConfig) GetMacvlanVsIp() string { |
| if x != nil && x.MacvlanVsIp != nil { |
| return *x.MacvlanVsIp |
| } |
| return Default_NsJailConfig_MacvlanVsIp |
| } |
| |
| func (x *NsJailConfig) GetMacvlanVsNm() string { |
| if x != nil && x.MacvlanVsNm != nil { |
| return *x.MacvlanVsNm |
| } |
| return Default_NsJailConfig_MacvlanVsNm |
| } |
| |
| func (x *NsJailConfig) GetMacvlanVsGw() string { |
| if x != nil && x.MacvlanVsGw != nil { |
| return *x.MacvlanVsGw |
| } |
| return Default_NsJailConfig_MacvlanVsGw |
| } |
| |
| func (x *NsJailConfig) GetMacvlanVsMa() string { |
| if x != nil && x.MacvlanVsMa != nil { |
| return *x.MacvlanVsMa |
| } |
| return Default_NsJailConfig_MacvlanVsMa |
| } |
| |
| func (x *NsJailConfig) GetExecBin() *Exe { |
| if x != nil { |
| return x.ExecBin |
| } |
| return nil |
| } |
| |
| var File_nsjail_config_proto protoreflect.FileDescriptor |
| |
| var file_nsjail_config_proto_rawDesc = []byte{ |
| 0x0a, 0x13, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x22, 0x8a, 0x01, |
| 0x0a, 0x05, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x69, 0x64, |
| 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x08, 0x69, 0x6e, |
| 0x73, 0x69, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, |
| 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6f, 0x75, |
| 0x74, 0x73, 0x69, 0x64, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, |
| 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x31, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, |
| 0x12, 0x28, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x69, 0x64, 0x6d, 0x61, 0x70, |
| 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0b, 0x75, |
| 0x73, 0x65, 0x4e, 0x65, 0x77, 0x69, 0x64, 0x6d, 0x61, 0x70, 0x22, 0xcd, 0x03, 0x0a, 0x07, 0x4d, |
| 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x03, 0x73, 0x72, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, |
| 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x09, 0x3a, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x53, 0x72, 0x63, 0x45, |
| 0x6e, 0x76, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x72, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, |
| 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x00, 0x52, 0x0a, 0x73, 0x72, 0x63, 0x43, 0x6f, |
| 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x64, 0x73, 0x74, 0x18, 0x04, 0x20, 0x02, |
| 0x28, 0x09, 0x3a, 0x00, 0x52, 0x03, 0x64, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x65, |
| 0x66, 0x69, 0x78, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x09, 0x3a, 0x00, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x73, 0x74, 0x45, 0x6e, |
| 0x76, 0x12, 0x18, 0x0a, 0x06, 0x66, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, |
| 0x09, 0x3a, 0x00, 0x52, 0x06, 0x66, 0x73, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x07, 0x6f, |
| 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x07, |
| 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x62, 0x69, |
| 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, |
| 0x06, 0x69, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x12, 0x15, 0x0a, 0x02, 0x72, 0x77, 0x18, 0x09, 0x20, |
| 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x02, 0x72, 0x77, 0x12, 0x15, |
| 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, |
| 0x69, 0x73, 0x44, 0x69, 0x72, 0x12, 0x22, 0x0a, 0x09, 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, |
| 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x09, |
| 0x6d, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0a, 0x69, 0x73, 0x5f, |
| 0x73, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, |
| 0x61, 0x6c, 0x73, 0x65, 0x52, 0x09, 0x69, 0x73, 0x53, 0x79, 0x6d, 0x6c, 0x69, 0x6e, 0x6b, 0x12, |
| 0x1d, 0x0a, 0x06, 0x6e, 0x6f, 0x73, 0x75, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x3a, |
| 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x06, 0x6e, 0x6f, 0x73, 0x75, 0x69, 0x64, 0x12, 0x1b, |
| 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, |
| 0x61, 0x6c, 0x73, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x76, 0x12, 0x1d, 0x0a, 0x06, 0x6e, |
| 0x6f, 0x65, 0x78, 0x65, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, |
| 0x73, 0x65, 0x52, 0x06, 0x6e, 0x6f, 0x65, 0x78, 0x65, 0x63, 0x22, 0x5f, 0x0a, 0x03, 0x45, 0x78, |
| 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, |
| 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x18, 0x02, 0x20, 0x03, |
| 0x28, 0x09, 0x52, 0x03, 0x61, 0x72, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x30, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x30, 0x12, 0x1e, 0x0a, 0x07, 0x65, |
| 0x78, 0x65, 0x63, 0x5f, 0x66, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, |
| 0x6c, 0x73, 0x65, 0x52, 0x06, 0x65, 0x78, 0x65, 0x63, 0x46, 0x64, 0x22, 0x90, 0x1b, 0x0a, 0x0c, |
| 0x4e, 0x73, 0x4a, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x04, 0x6e, 0x61, |
| 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, |
| 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, |
| 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x0e, 0x32, 0x0c, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x65, |
| 0x3a, 0x04, 0x4f, 0x4e, 0x43, 0x45, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0a, |
| 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, |
| 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x63, 0x68, 0x72, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x72, 0x12, |
| 0x27, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x72, 0x77, 0x18, 0x05, 0x20, |
| 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, |
| 0x69, 0x73, 0x52, 0x6f, 0x6f, 0x74, 0x52, 0x77, 0x12, 0x22, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x06, 0x4e, 0x53, 0x4a, 0x41, |
| 0x49, 0x4c, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x03, |
| 0x63, 0x77, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x01, 0x2f, 0x52, 0x03, 0x63, 0x77, |
| 0x64, 0x12, 0x15, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x3a, |
| 0x01, 0x30, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, |
| 0x68, 0x6f, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x02, 0x3a, 0x3a, 0x52, 0x08, |
| 0x62, 0x69, 0x6e, 0x64, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, |
| 0x63, 0x6f, 0x6e, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0c, 0x20, 0x01, |
| 0x28, 0x0d, 0x3a, 0x01, 0x30, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x73, 0x50, |
| 0x65, 0x72, 0x49, 0x70, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x69, 0x6d, |
| 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x03, 0x36, 0x30, 0x30, 0x52, 0x09, 0x74, |
| 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x06, 0x64, 0x61, 0x65, 0x6d, |
| 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, |
| 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x63, |
| 0x70, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x30, 0x52, 0x07, 0x6d, 0x61, |
| 0x78, 0x43, 0x70, 0x75, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x64, 0x18, |
| 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x46, 0x64, 0x12, 0x19, 0x0a, 0x08, |
| 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, |
| 0x6c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, |
| 0x65, 0x76, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6e, 0x73, 0x6a, |
| 0x61, 0x69, 0x6c, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x08, 0x6c, 0x6f, |
| 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x65, |
| 0x6e, 0x76, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, |
| 0x07, 0x6b, 0x65, 0x65, 0x70, 0x45, 0x6e, 0x76, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x76, 0x61, |
| 0x72, 0x18, 0x14, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x76, 0x61, 0x72, 0x12, 0x22, |
| 0x0a, 0x09, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x63, 0x61, 0x70, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, |
| 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x65, 0x70, 0x43, 0x61, |
| 0x70, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x61, 0x70, 0x18, 0x16, 0x20, 0x03, 0x28, 0x09, 0x52, |
| 0x03, 0x63, 0x61, 0x70, 0x12, 0x1d, 0x0a, 0x06, 0x73, 0x69, 0x6c, 0x65, 0x6e, 0x74, 0x18, 0x17, |
| 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x06, 0x73, 0x69, 0x6c, |
| 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x73, |
| 0x69, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, |
| 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x53, 0x65, 0x74, 0x73, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x0e, 0x73, |
| 0x74, 0x64, 0x65, 0x72, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x19, 0x20, |
| 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x0c, 0x73, 0x74, 0x64, 0x65, |
| 0x72, 0x72, 0x54, 0x6f, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, |
| 0x5f, 0x66, 0x64, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x73, 0x73, 0x46, |
| 0x64, 0x12, 0x36, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, |
| 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x3a, |
| 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, |
| 0x6f, 0x4e, 0x65, 0x77, 0x50, 0x72, 0x69, 0x76, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x6c, 0x69, |
| 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x03, 0x35, 0x31, |
| 0x32, 0x52, 0x08, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x72, |
| 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1d, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x4c, 0x69, |
| 0x6d, 0x69, 0x74, 0x3a, 0x05, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x52, 0x0c, 0x72, 0x6c, 0x69, 0x6d, |
| 0x69, 0x74, 0x41, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x72, 0x6c, 0x69, 0x6d, |
| 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x30, |
| 0x52, 0x0a, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x10, |
| 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, |
| 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, |
| 0x52, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x05, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x52, 0x0e, 0x72, |
| 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, |
| 0x0a, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x18, 0x20, 0x20, 0x01, 0x28, |
| 0x04, 0x3a, 0x03, 0x36, 0x30, 0x30, 0x52, 0x09, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x70, |
| 0x75, 0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x5f, |
| 0x74, 0x79, 0x70, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6e, 0x73, 0x6a, |
| 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x05, 0x56, 0x41, 0x4c, 0x55, |
| 0x45, 0x52, 0x0d, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x43, 0x70, 0x75, 0x54, 0x79, 0x70, 0x65, |
| 0x12, 0x24, 0x0a, 0x0c, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x73, 0x69, 0x7a, 0x65, |
| 0x18, 0x22, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x31, 0x52, 0x0b, 0x72, 0x6c, 0x69, 0x6d, 0x69, |
| 0x74, 0x46, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, |
| 0x5f, 0x66, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, |
| 0x0e, 0x32, 0x0e, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x4c, 0x69, 0x6d, 0x69, |
| 0x74, 0x3a, 0x05, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x52, 0x0f, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, |
| 0x46, 0x73, 0x69, 0x7a, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x6c, 0x69, |
| 0x6d, 0x69, 0x74, 0x5f, 0x6e, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x04, |
| 0x3a, 0x02, 0x33, 0x32, 0x52, 0x0c, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x66, 0x69, |
| 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x12, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6e, 0x6f, 0x66, |
| 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, |
| 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x05, |
| 0x56, 0x41, 0x4c, 0x55, 0x45, 0x52, 0x10, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x6f, 0x66, |
| 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0c, 0x72, 0x6c, 0x69, 0x6d, 0x69, |
| 0x74, 0x5f, 0x6e, 0x70, 0x72, 0x6f, 0x63, 0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x04, 0x31, |
| 0x30, 0x32, 0x34, 0x52, 0x0b, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x70, 0x72, 0x6f, 0x63, |
| 0x12, 0x40, 0x0a, 0x11, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6e, 0x70, 0x72, 0x6f, 0x63, |
| 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6e, 0x73, |
| 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x52, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x04, 0x53, 0x4f, 0x46, |
| 0x54, 0x52, 0x0f, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x70, 0x72, 0x6f, 0x63, 0x54, 0x79, |
| 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, |
| 0x63, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x07, 0x31, 0x30, 0x34, 0x38, 0x35, 0x37, |
| 0x36, 0x52, 0x0b, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x40, |
| 0x0a, 0x11, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, |
| 0x79, 0x70, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x6e, 0x73, 0x6a, 0x61, |
| 0x69, 0x6c, 0x2e, 0x52, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x04, 0x53, 0x4f, 0x46, 0x54, 0x52, |
| 0x0f, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, |
| 0x12, 0x42, 0x0a, 0x1a, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, |
| 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x2a, |
| 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x17, 0x70, 0x65, 0x72, |
| 0x73, 0x6f, 0x6e, 0x61, 0x41, 0x64, 0x64, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x4c, 0x61, |
| 0x79, 0x6f, 0x75, 0x74, 0x12, 0x3a, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, |
| 0x6d, 0x6d, 0x61, 0x70, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x18, 0x2b, |
| 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x70, 0x65, 0x72, |
| 0x73, 0x6f, 0x6e, 0x61, 0x4d, 0x6d, 0x61, 0x70, 0x50, 0x61, 0x67, 0x65, 0x5a, 0x65, 0x72, 0x6f, |
| 0x12, 0x40, 0x0a, 0x19, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x72, 0x65, 0x61, 0x64, |
| 0x5f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x18, 0x2c, 0x20, |
| 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, |
| 0x6f, 0x6e, 0x61, 0x52, 0x65, 0x61, 0x64, 0x49, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x45, 0x78, |
| 0x65, 0x63, 0x12, 0x3a, 0x0a, 0x16, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x61, 0x64, |
| 0x64, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x33, 0x67, 0x62, 0x18, 0x2d, 0x20, 0x01, |
| 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x13, 0x70, 0x65, 0x72, 0x73, 0x6f, |
| 0x6e, 0x61, 0x41, 0x64, 0x64, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x33, 0x67, 0x62, 0x12, 0x40, |
| 0x0a, 0x19, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x6e, |
| 0x6f, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, |
| 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, |
| 0x61, 0x41, 0x64, 0x64, 0x72, 0x4e, 0x6f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, |
| 0x12, 0x27, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x6e, 0x65, 0x74, |
| 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, |
| 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x6e, 0x65, 0x74, 0x12, 0x29, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, |
| 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x75, 0x73, 0x65, 0x72, 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, |
| 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x77, |
| 0x75, 0x73, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x65, |
| 0x77, 0x6e, 0x73, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, |
| 0x0a, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0c, 0x63, |
| 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x70, 0x69, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, |
| 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, |
| 0x77, 0x70, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x65, |
| 0x77, 0x69, 0x70, 0x63, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, |
| 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x69, 0x70, 0x63, 0x12, 0x27, 0x0a, |
| 0x0c, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, 0x6e, 0x65, 0x77, 0x75, 0x74, 0x73, 0x18, 0x34, 0x20, |
| 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x6e, 0x65, |
| 0x4e, 0x65, 0x77, 0x75, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x5f, |
| 0x6e, 0x65, 0x77, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x35, 0x20, 0x01, 0x28, 0x08, 0x3a, |
| 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x4e, 0x65, 0x77, 0x63, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x0a, 0x06, 0x75, 0x69, 0x64, 0x6d, 0x61, 0x70, 0x18, |
| 0x36, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x49, |
| 0x64, 0x4d, 0x61, 0x70, 0x52, 0x06, 0x75, 0x69, 0x64, 0x6d, 0x61, 0x70, 0x12, 0x25, 0x0a, 0x06, |
| 0x67, 0x69, 0x64, 0x6d, 0x61, 0x70, 0x18, 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6e, |
| 0x73, 0x6a, 0x61, 0x69, 0x6c, 0x2e, 0x49, 0x64, 0x4d, 0x61, 0x70, 0x52, 0x06, 0x67, 0x69, 0x64, |
| 0x6d, 0x61, 0x70, 0x12, 0x24, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x6f, |
| 0x63, 0x18, 0x38, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x09, |
| 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x12, 0x25, 0x0a, 0x05, 0x6d, 0x6f, 0x75, |
| 0x6e, 0x74, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, |
| 0x6c, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x74, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, |
| 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, |
| 0x63, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, |
| 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x6c, 0x65, |
| 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, |
| 0x6e, 0x67, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, |
| 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0b, 0x73, 0x65, 0x63, 0x63, 0x6f, |
| 0x6d, 0x70, 0x5f, 0x6c, 0x6f, 0x67, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, |
| 0x6c, 0x73, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x4c, 0x6f, 0x67, 0x12, |
| 0x27, 0x0a, 0x0e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x6d, 0x5f, 0x6d, 0x61, |
| 0x78, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x30, 0x52, 0x0c, 0x63, 0x67, 0x72, 0x6f, |
| 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x4d, 0x61, 0x78, 0x12, 0x3f, 0x0a, 0x10, 0x63, 0x67, 0x72, 0x6f, |
| 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x6d, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x3e, 0x20, 0x01, |
| 0x28, 0x09, 0x3a, 0x15, 0x2f, 0x73, 0x79, 0x73, 0x2f, 0x66, 0x73, 0x2f, 0x63, 0x67, 0x72, 0x6f, |
| 0x75, 0x70, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x67, 0x72, 0x6f, 0x75, |
| 0x70, 0x4d, 0x65, 0x6d, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x11, 0x63, 0x67, 0x72, |
| 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x65, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x3f, |
| 0x20, 0x01, 0x28, 0x09, 0x3a, 0x06, 0x4e, 0x53, 0x4a, 0x41, 0x49, 0x4c, 0x52, 0x0f, 0x63, 0x67, |
| 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, |
| 0x0f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x69, 0x64, 0x73, 0x5f, 0x6d, 0x61, 0x78, |
| 0x18, 0x40, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x30, 0x52, 0x0d, 0x63, 0x67, 0x72, 0x6f, 0x75, |
| 0x70, 0x50, 0x69, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x3f, 0x0a, 0x11, 0x63, 0x67, 0x72, 0x6f, |
| 0x75, 0x70, 0x5f, 0x70, 0x69, 0x64, 0x73, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x41, 0x20, |
| 0x01, 0x28, 0x09, 0x3a, 0x13, 0x2f, 0x73, 0x79, 0x73, 0x2f, 0x66, 0x73, 0x2f, 0x63, 0x67, 0x72, |
| 0x6f, 0x75, 0x70, 0x2f, 0x70, 0x69, 0x64, 0x73, 0x52, 0x0f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, |
| 0x50, 0x69, 0x64, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x12, 0x63, 0x67, 0x72, |
| 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x69, 0x64, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, |
| 0x42, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x06, 0x4e, 0x53, 0x4a, 0x41, 0x49, 0x4c, 0x52, 0x10, 0x63, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x69, 0x64, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, |
| 0x36, 0x0a, 0x16, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x63, 0x6c, |
| 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x64, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0d, 0x3a, |
| 0x01, 0x30, 0x52, 0x13, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x74, 0x43, 0x6c, 0x73, |
| 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x14, 0x63, 0x67, 0x72, 0x6f, 0x75, |
| 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x73, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, |
| 0x44, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x16, 0x2f, 0x73, 0x79, 0x73, 0x2f, 0x66, 0x73, 0x2f, 0x63, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x6e, 0x65, 0x74, 0x5f, 0x63, 0x6c, 0x73, 0x52, 0x11, 0x63, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x74, 0x43, 0x6c, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, |
| 0x12, 0x39, 0x0a, 0x15, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x5f, 0x63, |
| 0x6c, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x45, 0x20, 0x01, 0x28, 0x09, 0x3a, |
| 0x06, 0x4e, 0x53, 0x4a, 0x41, 0x49, 0x4c, 0x52, 0x12, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4e, |
| 0x65, 0x74, 0x43, 0x6c, 0x73, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x15, 0x63, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, 0x73, 0x5f, 0x70, 0x65, 0x72, |
| 0x5f, 0x73, 0x65, 0x63, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x01, 0x30, 0x52, 0x11, 0x63, |
| 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x70, 0x75, 0x4d, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, |
| 0x12, 0x3c, 0x0a, 0x10, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6d, |
| 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x12, 0x2f, 0x73, 0x79, 0x73, |
| 0x2f, 0x66, 0x73, 0x2f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x63, 0x70, 0x75, 0x52, 0x0e, |
| 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x70, 0x75, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, |
| 0x0a, 0x11, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x18, 0x48, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x06, 0x4e, 0x53, 0x4a, 0x41, 0x49, |
| 0x4c, 0x52, 0x0f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x70, 0x75, 0x50, 0x61, 0x72, 0x65, |
| 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x5f, 0x6c, |
| 0x6f, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x09, |
| 0x69, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x6f, 0x4c, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x66, 0x61, |
| 0x63, 0x65, 0x5f, 0x6f, 0x77, 0x6e, 0x18, 0x4a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x69, 0x66, |
| 0x61, 0x63, 0x65, 0x4f, 0x77, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, |
| 0x6e, 0x5f, 0x69, 0x66, 0x61, 0x63, 0x65, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, |
| 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x49, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x0d, 0x6d, |
| 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x76, 0x73, 0x5f, 0x69, 0x70, 0x18, 0x4c, 0x20, 0x01, |
| 0x28, 0x09, 0x3a, 0x0b, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x30, 0x2e, 0x32, 0x52, |
| 0x0b, 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x56, 0x73, 0x49, 0x70, 0x12, 0x31, 0x0a, 0x0d, |
| 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x76, 0x73, 0x5f, 0x6e, 0x6d, 0x18, 0x4d, 0x20, |
| 0x01, 0x28, 0x09, 0x3a, 0x0d, 0x32, 0x35, 0x35, 0x2e, 0x32, 0x35, 0x35, 0x2e, 0x32, 0x35, 0x35, |
| 0x2e, 0x30, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x56, 0x73, 0x4e, 0x6d, 0x12, |
| 0x2f, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x76, 0x73, 0x5f, 0x67, 0x77, |
| 0x18, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x0b, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, |
| 0x30, 0x2e, 0x31, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x56, 0x73, 0x47, 0x77, |
| 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x76, 0x73, 0x5f, 0x6d, |
| 0x61, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x76, 0x6c, |
| 0x61, 0x6e, 0x56, 0x73, 0x4d, 0x61, 0x12, 0x26, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x62, |
| 0x69, 0x6e, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6e, 0x73, 0x6a, 0x61, 0x69, |
| 0x6c, 0x2e, 0x45, 0x78, 0x65, 0x52, 0x07, 0x65, 0x78, 0x65, 0x63, 0x42, 0x69, 0x6e, 0x2a, 0x33, |
| 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x53, 0x54, 0x45, 0x4e, |
| 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x4e, 0x43, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, |
| 0x52, 0x45, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58, 0x45, 0x43, 0x56, |
| 0x45, 0x10, 0x03, 0x2a, 0x42, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, |
| 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, |
| 0x46, 0x4f, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, |
| 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, |
| 0x46, 0x41, 0x54, 0x41, 0x4c, 0x10, 0x04, 0x2a, 0x30, 0x0a, 0x06, 0x52, 0x4c, 0x69, 0x6d, 0x69, |
| 0x74, 0x12, 0x09, 0x0a, 0x05, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, |
| 0x53, 0x4f, 0x46, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x41, 0x52, 0x44, 0x10, 0x02, |
| 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x46, 0x10, 0x03, 0x42, 0x2a, 0x5a, 0x28, 0x67, 0x6f, 0x2e, |
| 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x6d, |
| 0x61, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, |
| 0x73, 0x6a, 0x61, 0x69, 0x6c, |
| } |
| |
| var ( |
| file_nsjail_config_proto_rawDescOnce sync.Once |
| file_nsjail_config_proto_rawDescData = file_nsjail_config_proto_rawDesc |
| ) |
| |
| func file_nsjail_config_proto_rawDescGZIP() []byte { |
| file_nsjail_config_proto_rawDescOnce.Do(func() { |
| file_nsjail_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_nsjail_config_proto_rawDescData) |
| }) |
| return file_nsjail_config_proto_rawDescData |
| } |
| |
| var file_nsjail_config_proto_enumTypes = make([]protoimpl.EnumInfo, 3) |
| var file_nsjail_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4) |
| var file_nsjail_config_proto_goTypes = []interface{}{ |
| (Mode)(0), // 0: nsjail.Mode |
| (LogLevel)(0), // 1: nsjail.LogLevel |
| (RLimit)(0), // 2: nsjail.RLimit |
| (*IdMap)(nil), // 3: nsjail.IdMap |
| (*MountPt)(nil), // 4: nsjail.MountPt |
| (*Exe)(nil), // 5: nsjail.Exe |
| (*NsJailConfig)(nil), // 6: nsjail.NsJailConfig |
| } |
| var file_nsjail_config_proto_depIdxs = []int32{ |
| 0, // 0: nsjail.NsJailConfig.mode:type_name -> nsjail.Mode |
| 1, // 1: nsjail.NsJailConfig.log_level:type_name -> nsjail.LogLevel |
| 2, // 2: nsjail.NsJailConfig.rlimit_as_type:type_name -> nsjail.RLimit |
| 2, // 3: nsjail.NsJailConfig.rlimit_core_type:type_name -> nsjail.RLimit |
| 2, // 4: nsjail.NsJailConfig.rlimit_cpu_type:type_name -> nsjail.RLimit |
| 2, // 5: nsjail.NsJailConfig.rlimit_fsize_type:type_name -> nsjail.RLimit |
| 2, // 6: nsjail.NsJailConfig.rlimit_nofile_type:type_name -> nsjail.RLimit |
| 2, // 7: nsjail.NsJailConfig.rlimit_nproc_type:type_name -> nsjail.RLimit |
| 2, // 8: nsjail.NsJailConfig.rlimit_stack_type:type_name -> nsjail.RLimit |
| 3, // 9: nsjail.NsJailConfig.uidmap:type_name -> nsjail.IdMap |
| 3, // 10: nsjail.NsJailConfig.gidmap:type_name -> nsjail.IdMap |
| 4, // 11: nsjail.NsJailConfig.mount:type_name -> nsjail.MountPt |
| 5, // 12: nsjail.NsJailConfig.exec_bin:type_name -> nsjail.Exe |
| 13, // [13:13] is the sub-list for method output_type |
| 13, // [13:13] is the sub-list for method input_type |
| 13, // [13:13] is the sub-list for extension type_name |
| 13, // [13:13] is the sub-list for extension extendee |
| 0, // [0:13] is the sub-list for field type_name |
| } |
| |
| func init() { file_nsjail_config_proto_init() } |
| func file_nsjail_config_proto_init() { |
| if File_nsjail_config_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_nsjail_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*IdMap); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_nsjail_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*MountPt); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_nsjail_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Exe); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_nsjail_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*NsJailConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_nsjail_config_proto_rawDesc, |
| NumEnums: 3, |
| NumMessages: 4, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_nsjail_config_proto_goTypes, |
| DependencyIndexes: file_nsjail_config_proto_depIdxs, |
| EnumInfos: file_nsjail_config_proto_enumTypes, |
| MessageInfos: file_nsjail_config_proto_msgTypes, |
| }.Build() |
| File_nsjail_config_proto = out.File |
| file_nsjail_config_proto_rawDesc = nil |
| file_nsjail_config_proto_goTypes = nil |
| file_nsjail_config_proto_depIdxs = nil |
| } |