From 9884b77218d21f460eee1696a6eb8b5ecff390bd Mon Sep 17 00:00:00 2001 From: Tom Maguire Date: Tue, 3 Jan 2023 16:50:41 +0000 Subject: [PATCH 1/3] Added section to handle SAML authentication upgrade --- guac-upgrade.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/guac-upgrade.sh b/guac-upgrade.sh index 29d20e2..20799ac 100755 --- a/guac-upgrade.sh +++ b/guac-upgrade.sh @@ -197,6 +197,27 @@ for file in /etc/guacamole/extensions/guacamole-auth-duo*.jar; do fi done +# Handle upgrading SAML plugin if present +for file in /etc/guacamole/extensions/guacamole-auth-saml*.jar; do + if [[ -f $file ]]; then + # Upgrade SAML + echo -e "${BLUE}SAML extension was found, upgrading...${NC}" + rm /etc/guacamole/extensions/guacamole-auth-saml*.jar + wget -q --show-progress -O guacamole-auth-saml-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-saml-${GUACVERSION}.tar.gz + if [ $? -ne 0 ]; then + echo -e "${RED}Failed to download guacamole-auth-saml-${GUACVERSION}.tar.gz" + echo -e "${SERVER}/binary/guacamole-auth-saml-${GUACVERSION}.tar.gz" + exit 1 + fi + echo -e "${GREEN}Downloaded guacamole-auth-saml-${GUACVERSION}.tar.gz${NC}" + tar -xzf guacamole-auth-saml-${GUACVERSION}.tar.gz + cp guacamole-auth-saml-${GUACVERSION}/guacamole-auth-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ + echo -e "${GREEN}SAML copied to extensions.${NC}" + + break + fi +done + # Fix for #196 mkdir -p /usr/sbin/.config/freerdp chown daemon:daemon /usr/sbin/.config/freerdp From 55ea4737a53736f5af18644866f20ae3f795f54d Mon Sep 17 00:00:00 2001 From: Tom Maguire Date: Tue, 3 Jan 2023 16:59:42 +0000 Subject: [PATCH 2/3] Fixed to match new package naming scheme for 1.4.0 --- guac-upgrade.sh | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/guac-upgrade.sh b/guac-upgrade.sh index 20799ac..873c10f 100755 --- a/guac-upgrade.sh +++ b/guac-upgrade.sh @@ -202,16 +202,36 @@ for file in /etc/guacamole/extensions/guacamole-auth-saml*.jar; do if [[ -f $file ]]; then # Upgrade SAML echo -e "${BLUE}SAML extension was found, upgrading...${NC}" - rm /etc/guacamole/extensions/guacamole-auth-saml*.jar - wget -q --show-progress -O guacamole-auth-saml-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-saml-${GUACVERSION}.tar.gz + rm /etc/guacamole/extensions/guacamole-auth-sso-saml*.jar + wget -q --show-progress -O guacamole-auth-sso-saml-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz if [ $? -ne 0 ]; then - echo -e "${RED}Failed to download guacamole-auth-saml-${GUACVERSION}.tar.gz" - echo -e "${SERVER}/binary/guacamole-auth-saml-${GUACVERSION}.tar.gz" + echo -e "${RED}Failed to download guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" + echo -e "${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" exit 1 fi - echo -e "${GREEN}Downloaded guacamole-auth-saml-${GUACVERSION}.tar.gz${NC}" - tar -xzf guacamole-auth-saml-${GUACVERSION}.tar.gz - cp guacamole-auth-saml-${GUACVERSION}/guacamole-auth-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ + echo -e "${GREEN}Downloaded guacamole-auth-sso-saml-${GUACVERSION}.tar.gz${NC}" + tar -xzf guacamole-auth-sso-saml-${GUACVERSION}.tar.gz + cp guacamole-auth-sso-saml-${GUACVERSION}/guacamole-auth-sso-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ + echo -e "${GREEN}SAML copied to extensions.${NC}" + + break + fi +done +# Handle newer install/upgrade with different package name +for file in /etc/guacamole/extensions/guacamole-auth-sso-saml*.jar; do + if [[ -f $file ]]; then + # Upgrade SAML + echo -e "${BLUE}SAML extension was found, upgrading...${NC}" + rm /etc/guacamole/extensions/guacamole-auth-sso-saml*.jar + wget -q --show-progress -O guacamole-auth-sso-saml-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz + if [ $? -ne 0 ]; then + echo -e "${RED}Failed to download guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" + echo -e "${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" + exit 1 + fi + echo -e "${GREEN}Downloaded guacamole-auth-sso-saml-${GUACVERSION}.tar.gz${NC}" + tar -xzf guacamole-auth-sso-saml-${GUACVERSION}.tar.gz + cp guacamole-auth-sso-saml-${GUACVERSION}/guacamole-auth-sso-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ echo -e "${GREEN}SAML copied to extensions.${NC}" break From 8b129925e6ea7f4dca01e1c0039293f69401e30c Mon Sep 17 00:00:00 2001 From: Tom Maguire Date: Tue, 3 Jan 2023 17:23:57 +0000 Subject: [PATCH 3/3] Tidied up SSO function and replaced with correct download file --- guac-upgrade.sh | 42 +++++++++++++++++------------------------- 1 file changed, 17 insertions(+), 25 deletions(-) diff --git a/guac-upgrade.sh b/guac-upgrade.sh index 873c10f..905de12 100755 --- a/guac-upgrade.sh +++ b/guac-upgrade.sh @@ -197,24 +197,27 @@ for file in /etc/guacamole/extensions/guacamole-auth-duo*.jar; do fi done +function download_sso_auth () { + wget -q --show-progress -O guacamole-auth-sso-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-sso-${GUACVERSION}.tar.gz + if [ $? -ne 0 ]; then + echo -e "${RED}Failed to download guacamole-auth-sso-${GUACVERSION}.tar.gz" + echo -e "${SERVER}/binary/guacamole-auth-sso-${GUACVERSION}.tar.gz" + exit 1 + fi + echo -e "${GREEN}Downloaded guacamole-auth-sso-${GUACVERSION}.tar.gz${NC}" + tar -xzf guacamole-auth-sso-${GUACVERSION}.tar.gz + cp guacamole-auth-sso-${GUACVERSION}/saml/guacamole-auth-sso-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ + echo -e "${GREEN}SAML copied to extensions.${NC}" + break +} + # Handle upgrading SAML plugin if present for file in /etc/guacamole/extensions/guacamole-auth-saml*.jar; do if [[ -f $file ]]; then # Upgrade SAML echo -e "${BLUE}SAML extension was found, upgrading...${NC}" - rm /etc/guacamole/extensions/guacamole-auth-sso-saml*.jar - wget -q --show-progress -O guacamole-auth-sso-saml-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz - if [ $? -ne 0 ]; then - echo -e "${RED}Failed to download guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" - echo -e "${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" - exit 1 - fi - echo -e "${GREEN}Downloaded guacamole-auth-sso-saml-${GUACVERSION}.tar.gz${NC}" - tar -xzf guacamole-auth-sso-saml-${GUACVERSION}.tar.gz - cp guacamole-auth-sso-saml-${GUACVERSION}/guacamole-auth-sso-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ - echo -e "${GREEN}SAML copied to extensions.${NC}" - - break + rm /etc/guacamole/extensions/guacamole-auth-saml*.jar + download_sso_auth fi done # Handle newer install/upgrade with different package name @@ -223,18 +226,7 @@ for file in /etc/guacamole/extensions/guacamole-auth-sso-saml*.jar; do # Upgrade SAML echo -e "${BLUE}SAML extension was found, upgrading...${NC}" rm /etc/guacamole/extensions/guacamole-auth-sso-saml*.jar - wget -q --show-progress -O guacamole-auth-sso-saml-${GUACVERSION}.tar.gz ${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz - if [ $? -ne 0 ]; then - echo -e "${RED}Failed to download guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" - echo -e "${SERVER}/binary/guacamole-auth-sso-saml-${GUACVERSION}.tar.gz" - exit 1 - fi - echo -e "${GREEN}Downloaded guacamole-auth-sso-saml-${GUACVERSION}.tar.gz${NC}" - tar -xzf guacamole-auth-sso-saml-${GUACVERSION}.tar.gz - cp guacamole-auth-sso-saml-${GUACVERSION}/guacamole-auth-sso-saml-${GUACVERSION}.jar /etc/guacamole/extensions/ - echo -e "${GREEN}SAML copied to extensions.${NC}" - - break + download_sso_auth fi done