update_user() {
# internal function for user update
local uid="$1" uname status email pwsalt pwhash expire devices futureuse
update_user() {
# internal function for user update
local uid="$1" uname status email pwsalt pwhash expire devices futureuse
printf '%s %s %s %s %s %s %i %s %s\n' \
"$uid" "$(STRING "${uname-$(UNSTRING "$UNAME")}")" \
"${status:-${status-${STATUS}}${status+\\}}" \
printf '%s %s %s %s %s %s %i %s %s\n' \
"$uid" "$(STRING "${uname-$(UNSTRING "$UNAME")}")" \
"${status:-${status-${STATUS}}${status+\\}}" \
if [ "$UNAME" = "$uname" -o "$EMAIL" = "$uname" ]; then
if [ "$STATUS" = active -a "$EXPIRE" -gt "$_DATE" -a "$PWHASH" = "$(user_pwhash "$PWSALT" "$pw")" ]; then
SESSION_COOKIE new
if [ "$UNAME" = "$uname" -o "$EMAIL" = "$uname" ]; then
if [ "$STATUS" = active -a "$EXPIRE" -gt "$_DATE" -a "$PWHASH" = "$(user_pwhash "$PWSALT" "$pw")" ]; then
SESSION_COOKIE new
if [ "$pw" -a "$pw" = "$pwconfirm" ]; then
update_user "${uid}" password="$pw"
REDIRECT "${_BASE}${PATH_INFO}#UPDATE_SUCCESS"
else
REDIRECT "${_BASE}${PATH_INFO}#ERROR_PWMISMATCH"
fi
if [ "$pw" -a "$pw" = "$pwconfirm" ]; then
update_user "${uid}" password="$pw"
REDIRECT "${_BASE}${PATH_INFO}#UPDATE_SUCCESS"
else
REDIRECT "${_BASE}${PATH_INFO}#ERROR_PWMISMATCH"
fi
REDIRECT "${_BASE}${PATH_INFO}#ERROR_INVALID_AUTH_PASSWORD"
else
REDIRECT "${_BASE}${PATH_INFO}#ERROR_NOTLOGGEDIN"
REDIRECT "${_BASE}${PATH_INFO}#ERROR_INVALID_AUTH_PASSWORD"
else
REDIRECT "${_BASE}${PATH_INFO}#ERROR_NOTLOGGEDIN"
local user_confirm="$(GET user_confirm)"
local uid="${user_confirm% *}" signature="${user_confirm#* }"
if [ "$signature" = "$(session_mac "$uid")" ]; then
local user_confirm="$(GET user_confirm)"
local uid="${user_confirm% *}" signature="${user_confirm#* }"
if [ "$signature" = "$(session_mac "$uid")" ]; then