containerd: 57b7c3da915ebe943bd304c00890959b191e5264
runc: d49ece5a83da3dcb820121d6850e2b61bd0a5fbe
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
... | ... |
@@ -250,7 +250,7 @@ RUN set -x \ |
250 | 250 |
&& rm -rf "$GOPATH" |
251 | 251 |
|
252 | 252 |
# Install runc |
253 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
253 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
254 | 254 |
RUN set -x \ |
255 | 255 |
&& export GOPATH="$(mktemp -d)" \ |
256 | 256 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -261,7 +261,7 @@ RUN set -x \ |
261 | 261 |
&& rm -rf "$GOPATH" |
262 | 262 |
|
263 | 263 |
# Install containerd |
264 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
264 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
265 | 265 |
RUN set -x \ |
266 | 266 |
&& export GOPATH="$(mktemp -d)" \ |
267 | 267 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -181,7 +181,7 @@ RUN set -x \ |
181 | 181 |
&& rm -rf "$GOPATH" |
182 | 182 |
|
183 | 183 |
# Install runc |
184 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
184 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
185 | 185 |
RUN set -x \ |
186 | 186 |
&& export GOPATH="$(mktemp -d)" \ |
187 | 187 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -192,7 +192,7 @@ RUN set -x \ |
192 | 192 |
&& rm -rf "$GOPATH" |
193 | 193 |
|
194 | 194 |
# Install containerd |
195 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
195 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
196 | 196 |
RUN set -x \ |
197 | 197 |
&& export GOPATH="$(mktemp -d)" \ |
198 | 198 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -192,7 +192,7 @@ RUN set -x \ |
192 | 192 |
&& rm -rf "$GOPATH" |
193 | 193 |
|
194 | 194 |
# Install runc |
195 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
195 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
196 | 196 |
RUN set -x \ |
197 | 197 |
&& export GOPATH="$(mktemp -d)" \ |
198 | 198 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -203,7 +203,7 @@ RUN set -x \ |
203 | 203 |
&& rm -rf "$GOPATH" |
204 | 204 |
|
205 | 205 |
# Install containerd |
206 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
206 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
207 | 207 |
RUN set -x \ |
208 | 208 |
&& export GOPATH="$(mktemp -d)" \ |
209 | 209 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -74,7 +74,7 @@ WORKDIR /go/src/github.com/docker/docker |
74 | 74 |
ENV DOCKER_BUILDTAGS apparmor seccomp selinux |
75 | 75 |
|
76 | 76 |
# Install runc |
77 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
77 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
78 | 78 |
RUN set -x \ |
79 | 79 |
&& export GOPATH="$(mktemp -d)" \ |
80 | 80 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -85,7 +85,7 @@ RUN set -x \ |
85 | 85 |
&& rm -rf "$GOPATH" |
86 | 86 |
|
87 | 87 |
# Install containerd |
88 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
88 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
89 | 89 |
RUN set -x \ |
90 | 90 |
&& export GOPATH="$(mktemp -d)" \ |
91 | 91 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -204,7 +204,7 @@ RUN set -x \ |
204 | 204 |
&& rm -rf "$GOPATH" |
205 | 205 |
|
206 | 206 |
# Install runc |
207 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
207 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
208 | 208 |
RUN set -x \ |
209 | 209 |
&& export GOPATH="$(mktemp -d)" \ |
210 | 210 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -215,7 +215,7 @@ RUN set -x \ |
215 | 215 |
&& rm -rf "$GOPATH" |
216 | 216 |
|
217 | 217 |
# Install containerd |
218 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
218 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
219 | 219 |
RUN set -x \ |
220 | 220 |
&& export GOPATH="$(mktemp -d)" \ |
221 | 221 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -194,7 +194,7 @@ RUN set -x \ |
194 | 194 |
&& rm -rf "$GOPATH" |
195 | 195 |
|
196 | 196 |
# Install runc |
197 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
197 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
198 | 198 |
RUN set -x \ |
199 | 199 |
&& export GOPATH="$(mktemp -d)" \ |
200 | 200 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -205,7 +205,7 @@ RUN set -x \ |
205 | 205 |
&& rm -rf "$GOPATH" |
206 | 206 |
|
207 | 207 |
# Install containerd |
208 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
208 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
209 | 209 |
RUN set -x \ |
210 | 210 |
&& export GOPATH="$(mktemp -d)" \ |
211 | 211 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -57,7 +57,7 @@ ENV GOPATH /go:/go/src/github.com/docker/docker/vendor |
57 | 57 |
ENV CGO_LDFLAGS -L/lib |
58 | 58 |
|
59 | 59 |
# Install runc |
60 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
60 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
61 | 61 |
RUN set -x \ |
62 | 62 |
&& export GOPATH="$(mktemp -d)" \ |
63 | 63 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
... | ... |
@@ -68,7 +68,7 @@ RUN set -x \ |
68 | 68 |
&& rm -rf "$GOPATH" |
69 | 69 |
|
70 | 70 |
# Install containerd |
71 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
71 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
72 | 72 |
RUN set -x \ |
73 | 73 |
&& export GOPATH="$(mktemp -d)" \ |
74 | 74 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
... | ... |
@@ -60,7 +60,7 @@ clone git github.com/miekg/pkcs11 df8ae6ca730422dba20c768ff38ef7d79077a59f |
60 | 60 |
clone git github.com/docker/go v1.5.1-1-1-gbaf439e |
61 | 61 |
clone git github.com/agl/ed25519 d2b94fd789ea21d12fac1a4443dd3a3f79cda72c |
62 | 62 |
|
63 |
-clone git github.com/opencontainers/runc 2441732d6fcc0fb0a542671a4372e0c7bc99c19e # libcontainer |
|
63 |
+clone git github.com/opencontainers/runc d49ece5a83da3dcb820121d6850e2b61bd0a5fbe # libcontainer |
|
64 | 64 |
clone git github.com/opencontainers/specs f955d90e70a98ddfb886bd930ffd076da9b67998 # specs |
65 | 65 |
clone git github.com/seccomp/libseccomp-golang 1b506fc7c24eec5a3693cdcbed40d9c226cfc6a1 |
66 | 66 |
# libcontainer deps (see src/github.com/opencontainers/runc/Godeps/Godeps.json) |
... | ... |
@@ -90,5 +90,5 @@ clone git google.golang.org/api dc6d2353af16e2a2b0ff6986af051d473a4ed468 https:/ |
90 | 90 |
clone git google.golang.org/cloud dae7e3d993bc3812a2185af60552bb6b847e52a0 https://code.googlesource.com/gocloud |
91 | 91 |
|
92 | 92 |
# containerd |
93 |
-clone git github.com/docker/containerd v0.2.1 |
|
93 |
+clone git github.com/docker/containerd 57b7c3da915ebe943bd304c00890959b191e5264 |
|
94 | 94 |
clean |
... | ... |
@@ -9,6 +9,8 @@ It is generated from these files: |
9 | 9 |
api.proto |
10 | 10 |
|
11 | 11 |
It has these top-level messages: |
12 |
+ GetServerVersionRequest |
|
13 |
+ GetServerVersionResponse |
|
12 | 14 |
UpdateProcessRequest |
13 | 15 |
UpdateProcessResponse |
14 | 16 |
CreateContainerRequest |
... | ... |
@@ -67,6 +69,30 @@ var _ = proto.Marshal |
67 | 67 |
var _ = fmt.Errorf |
68 | 68 |
var _ = math.Inf |
69 | 69 |
|
70 |
+// This is a compile-time assertion to ensure that this generated file |
|
71 |
+// is compatible with the proto package it is being compiled against. |
|
72 |
+const _ = proto.ProtoPackageIsVersion1 |
|
73 |
+ |
|
74 |
+type GetServerVersionRequest struct { |
|
75 |
+} |
|
76 |
+ |
|
77 |
+func (m *GetServerVersionRequest) Reset() { *m = GetServerVersionRequest{} } |
|
78 |
+func (m *GetServerVersionRequest) String() string { return proto.CompactTextString(m) } |
|
79 |
+func (*GetServerVersionRequest) ProtoMessage() {} |
|
80 |
+func (*GetServerVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } |
|
81 |
+ |
|
82 |
+type GetServerVersionResponse struct { |
|
83 |
+ Major uint32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"` |
|
84 |
+ Minor uint32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"` |
|
85 |
+ Patch uint32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"` |
|
86 |
+ Revision string `protobuf:"bytes,4,opt,name=revision" json:"revision,omitempty"` |
|
87 |
+} |
|
88 |
+ |
|
89 |
+func (m *GetServerVersionResponse) Reset() { *m = GetServerVersionResponse{} } |
|
90 |
+func (m *GetServerVersionResponse) String() string { return proto.CompactTextString(m) } |
|
91 |
+func (*GetServerVersionResponse) ProtoMessage() {} |
|
92 |
+func (*GetServerVersionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } |
|
93 |
+ |
|
70 | 94 |
type UpdateProcessRequest struct { |
71 | 95 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
72 | 96 |
Pid string `protobuf:"bytes,2,opt,name=pid" json:"pid,omitempty"` |
... | ... |
@@ -78,7 +104,7 @@ type UpdateProcessRequest struct { |
78 | 78 |
func (m *UpdateProcessRequest) Reset() { *m = UpdateProcessRequest{} } |
79 | 79 |
func (m *UpdateProcessRequest) String() string { return proto.CompactTextString(m) } |
80 | 80 |
func (*UpdateProcessRequest) ProtoMessage() {} |
81 |
-func (*UpdateProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } |
|
81 |
+func (*UpdateProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } |
|
82 | 82 |
|
83 | 83 |
type UpdateProcessResponse struct { |
84 | 84 |
} |
... | ... |
@@ -86,7 +112,7 @@ type UpdateProcessResponse struct { |
86 | 86 |
func (m *UpdateProcessResponse) Reset() { *m = UpdateProcessResponse{} } |
87 | 87 |
func (m *UpdateProcessResponse) String() string { return proto.CompactTextString(m) } |
88 | 88 |
func (*UpdateProcessResponse) ProtoMessage() {} |
89 |
-func (*UpdateProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } |
|
89 |
+func (*UpdateProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } |
|
90 | 90 |
|
91 | 91 |
type CreateContainerRequest struct { |
92 | 92 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
... | ... |
@@ -102,7 +128,7 @@ type CreateContainerRequest struct { |
102 | 102 |
func (m *CreateContainerRequest) Reset() { *m = CreateContainerRequest{} } |
103 | 103 |
func (m *CreateContainerRequest) String() string { return proto.CompactTextString(m) } |
104 | 104 |
func (*CreateContainerRequest) ProtoMessage() {} |
105 |
-func (*CreateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } |
|
105 |
+func (*CreateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } |
|
106 | 106 |
|
107 | 107 |
type CreateContainerResponse struct { |
108 | 108 |
Container *Container `protobuf:"bytes,1,opt,name=container" json:"container,omitempty"` |
... | ... |
@@ -111,7 +137,7 @@ type CreateContainerResponse struct { |
111 | 111 |
func (m *CreateContainerResponse) Reset() { *m = CreateContainerResponse{} } |
112 | 112 |
func (m *CreateContainerResponse) String() string { return proto.CompactTextString(m) } |
113 | 113 |
func (*CreateContainerResponse) ProtoMessage() {} |
114 |
-func (*CreateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } |
|
114 |
+func (*CreateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } |
|
115 | 115 |
|
116 | 116 |
func (m *CreateContainerResponse) GetContainer() *Container { |
117 | 117 |
if m != nil { |
... | ... |
@@ -129,7 +155,7 @@ type SignalRequest struct { |
129 | 129 |
func (m *SignalRequest) Reset() { *m = SignalRequest{} } |
130 | 130 |
func (m *SignalRequest) String() string { return proto.CompactTextString(m) } |
131 | 131 |
func (*SignalRequest) ProtoMessage() {} |
132 |
-func (*SignalRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } |
|
132 |
+func (*SignalRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } |
|
133 | 133 |
|
134 | 134 |
type SignalResponse struct { |
135 | 135 |
} |
... | ... |
@@ -137,7 +163,7 @@ type SignalResponse struct { |
137 | 137 |
func (m *SignalResponse) Reset() { *m = SignalResponse{} } |
138 | 138 |
func (m *SignalResponse) String() string { return proto.CompactTextString(m) } |
139 | 139 |
func (*SignalResponse) ProtoMessage() {} |
140 |
-func (*SignalResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } |
|
140 |
+func (*SignalResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } |
|
141 | 141 |
|
142 | 142 |
type AddProcessRequest struct { |
143 | 143 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
... | ... |
@@ -160,7 +186,7 @@ type AddProcessRequest struct { |
160 | 160 |
func (m *AddProcessRequest) Reset() { *m = AddProcessRequest{} } |
161 | 161 |
func (m *AddProcessRequest) String() string { return proto.CompactTextString(m) } |
162 | 162 |
func (*AddProcessRequest) ProtoMessage() {} |
163 |
-func (*AddProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } |
|
163 |
+func (*AddProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } |
|
164 | 164 |
|
165 | 165 |
func (m *AddProcessRequest) GetUser() *User { |
166 | 166 |
if m != nil { |
... | ... |
@@ -185,7 +211,7 @@ type Rlimit struct { |
185 | 185 |
func (m *Rlimit) Reset() { *m = Rlimit{} } |
186 | 186 |
func (m *Rlimit) String() string { return proto.CompactTextString(m) } |
187 | 187 |
func (*Rlimit) ProtoMessage() {} |
188 |
-func (*Rlimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } |
|
188 |
+func (*Rlimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } |
|
189 | 189 |
|
190 | 190 |
type User struct { |
191 | 191 |
Uid uint32 `protobuf:"varint,1,opt,name=uid" json:"uid,omitempty"` |
... | ... |
@@ -196,7 +222,7 @@ type User struct { |
196 | 196 |
func (m *User) Reset() { *m = User{} } |
197 | 197 |
func (m *User) String() string { return proto.CompactTextString(m) } |
198 | 198 |
func (*User) ProtoMessage() {} |
199 |
-func (*User) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } |
|
199 |
+func (*User) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } |
|
200 | 200 |
|
201 | 201 |
type AddProcessResponse struct { |
202 | 202 |
} |
... | ... |
@@ -204,7 +230,7 @@ type AddProcessResponse struct { |
204 | 204 |
func (m *AddProcessResponse) Reset() { *m = AddProcessResponse{} } |
205 | 205 |
func (m *AddProcessResponse) String() string { return proto.CompactTextString(m) } |
206 | 206 |
func (*AddProcessResponse) ProtoMessage() {} |
207 |
-func (*AddProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } |
|
207 |
+func (*AddProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } |
|
208 | 208 |
|
209 | 209 |
type CreateCheckpointRequest struct { |
210 | 210 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
... | ... |
@@ -214,7 +240,7 @@ type CreateCheckpointRequest struct { |
214 | 214 |
func (m *CreateCheckpointRequest) Reset() { *m = CreateCheckpointRequest{} } |
215 | 215 |
func (m *CreateCheckpointRequest) String() string { return proto.CompactTextString(m) } |
216 | 216 |
func (*CreateCheckpointRequest) ProtoMessage() {} |
217 |
-func (*CreateCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } |
|
217 |
+func (*CreateCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } |
|
218 | 218 |
|
219 | 219 |
func (m *CreateCheckpointRequest) GetCheckpoint() *Checkpoint { |
220 | 220 |
if m != nil { |
... | ... |
@@ -229,7 +255,7 @@ type CreateCheckpointResponse struct { |
229 | 229 |
func (m *CreateCheckpointResponse) Reset() { *m = CreateCheckpointResponse{} } |
230 | 230 |
func (m *CreateCheckpointResponse) String() string { return proto.CompactTextString(m) } |
231 | 231 |
func (*CreateCheckpointResponse) ProtoMessage() {} |
232 |
-func (*CreateCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } |
|
232 |
+func (*CreateCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } |
|
233 | 233 |
|
234 | 234 |
type DeleteCheckpointRequest struct { |
235 | 235 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
... | ... |
@@ -239,7 +265,7 @@ type DeleteCheckpointRequest struct { |
239 | 239 |
func (m *DeleteCheckpointRequest) Reset() { *m = DeleteCheckpointRequest{} } |
240 | 240 |
func (m *DeleteCheckpointRequest) String() string { return proto.CompactTextString(m) } |
241 | 241 |
func (*DeleteCheckpointRequest) ProtoMessage() {} |
242 |
-func (*DeleteCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } |
|
242 |
+func (*DeleteCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } |
|
243 | 243 |
|
244 | 244 |
type DeleteCheckpointResponse struct { |
245 | 245 |
} |
... | ... |
@@ -247,7 +273,7 @@ type DeleteCheckpointResponse struct { |
247 | 247 |
func (m *DeleteCheckpointResponse) Reset() { *m = DeleteCheckpointResponse{} } |
248 | 248 |
func (m *DeleteCheckpointResponse) String() string { return proto.CompactTextString(m) } |
249 | 249 |
func (*DeleteCheckpointResponse) ProtoMessage() {} |
250 |
-func (*DeleteCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } |
|
250 |
+func (*DeleteCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } |
|
251 | 251 |
|
252 | 252 |
type ListCheckpointRequest struct { |
253 | 253 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
... | ... |
@@ -256,7 +282,7 @@ type ListCheckpointRequest struct { |
256 | 256 |
func (m *ListCheckpointRequest) Reset() { *m = ListCheckpointRequest{} } |
257 | 257 |
func (m *ListCheckpointRequest) String() string { return proto.CompactTextString(m) } |
258 | 258 |
func (*ListCheckpointRequest) ProtoMessage() {} |
259 |
-func (*ListCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } |
|
259 |
+func (*ListCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } |
|
260 | 260 |
|
261 | 261 |
type Checkpoint struct { |
262 | 262 |
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
... | ... |
@@ -269,7 +295,7 @@ type Checkpoint struct { |
269 | 269 |
func (m *Checkpoint) Reset() { *m = Checkpoint{} } |
270 | 270 |
func (m *Checkpoint) String() string { return proto.CompactTextString(m) } |
271 | 271 |
func (*Checkpoint) ProtoMessage() {} |
272 |
-func (*Checkpoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } |
|
272 |
+func (*Checkpoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } |
|
273 | 273 |
|
274 | 274 |
type ListCheckpointResponse struct { |
275 | 275 |
Checkpoints []*Checkpoint `protobuf:"bytes,1,rep,name=checkpoints" json:"checkpoints,omitempty"` |
... | ... |
@@ -278,7 +304,7 @@ type ListCheckpointResponse struct { |
278 | 278 |
func (m *ListCheckpointResponse) Reset() { *m = ListCheckpointResponse{} } |
279 | 279 |
func (m *ListCheckpointResponse) String() string { return proto.CompactTextString(m) } |
280 | 280 |
func (*ListCheckpointResponse) ProtoMessage() {} |
281 |
-func (*ListCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } |
|
281 |
+func (*ListCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } |
|
282 | 282 |
|
283 | 283 |
func (m *ListCheckpointResponse) GetCheckpoints() []*Checkpoint { |
284 | 284 |
if m != nil { |
... | ... |
@@ -294,7 +320,7 @@ type StateRequest struct { |
294 | 294 |
func (m *StateRequest) Reset() { *m = StateRequest{} } |
295 | 295 |
func (m *StateRequest) String() string { return proto.CompactTextString(m) } |
296 | 296 |
func (*StateRequest) ProtoMessage() {} |
297 |
-func (*StateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } |
|
297 |
+func (*StateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } |
|
298 | 298 |
|
299 | 299 |
type ContainerState struct { |
300 | 300 |
Status string `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"` |
... | ... |
@@ -303,7 +329,7 @@ type ContainerState struct { |
303 | 303 |
func (m *ContainerState) Reset() { *m = ContainerState{} } |
304 | 304 |
func (m *ContainerState) String() string { return proto.CompactTextString(m) } |
305 | 305 |
func (*ContainerState) ProtoMessage() {} |
306 |
-func (*ContainerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } |
|
306 |
+func (*ContainerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } |
|
307 | 307 |
|
308 | 308 |
type Process struct { |
309 | 309 |
Pid string `protobuf:"bytes,1,opt,name=pid" json:"pid,omitempty"` |
... | ... |
@@ -326,7 +352,7 @@ type Process struct { |
326 | 326 |
func (m *Process) Reset() { *m = Process{} } |
327 | 327 |
func (m *Process) String() string { return proto.CompactTextString(m) } |
328 | 328 |
func (*Process) ProtoMessage() {} |
329 |
-func (*Process) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } |
|
329 |
+func (*Process) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } |
|
330 | 330 |
|
331 | 331 |
func (m *Process) GetUser() *User { |
332 | 332 |
if m != nil { |
... | ... |
@@ -355,7 +381,7 @@ type Container struct { |
355 | 355 |
func (m *Container) Reset() { *m = Container{} } |
356 | 356 |
func (m *Container) String() string { return proto.CompactTextString(m) } |
357 | 357 |
func (*Container) ProtoMessage() {} |
358 |
-func (*Container) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } |
|
358 |
+func (*Container) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } |
|
359 | 359 |
|
360 | 360 |
func (m *Container) GetProcesses() []*Process { |
361 | 361 |
if m != nil { |
... | ... |
@@ -373,7 +399,7 @@ type Machine struct { |
373 | 373 |
func (m *Machine) Reset() { *m = Machine{} } |
374 | 374 |
func (m *Machine) String() string { return proto.CompactTextString(m) } |
375 | 375 |
func (*Machine) ProtoMessage() {} |
376 |
-func (*Machine) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } |
|
376 |
+func (*Machine) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } |
|
377 | 377 |
|
378 | 378 |
// StateResponse is information about containerd daemon |
379 | 379 |
type StateResponse struct { |
... | ... |
@@ -384,7 +410,7 @@ type StateResponse struct { |
384 | 384 |
func (m *StateResponse) Reset() { *m = StateResponse{} } |
385 | 385 |
func (m *StateResponse) String() string { return proto.CompactTextString(m) } |
386 | 386 |
func (*StateResponse) ProtoMessage() {} |
387 |
-func (*StateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } |
|
387 |
+func (*StateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } |
|
388 | 388 |
|
389 | 389 |
func (m *StateResponse) GetContainers() []*Container { |
390 | 390 |
if m != nil { |
... | ... |
@@ -410,7 +436,7 @@ type UpdateContainerRequest struct { |
410 | 410 |
func (m *UpdateContainerRequest) Reset() { *m = UpdateContainerRequest{} } |
411 | 411 |
func (m *UpdateContainerRequest) String() string { return proto.CompactTextString(m) } |
412 | 412 |
func (*UpdateContainerRequest) ProtoMessage() {} |
413 |
-func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } |
|
413 |
+func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } |
|
414 | 414 |
|
415 | 415 |
func (m *UpdateContainerRequest) GetResources() *UpdateResource { |
416 | 416 |
if m != nil { |
... | ... |
@@ -435,7 +461,7 @@ type UpdateResource struct { |
435 | 435 |
func (m *UpdateResource) Reset() { *m = UpdateResource{} } |
436 | 436 |
func (m *UpdateResource) String() string { return proto.CompactTextString(m) } |
437 | 437 |
func (*UpdateResource) ProtoMessage() {} |
438 |
-func (*UpdateResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } |
|
438 |
+func (*UpdateResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } |
|
439 | 439 |
|
440 | 440 |
type UpdateContainerResponse struct { |
441 | 441 |
} |
... | ... |
@@ -443,7 +469,7 @@ type UpdateContainerResponse struct { |
443 | 443 |
func (m *UpdateContainerResponse) Reset() { *m = UpdateContainerResponse{} } |
444 | 444 |
func (m *UpdateContainerResponse) String() string { return proto.CompactTextString(m) } |
445 | 445 |
func (*UpdateContainerResponse) ProtoMessage() {} |
446 |
-func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } |
|
446 |
+func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } |
|
447 | 447 |
|
448 | 448 |
type EventsRequest struct { |
449 | 449 |
Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` |
... | ... |
@@ -452,7 +478,7 @@ type EventsRequest struct { |
452 | 452 |
func (m *EventsRequest) Reset() { *m = EventsRequest{} } |
453 | 453 |
func (m *EventsRequest) String() string { return proto.CompactTextString(m) } |
454 | 454 |
func (*EventsRequest) ProtoMessage() {} |
455 |
-func (*EventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } |
|
455 |
+func (*EventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } |
|
456 | 456 |
|
457 | 457 |
type Event struct { |
458 | 458 |
Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` |
... | ... |
@@ -465,58 +491,58 @@ type Event struct { |
465 | 465 |
func (m *Event) Reset() { *m = Event{} } |
466 | 466 |
func (m *Event) String() string { return proto.CompactTextString(m) } |
467 | 467 |
func (*Event) ProtoMessage() {} |
468 |
-func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } |
|
468 |
+func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } |
|
469 | 469 |
|
470 | 470 |
type NetworkStats struct { |
471 | 471 |
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
472 |
- RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes,json=rxBytes" json:"rx_bytes,omitempty"` |
|
473 |
- Rx_Packets uint64 `protobuf:"varint,3,opt,name=rx_Packets,json=rxPackets" json:"rx_Packets,omitempty"` |
|
474 |
- RxErrors uint64 `protobuf:"varint,4,opt,name=Rx_errors,json=rxErrors" json:"Rx_errors,omitempty"` |
|
475 |
- RxDropped uint64 `protobuf:"varint,5,opt,name=Rx_dropped,json=rxDropped" json:"Rx_dropped,omitempty"` |
|
476 |
- TxBytes uint64 `protobuf:"varint,6,opt,name=Tx_bytes,json=txBytes" json:"Tx_bytes,omitempty"` |
|
477 |
- TxPackets uint64 `protobuf:"varint,7,opt,name=Tx_packets,json=txPackets" json:"Tx_packets,omitempty"` |
|
478 |
- TxErrors uint64 `protobuf:"varint,8,opt,name=Tx_errors,json=txErrors" json:"Tx_errors,omitempty"` |
|
479 |
- TxDropped uint64 `protobuf:"varint,9,opt,name=Tx_dropped,json=txDropped" json:"Tx_dropped,omitempty"` |
|
472 |
+ RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes" json:"rx_bytes,omitempty"` |
|
473 |
+ Rx_Packets uint64 `protobuf:"varint,3,opt,name=rx_Packets" json:"rx_Packets,omitempty"` |
|
474 |
+ RxErrors uint64 `protobuf:"varint,4,opt,name=Rx_errors" json:"Rx_errors,omitempty"` |
|
475 |
+ RxDropped uint64 `protobuf:"varint,5,opt,name=Rx_dropped" json:"Rx_dropped,omitempty"` |
|
476 |
+ TxBytes uint64 `protobuf:"varint,6,opt,name=Tx_bytes" json:"Tx_bytes,omitempty"` |
|
477 |
+ TxPackets uint64 `protobuf:"varint,7,opt,name=Tx_packets" json:"Tx_packets,omitempty"` |
|
478 |
+ TxErrors uint64 `protobuf:"varint,8,opt,name=Tx_errors" json:"Tx_errors,omitempty"` |
|
479 |
+ TxDropped uint64 `protobuf:"varint,9,opt,name=Tx_dropped" json:"Tx_dropped,omitempty"` |
|
480 | 480 |
} |
481 | 481 |
|
482 | 482 |
func (m *NetworkStats) Reset() { *m = NetworkStats{} } |
483 | 483 |
func (m *NetworkStats) String() string { return proto.CompactTextString(m) } |
484 | 484 |
func (*NetworkStats) ProtoMessage() {} |
485 |
-func (*NetworkStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} } |
|
485 |
+func (*NetworkStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } |
|
486 | 486 |
|
487 | 487 |
type CpuUsage struct { |
488 |
- TotalUsage uint64 `protobuf:"varint,1,opt,name=total_usage,json=totalUsage" json:"total_usage,omitempty"` |
|
489 |
- PercpuUsage []uint64 `protobuf:"varint,2,rep,name=percpu_usage,json=percpuUsage" json:"percpu_usage,omitempty"` |
|
490 |
- UsageInKernelmode uint64 `protobuf:"varint,3,opt,name=usage_in_kernelmode,json=usageInKernelmode" json:"usage_in_kernelmode,omitempty"` |
|
491 |
- UsageInUsermode uint64 `protobuf:"varint,4,opt,name=usage_in_usermode,json=usageInUsermode" json:"usage_in_usermode,omitempty"` |
|
488 |
+ TotalUsage uint64 `protobuf:"varint,1,opt,name=total_usage" json:"total_usage,omitempty"` |
|
489 |
+ PercpuUsage []uint64 `protobuf:"varint,2,rep,name=percpu_usage" json:"percpu_usage,omitempty"` |
|
490 |
+ UsageInKernelmode uint64 `protobuf:"varint,3,opt,name=usage_in_kernelmode" json:"usage_in_kernelmode,omitempty"` |
|
491 |
+ UsageInUsermode uint64 `protobuf:"varint,4,opt,name=usage_in_usermode" json:"usage_in_usermode,omitempty"` |
|
492 | 492 |
} |
493 | 493 |
|
494 | 494 |
func (m *CpuUsage) Reset() { *m = CpuUsage{} } |
495 | 495 |
func (m *CpuUsage) String() string { return proto.CompactTextString(m) } |
496 | 496 |
func (*CpuUsage) ProtoMessage() {} |
497 |
-func (*CpuUsage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} } |
|
497 |
+func (*CpuUsage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } |
|
498 | 498 |
|
499 | 499 |
type ThrottlingData struct { |
500 | 500 |
Periods uint64 `protobuf:"varint,1,opt,name=periods" json:"periods,omitempty"` |
501 |
- ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods,json=throttledPeriods" json:"throttled_periods,omitempty"` |
|
502 |
- ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time,json=throttledTime" json:"throttled_time,omitempty"` |
|
501 |
+ ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods" json:"throttled_periods,omitempty"` |
|
502 |
+ ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time" json:"throttled_time,omitempty"` |
|
503 | 503 |
} |
504 | 504 |
|
505 | 505 |
func (m *ThrottlingData) Reset() { *m = ThrottlingData{} } |
506 | 506 |
func (m *ThrottlingData) String() string { return proto.CompactTextString(m) } |
507 | 507 |
func (*ThrottlingData) ProtoMessage() {} |
508 |
-func (*ThrottlingData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} } |
|
508 |
+func (*ThrottlingData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } |
|
509 | 509 |
|
510 | 510 |
type CpuStats struct { |
511 |
- CpuUsage *CpuUsage `protobuf:"bytes,1,opt,name=cpu_usage,json=cpuUsage" json:"cpu_usage,omitempty"` |
|
512 |
- ThrottlingData *ThrottlingData `protobuf:"bytes,2,opt,name=throttling_data,json=throttlingData" json:"throttling_data,omitempty"` |
|
513 |
- SystemUsage uint64 `protobuf:"varint,3,opt,name=system_usage,json=systemUsage" json:"system_usage,omitempty"` |
|
511 |
+ CpuUsage *CpuUsage `protobuf:"bytes,1,opt,name=cpu_usage" json:"cpu_usage,omitempty"` |
|
512 |
+ ThrottlingData *ThrottlingData `protobuf:"bytes,2,opt,name=throttling_data" json:"throttling_data,omitempty"` |
|
513 |
+ SystemUsage uint64 `protobuf:"varint,3,opt,name=system_usage" json:"system_usage,omitempty"` |
|
514 | 514 |
} |
515 | 515 |
|
516 | 516 |
func (m *CpuStats) Reset() { *m = CpuStats{} } |
517 | 517 |
func (m *CpuStats) String() string { return proto.CompactTextString(m) } |
518 | 518 |
func (*CpuStats) ProtoMessage() {} |
519 |
-func (*CpuStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} } |
|
519 |
+func (*CpuStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } |
|
520 | 520 |
|
521 | 521 |
func (m *CpuStats) GetCpuUsage() *CpuUsage { |
522 | 522 |
if m != nil { |
... | ... |
@@ -540,11 +566,11 @@ type PidsStats struct { |
540 | 540 |
func (m *PidsStats) Reset() { *m = PidsStats{} } |
541 | 541 |
func (m *PidsStats) String() string { return proto.CompactTextString(m) } |
542 | 542 |
func (*PidsStats) ProtoMessage() {} |
543 |
-func (*PidsStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} } |
|
543 |
+func (*PidsStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } |
|
544 | 544 |
|
545 | 545 |
type MemoryData struct { |
546 | 546 |
Usage uint64 `protobuf:"varint,1,opt,name=usage" json:"usage,omitempty"` |
547 |
- MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage,json=maxUsage" json:"max_usage,omitempty"` |
|
547 |
+ MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage" json:"max_usage,omitempty"` |
|
548 | 548 |
Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt" json:"failcnt,omitempty"` |
549 | 549 |
Limit uint64 `protobuf:"varint,4,opt,name=limit" json:"limit,omitempty"` |
550 | 550 |
} |
... | ... |
@@ -552,20 +578,20 @@ type MemoryData struct { |
552 | 552 |
func (m *MemoryData) Reset() { *m = MemoryData{} } |
553 | 553 |
func (m *MemoryData) String() string { return proto.CompactTextString(m) } |
554 | 554 |
func (*MemoryData) ProtoMessage() {} |
555 |
-func (*MemoryData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} } |
|
555 |
+func (*MemoryData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } |
|
556 | 556 |
|
557 | 557 |
type MemoryStats struct { |
558 | 558 |
Cache uint64 `protobuf:"varint,1,opt,name=cache" json:"cache,omitempty"` |
559 | 559 |
Usage *MemoryData `protobuf:"bytes,2,opt,name=usage" json:"usage,omitempty"` |
560 |
- SwapUsage *MemoryData `protobuf:"bytes,3,opt,name=swap_usage,json=swapUsage" json:"swap_usage,omitempty"` |
|
561 |
- KernelUsage *MemoryData `protobuf:"bytes,4,opt,name=kernel_usage,json=kernelUsage" json:"kernel_usage,omitempty"` |
|
560 |
+ SwapUsage *MemoryData `protobuf:"bytes,3,opt,name=swap_usage" json:"swap_usage,omitempty"` |
|
561 |
+ KernelUsage *MemoryData `protobuf:"bytes,4,opt,name=kernel_usage" json:"kernel_usage,omitempty"` |
|
562 | 562 |
Stats map[string]uint64 `protobuf:"bytes,5,rep,name=stats" json:"stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` |
563 | 563 |
} |
564 | 564 |
|
565 | 565 |
func (m *MemoryStats) Reset() { *m = MemoryStats{} } |
566 | 566 |
func (m *MemoryStats) String() string { return proto.CompactTextString(m) } |
567 | 567 |
func (*MemoryStats) ProtoMessage() {} |
568 |
-func (*MemoryStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} } |
|
568 |
+func (*MemoryStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } |
|
569 | 569 |
|
570 | 570 |
func (m *MemoryStats) GetUsage() *MemoryData { |
571 | 571 |
if m != nil { |
... | ... |
@@ -605,23 +631,23 @@ type BlkioStatsEntry struct { |
605 | 605 |
func (m *BlkioStatsEntry) Reset() { *m = BlkioStatsEntry{} } |
606 | 606 |
func (m *BlkioStatsEntry) String() string { return proto.CompactTextString(m) } |
607 | 607 |
func (*BlkioStatsEntry) ProtoMessage() {} |
608 |
-func (*BlkioStatsEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} } |
|
608 |
+func (*BlkioStatsEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } |
|
609 | 609 |
|
610 | 610 |
type BlkioStats struct { |
611 |
- IoServiceBytesRecursive []*BlkioStatsEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive,json=ioServiceBytesRecursive" json:"io_service_bytes_recursive,omitempty"` |
|
612 |
- IoServicedRecursive []*BlkioStatsEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive,json=ioServicedRecursive" json:"io_serviced_recursive,omitempty"` |
|
613 |
- IoQueuedRecursive []*BlkioStatsEntry `protobuf:"bytes,3,rep,name=io_queued_recursive,json=ioQueuedRecursive" json:"io_queued_recursive,omitempty"` |
|
614 |
- IoServiceTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive,json=ioServiceTimeRecursive" json:"io_service_time_recursive,omitempty"` |
|
615 |
- IoWaitTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive,json=ioWaitTimeRecursive" json:"io_wait_time_recursive,omitempty"` |
|
616 |
- IoMergedRecursive []*BlkioStatsEntry `protobuf:"bytes,6,rep,name=io_merged_recursive,json=ioMergedRecursive" json:"io_merged_recursive,omitempty"` |
|
617 |
- IoTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,7,rep,name=io_time_recursive,json=ioTimeRecursive" json:"io_time_recursive,omitempty"` |
|
618 |
- SectorsRecursive []*BlkioStatsEntry `protobuf:"bytes,8,rep,name=sectors_recursive,json=sectorsRecursive" json:"sectors_recursive,omitempty"` |
|
611 |
+ IoServiceBytesRecursive []*BlkioStatsEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive" json:"io_service_bytes_recursive,omitempty"` |
|
612 |
+ IoServicedRecursive []*BlkioStatsEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive" json:"io_serviced_recursive,omitempty"` |
|
613 |
+ IoQueuedRecursive []*BlkioStatsEntry `protobuf:"bytes,3,rep,name=io_queued_recursive" json:"io_queued_recursive,omitempty"` |
|
614 |
+ IoServiceTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive" json:"io_service_time_recursive,omitempty"` |
|
615 |
+ IoWaitTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive" json:"io_wait_time_recursive,omitempty"` |
|
616 |
+ IoMergedRecursive []*BlkioStatsEntry `protobuf:"bytes,6,rep,name=io_merged_recursive" json:"io_merged_recursive,omitempty"` |
|
617 |
+ IoTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,7,rep,name=io_time_recursive" json:"io_time_recursive,omitempty"` |
|
618 |
+ SectorsRecursive []*BlkioStatsEntry `protobuf:"bytes,8,rep,name=sectors_recursive" json:"sectors_recursive,omitempty"` |
|
619 | 619 |
} |
620 | 620 |
|
621 | 621 |
func (m *BlkioStats) Reset() { *m = BlkioStats{} } |
622 | 622 |
func (m *BlkioStats) String() string { return proto.CompactTextString(m) } |
623 | 623 |
func (*BlkioStats) ProtoMessage() {} |
624 |
-func (*BlkioStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } |
|
624 |
+func (*BlkioStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } |
|
625 | 625 |
|
626 | 626 |
func (m *BlkioStats) GetIoServiceBytesRecursive() []*BlkioStatsEntry { |
627 | 627 |
if m != nil { |
... | ... |
@@ -681,7 +707,7 @@ func (m *BlkioStats) GetSectorsRecursive() []*BlkioStatsEntry { |
681 | 681 |
|
682 | 682 |
type HugetlbStats struct { |
683 | 683 |
Usage uint64 `protobuf:"varint,1,opt,name=usage" json:"usage,omitempty"` |
684 |
- MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage,json=maxUsage" json:"max_usage,omitempty"` |
|
684 |
+ MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage" json:"max_usage,omitempty"` |
|
685 | 685 |
Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt" json:"failcnt,omitempty"` |
686 | 686 |
Limit uint64 `protobuf:"varint,4,opt,name=limit" json:"limit,omitempty"` |
687 | 687 |
} |
... | ... |
@@ -689,20 +715,20 @@ type HugetlbStats struct { |
689 | 689 |
func (m *HugetlbStats) Reset() { *m = HugetlbStats{} } |
690 | 690 |
func (m *HugetlbStats) String() string { return proto.CompactTextString(m) } |
691 | 691 |
func (*HugetlbStats) ProtoMessage() {} |
692 |
-func (*HugetlbStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} } |
|
692 |
+func (*HugetlbStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } |
|
693 | 693 |
|
694 | 694 |
type CgroupStats struct { |
695 |
- CpuStats *CpuStats `protobuf:"bytes,1,opt,name=cpu_stats,json=cpuStats" json:"cpu_stats,omitempty"` |
|
696 |
- MemoryStats *MemoryStats `protobuf:"bytes,2,opt,name=memory_stats,json=memoryStats" json:"memory_stats,omitempty"` |
|
697 |
- BlkioStats *BlkioStats `protobuf:"bytes,3,opt,name=blkio_stats,json=blkioStats" json:"blkio_stats,omitempty"` |
|
698 |
- HugetlbStats map[string]*HugetlbStats `protobuf:"bytes,4,rep,name=hugetlb_stats,json=hugetlbStats" json:"hugetlb_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` |
|
699 |
- PidsStats *PidsStats `protobuf:"bytes,5,opt,name=pids_stats,json=pidsStats" json:"pids_stats,omitempty"` |
|
695 |
+ CpuStats *CpuStats `protobuf:"bytes,1,opt,name=cpu_stats" json:"cpu_stats,omitempty"` |
|
696 |
+ MemoryStats *MemoryStats `protobuf:"bytes,2,opt,name=memory_stats" json:"memory_stats,omitempty"` |
|
697 |
+ BlkioStats *BlkioStats `protobuf:"bytes,3,opt,name=blkio_stats" json:"blkio_stats,omitempty"` |
|
698 |
+ HugetlbStats map[string]*HugetlbStats `protobuf:"bytes,4,rep,name=hugetlb_stats" json:"hugetlb_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` |
|
699 |
+ PidsStats *PidsStats `protobuf:"bytes,5,opt,name=pids_stats" json:"pids_stats,omitempty"` |
|
700 | 700 |
} |
701 | 701 |
|
702 | 702 |
func (m *CgroupStats) Reset() { *m = CgroupStats{} } |
703 | 703 |
func (m *CgroupStats) String() string { return proto.CompactTextString(m) } |
704 | 704 |
func (*CgroupStats) ProtoMessage() {} |
705 |
-func (*CgroupStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} } |
|
705 |
+func (*CgroupStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } |
|
706 | 706 |
|
707 | 707 |
func (m *CgroupStats) GetCpuStats() *CpuStats { |
708 | 708 |
if m != nil { |
... | ... |
@@ -740,15 +766,15 @@ func (m *CgroupStats) GetPidsStats() *PidsStats { |
740 | 740 |
} |
741 | 741 |
|
742 | 742 |
type StatsResponse struct { |
743 |
- NetworkStats []*NetworkStats `protobuf:"bytes,1,rep,name=network_stats,json=networkStats" json:"network_stats,omitempty"` |
|
744 |
- CgroupStats *CgroupStats `protobuf:"bytes,2,opt,name=cgroup_stats,json=cgroupStats" json:"cgroup_stats,omitempty"` |
|
743 |
+ NetworkStats []*NetworkStats `protobuf:"bytes,1,rep,name=network_stats" json:"network_stats,omitempty"` |
|
744 |
+ CgroupStats *CgroupStats `protobuf:"bytes,2,opt,name=cgroup_stats" json:"cgroup_stats,omitempty"` |
|
745 | 745 |
Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"` |
746 | 746 |
} |
747 | 747 |
|
748 | 748 |
func (m *StatsResponse) Reset() { *m = StatsResponse{} } |
749 | 749 |
func (m *StatsResponse) String() string { return proto.CompactTextString(m) } |
750 | 750 |
func (*StatsResponse) ProtoMessage() {} |
751 |
-func (*StatsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} } |
|
751 |
+func (*StatsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } |
|
752 | 752 |
|
753 | 753 |
func (m *StatsResponse) GetNetworkStats() []*NetworkStats { |
754 | 754 |
if m != nil { |
... | ... |
@@ -771,9 +797,11 @@ type StatsRequest struct { |
771 | 771 |
func (m *StatsRequest) Reset() { *m = StatsRequest{} } |
772 | 772 |
func (m *StatsRequest) String() string { return proto.CompactTextString(m) } |
773 | 773 |
func (*StatsRequest) ProtoMessage() {} |
774 |
-func (*StatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} } |
|
774 |
+func (*StatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} } |
|
775 | 775 |
|
776 | 776 |
func init() { |
777 |
+ proto.RegisterType((*GetServerVersionRequest)(nil), "types.GetServerVersionRequest") |
|
778 |
+ proto.RegisterType((*GetServerVersionResponse)(nil), "types.GetServerVersionResponse") |
|
777 | 779 |
proto.RegisterType((*UpdateProcessRequest)(nil), "types.UpdateProcessRequest") |
778 | 780 |
proto.RegisterType((*UpdateProcessResponse)(nil), "types.UpdateProcessResponse") |
779 | 781 |
proto.RegisterType((*CreateContainerRequest)(nil), "types.CreateContainerRequest") |
... | ... |
@@ -824,6 +852,7 @@ var _ grpc.ClientConn |
824 | 824 |
// Client API for API service |
825 | 825 |
|
826 | 826 |
type APIClient interface { |
827 |
+ GetServerVersion(ctx context.Context, in *GetServerVersionRequest, opts ...grpc.CallOption) (*GetServerVersionResponse, error) |
|
827 | 828 |
CreateContainer(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error) |
828 | 829 |
UpdateContainer(ctx context.Context, in *UpdateContainerRequest, opts ...grpc.CallOption) (*UpdateContainerResponse, error) |
829 | 830 |
Signal(ctx context.Context, in *SignalRequest, opts ...grpc.CallOption) (*SignalResponse, error) |
... | ... |
@@ -845,6 +874,15 @@ func NewAPIClient(cc *grpc.ClientConn) APIClient { |
845 | 845 |
return &aPIClient{cc} |
846 | 846 |
} |
847 | 847 |
|
848 |
+func (c *aPIClient) GetServerVersion(ctx context.Context, in *GetServerVersionRequest, opts ...grpc.CallOption) (*GetServerVersionResponse, error) { |
|
849 |
+ out := new(GetServerVersionResponse) |
|
850 |
+ err := grpc.Invoke(ctx, "/types.API/GetServerVersion", in, out, c.cc, opts...) |
|
851 |
+ if err != nil { |
|
852 |
+ return nil, err |
|
853 |
+ } |
|
854 |
+ return out, nil |
|
855 |
+} |
|
856 |
+ |
|
848 | 857 |
func (c *aPIClient) CreateContainer(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error) { |
849 | 858 |
out := new(CreateContainerResponse) |
850 | 859 |
err := grpc.Invoke(ctx, "/types.API/CreateContainer", in, out, c.cc, opts...) |
... | ... |
@@ -970,6 +1008,7 @@ func (c *aPIClient) Stats(ctx context.Context, in *StatsRequest, opts ...grpc.Ca |
970 | 970 |
// Server API for API service |
971 | 971 |
|
972 | 972 |
type APIServer interface { |
973 |
+ GetServerVersion(context.Context, *GetServerVersionRequest) (*GetServerVersionResponse, error) |
|
973 | 974 |
CreateContainer(context.Context, *CreateContainerRequest) (*CreateContainerResponse, error) |
974 | 975 |
UpdateContainer(context.Context, *UpdateContainerRequest) (*UpdateContainerResponse, error) |
975 | 976 |
Signal(context.Context, *SignalRequest) (*SignalResponse, error) |
... | ... |
@@ -987,6 +1026,18 @@ func RegisterAPIServer(s *grpc.Server, srv APIServer) { |
987 | 987 |
s.RegisterService(&_API_serviceDesc, srv) |
988 | 988 |
} |
989 | 989 |
|
990 |
+func _API_GetServerVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { |
|
991 |
+ in := new(GetServerVersionRequest) |
|
992 |
+ if err := dec(in); err != nil { |
|
993 |
+ return nil, err |
|
994 |
+ } |
|
995 |
+ out, err := srv.(APIServer).GetServerVersion(ctx, in) |
|
996 |
+ if err != nil { |
|
997 |
+ return nil, err |
|
998 |
+ } |
|
999 |
+ return out, nil |
|
1000 |
+} |
|
1001 |
+ |
|
990 | 1002 |
func _API_CreateContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) { |
991 | 1003 |
in := new(CreateContainerRequest) |
992 | 1004 |
if err := dec(in); err != nil { |
... | ... |
@@ -1133,6 +1184,10 @@ var _API_serviceDesc = grpc.ServiceDesc{ |
1133 | 1133 |
HandlerType: (*APIServer)(nil), |
1134 | 1134 |
Methods: []grpc.MethodDesc{ |
1135 | 1135 |
{ |
1136 |
+ MethodName: "GetServerVersion", |
|
1137 |
+ Handler: _API_GetServerVersion_Handler, |
|
1138 |
+ }, |
|
1139 |
+ { |
|
1136 | 1140 |
MethodName: "CreateContainer", |
1137 | 1141 |
Handler: _API_CreateContainer_Handler, |
1138 | 1142 |
}, |
... | ... |
@@ -1183,144 +1238,148 @@ var _API_serviceDesc = grpc.ServiceDesc{ |
1183 | 1183 |
} |
1184 | 1184 |
|
1185 | 1185 |
var fileDescriptor0 = []byte{ |
1186 |
- // 2212 bytes of a gzipped FileDescriptorProto |
|
1187 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x39, 0x4b, 0x73, 0x1c, 0x49, |
|
1188 |
- 0xd1, 0x9e, 0xa7, 0x34, 0x39, 0x0f, 0x49, 0x6d, 0x3d, 0xc6, 0xb3, 0x6b, 0xaf, 0xbf, 0x8e, 0x0f, |
|
1189 |
- 0xd6, 0xc0, 0x22, 0x8c, 0xbc, 0x1b, 0x38, 0x20, 0x20, 0x62, 0x2d, 0x1b, 0x30, 0x6b, 0x2d, 0x72, |
|
1190 |
- 0x4b, 0x8a, 0xbd, 0x10, 0x31, 0xd1, 0x9a, 0x2e, 0xcf, 0x34, 0xea, 0xe9, 0xee, 0xed, 0xae, 0xd1, |
|
1191 |
- 0xe3, 0xc2, 0x11, 0x6e, 0x1c, 0xb9, 0x10, 0xc1, 0x85, 0x1b, 0x77, 0x0e, 0xfc, 0x02, 0xfe, 0x09, |
|
1192 |
- 0xb1, 0x3f, 0x81, 0x23, 0x59, 0x95, 0xd5, 0x55, 0xd5, 0xf3, 0x90, 0x96, 0x03, 0xc1, 0x85, 0xcb, |
|
1193 |
- 0x44, 0xe5, 0xa3, 0x32, 0xb3, 0xf2, 0x55, 0xd9, 0x35, 0xd0, 0xf2, 0xd3, 0x70, 0x3f, 0xcd, 0x12, |
|
1194 |
- 0x9e, 0x38, 0x0d, 0x7e, 0x93, 0xb2, 0xdc, 0xfd, 0x6d, 0x05, 0xb6, 0xcf, 0xd2, 0xc0, 0xe7, 0xec, |
|
1195 |
- 0x38, 0x4b, 0x46, 0x2c, 0xcf, 0x3d, 0xf6, 0xe5, 0x8c, 0xe5, 0xdc, 0xe9, 0x41, 0x35, 0x0c, 0xfa, |
|
1196 |
- 0x95, 0xc7, 0x95, 0x27, 0x2d, 0x0f, 0x57, 0xce, 0x26, 0xd4, 0x52, 0x44, 0x54, 0x25, 0x42, 0x2c, |
|
1197 |
- 0x9d, 0x47, 0x00, 0xa3, 0x28, 0xc9, 0xd9, 0x09, 0x0f, 0xc2, 0xb8, 0x5f, 0x43, 0xc2, 0xba, 0x67, |
|
1198 |
- 0x61, 0x9c, 0x6d, 0x68, 0x5c, 0x85, 0x01, 0x9f, 0xf4, 0xeb, 0x48, 0xea, 0x7a, 0x04, 0x38, 0xbb, |
|
1199 |
- 0xd0, 0x9c, 0xb0, 0x70, 0x3c, 0xe1, 0xfd, 0x86, 0x44, 0x2b, 0xc8, 0xdd, 0x83, 0x9d, 0x39, 0x3b, |
|
1200 |
- 0xf2, 0x34, 0x89, 0x73, 0xe6, 0x7e, 0x55, 0x81, 0xdd, 0xc3, 0x8c, 0x21, 0xe5, 0x30, 0x89, 0xb9, |
|
1201 |
- 0x1f, 0xc6, 0x2c, 0x5b, 0x65, 0x23, 0x5a, 0x74, 0x3e, 0x8b, 0x83, 0x88, 0x1d, 0xfb, 0xa8, 0x96, |
|
1202 |
- 0x4c, 0xb5, 0x30, 0xd2, 0xe2, 0x09, 0x1b, 0x5d, 0xa4, 0x49, 0x18, 0x73, 0x69, 0x31, 0xd2, 0x0d, |
|
1203 |
- 0x46, 0x58, 0x9c, 0xcb, 0xc3, 0xd4, 0x25, 0x89, 0x00, 0x61, 0x31, 0x2e, 0x92, 0x19, 0x59, 0xdc, |
|
1204 |
- 0xf2, 0x14, 0xa4, 0xf0, 0x2c, 0xcb, 0xfa, 0x4d, 0x8d, 0x47, 0x48, 0xe0, 0x23, 0xff, 0x9c, 0x45, |
|
1205 |
- 0x79, 0x7f, 0xed, 0x71, 0x4d, 0xe0, 0x09, 0x72, 0x1e, 0x43, 0x3b, 0x4e, 0x8e, 0xc3, 0xcb, 0x84, |
|
1206 |
- 0x7b, 0x49, 0xc2, 0xfb, 0xeb, 0xd2, 0x61, 0x36, 0xca, 0x7d, 0x0d, 0x7b, 0x0b, 0x27, 0x25, 0x2f, |
|
1207 |
- 0x38, 0xfb, 0xd0, 0x1a, 0x15, 0x48, 0x79, 0xe2, 0xf6, 0xc1, 0xe6, 0xbe, 0x0c, 0xe1, 0xbe, 0x61, |
|
1208 |
- 0x36, 0x2c, 0x28, 0xaa, 0x7b, 0x12, 0x8e, 0x63, 0x3f, 0xfa, 0xfa, 0xf1, 0x14, 0xe7, 0x91, 0x5b, |
|
1209 |
- 0xa4, 0x67, 0x30, 0x32, 0x04, 0xb9, 0x9b, 0xd0, 0x2b, 0x44, 0xa9, 0x90, 0xfc, 0xb5, 0x06, 0x5b, |
|
1210 |
- 0x9f, 0x06, 0xc1, 0x1d, 0x19, 0x33, 0x80, 0x75, 0xce, 0xb2, 0x69, 0x28, 0x24, 0x56, 0xe5, 0x61, |
|
1211 |
- 0x35, 0xec, 0x7c, 0x00, 0xf5, 0x59, 0x8e, 0x27, 0xa9, 0xc9, 0x93, 0xb4, 0xd5, 0x49, 0xce, 0x10, |
|
1212 |
- 0xe5, 0x49, 0x82, 0xe3, 0x40, 0xdd, 0xcf, 0xc6, 0x39, 0x46, 0x42, 0xb8, 0x50, 0xae, 0x85, 0xc9, |
|
1213 |
- 0x2c, 0xbe, 0xc4, 0x28, 0x08, 0x94, 0x58, 0x0a, 0xcc, 0xe8, 0x2a, 0x50, 0xfe, 0x17, 0xcb, 0xe2, |
|
1214 |
- 0x58, 0x6b, 0xe6, 0x58, 0x3a, 0xa8, 0xeb, 0xcb, 0x83, 0xda, 0x5a, 0x11, 0x54, 0x28, 0x05, 0xd5, |
|
1215 |
- 0x85, 0xce, 0xc8, 0x4f, 0xfd, 0xf3, 0x30, 0x0a, 0x79, 0xc8, 0xf2, 0x7e, 0x5b, 0x1a, 0x51, 0xc2, |
|
1216 |
- 0x39, 0x4f, 0x60, 0xc3, 0x4f, 0x53, 0x3f, 0x9b, 0x26, 0x19, 0xba, 0xe6, 0x5d, 0x18, 0xb1, 0x7e, |
|
1217 |
- 0x47, 0x0a, 0x99, 0x47, 0x0b, 0x69, 0x39, 0x8b, 0xc2, 0x78, 0x76, 0xfd, 0x46, 0xe4, 0x46, 0xbf, |
|
1218 |
- 0x2b, 0xd9, 0x4a, 0x38, 0x21, 0x2d, 0x4e, 0x3e, 0x67, 0x57, 0xc7, 0x59, 0x78, 0x89, 0x7b, 0xc6, |
|
1219 |
- 0xa8, 0xb4, 0x27, 0xbd, 0x38, 0x8f, 0x76, 0x3e, 0x84, 0xb5, 0x2c, 0x0a, 0xa7, 0x21, 0xcf, 0xfb, |
|
1220 |
- 0x1b, 0x68, 0x56, 0xfb, 0xa0, 0xab, 0xfc, 0xe9, 0x49, 0xac, 0x57, 0x50, 0xdd, 0x97, 0xd0, 0x24, |
|
1221 |
- 0x94, 0x70, 0xaf, 0x60, 0x51, 0xd1, 0x92, 0x6b, 0x81, 0xcb, 0x93, 0x77, 0x5c, 0xc6, 0xaa, 0xee, |
|
1222 |
- 0xc9, 0xb5, 0xc0, 0x4d, 0xfc, 0x2c, 0x90, 0x71, 0x42, 0x9c, 0x58, 0xbb, 0x1e, 0xd4, 0x45, 0xa0, |
|
1223 |
- 0x84, 0xab, 0x67, 0x2a, 0xe0, 0x5d, 0x4f, 0x2c, 0x05, 0x66, 0xac, 0x72, 0x0a, 0x31, 0xb8, 0x74, |
|
1224 |
- 0xbe, 0x09, 0x3d, 0x3f, 0x08, 0xd0, 0x3d, 0x09, 0x46, 0xfd, 0x67, 0x61, 0x90, 0xa3, 0xa4, 0x1a, |
|
1225 |
- 0x12, 0xe7, 0xb0, 0xee, 0x36, 0x38, 0x76, 0x42, 0xa9, 0x3c, 0xfb, 0x95, 0xae, 0x07, 0x5d, 0xa3, |
|
1226 |
- 0xab, 0x92, 0xed, 0xfb, 0xa5, 0xd2, 0xae, 0xca, 0xb4, 0xda, 0x2a, 0x0a, 0xc4, 0xec, 0xb6, 0x98, |
|
1227 |
- 0xdc, 0x01, 0xf4, 0x17, 0xa5, 0x2b, 0xcd, 0x3f, 0x86, 0xbd, 0x97, 0x2c, 0x62, 0x5f, 0x47, 0x33, |
|
1228 |
- 0xba, 0x28, 0xf6, 0xa7, 0x4c, 0x55, 0x92, 0x5c, 0x0b, 0xd1, 0x8b, 0xdb, 0x95, 0xe8, 0x0f, 0x61, |
|
1229 |
- 0xe7, 0x4d, 0x98, 0xf3, 0x3b, 0x05, 0xbb, 0xbf, 0x01, 0x30, 0x4c, 0x5a, 0x4d, 0xc5, 0xa8, 0x11, |
|
1230 |
- 0x38, 0x76, 0x1d, 0x72, 0x55, 0x5d, 0x72, 0x2d, 0x62, 0xc0, 0x47, 0xa9, 0x6a, 0xc7, 0x62, 0x29, |
|
1231 |
- 0xfa, 0xce, 0x2c, 0x0e, 0xaf, 0x4f, 0x92, 0xd1, 0x05, 0xe3, 0xb9, 0xec, 0x6d, 0xd8, 0x77, 0x2c, |
|
1232 |
- 0x94, 0x2c, 0x91, 0x09, 0x8b, 0x22, 0xd9, 0xe0, 0xd6, 0x3d, 0x02, 0xdc, 0x23, 0xd8, 0x9d, 0x37, |
|
1233 |
- 0x54, 0x35, 0xa3, 0x67, 0xd0, 0x36, 0x7e, 0xcc, 0xd1, 0xa4, 0xda, 0x72, 0x6f, 0xdb, 0x5c, 0xee, |
|
1234 |
- 0x23, 0xe8, 0x9c, 0x70, 0xf4, 0xf6, 0xaa, 0xe3, 0x3e, 0x81, 0x9e, 0xee, 0x64, 0x92, 0x91, 0x6a, |
|
1235 |
- 0xd1, 0xe7, 0xb3, 0x5c, 0x71, 0x29, 0xc8, 0xfd, 0x5b, 0x0d, 0xd6, 0x54, 0xaa, 0x14, 0xf5, 0x5e, |
|
1236 |
- 0x31, 0xf5, 0xfe, 0x5f, 0x69, 0x3b, 0xef, 0x43, 0x2b, 0xbf, 0xc9, 0x39, 0x9b, 0x1e, 0xab, 0xe6, |
|
1237 |
- 0xd3, 0xf5, 0x0c, 0xe2, 0x7f, 0x2d, 0xc8, 0xb4, 0xa0, 0xbf, 0x57, 0xa0, 0xa5, 0xc3, 0xfc, 0x6f, |
|
1238 |
- 0x5f, 0xe0, 0x1f, 0x41, 0x2b, 0xa5, 0xc0, 0x33, 0xea, 0x24, 0xed, 0x83, 0x9e, 0x52, 0x54, 0xf4, |
|
1239 |
- 0x0e, 0xc3, 0x60, 0xe5, 0x4f, 0xdd, 0xce, 0x1f, 0xeb, 0x82, 0x6e, 0x94, 0x2e, 0x68, 0x0c, 0x7e, |
|
1240 |
- 0x2a, 0x5a, 0x54, 0x53, 0xb6, 0x28, 0xb9, 0x76, 0xfa, 0x78, 0xb0, 0x59, 0xcc, 0x43, 0xac, 0x3c, |
|
1241 |
- 0xba, 0x53, 0x0a, 0xd0, 0xfd, 0x04, 0xd6, 0x8e, 0xfc, 0xd1, 0x04, 0xcf, 0x21, 0x36, 0x8e, 0x52, |
|
1242 |
- 0x95, 0xa6, 0xb8, 0x51, 0xac, 0x85, 0x92, 0x29, 0x43, 0x7f, 0xdf, 0xa8, 0x7e, 0xaa, 0x20, 0xf7, |
|
1243 |
- 0x02, 0x2f, 0x66, 0x2a, 0x03, 0x55, 0x4c, 0x4f, 0xb1, 0x73, 0x15, 0x0e, 0x29, 0x6a, 0x69, 0xf1, |
|
1244 |
- 0x6a, 0xb7, 0x78, 0x30, 0x2c, 0x6b, 0x53, 0xd2, 0xac, 0x1a, 0x5d, 0xe1, 0x03, 0x65, 0x8f, 0x57, |
|
1245 |
- 0x90, 0xdd, 0xdf, 0xe1, 0xec, 0x44, 0x53, 0xd5, 0x9d, 0xb3, 0xd3, 0xf2, 0x79, 0x80, 0xdc, 0x57, |
|
1246 |
- 0x2b, 0xb9, 0xef, 0x19, 0xb4, 0x32, 0x96, 0x27, 0xb3, 0x0c, 0xdd, 0x2c, 0x3d, 0xdb, 0x3e, 0xd8, |
|
1247 |
- 0x29, 0x2a, 0x49, 0xea, 0xf2, 0x14, 0xd5, 0x33, 0x7c, 0xee, 0x57, 0x55, 0xe8, 0x95, 0xa9, 0xa2, |
|
1248 |
- 0x2f, 0x9d, 0x47, 0x17, 0x61, 0xf2, 0x05, 0x8d, 0x83, 0xe4, 0x3c, 0x1b, 0x25, 0xaa, 0x0a, 0x7d, |
|
1249 |
- 0x79, 0x82, 0xb7, 0x0e, 0x6a, 0xa2, 0x5b, 0xc5, 0x20, 0x14, 0xf5, 0x98, 0x65, 0x61, 0x12, 0xa8, |
|
1250 |
- 0x91, 0xc5, 0x20, 0x44, 0x1b, 0x40, 0xe0, 0xed, 0x2c, 0xe1, 0xbe, 0x1a, 0x40, 0x35, 0x2c, 0xe7, |
|
1251 |
- 0x40, 0x8c, 0x11, 0xe3, 0x87, 0x22, 0x6a, 0x0d, 0x35, 0x07, 0x6a, 0x8c, 0xa1, 0x1f, 0xb1, 0x69, |
|
1252 |
- 0xae, 0xca, 0xdc, 0xc2, 0x08, 0xcb, 0x29, 0x9a, 0x6f, 0x44, 0x52, 0xab, 0x7a, 0xb7, 0x51, 0x42, |
|
1253 |
- 0x02, 0x81, 0x27, 0x57, 0x7e, 0x2a, 0xcb, 0xbe, 0xeb, 0x59, 0x18, 0x4c, 0xe4, 0x2d, 0x82, 0xd0, |
|
1254 |
- 0x1b, 0x2c, 0xbb, 0xf4, 0xc5, 0x55, 0x28, 0xdb, 0x40, 0xd7, 0x5b, 0x24, 0x08, 0xee, 0x0b, 0x96, |
|
1255 |
- 0xc5, 0x2c, 0x3a, 0xb2, 0xb4, 0x02, 0x71, 0x2f, 0x10, 0xdc, 0x07, 0xb0, 0xb7, 0x10, 0x73, 0x75, |
|
1256 |
- 0xf7, 0x7c, 0x17, 0xba, 0xaf, 0x2e, 0x19, 0x76, 0xe3, 0x22, 0x0b, 0xd0, 0x87, 0x22, 0x99, 0x31, |
|
1257 |
- 0xb2, 0xd3, 0x54, 0x46, 0xa0, 0xee, 0x19, 0x84, 0x9b, 0x43, 0x43, 0xb2, 0x2f, 0x1d, 0x17, 0x28, |
|
1258 |
- 0x81, 0xaa, 0x3a, 0x81, 0xca, 0xe9, 0xd2, 0xd5, 0xe9, 0xa2, 0x12, 0xab, 0x6e, 0x12, 0xab, 0xa4, |
|
1259 |
- 0xb4, 0x31, 0xaf, 0xf4, 0xf7, 0x55, 0xe8, 0x7c, 0xce, 0xf8, 0x55, 0x92, 0x5d, 0x88, 0x42, 0xc9, |
|
1260 |
- 0x97, 0xde, 0x7c, 0x0f, 0x60, 0x3d, 0xbb, 0x1e, 0x9e, 0xdf, 0x70, 0x95, 0x18, 0x75, 0xac, 0xcb, |
|
1261 |
- 0xeb, 0x17, 0x02, 0x74, 0x1e, 0x02, 0x20, 0xe9, 0xd8, 0xa7, 0xdb, 0x8e, 0x06, 0x97, 0x56, 0x76, |
|
1262 |
- 0xad, 0x10, 0xce, 0x7b, 0xd0, 0xf2, 0xae, 0x87, 0xd8, 0x4f, 0x93, 0x8c, 0xb2, 0xb7, 0xee, 0xa1, |
|
1263 |
- 0xa8, 0x57, 0x12, 0x16, 0x7b, 0x91, 0x18, 0x64, 0x49, 0x9a, 0xb2, 0xa0, 0x30, 0x2d, 0xbb, 0x7e, |
|
1264 |
- 0x49, 0x08, 0xa1, 0xf5, 0xb4, 0xd0, 0xda, 0x24, 0xad, 0xdc, 0x68, 0x45, 0x52, 0xaa, 0xb4, 0xae, |
|
1265 |
- 0xa9, 0x43, 0xd9, 0x5a, 0x4f, 0xb5, 0xd6, 0x75, 0xd2, 0xca, 0x2d, 0xad, 0xa7, 0x46, 0x6b, 0xab, |
|
1266 |
- 0xd8, 0xab, 0xb4, 0xba, 0x7f, 0xa9, 0xc0, 0x3a, 0xa6, 0xe5, 0x59, 0xee, 0x8f, 0x19, 0xde, 0x60, |
|
1267 |
- 0x6d, 0x8e, 0x29, 0x1c, 0x0d, 0x67, 0x02, 0x54, 0x21, 0x03, 0x89, 0x22, 0x86, 0xff, 0x83, 0x4e, |
|
1268 |
- 0xca, 0x32, 0x4c, 0x56, 0xc5, 0x51, 0xc5, 0x86, 0x52, 0xf7, 0xda, 0x84, 0x23, 0x96, 0x7d, 0xb8, |
|
1269 |
- 0x2f, 0x69, 0xc3, 0x30, 0x1e, 0x52, 0xfa, 0x4c, 0x93, 0x80, 0x29, 0x57, 0x6d, 0x49, 0xd2, 0xeb, |
|
1270 |
- 0xf8, 0x33, 0x4d, 0x70, 0xbe, 0x0d, 0x5b, 0x9a, 0x5f, 0xdc, 0x92, 0x92, 0x9b, 0x5c, 0xb7, 0xa1, |
|
1271 |
- 0xb8, 0xcf, 0x14, 0x1a, 0x87, 0x96, 0xde, 0xe9, 0x04, 0x3f, 0x30, 0x39, 0x5e, 0x23, 0xe3, 0x97, |
|
1272 |
- 0x3e, 0x16, 0x1b, 0x76, 0xd0, 0x54, 0x96, 0x64, 0xae, 0xac, 0x2d, 0x40, 0xe7, 0x3b, 0xb0, 0xc5, |
|
1273 |
- 0x89, 0x97, 0x05, 0xc3, 0x82, 0x87, 0xa2, 0xb9, 0xa9, 0x09, 0xc7, 0x8a, 0xf9, 0x1b, 0xd0, 0x33, |
|
1274 |
- 0xcc, 0xb2, 0x1f, 0x93, 0xbd, 0x5d, 0x8d, 0x3d, 0x15, 0x5d, 0xf9, 0x8f, 0xe4, 0x2c, 0xca, 0x9c, |
|
1275 |
- 0x8f, 0x64, 0x87, 0xb0, 0x5c, 0xd5, 0x3e, 0xd8, 0x28, 0x3a, 0xab, 0x72, 0x86, 0xec, 0x0a, 0xe4, |
|
1276 |
- 0x96, 0x9f, 0xc0, 0x06, 0xd7, 0xa6, 0x0f, 0xb1, 0x80, 0x7c, 0xd5, 0x5e, 0x8b, 0xee, 0x56, 0x3e, |
|
1277 |
- 0x98, 0xd7, 0xe3, 0xe5, 0x83, 0xa2, 0xe7, 0xe9, 0xca, 0x57, 0x0a, 0xc9, 0xbe, 0x36, 0xe1, 0xa4, |
|
1278 |
- 0x0a, 0xf7, 0x47, 0xd0, 0xc2, 0x79, 0x20, 0x27, 0xeb, 0xd0, 0x31, 0xa3, 0x59, 0x96, 0x61, 0x7d, |
|
1279 |
- 0x15, 0x8e, 0x51, 0xa0, 0x98, 0x17, 0xe4, 0x75, 0xa9, 0x9c, 0x41, 0x80, 0x9b, 0x00, 0x50, 0x99, |
|
1280 |
- 0x4b, 0x6d, 0xc8, 0x63, 0xa7, 0x00, 0x01, 0x22, 0xcf, 0xa6, 0xfe, 0xb5, 0x0e, 0xbd, 0xcc, 0x33, |
|
1281 |
- 0x44, 0xd0, 0x01, 0x51, 0xe1, 0x3b, 0x3f, 0x8c, 0x46, 0xea, 0xdb, 0x17, 0x15, 0x2a, 0xd0, 0x28, |
|
1282 |
- 0xac, 0xdb, 0x0a, 0xff, 0x5c, 0x85, 0x36, 0x69, 0x24, 0x83, 0x91, 0x6b, 0x84, 0x17, 0x8b, 0x56, |
|
1283 |
- 0x29, 0x01, 0xbc, 0xfa, 0x1b, 0x46, 0x9d, 0x19, 0x03, 0x8d, 0xa9, 0x85, 0x6d, 0x78, 0xd1, 0xe5, |
|
1284 |
- 0xd8, 0xfb, 0x2c, 0xef, 0x2c, 0xe5, 0x6e, 0x09, 0x26, 0x32, 0xf8, 0x63, 0xe8, 0x50, 0x7e, 0xaa, |
|
1285 |
- 0x3d, 0xf5, 0x55, 0x7b, 0xda, 0xc4, 0x46, 0xbb, 0x9e, 0x89, 0x69, 0x0b, 0xed, 0x95, 0xb7, 0x7b, |
|
1286 |
- 0xfb, 0xe0, 0x61, 0x89, 0x5d, 0x9e, 0x64, 0x5f, 0xfe, 0xbe, 0x8a, 0x39, 0xb6, 0x59, 0xe2, 0x1d, |
|
1287 |
- 0x3c, 0x07, 0x30, 0x48, 0xd1, 0xb3, 0x2e, 0xd8, 0x4d, 0x31, 0x55, 0xe2, 0x52, 0x9c, 0xfd, 0xd2, |
|
1288 |
- 0x8f, 0x66, 0x85, 0x53, 0x09, 0xf8, 0x61, 0xf5, 0x79, 0xc5, 0x1d, 0xc1, 0xc6, 0x0b, 0x71, 0x67, |
|
1289 |
- 0x59, 0xdb, 0x91, 0x79, 0xea, 0xff, 0x3a, 0xc9, 0x0a, 0x47, 0x49, 0x40, 0x62, 0xc3, 0x18, 0xb1, |
|
1290 |
- 0x4a, 0x84, 0x04, 0x44, 0x1b, 0x4d, 0x52, 0x75, 0xc3, 0xe2, 0xca, 0x28, 0xaa, 0x5b, 0x8a, 0xdc, |
|
1291 |
- 0x7f, 0xd4, 0x01, 0x8c, 0x16, 0xe7, 0x04, 0x06, 0x61, 0x32, 0x14, 0x17, 0x44, 0x38, 0x62, 0xd4, |
|
1292 |
- 0x90, 0x86, 0x19, 0xc3, 0xf4, 0xc9, 0xc3, 0x4b, 0xa6, 0x66, 0x88, 0x5d, 0x75, 0xee, 0x39, 0xe3, |
|
1293 |
- 0xbc, 0x3d, 0x84, 0x68, 0xa3, 0xec, 0x5c, 0x5e, 0xb1, 0xcd, 0xf9, 0x05, 0xec, 0x18, 0xa1, 0x81, |
|
1294 |
- 0x25, 0xaf, 0x7a, 0xab, 0xbc, 0xfb, 0x5a, 0x5e, 0x60, 0x64, 0xfd, 0x14, 0x10, 0x3d, 0xc4, 0x3b, |
|
1295 |
- 0x66, 0x56, 0x92, 0x54, 0xbb, 0x55, 0xd2, 0x56, 0x98, 0xbc, 0x95, 0x3b, 0x8c, 0x9c, 0xb7, 0xf0, |
|
1296 |
- 0xc0, 0x3a, 0xa8, 0x28, 0x7b, 0x4b, 0x5a, 0xfd, 0x56, 0x69, 0xbb, 0xda, 0x2e, 0xd1, 0x18, 0x8c, |
|
1297 |
- 0xc8, 0xcf, 0x00, 0x29, 0xc3, 0x2b, 0x3f, 0xe4, 0xf3, 0xf2, 0x1a, 0x77, 0x9d, 0xf3, 0x0b, 0xdc, |
|
1298 |
- 0x54, 0x16, 0x46, 0xe7, 0x9c, 0xb2, 0x6c, 0x5c, 0x3a, 0x67, 0xf3, 0xae, 0x73, 0x1e, 0xc9, 0x1d, |
|
1299 |
- 0x46, 0xce, 0x0b, 0x40, 0xe4, 0xbc, 0x3d, 0x6b, 0xb7, 0x4a, 0xd9, 0x08, 0x93, 0xb2, 0x2d, 0x87, |
|
1300 |
- 0xb0, 0x95, 0xb3, 0x11, 0xc7, 0x1b, 0xc5, 0x92, 0xb1, 0x7e, 0xab, 0x8c, 0x4d, 0xb5, 0x41, 0x0b, |
|
1301 |
- 0x71, 0xbf, 0x84, 0xce, 0xcf, 0x67, 0x63, 0xc6, 0xa3, 0x73, 0x5d, 0xf3, 0xff, 0xe9, 0x36, 0xf3, |
|
1302 |
- 0x4f, 0x6c, 0x33, 0x87, 0xe3, 0x2c, 0x99, 0xa5, 0xa5, 0xae, 0x4d, 0x35, 0xbc, 0xd0, 0xb5, 0x25, |
|
1303 |
- 0x8f, 0xec, 0xda, 0xc4, 0xfd, 0x09, 0x74, 0x68, 0x60, 0x52, 0x1b, 0xa8, 0x0b, 0x39, 0x8b, 0x45, |
|
1304 |
- 0x5f, 0x0c, 0x68, 0xb4, 0xed, 0x40, 0x0d, 0x9f, 0x6a, 0x57, 0xb9, 0x1b, 0x19, 0x37, 0xe1, 0xd7, |
|
1305 |
- 0x87, 0xa9, 0xba, 0xd7, 0xd0, 0x9d, 0x90, 0x6f, 0xd4, 0x2e, 0x4a, 0xc0, 0xff, 0x2f, 0x8c, 0x33, |
|
1306 |
- 0x67, 0xd8, 0xb7, 0x7d, 0x48, 0xae, 0xee, 0x4c, 0x6c, 0xb7, 0x7e, 0x0f, 0x40, 0x7c, 0x5e, 0x0c, |
|
1307 |
- 0x8b, 0x46, 0x65, 0xbf, 0xe7, 0xe9, 0x1b, 0x02, 0xbf, 0x65, 0x8a, 0xe5, 0xe0, 0x14, 0xb6, 0x16, |
|
1308 |
- 0x64, 0x2e, 0x69, 0x53, 0xdf, 0xb2, 0xdb, 0x54, 0xfb, 0xe0, 0xbe, 0x12, 0x69, 0x6f, 0xb5, 0x7b, |
|
1309 |
- 0xd7, 0x9f, 0x2a, 0xf4, 0x35, 0xa2, 0x9f, 0x5c, 0x9c, 0xe7, 0xd0, 0x8d, 0x69, 0xf8, 0xd2, 0x01, |
|
1310 |
- 0xa8, 0x59, 0x82, 0xec, 0xc1, 0xcc, 0xeb, 0xc4, 0xf6, 0x98, 0x86, 0x81, 0x18, 0x49, 0x0f, 0x2c, |
|
1311 |
- 0x0d, 0x84, 0xe5, 0x1c, 0xaf, 0x3d, 0xb2, 0xa2, 0x5d, 0x1a, 0x06, 0x6b, 0xf3, 0xc3, 0xa0, 0x7a, |
|
1312 |
- 0x34, 0x58, 0xf5, 0xc6, 0x78, 0xf0, 0x87, 0x26, 0xd4, 0x3e, 0x3d, 0x7e, 0xed, 0x78, 0xb0, 0x31, |
|
1313 |
- 0xf7, 0x72, 0xea, 0x14, 0x7d, 0x7f, 0xf9, 0xdb, 0xf1, 0xe0, 0xd1, 0x2a, 0xb2, 0x1a, 0x95, 0xef, |
|
1314 |
- 0x09, 0x99, 0x73, 0x73, 0xb4, 0x96, 0xb9, 0xfc, 0x9b, 0x4a, 0xcb, 0x5c, 0x35, 0x7e, 0xdf, 0x73, |
|
1315 |
- 0x7e, 0x00, 0x4d, 0x7a, 0x4b, 0x75, 0xb6, 0x15, 0x6f, 0xe9, 0x95, 0x76, 0xb0, 0x33, 0x87, 0xd5, |
|
1316 |
- 0x1b, 0xdf, 0x40, 0xb7, 0xf4, 0x3c, 0xee, 0xbc, 0x57, 0xd2, 0x55, 0x7e, 0x8a, 0x1d, 0xbc, 0xbf, |
|
1317 |
- 0x9c, 0xa8, 0xa5, 0x1d, 0x02, 0x98, 0xe7, 0x36, 0xa7, 0xaf, 0xb8, 0x17, 0x9e, 0x74, 0x07, 0x0f, |
|
1318 |
- 0x96, 0x50, 0xb4, 0x90, 0x33, 0xd8, 0x9c, 0x7f, 0x3f, 0x73, 0xe6, 0xbc, 0x3a, 0xff, 0xc6, 0x35, |
|
1319 |
- 0xf8, 0x60, 0x25, 0xdd, 0x16, 0x3b, 0xff, 0x76, 0xa6, 0xc5, 0xae, 0x78, 0x93, 0xd3, 0x62, 0x57, |
|
1320 |
- 0x3e, 0xba, 0xdd, 0x73, 0x7e, 0x09, 0xbd, 0xf2, 0x6b, 0x96, 0x53, 0x38, 0x69, 0xe9, 0x6b, 0xdc, |
|
1321 |
- 0xe0, 0xe1, 0x0a, 0xaa, 0x16, 0xf8, 0x31, 0x34, 0xe8, 0x99, 0xaa, 0xa8, 0x0d, 0xfb, 0x75, 0x6b, |
|
1322 |
- 0xb0, 0x5d, 0x46, 0xea, 0x5d, 0x4f, 0xa1, 0x49, 0x5f, 0x60, 0x3a, 0x01, 0x4a, 0x1f, 0x64, 0x83, |
|
1323 |
- 0x8e, 0x8d, 0x75, 0xef, 0x3d, 0xad, 0x14, 0x7a, 0xf2, 0x92, 0x9e, 0x7c, 0x99, 0x1e, 0x2b, 0x38, |
|
1324 |
- 0xe7, 0x4d, 0xf9, 0x2f, 0xcf, 0xb3, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x70, 0x70, 0x7d, |
|
1325 |
- 0xf2, 0x19, 0x00, 0x00, |
|
1186 |
+ // 2285 bytes of a gzipped FileDescriptorProto |
|
1187 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x19, 0xcb, 0x72, 0x1c, 0x49, |
|
1188 |
+ 0xd1, 0xf3, 0x94, 0x26, 0xe7, 0x21, 0xa9, 0xfd, 0xd0, 0x78, 0x76, 0xed, 0x35, 0x1d, 0xc0, 0x1a, |
|
1189 |
+ 0x58, 0x84, 0x91, 0x77, 0x03, 0x07, 0x04, 0x44, 0xac, 0x65, 0xb3, 0x98, 0xb5, 0x16, 0xb9, 0x25, |
|
1190 |
+ 0xb1, 0x17, 0x22, 0x26, 0x5a, 0x33, 0xe5, 0x99, 0x46, 0x33, 0xdd, 0xbd, 0xdd, 0x35, 0xd2, 0xe8, |
|
1191 |
+ 0xc2, 0x11, 0x6e, 0xfc, 0x00, 0x11, 0x5c, 0xb8, 0x71, 0xe7, 0xc0, 0x17, 0xf0, 0x27, 0xc4, 0x5e, |
|
1192 |
+ 0xb8, 0x73, 0x24, 0xab, 0x32, 0xbb, 0xba, 0x7a, 0x1e, 0xd2, 0x72, 0x20, 0xb8, 0xec, 0x65, 0xa2, |
|
1193 |
+ 0x32, 0x2b, 0x2b, 0x33, 0x2b, 0xdf, 0x5d, 0x03, 0x0d, 0x3f, 0x0e, 0xf6, 0xe2, 0x24, 0x92, 0x91, |
|
1194 |
+ 0x53, 0x93, 0x57, 0xb1, 0x48, 0xdd, 0xfb, 0xb0, 0xfb, 0x89, 0x90, 0xc7, 0x22, 0xb9, 0x10, 0xc9, |
|
1195 |
+ 0xaf, 0x45, 0x92, 0x06, 0x51, 0xe8, 0x89, 0x2f, 0x66, 0x22, 0x95, 0xee, 0x1c, 0xba, 0xcb, 0x5b, |
|
1196 |
+ 0x69, 0x1c, 0x85, 0xa9, 0x70, 0xee, 0x40, 0x6d, 0xea, 0xff, 0x36, 0x4a, 0xba, 0xa5, 0x47, 0xa5, |
|
1197 |
+ 0xc7, 0x6d, 0x8f, 0x00, 0x8d, 0x0d, 0x42, 0xc4, 0x96, 0x19, 0xab, 0x00, 0x85, 0x8d, 0x7d, 0x39, |
|
1198 |
+ 0x18, 0x77, 0x2b, 0x84, 0xd5, 0x80, 0xd3, 0x83, 0xcd, 0x44, 0x5c, 0x04, 0x8a, 0x6b, 0xb7, 0x8a, |
|
1199 |
+ 0x1b, 0x0d, 0xcf, 0xc0, 0xee, 0xef, 0x4b, 0x70, 0xe7, 0x34, 0x1e, 0xfa, 0x52, 0x1c, 0x25, 0xd1, |
|
1200 |
+ 0x40, 0xa4, 0x29, 0xab, 0xe4, 0x74, 0xa0, 0x1c, 0x0c, 0xb5, 0xcc, 0x86, 0x87, 0x2b, 0x67, 0x1b, |
|
1201 |
+ 0x2a, 0x31, 0x22, 0xca, 0x1a, 0xa1, 0x96, 0xce, 0x43, 0x80, 0xc1, 0x24, 0x4a, 0xc5, 0xb1, 0x1c, |
|
1202 |
+ 0x06, 0xa1, 0x96, 0xb8, 0xe9, 0x59, 0x18, 0xa5, 0xcc, 0x65, 0x30, 0x94, 0x63, 0x2d, 0x13, 0x95, |
|
1203 |
+ 0xd1, 0x80, 0x73, 0x0f, 0xea, 0x63, 0x11, 0x8c, 0xc6, 0xb2, 0x5b, 0xd3, 0x68, 0x86, 0xdc, 0x5d, |
|
1204 |
+ 0xb8, 0xbb, 0xa0, 0x07, 0xdd, 0xdf, 0xfd, 0xb2, 0x04, 0xf7, 0x0e, 0x12, 0x81, 0x3b, 0x07, 0x51, |
|
1205 |
+ 0x28, 0xfd, 0x20, 0x14, 0xc9, 0x3a, 0x1d, 0x51, 0xa3, 0xb3, 0x59, 0x38, 0x9c, 0x88, 0x23, 0x1f, |
|
1206 |
+ 0xc5, 0x92, 0xaa, 0x16, 0x46, 0x6b, 0x3c, 0x16, 0x83, 0xf3, 0x38, 0x0a, 0x42, 0xa9, 0x35, 0xc6, |
|
1207 |
+ 0xfd, 0x1c, 0xa3, 0x34, 0x4e, 0xf5, 0x65, 0xc8, 0x4a, 0x04, 0x28, 0x8d, 0x71, 0x11, 0xcd, 0x48, |
|
1208 |
+ 0xe3, 0x86, 0xc7, 0x10, 0xe3, 0x45, 0x92, 0x74, 0xeb, 0x06, 0x8f, 0x90, 0xc2, 0x4f, 0xfc, 0x33, |
|
1209 |
+ 0x31, 0x49, 0xbb, 0x1b, 0x8f, 0x2a, 0x0a, 0x4f, 0x90, 0xf3, 0x08, 0x9a, 0x61, 0x74, 0x14, 0x5c, |
|
1210 |
+ 0x44, 0xd2, 0x8b, 0x22, 0xd9, 0xdd, 0xd4, 0x06, 0xb3, 0x51, 0xee, 0x2b, 0xd8, 0x5d, 0xba, 0x29, |
|
1211 |
+ 0x47, 0xc1, 0x1e, 0x34, 0x06, 0x19, 0x52, 0xdf, 0xb8, 0xb9, 0xbf, 0xbd, 0xa7, 0xe3, 0x6a, 0x2f, |
|
1212 |
+ 0x27, 0xce, 0x49, 0x90, 0x55, 0xfb, 0x38, 0x18, 0x85, 0xfe, 0xe4, 0xab, 0xfb, 0x53, 0xdd, 0x47, |
|
1213 |
+ 0x1f, 0xe1, 0xe8, 0x61, 0xc8, 0xdd, 0x86, 0x4e, 0xc6, 0x8a, 0x5d, 0xf2, 0xb7, 0x0a, 0xec, 0x7c, |
|
1214 |
+ 0x3c, 0x1c, 0xde, 0x10, 0x31, 0x18, 0x76, 0x52, 0x24, 0x18, 0x98, 0xc8, 0xb1, 0xac, 0x2f, 0x6b, |
|
1215 |
+ 0x60, 0xe7, 0x3d, 0xa8, 0xce, 0x52, 0xbc, 0x49, 0x45, 0xdf, 0xa4, 0xc9, 0x37, 0x39, 0x45, 0x94, |
|
1216 |
+ 0xa7, 0x37, 0x1c, 0x07, 0xaa, 0x7e, 0x32, 0x4a, 0xd1, 0x13, 0xca, 0x84, 0x7a, 0xad, 0x54, 0x16, |
|
1217 |
+ 0xe1, 0x05, 0x7a, 0x41, 0xa1, 0xd4, 0x52, 0x61, 0x06, 0x97, 0x43, 0xb6, 0xbf, 0x5a, 0x66, 0xd7, |
|
1218 |
+ 0xda, 0xc8, 0xaf, 0x65, 0x9c, 0xba, 0xb9, 0xda, 0xa9, 0x8d, 0x35, 0x4e, 0x85, 0x82, 0x53, 0x5d, |
|
1219 |
+ 0x68, 0x0d, 0xfc, 0xd8, 0x3f, 0x0b, 0x26, 0x81, 0x0c, 0x44, 0xda, 0x6d, 0x6a, 0x25, 0x0a, 0x38, |
|
1220 |
+ 0xe7, 0x31, 0x6c, 0xf9, 0x71, 0xec, 0x27, 0xd3, 0x28, 0x41, 0xd3, 0xbc, 0x0d, 0x26, 0xa2, 0xdb, |
|
1221 |
+ 0xd2, 0x4c, 0x16, 0xd1, 0x8a, 0x5b, 0x2a, 0x26, 0x41, 0x38, 0x9b, 0xbf, 0x56, 0xb1, 0xd1, 0x6d, |
|
1222 |
+ 0x6b, 0xb2, 0x02, 0x4e, 0x71, 0x0b, 0xa3, 0xcf, 0xc4, 0xe5, 0x51, 0x12, 0x5c, 0xe0, 0x99, 0x11, |
|
1223 |
+ 0x0a, 0xed, 0x68, 0x2b, 0x2e, 0xa2, 0x9d, 0xf7, 0x61, 0x23, 0x99, 0x04, 0xd3, 0x40, 0xa6, 0xdd, |
|
1224 |
+ 0x2d, 0x54, 0xab, 0xb9, 0xdf, 0x66, 0x7b, 0x7a, 0x1a, 0xeb, 0x65, 0xbb, 0xee, 0x0b, 0xa8, 0x13, |
|
1225 |
+ 0x4a, 0x99, 0x57, 0x91, 0xb0, 0xb7, 0xf4, 0x5a, 0xe1, 0xd2, 0xe8, 0xad, 0xd4, 0xbe, 0xaa, 0x7a, |
|
1226 |
+ 0x7a, 0xad, 0x70, 0x63, 0x3f, 0x19, 0x6a, 0x3f, 0x21, 0x4e, 0xad, 0x5d, 0x0f, 0xaa, 0xca, 0x51, |
|
1227 |
+ 0xca, 0xd4, 0x33, 0x76, 0x78, 0xdb, 0x53, 0x4b, 0x85, 0x19, 0x71, 0x4c, 0x21, 0x06, 0x97, 0xce, |
|
1228 |
+ 0xb7, 0xa1, 0xe3, 0x0f, 0x87, 0x68, 0x9e, 0x08, 0xbd, 0xfe, 0x49, 0x30, 0x4c, 0x91, 0x53, 0x05, |
|
1229 |
+ 0x37, 0x17, 0xb0, 0xee, 0x1d, 0x70, 0xec, 0x80, 0xe2, 0x38, 0xfb, 0x8d, 0xc9, 0x07, 0x93, 0xa3, |
|
1230 |
+ 0xeb, 0x82, 0xed, 0x87, 0x85, 0xd4, 0x2e, 0xeb, 0xb0, 0xda, 0xc9, 0x12, 0x24, 0x3f, 0x6d, 0x11, |
|
1231 |
+ 0xb9, 0x3d, 0xe8, 0x2e, 0x73, 0x67, 0xc9, 0x3f, 0x85, 0xdd, 0x17, 0x62, 0x22, 0xbe, 0x8a, 0x64, |
|
1232 |
+ 0x34, 0x51, 0xe8, 0x4f, 0x05, 0x67, 0x92, 0x5e, 0x2b, 0xd6, 0xcb, 0xc7, 0x99, 0xf5, 0xfb, 0x70, |
|
1233 |
+ 0xf7, 0x75, 0x90, 0xca, 0x1b, 0x19, 0xbb, 0xbf, 0x03, 0xc8, 0x89, 0x8c, 0x98, 0x52, 0x2e, 0x46, |
|
1234 |
+ 0xe1, 0xc4, 0x3c, 0x90, 0x9c, 0x5d, 0x7a, 0xad, 0x7c, 0x20, 0x07, 0x31, 0x97, 0x63, 0xb5, 0x54, |
|
1235 |
+ 0x75, 0x67, 0x16, 0x06, 0xf3, 0xe3, 0x68, 0x70, 0x2e, 0x64, 0xaa, 0x6b, 0x1b, 0xd6, 0x1d, 0x0b, |
|
1236 |
+ 0xa5, 0x53, 0x64, 0x2c, 0x26, 0x13, 0x5d, 0xe0, 0x36, 0x3d, 0x02, 0xdc, 0x43, 0xb8, 0xb7, 0xa8, |
|
1237 |
+ 0x28, 0x17, 0xa3, 0xa7, 0xd0, 0xcc, 0xed, 0x98, 0xa2, 0x4a, 0x95, 0xd5, 0xd6, 0xb6, 0xa9, 0xdc, |
|
1238 |
+ 0x87, 0xd0, 0x3a, 0x96, 0x68, 0xed, 0x75, 0xd7, 0x7d, 0x0c, 0x1d, 0x53, 0xc9, 0x34, 0x21, 0xe5, |
|
1239 |
+ 0xa2, 0x2f, 0x67, 0x29, 0x53, 0x31, 0xe4, 0xfe, 0xbd, 0x02, 0x1b, 0x1c, 0x2a, 0x59, 0xbe, 0x97, |
|
1240 |
+ 0xf2, 0x7c, 0xff, 0xbf, 0x94, 0x9d, 0x77, 0xa1, 0x91, 0x5e, 0xa5, 0x52, 0x4c, 0x8f, 0xb8, 0xf8, |
|
1241 |
+ 0xb4, 0xbd, 0x1c, 0xf1, 0x75, 0x09, 0xca, 0x4b, 0xd0, 0x3f, 0x4a, 0xd0, 0x30, 0x6e, 0xfe, 0xaf, |
|
1242 |
+ 0x1b, 0xf8, 0x07, 0xd0, 0x88, 0xc9, 0xf1, 0x82, 0x2a, 0x49, 0x73, 0xbf, 0xc3, 0x82, 0xb2, 0xda, |
|
1243 |
+ 0x91, 0x13, 0x58, 0xf1, 0x53, 0xb5, 0xe3, 0xc7, 0x6a, 0xd0, 0xb5, 0x42, 0x83, 0x46, 0xe7, 0xc7, |
|
1244 |
+ 0xaa, 0x44, 0xd5, 0x75, 0x89, 0xd2, 0x6b, 0xa7, 0x8b, 0x17, 0x9b, 0x85, 0x32, 0xc0, 0xcc, 0xa3, |
|
1245 |
+ 0x9e, 0x92, 0x81, 0xee, 0x47, 0xb0, 0x71, 0xe8, 0x0f, 0xc6, 0x78, 0x0f, 0x75, 0x70, 0x10, 0x73, |
|
1246 |
+ 0x98, 0xe2, 0x41, 0xb5, 0x56, 0x42, 0xa6, 0x02, 0xed, 0x7d, 0xc5, 0xf5, 0x94, 0x21, 0xf7, 0x1c, |
|
1247 |
+ 0x1b, 0x33, 0xa5, 0x01, 0x27, 0xd3, 0x13, 0xac, 0x5c, 0x99, 0x41, 0xb2, 0x5c, 0x5a, 0x6e, 0xed, |
|
1248 |
+ 0x16, 0x0d, 0xba, 0x65, 0x63, 0x4a, 0x92, 0xb9, 0xd0, 0x65, 0x36, 0x60, 0x7d, 0xbc, 0x6c, 0xdb, |
|
1249 |
+ 0xfd, 0x03, 0xce, 0x4e, 0x34, 0x55, 0xdd, 0x38, 0x3b, 0xad, 0x9e, 0x07, 0xc8, 0x7c, 0x95, 0x82, |
|
1250 |
+ 0xf9, 0x9e, 0x42, 0x23, 0x11, 0x69, 0x34, 0x4b, 0xd0, 0xcc, 0xda, 0xb2, 0xcd, 0xfd, 0xbb, 0x59, |
|
1251 |
+ 0x26, 0x69, 0x59, 0x1e, 0xef, 0x7a, 0x39, 0x9d, 0xfb, 0x65, 0x19, 0x3a, 0xc5, 0x5d, 0x55, 0x97, |
|
1252 |
+ 0xce, 0x26, 0xe7, 0x41, 0xf4, 0x39, 0x8d, 0x83, 0x64, 0x3c, 0x1b, 0xa5, 0xb2, 0x0a, 0x6d, 0x79, |
|
1253 |
+ 0x8c, 0x5d, 0x07, 0x25, 0x51, 0x57, 0xc9, 0x11, 0xbc, 0x7b, 0x24, 0x92, 0x20, 0x1a, 0xf2, 0xc8, |
|
1254 |
+ 0x92, 0x23, 0x54, 0x19, 0x40, 0xe0, 0xcd, 0x2c, 0x92, 0x3e, 0x0f, 0xa0, 0x06, 0xd6, 0x73, 0x20, |
|
1255 |
+ 0xfa, 0x48, 0xc8, 0x03, 0xe5, 0xb5, 0x1a, 0xcf, 0x81, 0x06, 0x93, 0xef, 0x1f, 0x8a, 0x69, 0xca, |
|
1256 |
+ 0x69, 0x6e, 0x61, 0x94, 0xe6, 0xe4, 0xcd, 0xd7, 0x2a, 0xa8, 0x39, 0xdf, 0x6d, 0x94, 0xe2, 0x40, |
|
1257 |
+ 0xe0, 0xf1, 0xa5, 0x1f, 0xeb, 0xb4, 0x6f, 0x7b, 0x16, 0x06, 0x03, 0x79, 0x87, 0x20, 0xb4, 0x06, |
|
1258 |
+ 0x4e, 0xfd, 0xbe, 0x6a, 0x85, 0xba, 0x0c, 0xb4, 0xbd, 0xe5, 0x0d, 0x45, 0x7d, 0x2e, 0x92, 0x50, |
|
1259 |
+ 0x4c, 0x0e, 0x2d, 0xa9, 0x40, 0xd4, 0x4b, 0x1b, 0xea, 0x3b, 0x63, 0xc9, 0xe7, 0xdc, 0x7b, 0xbe, |
|
1260 |
+ 0x0f, 0xed, 0x97, 0x17, 0x02, 0xab, 0x71, 0x16, 0x05, 0x68, 0x43, 0x15, 0xcc, 0xe8, 0xd9, 0x69, |
|
1261 |
+ 0xac, 0x3d, 0x50, 0xf5, 0x72, 0x84, 0x9b, 0x42, 0x4d, 0x93, 0xaf, 0x1c, 0x17, 0x28, 0x80, 0xca, |
|
1262 |
+ 0x26, 0x80, 0x8a, 0xe1, 0xd2, 0x36, 0xe1, 0xc2, 0x81, 0x55, 0xcd, 0x03, 0xab, 0x20, 0xb4, 0xb6, |
|
1263 |
+ 0x28, 0xf4, 0x8f, 0x65, 0x68, 0x7d, 0x26, 0xe4, 0x65, 0x94, 0x9c, 0xab, 0x44, 0x49, 0x57, 0x76, |
|
1264 |
+ 0xbe, 0xfb, 0xf8, 0x49, 0x33, 0xef, 0x9f, 0x5d, 0x49, 0x0e, 0x8c, 0x2a, 0xe6, 0xe5, 0xfc, 0xb9, |
|
1265 |
+ 0x02, 0x9d, 0x07, 0x00, 0xb8, 0x75, 0xe4, 0x53, 0xb7, 0xa3, 0xc1, 0xa5, 0x91, 0xcc, 0x19, 0xe1, |
|
1266 |
+ 0xbc, 0x03, 0x0d, 0x6f, 0xde, 0xc7, 0x7a, 0x1a, 0x25, 0x14, 0xbd, 0x55, 0xfc, 0x1a, 0x9a, 0xbf, |
|
1267 |
+ 0xd4, 0xb0, 0x3a, 0x8b, 0x9b, 0xc3, 0x24, 0x8a, 0x63, 0x31, 0xcc, 0x54, 0x4b, 0xe6, 0x2f, 0x08, |
|
1268 |
+ 0xa1, 0xa4, 0x9e, 0x64, 0x52, 0xeb, 0x24, 0x55, 0xe6, 0x52, 0x71, 0x2b, 0x66, 0xa9, 0x1b, 0x7c, |
|
1269 |
+ 0x29, 0x5b, 0xea, 0x89, 0x91, 0xba, 0x49, 0x52, 0xa5, 0x25, 0xf5, 0x24, 0x97, 0xda, 0xc8, 0xce, |
|
1270 |
+ 0xb2, 0x54, 0xf7, 0xaf, 0x25, 0xd8, 0xc4, 0xb0, 0x3c, 0x4d, 0xfd, 0x91, 0xc0, 0x0e, 0xd6, 0x94, |
|
1271 |
+ 0x18, 0xc2, 0x93, 0xfe, 0x4c, 0x81, 0xec, 0x32, 0xd0, 0x28, 0x22, 0xf8, 0x06, 0xb4, 0x62, 0x91, |
|
1272 |
+ 0x60, 0xb0, 0x32, 0x45, 0x19, 0x0b, 0x4a, 0xd5, 0x6b, 0x12, 0x8e, 0x48, 0xf6, 0xe0, 0xb6, 0xde, |
|
1273 |
+ 0xeb, 0x07, 0x61, 0x9f, 0xc2, 0x67, 0x1a, 0x0d, 0x05, 0x9b, 0x6a, 0x47, 0x6f, 0xbd, 0x0a, 0x3f, |
|
1274 |
+ 0x35, 0x1b, 0xce, 0x77, 0x61, 0xc7, 0xd0, 0xab, 0x2e, 0xa9, 0xa9, 0xc9, 0x74, 0x5b, 0x4c, 0x7d, |
|
1275 |
+ 0xca, 0x68, 0x1c, 0x5a, 0x3a, 0x27, 0x63, 0xfc, 0xea, 0x95, 0xd8, 0x46, 0x46, 0x2f, 0x7c, 0x4c, |
|
1276 |
+ 0x36, 0xac, 0xa0, 0xb1, 0x4e, 0xc9, 0x94, 0xb5, 0xcd, 0x40, 0xe7, 0x7b, 0xb0, 0x23, 0x89, 0x56, |
|
1277 |
+ 0x0c, 0xfb, 0x19, 0x0d, 0x79, 0x73, 0xdb, 0x6c, 0x1c, 0x31, 0xf1, 0xb7, 0xa0, 0x93, 0x13, 0xeb, |
|
1278 |
+ 0x7a, 0x4c, 0xfa, 0xb6, 0x0d, 0xf6, 0x44, 0x55, 0xe5, 0x3f, 0x91, 0xb1, 0x28, 0x72, 0x3e, 0xd0, |
|
1279 |
+ 0x15, 0xc2, 0x32, 0x55, 0x73, 0x7f, 0x2b, 0xab, 0xac, 0x6c, 0x0c, 0x5d, 0x15, 0xc8, 0x2c, 0x3f, |
|
1280 |
+ 0x83, 0x2d, 0x69, 0x54, 0xef, 0x63, 0x02, 0xf9, 0x5c, 0x5e, 0xb3, 0xea, 0x56, 0xbc, 0x98, 0xd7, |
|
1281 |
+ 0x91, 0xc5, 0x8b, 0xa2, 0xe5, 0xa9, 0xe5, 0xb3, 0x40, 0xd2, 0xaf, 0x49, 0x38, 0x2d, 0xc2, 0xfd, |
|
1282 |
+ 0x09, 0x34, 0x70, 0x1e, 0x48, 0x49, 0x3b, 0x34, 0xcc, 0x60, 0x96, 0x24, 0x98, 0x5f, 0x99, 0x61, |
|
1283 |
+ 0x18, 0x54, 0xf3, 0x82, 0x6e, 0x97, 0x6c, 0x0c, 0x02, 0xdc, 0x08, 0x80, 0xd2, 0x5c, 0x4b, 0x43, |
|
1284 |
+ 0x1a, 0x3b, 0x04, 0x08, 0x50, 0x71, 0x36, 0xf5, 0xe7, 0xc6, 0xf5, 0x3a, 0xce, 0x10, 0x41, 0x17, |
|
1285 |
+ 0x44, 0x81, 0x6f, 0xfd, 0x60, 0x32, 0xe0, 0x6f, 0x5f, 0x14, 0xc8, 0x60, 0x2e, 0xb0, 0x6a, 0x0b, |
|
1286 |
+ 0xfc, 0x4b, 0x19, 0x9a, 0x24, 0x91, 0x14, 0x46, 0xaa, 0x01, 0x36, 0x16, 0x23, 0x52, 0x03, 0xd8, |
|
1287 |
+ 0xfa, 0x6b, 0xb9, 0xb8, 0x7c, 0x0c, 0xcc, 0x55, 0xcd, 0x74, 0xc3, 0x46, 0x97, 0x62, 0xed, 0xb3, |
|
1288 |
+ 0xac, 0xb3, 0x92, 0xba, 0xa1, 0x88, 0x48, 0xe1, 0x0f, 0xa1, 0x45, 0xf1, 0xc9, 0x67, 0xaa, 0xeb, |
|
1289 |
+ 0xce, 0x34, 0x89, 0x8c, 0x4e, 0x3d, 0x55, 0xd3, 0x16, 0xea, 0xab, 0xbb, 0x7b, 0x73, 0xff, 0x41, |
|
1290 |
+ 0x81, 0x5c, 0xdf, 0x64, 0x4f, 0xff, 0xbe, 0x0c, 0x25, 0x96, 0x59, 0xa2, 0xed, 0x3d, 0x03, 0xc8, |
|
1291 |
+ 0x91, 0xaa, 0x66, 0x9d, 0x8b, 0xab, 0x6c, 0xaa, 0xc4, 0xa5, 0xba, 0xfb, 0x85, 0x3f, 0x99, 0x65, |
|
1292 |
+ 0x46, 0x25, 0xe0, 0xc7, 0xe5, 0x67, 0x25, 0x77, 0x00, 0x5b, 0xcf, 0x55, 0xcf, 0xb2, 0x8e, 0x17, |
|
1293 |
+ 0x9e, 0x6c, 0xaa, 0x2b, 0x9f, 0x6c, 0xaa, 0xd9, 0x93, 0x0d, 0x96, 0xd1, 0x28, 0xe6, 0x0e, 0x8b, |
|
1294 |
+ 0xab, 0x5c, 0x50, 0xd5, 0x12, 0xe4, 0xfe, 0xb3, 0x0a, 0x90, 0x4b, 0x71, 0x8e, 0xa1, 0x17, 0x44, |
|
1295 |
+ 0x7d, 0xd5, 0x20, 0x82, 0x81, 0xa0, 0x82, 0xd4, 0x4f, 0x04, 0x86, 0x4f, 0x1a, 0x5c, 0x08, 0x9e, |
|
1296 |
+ 0x21, 0xee, 0xf1, 0xbd, 0x17, 0x94, 0xf3, 0x76, 0x11, 0xa2, 0x83, 0xba, 0x72, 0x79, 0xd9, 0x31, |
|
1297 |
+ 0xe7, 0x97, 0x70, 0x37, 0x67, 0x3a, 0xb4, 0xf8, 0x95, 0xaf, 0xe5, 0x77, 0xdb, 0xf0, 0x1b, 0xe6, |
|
1298 |
+ 0xbc, 0x7e, 0x0e, 0x88, 0xee, 0x63, 0x8f, 0x99, 0x15, 0x38, 0x55, 0xae, 0xe5, 0xb4, 0x13, 0x44, |
|
1299 |
+ 0x6f, 0xf4, 0x89, 0x9c, 0xcf, 0x1b, 0xb8, 0x6f, 0x5d, 0x54, 0xa5, 0xbd, 0xc5, 0xad, 0x7a, 0x2d, |
|
1300 |
+ 0xb7, 0x7b, 0x46, 0x2f, 0x55, 0x18, 0x72, 0x96, 0x9f, 0x02, 0xee, 0xf4, 0x2f, 0xfd, 0x40, 0x2e, |
|
1301 |
+ 0xf2, 0xab, 0xdd, 0x74, 0xcf, 0xcf, 0xf1, 0x50, 0x91, 0x19, 0xdd, 0x73, 0x2a, 0x92, 0x51, 0xe1, |
|
1302 |
+ 0x9e, 0xf5, 0x9b, 0xee, 0x79, 0xa8, 0x4f, 0xe4, 0x7c, 0x9e, 0x03, 0x22, 0x17, 0xf5, 0xd9, 0xb8, |
|
1303 |
+ 0x96, 0xcb, 0x56, 0x10, 0x15, 0x75, 0x39, 0x80, 0x9d, 0x54, 0x0c, 0x24, 0x76, 0x14, 0x8b, 0xc7, |
|
1304 |
+ 0xe6, 0xb5, 0x3c, 0xb6, 0xf9, 0x80, 0x61, 0xe2, 0x7e, 0x01, 0xad, 0x5f, 0xcc, 0x46, 0x42, 0x4e, |
|
1305 |
+ 0xce, 0x4c, 0xce, 0xff, 0xaf, 0xcb, 0xcc, 0xbf, 0xb1, 0xcc, 0x1c, 0x8c, 0x92, 0x68, 0x16, 0x17, |
|
1306 |
+ 0xaa, 0x36, 0xe5, 0xf0, 0x52, 0xd5, 0xd6, 0x34, 0xba, 0x6a, 0x13, 0xf5, 0x47, 0xd0, 0xa2, 0x81, |
|
1307 |
+ 0x89, 0x0f, 0x50, 0x15, 0x72, 0x96, 0x93, 0x3e, 0x1b, 0xd0, 0xe8, 0xd8, 0x3e, 0x0f, 0x9f, 0x7c, |
|
1308 |
+ 0xaa, 0x58, 0x8d, 0x72, 0x33, 0xe1, 0xd7, 0x47, 0x9e, 0x75, 0xaf, 0xa0, 0x3d, 0x26, 0xdb, 0xf0, |
|
1309 |
+ 0x29, 0x0a, 0xc0, 0x6f, 0x66, 0xca, 0xe5, 0x77, 0xd8, 0xb3, 0x6d, 0x48, 0xa6, 0x6e, 0x8d, 0x6d, |
|
1310 |
+ 0xb3, 0xfe, 0x00, 0x40, 0x7d, 0x5e, 0xf4, 0xb3, 0x42, 0x65, 0xbf, 0xe7, 0x99, 0x0e, 0x81, 0xdf, |
|
1311 |
+ 0x32, 0xd9, 0xb2, 0x77, 0x02, 0x3b, 0x4b, 0x3c, 0x57, 0x94, 0xa9, 0xef, 0xd8, 0x65, 0xaa, 0xb9, |
|
1312 |
+ 0x7f, 0x9b, 0x59, 0xda, 0x47, 0xed, 0xda, 0xf5, 0xe7, 0x12, 0x7d, 0x8d, 0x98, 0x27, 0x17, 0xe7, |
|
1313 |
+ 0x19, 0xb4, 0x43, 0x1a, 0xbe, 0x8c, 0x03, 0x2a, 0x16, 0x23, 0x7b, 0x30, 0xf3, 0x5a, 0xa1, 0x3d, |
|
1314 |
+ 0xa6, 0xa1, 0x23, 0x06, 0xda, 0x02, 0x2b, 0x1d, 0x61, 0x19, 0xc7, 0x6b, 0x0e, 0x2c, 0x6f, 0x17, |
|
1315 |
+ 0x86, 0xc1, 0xca, 0xe2, 0x30, 0xc8, 0x8f, 0x06, 0xeb, 0xde, 0x18, 0xf7, 0xff, 0x55, 0x87, 0xca, |
|
1316 |
+ 0xc7, 0x47, 0xaf, 0x9c, 0x53, 0xd8, 0x5e, 0x7c, 0x40, 0x77, 0x1e, 0xb2, 0xe8, 0x35, 0x8f, 0xee, |
|
1317 |
+ 0xbd, 0xf7, 0xd6, 0xee, 0xf3, 0xb4, 0x7c, 0xcb, 0xf1, 0x60, 0x6b, 0xe1, 0x41, 0xd6, 0xc9, 0xda, |
|
1318 |
+ 0xc9, 0xea, 0x27, 0xe9, 0xde, 0xc3, 0x75, 0xdb, 0x36, 0xcf, 0x85, 0xf1, 0xdc, 0xf0, 0x5c, 0xfd, |
|
1319 |
+ 0xa9, 0x66, 0x78, 0xae, 0x9b, 0xea, 0x6f, 0x39, 0x3f, 0x82, 0x3a, 0x3d, 0xd1, 0x3a, 0x77, 0x98, |
|
1320 |
+ 0xb6, 0xf0, 0xf8, 0xdb, 0xbb, 0xbb, 0x80, 0x35, 0x07, 0x5f, 0x43, 0xbb, 0xf0, 0xea, 0xee, 0xbc, |
|
1321 |
+ 0x53, 0x90, 0x55, 0x7c, 0xe1, 0xed, 0xbd, 0xbb, 0x7a, 0xd3, 0x70, 0x3b, 0x00, 0xc8, 0x5f, 0xf1, |
|
1322 |
+ 0x9c, 0x2e, 0x53, 0x2f, 0xbd, 0x14, 0xf7, 0xee, 0xaf, 0xd8, 0x31, 0x4c, 0xd0, 0x95, 0x8b, 0xcf, |
|
1323 |
+ 0x72, 0xce, 0x82, 0x55, 0x17, 0x9f, 0xce, 0x8c, 0x2b, 0xd7, 0xbe, 0xe7, 0x69, 0xb6, 0x8b, 0x4f, |
|
1324 |
+ 0x72, 0x86, 0xed, 0x9a, 0xa7, 0x3e, 0xc3, 0x76, 0xed, 0x5b, 0xde, 0x2d, 0xe7, 0x57, 0xd0, 0x29, |
|
1325 |
+ 0x3e, 0x92, 0x39, 0x99, 0x91, 0x56, 0x3e, 0xf2, 0xf5, 0x1e, 0xac, 0xd9, 0x35, 0x0c, 0x3f, 0x84, |
|
1326 |
+ 0x1a, 0xbd, 0x7e, 0x65, 0x29, 0x67, 0x3f, 0x9a, 0xf5, 0xee, 0x14, 0x91, 0xe6, 0xd4, 0x13, 0xa8, |
|
1327 |
+ 0xd3, 0x87, 0x9d, 0x09, 0x80, 0xc2, 0x77, 0x5e, 0xaf, 0x65, 0x63, 0xdd, 0x5b, 0x4f, 0x4a, 0x99, |
|
1328 |
+ 0x9c, 0xb4, 0x20, 0x27, 0x5d, 0x25, 0xc7, 0x72, 0xce, 0x59, 0x5d, 0xff, 0xa3, 0xf5, 0xf4, 0x3f, |
|
1329 |
+ 0x01, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xa3, 0xf6, 0xb8, 0xde, 0x1a, 0x00, 0x00, |
|
1326 | 1330 |
} |
... | ... |
@@ -3,6 +3,7 @@ syntax = "proto3"; |
3 | 3 |
package types; |
4 | 4 |
|
5 | 5 |
service API { |
6 |
+ rpc GetServerVersion(GetServerVersionRequest) returns (GetServerVersionResponse) {} |
|
6 | 7 |
rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse) {} |
7 | 8 |
rpc UpdateContainer(UpdateContainerRequest) returns (UpdateContainerResponse) {} |
8 | 9 |
rpc Signal(SignalRequest) returns (SignalResponse) {} |
... | ... |
@@ -16,6 +17,16 @@ service API { |
16 | 16 |
rpc Stats(StatsRequest) returns (StatsResponse) {} |
17 | 17 |
} |
18 | 18 |
|
19 |
+message GetServerVersionRequest { |
|
20 |
+} |
|
21 |
+ |
|
22 |
+message GetServerVersionResponse { |
|
23 |
+ uint32 major = 1; |
|
24 |
+ uint32 minor = 2; |
|
25 |
+ uint32 patch = 3; |
|
26 |
+ string revision = 4; |
|
27 |
+} |
|
28 |
+ |
|
19 | 29 |
message UpdateProcessRequest { |
20 | 30 |
string id = 1; |
21 | 31 |
string pid = 2; |
... | ... |
@@ -7,6 +7,7 @@ package apparmor |
7 | 7 |
// #include <stdlib.h> |
8 | 8 |
import "C" |
9 | 9 |
import ( |
10 |
+ "fmt" |
|
10 | 11 |
"io/ioutil" |
11 | 12 |
"os" |
12 | 13 |
"unsafe" |
... | ... |
@@ -32,7 +33,7 @@ func ApplyProfile(name string) error { |
32 | 32 |
cName := C.CString(name) |
33 | 33 |
defer C.free(unsafe.Pointer(cName)) |
34 | 34 |
if _, err := C.aa_change_onexec(cName); err != nil { |
35 |
- return err |
|
35 |
+ return fmt.Errorf("apparmor failed to apply profile: %s", err) |
|
36 | 36 |
} |
37 | 37 |
return nil |
38 | 38 |
} |
... | ... |
@@ -11,6 +11,7 @@ type ThrottlingData struct { |
11 | 11 |
ThrottledTime uint64 `json:"throttled_time,omitempty"` |
12 | 12 |
} |
13 | 13 |
|
14 |
+// CpuUsage denotes the usage of a CPU. |
|
14 | 15 |
// All CPU stats are aggregate since container inception. |
15 | 16 |
type CpuUsage struct { |
16 | 17 |
// Total CPU time consumed. |
... | ... |
@@ -18,11 +18,14 @@ import ( |
18 | 18 |
|
19 | 19 |
const cgroupNamePrefix = "name=" |
20 | 20 |
|
21 |
-// https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt |
|
21 |
+// https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt |
|
22 | 22 |
func FindCgroupMountpoint(subsystem string) (string, error) { |
23 | 23 |
// We are not using mount.GetMounts() because it's super-inefficient, |
24 | 24 |
// parsing it directly sped up x10 times because of not using Sscanf. |
25 | 25 |
// It was one of two major performance drawbacks in container start. |
26 |
+ if !isSubsystemAvailable(subsystem) { |
|
27 |
+ return "", NewNotFoundError(subsystem) |
|
28 |
+ } |
|
26 | 29 |
f, err := os.Open("/proc/self/mountinfo") |
27 | 30 |
if err != nil { |
28 | 31 |
return "", err |
... | ... |
@@ -47,6 +50,9 @@ func FindCgroupMountpoint(subsystem string) (string, error) { |
47 | 47 |
} |
48 | 48 |
|
49 | 49 |
func FindCgroupMountpointAndRoot(subsystem string) (string, string, error) { |
50 |
+ if !isSubsystemAvailable(subsystem) { |
|
51 |
+ return "", "", NewNotFoundError(subsystem) |
|
52 |
+ } |
|
50 | 53 |
f, err := os.Open("/proc/self/mountinfo") |
51 | 54 |
if err != nil { |
52 | 55 |
return "", "", err |
... | ... |
@@ -70,6 +76,15 @@ func FindCgroupMountpointAndRoot(subsystem string) (string, string, error) { |
70 | 70 |
return "", "", NewNotFoundError(subsystem) |
71 | 71 |
} |
72 | 72 |
|
73 |
+func isSubsystemAvailable(subsystem string) bool { |
|
74 |
+ cgroups, err := ParseCgroupFile("/proc/self/cgroup") |
|
75 |
+ if err != nil { |
|
76 |
+ return false |
|
77 |
+ } |
|
78 |
+ _, avail := cgroups[subsystem] |
|
79 |
+ return avail |
|
80 |
+} |
|
81 |
+ |
|
73 | 82 |
func FindCgroupMountpointDir() (string, error) { |
74 | 83 |
f, err := os.Open("/proc/self/mountinfo") |
75 | 84 |
if err != nil { |
... | ... |
@@ -124,7 +139,8 @@ func (m Mount) GetThisCgroupDir(cgroups map[string]string) (string, error) { |
124 | 124 |
func getCgroupMountsHelper(ss map[string]bool, mi io.Reader) ([]Mount, error) { |
125 | 125 |
res := make([]Mount, 0, len(ss)) |
126 | 126 |
scanner := bufio.NewScanner(mi) |
127 |
- for scanner.Scan() { |
|
127 |
+ numFound := 0 |
|
128 |
+ for scanner.Scan() && numFound < len(ss) { |
|
128 | 129 |
txt := scanner.Text() |
129 | 130 |
sepIdx := strings.Index(txt, " - ") |
130 | 131 |
if sepIdx == -1 { |
... | ... |
@@ -139,12 +155,15 @@ func getCgroupMountsHelper(ss map[string]bool, mi io.Reader) ([]Mount, error) { |
139 | 139 |
Root: fields[3], |
140 | 140 |
} |
141 | 141 |
for _, opt := range strings.Split(fields[len(fields)-1], ",") { |
142 |
+ if !ss[opt] { |
|
143 |
+ continue |
|
144 |
+ } |
|
142 | 145 |
if strings.HasPrefix(opt, cgroupNamePrefix) { |
143 | 146 |
m.Subsystems = append(m.Subsystems, opt[len(cgroupNamePrefix):]) |
144 |
- } |
|
145 |
- if ss[opt] { |
|
147 |
+ } else { |
|
146 | 148 |
m.Subsystems = append(m.Subsystems, opt) |
147 | 149 |
} |
150 |
+ numFound++ |
|
148 | 151 |
} |
149 | 152 |
res = append(res, m) |
150 | 153 |
} |
... | ... |
@@ -161,19 +180,19 @@ func GetCgroupMounts() ([]Mount, error) { |
161 | 161 |
} |
162 | 162 |
defer f.Close() |
163 | 163 |
|
164 |
- all, err := GetAllSubsystems() |
|
164 |
+ all, err := ParseCgroupFile("/proc/self/cgroup") |
|
165 | 165 |
if err != nil { |
166 | 166 |
return nil, err |
167 | 167 |
} |
168 | 168 |
|
169 | 169 |
allMap := make(map[string]bool) |
170 |
- for _, s := range all { |
|
170 |
+ for s := range all { |
|
171 | 171 |
allMap[s] = true |
172 | 172 |
} |
173 | 173 |
return getCgroupMountsHelper(allMap, f) |
174 | 174 |
} |
175 | 175 |
|
176 |
-// Returns all the cgroup subsystems supported by the kernel |
|
176 |
+// GetAllSubsystems returns all the cgroup subsystems supported by the kernel |
|
177 | 177 |
func GetAllSubsystems() ([]string, error) { |
178 | 178 |
f, err := os.Open("/proc/cgroups") |
179 | 179 |
if err != nil { |
... | ... |
@@ -199,7 +218,7 @@ func GetAllSubsystems() ([]string, error) { |
199 | 199 |
return subsystems, nil |
200 | 200 |
} |
201 | 201 |
|
202 |
-// Returns the relative path to the cgroup docker is running in. |
|
202 |
+// GetThisCgroupDir returns the relative path to the cgroup docker is running in. |
|
203 | 203 |
func GetThisCgroupDir(subsystem string) (string, error) { |
204 | 204 |
cgroups, err := ParseCgroupFile("/proc/self/cgroup") |
205 | 205 |
if err != nil { |
... | ... |
@@ -33,7 +33,7 @@ type Seccomp struct { |
33 | 33 |
Syscalls []*Syscall `json:"syscalls"` |
34 | 34 |
} |
35 | 35 |
|
36 |
-// An action to be taken upon rule match in Seccomp |
|
36 |
+// Action is taken upon rule match in Seccomp |
|
37 | 37 |
type Action int |
38 | 38 |
|
39 | 39 |
const ( |
... | ... |
@@ -44,7 +44,7 @@ const ( |
44 | 44 |
Trace |
45 | 45 |
) |
46 | 46 |
|
47 |
-// A comparison operator to be used when matching syscall arguments in Seccomp |
|
47 |
+// Operator is a comparison operator to be used when matching syscall arguments in Seccomp |
|
48 | 48 |
type Operator int |
49 | 49 |
|
50 | 50 |
const ( |
... | ... |
@@ -57,7 +57,7 @@ const ( |
57 | 57 |
MaskEqualTo |
58 | 58 |
) |
59 | 59 |
|
60 |
-// A rule to match a specific syscall argument in Seccomp |
|
60 |
+// Arg is a rule to match a specific syscall argument in Seccomp |
|
61 | 61 |
type Arg struct { |
62 | 62 |
Index uint `json:"index"` |
63 | 63 |
Value uint64 `json:"value"` |
... | ... |
@@ -65,7 +65,7 @@ type Arg struct { |
65 | 65 |
Op Operator `json:"op"` |
66 | 66 |
} |
67 | 67 |
|
68 |
-// An rule to match a syscall in Seccomp |
|
68 |
+// Syscall is a rule to match a syscall in Seccomp |
|
69 | 69 |
type Syscall struct { |
70 | 70 |
Name string `json:"name"` |
71 | 71 |
Action Action `json:"action"` |
... | ... |
@@ -249,10 +249,11 @@ func (hooks Hooks) MarshalJSON() ([]byte, error) { |
249 | 249 |
|
250 | 250 |
// HookState is the payload provided to a hook on execution. |
251 | 251 |
type HookState struct { |
252 |
- Version string `json:"version"` |
|
253 |
- ID string `json:"id"` |
|
254 |
- Pid int `json:"pid"` |
|
255 |
- Root string `json:"root"` |
|
252 |
+ Version string `json:"ociVersion"` |
|
253 |
+ ID string `json:"id"` |
|
254 |
+ Pid int `json:"pid"` |
|
255 |
+ Root string `json:"root"` |
|
256 |
+ BundlePath string `json:"bundlePath"` |
|
256 | 257 |
} |
257 | 258 |
|
258 | 259 |
type Hook interface { |
... | ... |
@@ -260,7 +261,7 @@ type Hook interface { |
260 | 260 |
Run(HookState) error |
261 | 261 |
} |
262 | 262 |
|
263 |
-// NewFunctionHooks will call the provided function when the hook is run. |
|
263 |
+// NewFunctionHook will call the provided function when the hook is run. |
|
264 | 264 |
func NewFunctionHook(f func(HookState) error) FuncHook { |
265 | 265 |
return FuncHook{ |
266 | 266 |
run: f, |
... | ... |
@@ -283,7 +284,7 @@ type Command struct { |
283 | 283 |
Timeout *time.Duration `json:"timeout"` |
284 | 284 |
} |
285 | 285 |
|
286 |
-// NewCommandHooks will execute the provided command when the hook is run. |
|
286 |
+// NewCommandHook will execute the provided command when the hook is run. |
|
287 | 287 |
func NewCommandHook(cmd Command) CommandHook { |
288 | 288 |
return CommandHook{ |
289 | 289 |
Command: cmd, |
... | ... |
@@ -307,7 +308,11 @@ func (c Command) Run(s HookState) error { |
307 | 307 |
} |
308 | 308 |
errC := make(chan error, 1) |
309 | 309 |
go func() { |
310 |
- errC <- cmd.Run() |
|
310 |
+ out, err := cmd.CombinedOutput() |
|
311 |
+ if err != nil { |
|
312 |
+ err = fmt.Errorf("%s: %s", err, out) |
|
313 |
+ } |
|
314 |
+ errC <- err |
|
311 | 315 |
}() |
312 | 316 |
if c.Timeout != nil { |
313 | 317 |
select { |
... | ... |
@@ -4,7 +4,7 @@ package configs |
4 | 4 |
|
5 | 5 |
import "fmt" |
6 | 6 |
|
7 |
-// Gets the root uid for the process on host which could be non-zero |
|
7 |
+// HostUID gets the root uid for the process on host which could be non-zero |
|
8 | 8 |
// when user namespaces are enabled. |
9 | 9 |
func (c Config) HostUID() (int, error) { |
10 | 10 |
if c.Namespaces.Contains(NEWUSER) { |
... | ... |
@@ -21,7 +21,7 @@ func (c Config) HostUID() (int, error) { |
21 | 21 |
return 0, nil |
22 | 22 |
} |
23 | 23 |
|
24 |
-// Gets the root gid for the process on host which could be non-zero |
|
24 |
+// HostGID gets the root gid for the process on host which could be non-zero |
|
25 | 25 |
// when user namespaces are enabled. |
26 | 26 |
func (c Config) HostGID() (int, error) { |
27 | 27 |
if c.Namespaces.Contains(NEWUSER) { |
... | ... |
@@ -94,6 +94,11 @@ func GetProcessLabel() (string, error) { |
94 | 94 |
return selinux.Getexeccon() |
95 | 95 |
} |
96 | 96 |
|
97 |
+// GetFileLabel returns the label for specified path |
|
98 |
+func GetFileLabel(path string) (string, error) { |
|
99 |
+ return selinux.Getfilecon(path) |
|
100 |
+} |
|
101 |
+ |
|
97 | 102 |
// SetFileLabel modifies the "path" label to the specified file label |
98 | 103 |
func SetFileLabel(path string, fileLabel string) error { |
99 | 104 |
if selinux.SelinuxEnabled() && fileLabel != "" { |
... | ... |
@@ -102,7 +107,7 @@ func SetFileLabel(path string, fileLabel string) error { |
102 | 102 |
return nil |
103 | 103 |
} |
104 | 104 |
|
105 |
-// Tell the kernel the label for all files to be created |
|
105 |
+// SetFileCreateLabel tells the kernel the label for all files to be created |
|
106 | 106 |
func SetFileCreateLabel(fileLabel string) error { |
107 | 107 |
if selinux.SelinuxEnabled() { |
108 | 108 |
return selinux.Setfscreatecon(fileLabel) |
... | ... |
@@ -110,7 +115,7 @@ func SetFileCreateLabel(fileLabel string) error { |
110 | 110 |
return nil |
111 | 111 |
} |
112 | 112 |
|
113 |
-// Change the label of path to the filelabel string. |
|
113 |
+// Relabel changes the label of path to the filelabel string. |
|
114 | 114 |
// It changes the MCS label to s0 if shared is true. |
115 | 115 |
// This will allow all containers to share the content. |
116 | 116 |
func Relabel(path string, fileLabel string, shared bool) error { |
... | ... |
@@ -13,9 +13,9 @@ import ( |
13 | 13 |
"regexp" |
14 | 14 |
"strconv" |
15 | 15 |
"strings" |
16 |
+ "sync" |
|
16 | 17 |
"syscall" |
17 | 18 |
|
18 |
- "github.com/docker/docker/pkg/mount" |
|
19 | 19 |
"github.com/opencontainers/runc/libcontainer/system" |
20 | 20 |
) |
21 | 21 |
|
... | ... |
@@ -35,6 +35,7 @@ const ( |
35 | 35 |
var ( |
36 | 36 |
assignRegex = regexp.MustCompile(`^([^=]+)=(.*)$`) |
37 | 37 |
mcsList = make(map[string]bool) |
38 |
+ mcsLock sync.Mutex |
|
38 | 39 |
selinuxfs = "unknown" |
39 | 40 |
selinuxEnabled = false // Stores whether selinux is currently enabled |
40 | 41 |
selinuxEnabledChecked = false // Stores whether selinux enablement has been checked or established yet |
... | ... |
@@ -58,16 +59,31 @@ func getSelinuxMountPoint() string { |
58 | 58 |
} |
59 | 59 |
selinuxfs = "" |
60 | 60 |
|
61 |
- mounts, err := mount.GetMounts() |
|
61 |
+ f, err := os.Open("/proc/self/mountinfo") |
|
62 | 62 |
if err != nil { |
63 | 63 |
return selinuxfs |
64 | 64 |
} |
65 |
- for _, mount := range mounts { |
|
66 |
- if mount.Fstype == "selinuxfs" { |
|
67 |
- selinuxfs = mount.Mountpoint |
|
68 |
- break |
|
65 |
+ defer f.Close() |
|
66 |
+ |
|
67 |
+ scanner := bufio.NewScanner(f) |
|
68 |
+ for scanner.Scan() { |
|
69 |
+ txt := scanner.Text() |
|
70 |
+ // Safe as mountinfo encodes mountpoints with spaces as \040. |
|
71 |
+ sepIdx := strings.Index(txt, " - ") |
|
72 |
+ if sepIdx == -1 { |
|
73 |
+ continue |
|
74 |
+ } |
|
75 |
+ if !strings.Contains(txt[sepIdx:], "selinuxfs") { |
|
76 |
+ continue |
|
69 | 77 |
} |
78 |
+ fields := strings.Split(txt, " ") |
|
79 |
+ if len(fields) < 5 { |
|
80 |
+ continue |
|
81 |
+ } |
|
82 |
+ selinuxfs = fields[4] |
|
83 |
+ break |
|
70 | 84 |
} |
85 |
+ |
|
71 | 86 |
if selinuxfs != "" { |
72 | 87 |
var buf syscall.Statfs_t |
73 | 88 |
syscall.Statfs(selinuxfs, &buf) |
... | ... |
@@ -267,6 +283,8 @@ func SelinuxGetEnforceMode() int { |
267 | 267 |
} |
268 | 268 |
|
269 | 269 |
func mcsAdd(mcs string) error { |
270 |
+ mcsLock.Lock() |
|
271 |
+ defer mcsLock.Unlock() |
|
270 | 272 |
if mcsList[mcs] { |
271 | 273 |
return fmt.Errorf("MCS Label already exists") |
272 | 274 |
} |
... | ... |
@@ -275,7 +293,9 @@ func mcsAdd(mcs string) error { |
275 | 275 |
} |
276 | 276 |
|
277 | 277 |
func mcsDelete(mcs string) { |
278 |
+ mcsLock.Lock() |
|
278 | 279 |
mcsList[mcs] = false |
280 |
+ mcsLock.Unlock() |
|
279 | 281 |
} |
280 | 282 |
|
281 | 283 |
func IntToMcs(id int, catRange uint32) string { |
... | ... |
@@ -291,7 +311,7 @@ func IntToMcs(id int, catRange uint32) string { |
291 | 291 |
|
292 | 292 |
for ORD > TIER { |
293 | 293 |
ORD = ORD - TIER |
294 |
- TIER -= 1 |
|
294 |
+ TIER-- |
|
295 | 295 |
} |
296 | 296 |
TIER = SETSIZE - TIER |
297 | 297 |
ORD = ORD + TIER |
... | ... |
@@ -432,7 +452,7 @@ func badPrefix(fpath string) error { |
432 | 432 |
return nil |
433 | 433 |
} |
434 | 434 |
|
435 |
-// Change the fpath file object to the SELinux label scon. |
|
435 |
+// Chcon changes the fpath file object to the SELinux label scon. |
|
436 | 436 |
// If the fpath is a directory and recurse is true Chcon will walk the |
437 | 437 |
// directory tree setting the label |
438 | 438 |
func Chcon(fpath string, scon string, recurse bool) error { |
... | ... |
@@ -466,14 +486,14 @@ func DupSecOpt(src string) []string { |
466 | 466 |
con["level"] == "" { |
467 | 467 |
return nil |
468 | 468 |
} |
469 |
- return []string{"label:user:" + con["user"], |
|
470 |
- "label:role:" + con["role"], |
|
471 |
- "label:type:" + con["type"], |
|
472 |
- "label:level:" + con["level"]} |
|
469 |
+ return []string{"label=user:" + con["user"], |
|
470 |
+ "label=role:" + con["role"], |
|
471 |
+ "label=type:" + con["type"], |
|
472 |
+ "label=level:" + con["level"]} |
|
473 | 473 |
} |
474 | 474 |
|
475 | 475 |
// DisableSecOpt returns a security opt that can be used to disabling SELinux |
476 | 476 |
// labeling support for future container processes |
477 | 477 |
func DisableSecOpt() []string { |
478 |
- return []string{"label:disable"} |
|
478 |
+ return []string{"label=disable"} |
|
479 | 479 |
} |
... | ... |
@@ -100,17 +100,12 @@ func Setctty() error { |
100 | 100 |
return nil |
101 | 101 |
} |
102 | 102 |
|
103 |
-/* |
|
104 |
- * Detect whether we are currently running in a user namespace. |
|
105 |
- * Copied from github.com/lxc/lxd/shared/util.go |
|
106 |
- */ |
|
103 |
+// RunningInUserNS detects whether we are currently running in a user namespace. |
|
104 |
+// Copied from github.com/lxc/lxd/shared/util.go |
|
107 | 105 |
func RunningInUserNS() bool { |
108 | 106 |
file, err := os.Open("/proc/self/uid_map") |
109 | 107 |
if err != nil { |
110 |
- /* |
|
111 |
- * This kernel-provided file only exists if user namespaces are |
|
112 |
- * supported |
|
113 |
- */ |
|
108 |
+ // This kernel-provided file only exists if user namespaces are supported |
|
114 | 109 |
return false |
115 | 110 |
} |
116 | 111 |
defer file.Close() |