Bugfixing configure and make temporary token possible
This commit is contained in:
@@ -54,57 +54,32 @@ do_configure() {
|
|||||||
|
|
||||||
new_TLDOMAIN=$(prompt_value "TLDOMAIN" "$TLDOMAIN")
|
new_TLDOMAIN=$(prompt_value "TLDOMAIN" "$TLDOMAIN")
|
||||||
TLDOMAIN="$new_TLDOMAIN"
|
TLDOMAIN="$new_TLDOMAIN"
|
||||||
DOMAIN="clients.${TLDOMAIN}"
|
|
||||||
SERVERFQDN_IPA="ipa.${TLDOMAIN}"
|
|
||||||
SERVERFQDN_NC="nextcloud.${TLDOMAIN}"
|
|
||||||
|
|
||||||
|
DOMAIN="ipa.$TLDOMAIN}"
|
||||||
|
new_DOMAIN=$(prompt_value "DOMAIN" "$DOMAIN")
|
||||||
|
DOMAIN="${new_DOMAIN}"
|
||||||
|
|
||||||
|
SERVERFQDN_IPA="ipa.${TLDOMAIN}"
|
||||||
new_SERVERFQDN_IPA=$(prompt_value "SERVERFQDN_IPA" "$SERVERFQDN_IPA")
|
new_SERVERFQDN_IPA=$(prompt_value "SERVERFQDN_IPA" "$SERVERFQDN_IPA")
|
||||||
SERVERFQDN_IPA="$new_SERVERFQDN_IPA"
|
SERVERFQDN_IPA="$new_SERVERFQDN_IPA"
|
||||||
|
|
||||||
|
SERVERFQDN_NC="nextcloud.${TLDOMAIN}"
|
||||||
new_SERVERFQDN_NC=$(prompt_value "SERVERFQDN_NC" "$SERVERFQDN_NC")
|
new_SERVERFQDN_NC=$(prompt_value "SERVERFQDN_NC" "$SERVERFQDN_NC")
|
||||||
SERVERFQDN_NC="$new_SERVERFQDN_NC"
|
SERVERFQDN_NC="$new_SERVERFQDN_NC"
|
||||||
|
|
||||||
new_CLIENTADMINGROUP=$(prompt_value "CLIENTADMINGROUP" "$CLIENTADMINGROUP")
|
new_CLIENTADMINGROUP=$(prompt_value "CLIENTADMINGROUP" "$CLIENTADMINGROUP")
|
||||||
CLIENTADMINGROUP="$new_CLIENTADMINGROUP"
|
CLIENTADMINGROUP="$new_CLIENTADMINGROUP"
|
||||||
|
|
||||||
new_DECRYPTEDDATADIR=$(prompt_value "DECRYPTEDDATADIR" "$DECRYPTEDDATADIR")
|
|
||||||
DECRYPTEDDATADIR="$new_DECRYPTEDDATADIR"
|
|
||||||
|
|
||||||
new_ENCRYPTEDDATADIR=$(prompt_value "ENCRYPTEDDATADIR" "$ENCRYPTEDDATADIR")
|
|
||||||
ENCRYPTEDDATADIR="$new_ENCRYPTEDDATADIR"
|
|
||||||
|
|
||||||
new_IPAVAULTUSE=$(prompt_value "IPAVAULTUSE" "$IPAVAULTUSE")
|
|
||||||
IPAVAULTUSE="$new_IPAVAULTUSE"
|
|
||||||
|
|
||||||
new_IPAVAULTNAME=$(prompt_value "IPAVAULTNAME" "$IPAVAULTNAME")
|
|
||||||
IPAVAULTNAME="$new_IPAVAULTNAME"
|
|
||||||
|
|
||||||
set_conf_var "TLDOMAIN" "$new_TLDOMAIN"
|
set_conf_var "TLDOMAIN" "$new_TLDOMAIN"
|
||||||
|
set_conf_var "DOMAIN" "$DOMAIN"
|
||||||
set_conf_var "SERVERFQDN_IPA" "$new_SERVERFQDN_IPA"
|
set_conf_var "SERVERFQDN_IPA" "$new_SERVERFQDN_IPA"
|
||||||
set_conf_var "SERVERFQDN_NC" "$new_SERVERFQDN_NC"
|
set_conf_var "SERVERFQDN_NC" "$new_SERVERFQDN_NC"
|
||||||
set_conf_var "CLIENTADMINGROUP" "$new_CLIENTADMINGROUP"
|
set_conf_var "CLIENTADMINGROUP" "$new_CLIENTADMINGROUP"
|
||||||
set_conf_var "DECRYPTEDDATADIR" "$new_DECRYPTEDDATADIR"
|
|
||||||
set_conf_var "ENCRYPTEDDATADIR" "$new_ENCRYPTEDDATADIR"
|
|
||||||
set_conf_var "IPAVAULTUSE" "$new_IPAVAULTUSE"
|
|
||||||
# IPAVAULTNAME uses computed concatenation in the dist file; override at top level.
|
|
||||||
override_conf_var "IPAVAULTNAME" "$new_IPAVAULTNAME"
|
|
||||||
|
|
||||||
# Re-source with the updated TLDOMAIN so DOMAIN and FQDN are recomputed correctly.
|
# Re-source with the updated TLDOMAIN so DOMAIN and FQDN are recomputed correctly.
|
||||||
unset DOMAIN HOSTNM FQDN
|
unset DOMAIN HOSTNM FQDN
|
||||||
source "$CONF_FILE"
|
source "$CONF_FILE"
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "Computed FQDN: ${FQDN}"
|
|
||||||
read -rp "Is this correct? [Y/n]: " ans
|
|
||||||
if [[ "${ans,,}" == "n" ]]; then
|
|
||||||
read -rp " Enter desired hostname (HOSTNM) [${HOSTNM}]: " new_HOSTNM
|
|
||||||
new_HOSTNM="${new_HOSTNM:-$HOSTNM}"
|
|
||||||
override_conf_var "HOSTNM" "$new_HOSTNM"
|
|
||||||
# Also pin FQDN so it stays correct regardless of eval order.
|
|
||||||
override_conf_var "FQDN" "${new_HOSTNM}.clients.${new_TLDOMAIN}"
|
|
||||||
echo " Updated FQDN: ${new_HOSTNM}.clients.${new_TLDOMAIN}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "Configuration written to: ${CONF_FILE}"
|
echo "Configuration written to: ${CONF_FILE}"
|
||||||
}
|
}
|
||||||
@@ -116,24 +91,11 @@ while true; do
|
|||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
source "${SCRIPTDIR}/setup_system.inc.sh"
|
source "${SCRIPTDIR}/setup_system.inc.sh"
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Testing: mounting encrypted home directory ==="
|
|
||||||
bash "${SCRIPTDIR}/mount_ecrypt_home.sh"
|
|
||||||
if [[ $? -ne 0 ]]; then
|
|
||||||
echo ""
|
|
||||||
echo "mount_ecrypt_home.sh reported an error."
|
|
||||||
read -rp "Start configuration again (a) or quit (q)? [a/q]: " ans
|
|
||||||
if [[ "${ans,,}" == "q" ]]; then
|
|
||||||
echo "Quitting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo ""
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=== Testing: obtaining Nextcloud WebDAV token ==="
|
echo "=== Testing: obtaining Nextcloud WebDAV token ==="
|
||||||
while true; do
|
while true; do
|
||||||
|
# This makes the Token only available for this session
|
||||||
|
unset DAVTOKENFILENAME
|
||||||
get_nc_token
|
get_nc_token
|
||||||
current_user="$(id -un)"
|
current_user="$(id -un)"
|
||||||
if [[ "${DAVTOKEN_USER}" == "${current_user}" ]]; then
|
if [[ "${DAVTOKEN_USER}" == "${current_user}" ]]; then
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ get_nc_token() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f ${DAVTOKENFILENAME} ]; then
|
if [ ! -f ${DAVTOKENFILENAME} ] || [ -z ${DAVTOKENFILENAME} ]; then
|
||||||
echo "No token found here. Getting a new WEBDAV Token for this Device."
|
echo "No token found here. Getting a new WEBDAV Token for this Device."
|
||||||
echo "Please logon to your Nextcloud instance via SSO/kerberos"
|
echo "Please logon to your Nextcloud instance via SSO/kerberos"
|
||||||
|
|
||||||
@@ -101,6 +101,9 @@ get_nc_token() {
|
|||||||
|
|
||||||
REQTOKEN=$( echo "${REQJSON}" | grep -oP '(?<="token":")[^"]+(?=")' )
|
REQTOKEN=$( echo "${REQJSON}" | grep -oP '(?<="token":")[^"]+(?=")' )
|
||||||
REQURL=$( echo "${REQJSON}" | grep -oP '(?<="login":")[^"]+(?=")' )
|
REQURL=$( echo "${REQJSON}" | grep -oP '(?<="login":")[^"]+(?=")' )
|
||||||
|
if [[ -z ${DISPLAY} ]]; then
|
||||||
|
export DISPLAY=:0
|
||||||
|
fi
|
||||||
/usr/bin/firefox "${REQURL}" &
|
/usr/bin/firefox "${REQURL}" &
|
||||||
|
|
||||||
for i in {1..200}
|
for i in {1..200}
|
||||||
@@ -110,8 +113,12 @@ get_nc_token() {
|
|||||||
echo -n "Poll Number ${i}..."
|
echo -n "Poll Number ${i}..."
|
||||||
POLLJSON=$( curl -s -X POST "https://${SERVERFQDN_NC}/login/v2/poll" -d "token=${REQTOKEN}" )
|
POLLJSON=$( curl -s -X POST "https://${SERVERFQDN_NC}/login/v2/poll" -d "token=${REQTOKEN}" )
|
||||||
if [[ "${POLLJSON}" == *"appPassword"* ]]; then
|
if [[ "${POLLJSON}" == *"appPassword"* ]]; then
|
||||||
|
if [ ! -z ${DAVTOKENFILENAME} ]; then
|
||||||
echo "${POLLJSON}" > ${DAVTOKENFILENAME}
|
echo "${POLLJSON}" > ${DAVTOKENFILENAME}
|
||||||
echo "found token. Token has been written to ${DAVTOKENFILENAME}"
|
echo "Token has been written to ${DAVTOKENFILENAME}"
|
||||||
|
else
|
||||||
|
echo "Temporary token was obtained."
|
||||||
|
fi
|
||||||
pkill firefox
|
pkill firefox
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user