]*>[^<]" | sed 's/<[^>]*>//g' | sed 's/^\s*//g')
if [ "$msg" = '' ]; then
_err "Unable to remove record: Unknown error"
echo "$ret" >'error-01.html'
@@ -130,8 +130,8 @@ dns_world4you_rm() {
return 1
fi
else
- _err "$(_head_n 3 <"$HTTP_HEADER")"
- _err "View $HTTP_HEADER for debugging"
+ msg=$(echo "$ret" | grep "form-error-message" | sed 's/^.*
\([^<]*\)<\/div>.*$/\1/')
+ _err "Unable to remove record: my.world4you.com: $msg"
return 1
fi
}
@@ -155,29 +155,42 @@ _login() {
_saveaccountconf_mutable WORLD4YOU_USERNAME "$WORLD4YOU_USERNAME"
_saveaccountconf_mutable WORLD4YOU_PASSWORD "$WORLD4YOU_PASSWORD"
+ _resethttp
+ export ACME_HTTP_NO_REDIRECTS=1
+ page=$(_get "$WORLD4YOU_API/login")
+ _resethttp
+
+ if _contains "$(_head_n 1 <"$HTTP_HEADER")" '302'; then
+ _info "Already logged in"
+ _parse_sessid
+ return 0
+ fi
+
_info "Logging in..."
username="$WORLD4YOU_USERNAME"
password="$WORLD4YOU_PASSWORD"
- csrf_token=$(_get "$WORLD4YOU_API/login" | grep '_csrf_token' | sed 's/^.*]*value=\"\([^"]*\)\".*$/\1/')
- sessid=$(grep 'W4YSESSID' <"$HTTP_HEADER" | sed 's/^.*W4YSESSID=\([^;]*\);.*$/\1/')
+ csrf_token=$(echo "$page" | grep '_csrf_token' | sed 's/^.*]*value=\"\([^"]*\)\".*$/\1/')
+ _parse_sessid
export _H1="Cookie: W4YSESSID=$sessid"
export _H2="X-Requested-With: XMLHttpRequest"
body="_username=$username&_password=$password&_csrf_token=$csrf_token"
ret=$(_post "$body" "$WORLD4YOU_API/login" '' POST 'application/x-www-form-urlencoded')
unset _H2
+
_debug ret "$ret"
if _contains "$ret" "\"success\":true"; then
_info "Successfully logged in"
- sessid=$(grep 'W4YSESSID' <"$HTTP_HEADER" | sed 's/^.*W4YSESSID=\([^;]*\);.*$/\1/')
+ _parse_sessid
else
- _err "Unable to log in: $(echo "$ret" | sed 's/^.*"message":"\([^\"]*\)".*$/\1/')"
+ msg=$(echo "$ret" | sed 's/^.*"message":"\([^\"]*\)".*$/\1/')
+ _err "Unable to log in: my.world4you.com: $msg"
return 1
fi
}
-# Usage _get_paketnr