Skip to content

Commit 419b76f

Browse files
author
xiekeyang
committed
limit min layer length in manifest to one
Signed-off-by: xiekeyang <[email protected]>
1 parent de440db commit 419b76f

File tree

3 files changed

+34
-15
lines changed

3 files changed

+34
-15
lines changed

schema/fs.go

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ var _escData = map[string]*_escFile{
205205
"/config-schema.json": {
206206
local: "config-schema.json",
207207
size: 774,
208-
modtime: 1478292182,
208+
modtime: 1478076438,
209209
compressed: `
210210
H4sIAAAJbogA/5SRvW7rMAyFdz+F4WS8ju7QKWsfoEPHooMqUzEDWFRJZgiKvHv1EzcxEBTuEsSH/M4R
211211
ya+mbbsBxDFGRQrdvu1eIoRnCmoxALfpn8dD+xrBoUdnS9e/jG3FjTDZjIyqcW/MUSj0Vd0RH8zA1mv/
@@ -219,7 +219,7 @@ AP//XlvgsQYDAAA=
219219
"/content-descriptor.json": {
220220
local: "content-descriptor.json",
221221
size: 836,
222-
modtime: 1479340044,
222+
modtime: 1479375772,
223223
compressed: `
224224
H4sIAAAJbogA/5SSP2/iQBDFe3+KkaE88BXoCtpLnyLpohSLd2wPwrvO7CDkRHz37HhtMImUPw3Cb99v
225225
5j173zKA3GIomToh7/It5Pcduv/eiSGHDPoPncDdaPIMDx2WVFFpBuKPjliGssHWKN6IdNui2AfvVkld
@@ -234,7 +234,7 @@ DLQ9RAMAAA==
234234
"/defs-config.json": {
235235
local: "defs-config.json",
236236
size: 2270,
237-
modtime: 1478292182,
237+
modtime: 1478076438,
238238
compressed: `
239239
H4sIAAAJbogA/+RVzY7TMBC+5yksw7GwF8SB6y5HVKQKOCBUucl4O0vsMeMJEKF9d5xs6cZJG7q79MSh
240240
ajLx9zMz9vhXoZSuIJaMQZC8fqP0FVj02L1FFQwLlk1tWAmpZQB/SV4MemCVnixeq1WAEi2Wpscv7gj3
@@ -250,7 +250,7 @@ OU9Ck3MwHdKnQMEFadd9J4/BN0Q1GH/0PBTd77b4HQAA//9fxiKD3ggAAA==
250250
"/defs-image.json": {
251251
local: "defs-image.json",
252252
size: 2781,
253-
modtime: 1479340044,
253+
modtime: 1479375772,
254254
compressed: `
255255
H4sIAAAJbogA/7SWS0/cMBDH7/sprIDEYR/poarUFUKqyqUnKtFT0bYanMlmaGKnthe6oP3utfN0XqAt
256256
9AQe23//f+MZZ59mjAURaq4oNyRFsGbBJcYkyI00y0EZ4rsUFDOSXeUoPkthgAQq9iWDLbLrHDnFxKHY
@@ -270,7 +270,7 @@ LqRf/TaNIdU4m8qJ92LN/L/1rwEQQhro/iQ7ugR8keYDLAVexZ2nafRjMvFxyiC/LvJy3cuOl5ensYdS
270270
"/defs.json": {
271271
local: "defs.json",
272272
size: 3193,
273-
modtime: 1478292182,
273+
modtime: 1471577655,
274274
compressed: `
275275
H4sIAAAJbogA/7RWTXPaMBC98ys8tEfa2PIX9NYp/cghAzOZnjo9uGYBtSCpstxpmuG/VzLGWPZiMKWH
276276
JPau9r23T6tYzwPHGS4gSyUVinI2fOMMp7CkjJq3zMkzWDhqLXm+WvNc6UdwZgLYO85UQhlI51FASpc0
@@ -288,23 +288,24 @@ MrVJbn8cB+ZnN/gbAAD//0JyEpx5DAAA
288288

289289
"/image-manifest-schema.json": {
290290
local: "image-manifest-schema.json",
291-
size: 1118,
292-
modtime: 1479340044,
291+
size: 1139,
292+
modtime: 1479462889,
293293
compressed: `
294-
H4sIAAAJbogA/6RSO4/UMBDu8ytGvuu4xICorqWiQBScaBCFiSfJnOIHtm/F6rT/HT/iTbJLgdgyX/y9
295-
Zua1AWASfe/IBjKaPQL7YlF/NDoI0ujgkxIjwmehaUAf4KvFngbqRX79kOj3vp9QiUSdQrCPnD97o9uC
296-
dsaNXDoxhPbtB16wu8IjWSk+ckx07aurz7TymlNKwNWSoHDD0WJim5/P2C+YdVHDBUIf/6RiESsS36Ji
297-
KVfg685PE3kYCGcJvjRED2FCyOZQzaHowaEIgvAgNJAOOKLLKbL4/zXj+7Bntdr1ykaRJvWi4r/3KyZ+
298-
VyxDp/KHKZQknorS6405V62rjD440uOKo85Zvi/fERHWzsv58IOWnempy/pd1e8O796kC2IL6ceuSEw4
299-
0Lhtce9wSN4pO+rQ1tUa160ylT6LYyy3pdfowjlx3OwwoNq++1ejaLUzFFqbkOv620ffzhTnv5V8uJyC
300-
xMG3ZaAp1B2PQLyT/HrHbGrWnJQ5/PVCDuV5W+xv58gud1/3sR9vk7Z2av4EAAD//wnPEwleBAAA
294+
H4sIAAAJbogA/6RSO4/UMBDu8ytGvuu4xByiupbqCkTBiQZRmHiSzCl+YPtWrFb73/Ej3mx2KRBb5ou/
295+
18wcGgAm0feObCCj2ROwLxb1J6ODII0OnpUYET4LTQP6AF8t9jRQL/Lrh0S/9/2ESiTqFIJ94vzVG90W
296+
tDNu5NKJIbTvP/KC3RUeyUrxkWOia19dfaaV15xSAq6WBIUb9hYT2/x8xX7BrIsaLhD6+CcVi1iR+BYV
297+
S7kCX3d+mcjDQDhL8KUheggTQjaHag5FD3ZFEIQHoYF0wBFdTpHF/68Z34Y9qdWuVzaKNKk3Ff99WDHx
298+
u2IZOpY/TKEk8VKUDjfmXLWuMvrgSI8rjjpn+b58R0RYOy/nw3dadqanLut3Vb/bPb5LF8QW0o9NkZhw
299+
oPG8xb3DIXmn7KhDW1drXLfKVPos9rHcOb1GF86J/Wa4zwFVevq4LnZBDmuff3KP/psUQmsT8gz87fto
300+
Z4pLOZd8uByNxMG3Zcop1B2PQDye/HrDbGrWnJQ5/PVGDuVphexvN8ouD6IuaTvzJq3y2PwJAAD//xOl
301+
pJlzBAAA
301302
`,
302303
},
303304

304305
"/manifest-list-schema.json": {
305306
local: "manifest-list-schema.json",
306307
size: 1101,
307-
modtime: 1479340044,
308+
modtime: 1479462884,
308309
compressed: `
309310
H4sIAAAJbogA/6ySP48TMRDF+3yKkY8OsgZEdS00SCAKTjSIwqxnd+cU/8Hjizid8t3xn/Vml1AgXZpI
310311
eet57/fsedoBCI3cB/KRnBW3IL54tO+djYosBvho1IjwWVkakCN8ovTz1WNPA/WqjLzKHi+4n9CoPD/F

schema/image-manifest-schema.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
},
2424
"layers": {
2525
"type": "array",
26+
"minItems": 1,
2627
"items": {
2728
"$ref": "content-descriptor.json"
2829
}

schema/manifest_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,23 @@ func TestManifest(t *testing.T) {
125125
`,
126126
fail: false,
127127
},
128+
129+
// expected failure: empty layer, expected at least one
130+
{
131+
manifest: `
132+
{
133+
"schemaVersion": 2,
134+
"mediaType": "application/vnd.oci.image.manifest.v1+json",
135+
"config": {
136+
"mediaType": "application/vnd.oci.image.config.v1+json",
137+
"size": 1470,
138+
"digest": "sha256:c86f7763873b6c0aae22d963bab59b4f5debbed6685761b5951584f6efb0633b"
139+
},
140+
"layers": []
141+
}
142+
`,
143+
fail: true,
144+
},
128145
} {
129146
r := strings.NewReader(tt.manifest)
130147
err := schema.MediaTypeManifest.Validate(r)

0 commit comments

Comments
 (0)