From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter =?utf-8?q?M=C3=BCller?= To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. f1180ec2dc9f96fee9d694262b4036029a36e4b2 Date: Mon, 21 Feb 2022 21:36:55 +0000 Message-ID: <4K2bGv5H2gz2xkb@people01.haj.ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4006114872269726874==" List-Id: --===============4006114872269726874== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via f1180ec2dc9f96fee9d694262b4036029a36e4b2 (commit) via d5538121d7b61f03e53a2fe48ed81728019df411 (commit) from efb999548a2f0540067314f43434712fd446e42e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit f1180ec2dc9f96fee9d694262b4036029a36e4b2 Author: Peter M=C3=BCller Date: Mon Feb 21 21:36:18 2022 +0000 Core Update 165: Ship oci-setup initscript =20 Signed-off-by: Peter M=C3=BCller commit d5538121d7b61f03e53a2fe48ed81728019df411 Author: Michael Tremer Date: Mon Feb 21 17:24:56 2022 +0000 oci: user-data: Try to decode base64 content =20 Terraform only supports sending any shell scripts encoded in base64 which is however not required by Oracle. Therefore we have to test if the script is encoded or not. =20 Signed-off-by: Michael Tremer Reviewed-by: Peter M=C3=BCller ----------------------------------------------------------------------- Summary of changes: config/rootfiles/core/165/filelists/files | 1 + src/initscripts/helper/oci-setup | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) Difference in files: diff --git a/config/rootfiles/core/165/filelists/files b/config/rootfiles/cor= e/165/filelists/files index 7ad9a521e..a5ae67f43 100644 --- a/config/rootfiles/core/165/filelists/files +++ b/config/rootfiles/core/165/filelists/files @@ -1,4 +1,5 @@ etc/rc.d/init.d/firewall +etc/rc.d/helper/oci-setup opt/pakfire/etc/pakfire.conf opt/pakfire/lib/functions.pl srv/web/ipfire/cgi-bin/backup.cgi diff --git a/src/initscripts/helper/oci-setup b/src/initscripts/helper/oci-se= tup index 4dbc05ae3..782fde5a2 100644 --- a/src/initscripts/helper/oci-setup +++ b/src/initscripts/helper/oci-setup @@ -34,6 +34,24 @@ get() { wget -qO - "http://169.254.169.254/opc/v1/${file}" } =20 +try_base64_decode() { + local input=3D"${1}" + + local tmp=3D"$(mktemp)" + + # Try to decode this and return output if successful + if base64 -d <<< "${input}" > "${tmp}" 2>/dev/null; then + echo "$(<${tmp})" + + # Otherwise just return the input + else + echo "${input}" + fi + + # Cleanup + unlink "${tmp}" +} + to_address() { local n=3D"${1}" =20 @@ -134,6 +152,9 @@ import_oci_configuration() { # Download a startup script local script=3D"$(get instance/metadata/user_data)" =20 + # Try to decode this + script=3D"$(try_base64_decode "${script}")" + # Execute the script if [ "${script:0:2}" =3D "#!" ]; then echo "${script}" > /tmp/user-data.script hooks/post-receive -- IPFire 2.x development tree --===============4006114872269726874==--