Created
June 10, 2020 12:43
-
-
Save thekoma/6be59f34e64bcb65576a0c095e0e235f to your computer and use it in GitHub Desktop.
This script want to patch the Citrix ICA Client installation on fedora 30 31 32 . (Piece of garbage software)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ $UID -gt 0 ]; then | |
echo You must be root | |
exit 99 | |
fi | |
echo "Installing dependencies" | |
dnf install -y motif motif.i686 libXaw libXaw.i686 libidn1.34 | |
if [ "$(rpm -qa |grep -i icaclient|wc -l )" -lt 1 ]; then | |
echo "Installing ICA Client (I'll install the one in this directory if i find one)" | |
ICARPM=$(find $(dirname $0) -name ICA\*.rpm) | |
if [$(wc -l $ICARPM) -gt 1 ]; then | |
echo Found too many ica clients install manually or cleanup your directory | |
echo $ICARPM | |
exit 98 | |
else | |
rpm -ivh $ICARPM | |
fi | |
else | |
echo "Found ica client installed, good." | |
fi | |
if [ ! -f /etc/pki/ca-trust/source/anchors/ca01.crt ]; then | |
echo "Creating missing CA for Citrix" | |
cat << EOF > /etc/pki/ca-trust/source/anchors/ca01.crt | |
-----BEGIN CERTIFICATE----- | |
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB | |
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug | |
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho | |
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt | |
SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG | |
A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe | |
MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v | |
d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh | |
cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn | |
0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ | |
M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a | |
MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd | |
oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI | |
DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy | |
oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD | |
VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0 | |
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy | |
bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF | |
BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM | |
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli | |
CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE | |
CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t | |
3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS | |
KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA== | |
-----END CERTIFICATE----- | |
EOF | |
fi | |
if [ ! -f /etc/pki/ca-trust/source/anchors/ca02.crt ]; then | |
echo Creating missing intermediat CA for Citrix | |
cat << EOF > /etc/pki/ca-trust/source/anchors/ca02.crt | |
-----BEGIN CERTIFICATE----- | |
MIIETzCCAzegAwIBAgIQHM5EYpUZep1jUvnyI6m2mDANBgkqhkiG9w0BAQUFADCB | |
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug | |
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho | |
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt | |
SGFyZHdhcmUwHhcNMDUwNjA3MDgwOTEwWhcNMTkwNzA5MTgxOTIyWjBvMQswCQYD | |
VQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0 | |
IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5h | |
bCBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt/caM+by | |
AAQtOeBOW+0fvGwPzbX6I7bO3psRM5ekKUx9k5+9SryT7QMa44/P5W1QWtaXKZRa | |
gLBJetsulf24yr83OC0ePpFBrXBWx/BPP+gynnTKyJBU6cZfD3idmkA8Dqxhql4U | |
j56HoWpQ3NeaTq8Fs6ZxlJxxs1BgCscTnTgHhgKo6ahpJhiQq0ywTyOrOk+E2N/O | |
n+Fpb7vXQtdrROTHre5tQV9yWnEIN7N5ZaRZoJQ39wAvDcKSctrQOHLbFKhFxF0q | |
fbe01sTurM0TRLfJK91DACX6YblpalgjEbenM49WdVn1zSnXRrcKK2W200JvFbK4 | |
e/vv6V1T1TRaJwIDAQABo4G9MIG6MB8GA1UdIwQYMBaAFKFyXyYbKJhDlV0HN9WF | |
lp1L0sNFMB0GA1UdDgQWBBStvZh6NLQm9/rEJlTvA73gJMtUGjAOBgNVHQ8BAf8E | |
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zARBglghkgBhvhCAQEEBAMCAQIwRAYDVR0f | |
BD0wOzA5oDegNYYzaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly | |
c3QtSGFyZHdhcmUuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQByQhANOs4kClrwF8BW | |
onvUOGCSjRK52zYZgDXYNjDtmr5rJ6NyPFDNn+JxkLpjYetIFMTbSRe679Bt8m7a | |
gIAoQYFQtxMuyLnJegB2aEbQiIxh/tC21UcFF7ktdnDoTlA6w3pLuvunaI84Of3o | |
2YBrhzkTbCfaYk5JRlTpudW9DkUkHBsyx3nknPKnplkIGaK0jgn8E0n+SFabYaHk | |
I9LroYT/+JtLefh9lgBdAgVv0UPbzoGfuDsrk/Zh+UrgbLFpHoVnElhzbkh64Z0X | |
OGaJunQc68cCZu5HTn/aK7fBGMcVflRCXLVEQpU9PIAdGA8Ynvg684t8GMaKsRl1 | |
jIGZ | |
-----END CERTIFICATE----- | |
EOF | |
fi | |
update-ca-trust | |
ALL_CERTS="$(ls -1 /etc/pki/ca-trust/extracted/pem/*.pem /etc/pki/tls/certs/ca-bundle.trust.crt /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/*.pem /etc/pki/ca-trust/source/anchors/*.crt)" | |
CITRIX=/opt/Citrix/ICAClient/keystore/cacerts | |
echo Linking missing certs Certs | |
for x in ${ALL_CERTS}; do | |
if [ ! -f ${CITRIX}/$(basename $x) ]; then | |
echo Linking $x in ${CITRIX} | |
ln -sf "${x}" "${CITRIX}" | |
fi | |
done | |
WFICA=/opt/Citrix/ICAClient/wfica | |
if [ $(file -b $WFICA|awk '{print $1}') == 'ELF' ]; then | |
echo Renaming executable and creating a new working one | |
mv $WFICA ${WFICA}.orig | |
cat << EOF > $WFICA | |
#!/bin/sh | |
ICAROOT=/opt/Citrix/ICAClient | |
export ICAROOT | |
LD_LIBRARY_PATH=/opt/Citrix/ICAClient/lib | |
export LD_LIBRARY_PATH | |
LD_PRELOAD=/lib64/libcrypto.so.1.0.2o $ICAROOT/wfica.orig $@ | |
EOF | |
chmod +x $WFICA | |
fi | |
echo All done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment