#!/bin/sh # Run gpg once to create default options GNUPGHOME=/root export GNUPGHOME /usr/bin/gpg --yes 2>/dev/null $ATTEMPTS_BEFORE_BACKUP ]]; then contact_count=0 if [[ $on_backup_server == 1 ]]; then echo "pl_boot: failed to contact backup server, trying primary." on_backup_server=0 CONNECT_BOOT_SERVER=$BOOT_SERVER CONNECT_BOOT_SERVER_PORT=$BOOT_SERVER_PORT CONNECT_BOOT_SERVER_PATH=$BOOT_SERVER_PATH CONNECT_BOOT_SERVER_GPG_KEYRING=$BOOT_SERVER_GPG_KEYRING CONNECT_BOOT_SERVER_CACERT=$BOOT_SERVER_CACERT else echo "pl_boot: failed to contact primary server, trying backup." on_backup_server=1 CONNECT_BOOT_SERVER=$BACKUP_BOOT_SERVER CONNECT_BOOT_SERVER_PORT=$BACKUP_BOOT_SERVER_PORT CONNECT_BOOT_SERVER_PATH=$BACKUP_BOOT_SERVER_PATH CONNECT_BOOT_SERVER_GPG_KEYRING=$BACKUP_BOOT_SERVER_GPG_KEYRING CONNECT_BOOT_SERVER_CACERT=$BACKUP_BOOT_SERVER_CACERT fi fi # assemble the curl transaction CURL_CMD="/usr/bin/curl \ --connect-timeout 60 \ --max-time 600 \ --form version=<$BOOT_VERSION_FILE \ --form cmdline= /tmp/nonce echo "pl_boot: fetching script from boot server $CONNECT_BOOT_SERVER" rm -f $UNVERIFIED_SCRIPT $CURL_CMD curl_err=$? if [ $curl_err -ne 0 ]; then echo "pl_boot: curl request failed with error $curl_err:" cat /tmp/curl_errors echo continue fi echo "pl_boot: verifying downloaded script" rm -f $VERIFIED_SCRIPT $GPG_CMD 2> /tmp/gpg_errors if [ $? -ne 0 ]; then echo "pl_boot: failed to verify file:" cat /tmp/gpg_errors echo continue fi echo "pl_boot: decrypted and verified script succesfully" echo "pl_boot: handing control to download script" rm -f $UNVERIFIED_SCRIPT chmod +x $VERIFIED_SCRIPT $VERIFIED_SCRIPT echo "pl_boot: downloaded script has returned" done echo "pl_boot: automatic boot process canceled by user"