mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-10 22:46:58 +02:00
Detect multipart mime and ignore it
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This commit is contained in:
parent
8429adeaf4
commit
04a6c5ee03
@ -12,7 +12,7 @@ inherit cros-workon systemd toolchain-funcs udev coreos-go
|
||||
if [[ "${PV}" == 9999 ]]; then
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
else
|
||||
CROS_WORKON_COMMIT="89319292b9bca85a7a1f5f8a47c459dd45a8cc7a" # flatcar-master
|
||||
CROS_WORKON_COMMIT="eb49a8f36aa0ac6e0f372ca6404c4f5b926955ca" # flatcar-master
|
||||
KEYWORDS="amd64 arm64"
|
||||
fi
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 750d5021772a4865f9389038d32be05e41bb5fb7 Mon Sep 17 00:00:00 2001
|
||||
From 24b862a90711a3e1564cba7548defdcf5114ab0f Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Fri, 24 Feb 2023 09:08:13 +0100
|
||||
Subject: [PATCH 01/21] *: sed `s/coreos/flatcar/`
|
||||
@ -6355,5 +6355,5 @@ index bec64866..ed027604 100644
|
||||
|
||||
var (
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4395ad82b1c264dc05d67de5a739d1f65ef16f38 Mon Sep 17 00:00:00 2001
|
||||
From d0ea026754fbd7ed889fa4af457308157c29570b Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Fri, 24 Feb 2023 09:13:33 +0100
|
||||
Subject: [PATCH 02/21] mod: add flatcar/ignition@0.36.2
|
||||
@ -41,5 +41,5 @@ index 85b3e34e..b109532e 100644
|
||||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
|
||||
google.golang.org/appengine v1.6.7 // indirect
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 96693902d6107ad52069f6fd2282f22568aafd51 Mon Sep 17 00:00:00 2001
|
||||
From 9efd744fd662898a459ba9a4e8ff9f60f57a16a2 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Fri, 24 Feb 2023 09:14:03 +0100
|
||||
Subject: [PATCH 03/21] sum: go mod tidy
|
||||
@ -119,5 +119,5 @@ index 087ef0ad..bb95e1fe 100644
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 807d6a9724d1155526d42ed47a2bfb2fc8fb6ca3 Mon Sep 17 00:00:00 2001
|
||||
From a9f374dae80f4a5f645d6612174fea0c7304436b Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Fri, 24 Feb 2023 09:14:24 +0100
|
||||
Subject: [PATCH 04/21] vendor: go mod vendor
|
||||
@ -17091,5 +17091,5 @@ index 9b01b083..1e050725 100644
|
||||
## explicit; go 1.17
|
||||
golang.org/x/net/context
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From beac2bed3719b9e9f1eded4abf1730c8dd7d50a0 Mon Sep 17 00:00:00 2001
|
||||
From 2389f49fc382025631d0f650409692f306032883 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Mon, 26 Sep 2022 12:12:04 +0200
|
||||
Subject: [PATCH 05/21] config: add ignition translation
|
||||
@ -2621,5 +2621,5 @@ index 00000000..e81f6bed
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a6b10520d45bf2083c6e6f184370aedd98d14168 Mon Sep 17 00:00:00 2001
|
||||
From 2d2b1b11cbe56702c09748f1a2d4afa19c4e30c0 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Wed, 25 May 2022 10:20:09 +0200
|
||||
Subject: [PATCH 06/21] config/v3_5: convert ignition 2.x to 3.x
|
||||
@ -72,5 +72,5 @@ index f0d4bb84..dccc5c4c 100644
|
||||
return Parse(raw)
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5c0764d31cf5a565dcd76a6c9508762e0928ef6f Mon Sep 17 00:00:00 2001
|
||||
From ab20557f947cf2f7c583b5938b7ab7f5d6fc0582 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mathieu@kinvolk.io>
|
||||
Date: Fri, 30 Jul 2021 14:21:31 +0200
|
||||
Subject: [PATCH 07/21] internal/prv/cmdline: backport flatcar patch
|
||||
@ -36,5 +36,5 @@ index f09e6fcb..b6de99d5 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 88ac3872fa8cf315e24fd38b05dd2fb32d6de1ce Mon Sep 17 00:00:00 2001
|
||||
From 2cd551059f26f53efe469bed811117f9132ad783 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Fri, 24 Feb 2023 09:40:01 +0100
|
||||
Subject: [PATCH 08/21] provider/qemu: apply fw_cfg patch
|
||||
@ -159,5 +159,5 @@ index f8bf820e..89515187 100644
|
||||
+ return types.Config{}, report.Report{}, iErrors.ErrEmpty
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5839131cf64ac3ef23b5b076bd7ff289d295ceee Mon Sep 17 00:00:00 2001
|
||||
From 904c831a553fbb1cf36b29cd80ed8839e1316c2e Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mathieu@kinvolk.io>
|
||||
Date: Thu, 2 Sep 2021 11:03:17 +0200
|
||||
Subject: [PATCH 09/21] config/3_5/test: add ignition 2.x test cases
|
||||
@ -40,5 +40,5 @@ index 7e10866e..58423719 100644
|
||||
in: in{config: []byte(`{"ignition": {"version": "3.0.0"}}`)},
|
||||
out: out{config: types.Config{Ignition: types.Ignition{Version: types.MaxVersion.String()}}},
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b128acae78ba4ef918fa0d6fe11a13aed9c4c283 Mon Sep 17 00:00:00 2001
|
||||
From b97c1d2e96a66d6b7d02ff5c2535e9c34b6336e1 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Wed, 22 Sep 2021 14:53:49 +0200
|
||||
Subject: [PATCH 10/21] internal/disk/fs: ignore fs format mismatches for the
|
||||
@ -35,5 +35,5 @@ index 18103f38..72baf50d 100644
|
||||
(fs.UUID == nil || canonicalizeFilesystemUUID(info.Type, info.UUID) == canonicalizeFilesystemUUID(fileSystemFormat, *fs.UUID)) {
|
||||
s.Logger.Info("filesystem at %q is already correctly formatted. Skipping mkfs...", fs.Device)
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8501f155dc800b0a5f22b3329372f647aee56d6f Mon Sep 17 00:00:00 2001
|
||||
From d27cd61764a2386d1a15c5b0d176d4d311d62302 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Wed, 25 May 2022 10:34:32 +0200
|
||||
Subject: [PATCH 11/21] VMware: Fix guestinfo.*.config.data and *.config.url
|
||||
@ -166,5 +166,5 @@ index b41b54bc..5a660b6c 100644
|
||||
|
||||
func DelConfig(f *resource.Fetcher) error {
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7771ba7312c1d3237d9d14cc874da501bf788eb4 Mon Sep 17 00:00:00 2001
|
||||
From 9b4f7c3d346a41581bc13eaebe366528bfaaceeb Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Wed, 2 Feb 2022 13:27:18 +0100
|
||||
Subject: [PATCH 12/21] config/version: handle configuration version 1
|
||||
@ -49,5 +49,5 @@ index 3b9bb22f..f81056fa 100644
|
||||
return semver.Version{}, report.Report{}, errors.ErrInvalidVersion
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e7ce683cec079bbd796827da3bce6cfe2a9fe3cd Mon Sep 17 00:00:00 2001
|
||||
From 0370ca89e1fdcdcafcd0d1be5787272700f690bc Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Tue, 22 Feb 2022 15:41:13 +0100
|
||||
Subject: [PATCH 13/21] config/util: add cloud init detection to initial
|
||||
@ -8,31 +8,46 @@ we detect if the config is not an ignition one (script/cloudinit) and we
|
||||
return an ErrEmpty which will make Ignition to ignore this user config.
|
||||
|
||||
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
|
||||
---
|
||||
config/util/parsingErrors.go | 39 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 39 insertions(+)
|
||||
config/util/parsingErrors.go | 53 ++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 53 insertions(+)
|
||||
|
||||
diff --git a/config/util/parsingErrors.go b/config/util/parsingErrors.go
|
||||
index 865d75d2..914bf2bf 100644
|
||||
index 865d75d2..313d42ea 100644
|
||||
--- a/config/util/parsingErrors.go
|
||||
+++ b/config/util/parsingErrors.go
|
||||
@@ -15,7 +15,12 @@
|
||||
@@ -15,7 +15,14 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
+ "bufio"
|
||||
+ "bytes"
|
||||
+ "compress/gzip"
|
||||
"encoding/json"
|
||||
+ "io/ioutil"
|
||||
+ "net/textproto"
|
||||
+ "strings"
|
||||
+ "unicode"
|
||||
|
||||
"github.com/flatcar/ignition/v2/config/shared/errors"
|
||||
|
||||
@@ -24,10 +29,44 @@ import (
|
||||
@@ -24,10 +31,56 @@ import (
|
||||
"github.com/coreos/vcontext/tree"
|
||||
)
|
||||
|
||||
+func isMultipartMime(userdata []byte) bool {
|
||||
+ userdata = decompressIfGzipped(userdata)
|
||||
+ mimeReader := textproto.NewReader(bufio.NewReader(bytes.NewReader(userdata)))
|
||||
+ header, err := mimeReader.ReadMIMEHeader()
|
||||
+ if err != nil {
|
||||
+ return false
|
||||
+ }
|
||||
+ contentType := header.Get("Content-Type")
|
||||
+
|
||||
+ return strings.Contains(contentType, "multipart/mixed")
|
||||
+}
|
||||
+
|
||||
+func isCloudConfig(userdata []byte) bool {
|
||||
+ header := strings.SplitN(string(decompressIfGzipped(userdata)), "\n", 2)[0]
|
||||
+
|
||||
@ -66,7 +81,7 @@ index 865d75d2..914bf2bf 100644
|
||||
func HandleParseErrors(rawConfig []byte, to interface{}) (report.Report, error) {
|
||||
r := report.Report{}
|
||||
+
|
||||
+ if isCloudConfig(rawConfig) || isScript(rawConfig) {
|
||||
+ if isCloudConfig(rawConfig) || isScript(rawConfig) || isMultipartMime(rawConfig) {
|
||||
+ // returning ErrEmpty will make ignition ignoring this user provided config.
|
||||
+ return report.Report{}, errors.ErrEmpty
|
||||
+ }
|
||||
@ -75,5 +90,5 @@ index 865d75d2..914bf2bf 100644
|
||||
if err == nil {
|
||||
return report.Report{}, nil
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d745d6f67a2ec9b4bc9cca183ea078ea8be618d1 Mon Sep 17 00:00:00 2001
|
||||
From fb26081aa46b3edd9d878630ef52aea2d4ea8613 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Wed, 25 May 2022 10:38:16 +0200
|
||||
Subject: [PATCH 14/21] Revert "*: drop OEM URI support"
|
||||
@ -509,5 +509,5 @@ index d5bd3fe7..ea4ff6ab 100644
|
||||
Env []string // Environment variables for Ignition
|
||||
Config string
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9b450ef48f04f86469d2f403645e9c46e3c5edcd Mon Sep 17 00:00:00 2001
|
||||
From ff3662f4364fb6f4d51d7d5e97b850db5e0ed3d2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Kai=20L=C3=BCke?= <kailuke@microsoft.com>
|
||||
Date: Wed, 7 Jul 2021 18:40:52 +0200
|
||||
Subject: [PATCH 15/21] internal/resource/url: support btrfs as OEM partition
|
||||
@ -35,5 +35,5 @@ index 3f5fb4ab..3fbda7a7 100644
|
||||
|
||||
return nil
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c1a4912fcdfbb2167d723d65062744997028f07a Mon Sep 17 00:00:00 2001
|
||||
From 7508b2275b19b8226fbeeed5e27f7fb9ca5023bb Mon Sep 17 00:00:00 2001
|
||||
From: Kai Lueke <kailuke@microsoft.com>
|
||||
Date: Fri, 11 Feb 2022 15:41:12 +0100
|
||||
Subject: [PATCH 16/21] internal/exec/stages/disks: prevent races with udev
|
||||
@ -193,5 +193,5 @@ index 41f98a41..d22f604c 100644
|
||||
|
||||
return nil
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ca70b6d21ddacc1addf00bd041485e9ad559a2d4 Mon Sep 17 00:00:00 2001
|
||||
From 1e99b1eb24b6c6b00d3b6de9e8aa01e93696dcbf Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Thu, 10 Nov 2022 11:58:49 +0100
|
||||
Subject: [PATCH 17/21] translation: support OEM and oem
|
||||
@ -157,5 +157,5 @@ index e81f6bed..68c07109 100644
|
||||
+ }
|
||||
+}
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bb172f1cbf23695214e5556b6f40b92eae6af0bb Mon Sep 17 00:00:00 2001
|
||||
From cee296c017c4b654d637e38a81c1725b23338bc1 Mon Sep 17 00:00:00 2001
|
||||
From: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
|
||||
Date: Wed, 21 Dec 2022 17:25:02 +0100
|
||||
Subject: [PATCH 18/21] revert: internal/oem: drop noop OEMs
|
||||
@ -75,5 +75,5 @@ index 51bf5174..3169536c 100644
|
||||
name: "virtualbox",
|
||||
fetch: virtualbox.FetchConfig,
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e27ff547ae16e31e0c61f7e393437f4df57887ed Mon Sep 17 00:00:00 2001
|
||||
From 14e02dfa9ed7dd7d0d6e47960cf08011edb46861 Mon Sep 17 00:00:00 2001
|
||||
From: Krzesimir Nowak <knowak@microsoft.com>
|
||||
Date: Fri, 14 Apr 2023 11:37:20 +0200
|
||||
Subject: [PATCH 19/21] docs: Add re-added platforms to docs to pass tests
|
||||
@ -38,5 +38,5 @@ index f7bb4b40..90df6c6a 100644
|
||||
* [VMware] (`vmware`) - Use the VMware Guestinfo variables `ignition.config.data` and `ignition.config.data.encoding` to provide the config and its encoding to the virtual machine. Valid encodings are "", "base64", and "gzip+base64". Guestinfo variables can be provided directly or via an OVF environment, with priority given to variables specified directly.
|
||||
* [Vultr] (`vultr`) - Ignition will read its configuration from the instance userdata. Cloud SSH keys are handled separately.
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 38bc8c588bd7e4c5c6de85ccb182c3c794363448 Mon Sep 17 00:00:00 2001
|
||||
From 080e4db8eabd64c12a049b9382c195675b16a189 Mon Sep 17 00:00:00 2001
|
||||
From: Krzesimir Nowak <knowak@microsoft.com>
|
||||
Date: Tue, 4 Apr 2023 12:12:42 +0200
|
||||
Subject: [PATCH 20/21] /usr/share/oem -> /oem
|
||||
@ -52,5 +52,5 @@ index 644c42c4..9e96166e 100644
|
||||
|
||||
// Helper programs
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From af6e6c898fc3482b2bc4bfd48e47ac69e0564f57 Mon Sep 17 00:00:00 2001
|
||||
From d5fc344638287f835bf7d4793b46f166c7277950 Mon Sep 17 00:00:00 2001
|
||||
From: Krzesimir Nowak <knowak@microsoft.com>
|
||||
Date: Tue, 16 May 2023 17:43:43 +0200
|
||||
Subject: [PATCH 21/21] internal/exec/stages/mount: Mount /oem
|
||||
@ -28,5 +28,5 @@ index 8074dbe6..b8cdc5cb 100644
|
||||
if err := checkForNonDirectories(path); err != nil {
|
||||
return err
|
||||
--
|
||||
2.25.1
|
||||
2.34.1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user