# HG changeset patch # User HIROSE Yuuji # Date 1591187530 -32400 # Node ID ebc1c0b19bf703223ba3ac3c841c5919a5dc2d3e # Parent 4f1e3622d9d61b91a4850a93a25c0bd0e2cec456 Base of annex feature added diff -r 4f1e3622d9d6 -r ebc1c0b19bf7 s4-annex.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/s4-annex.sh Wed Jun 03 21:32:10 2020 +0900 @@ -0,0 +1,71 @@ +#!/bin/sh + +if [ -z "$S4MASTERDB" -o ! -s "$S4MASTERDB" ]; then + return +fi +if [ "$db" -ef "$S4MASTERDB" ]; then + return # Points to the same file +fi + +skey="skey-`basename $mydir`" +syncflag=$dbdir/usersynced +userupdateflag=`dirname $S4MASTERDB`/`basename $userupdateflag` +test ! -e "$userupdateflag" && return +test "$syncflag" -nt "$userupdateflag" && return + +# for sub.sq3 +# +# main: user: 'taro', 'hanako', 'shige' +# sub: user: 'taro', 'hanako', 'shige' +# sub2: user_s: ('taro', 't'), ('hanako', 'h'), ('shige', 's') +# then update +# + +judgeequal() { + read num + test $num -eq 0 && touch $syncflag + return $num +} + +## sqlite3 -cmd '.timer 1' -cmd '.echo 1' $db <> $tmpdir/debug.out +err() { + echo "[`date +%F-%T%z`] $@" 1>&3 +} +# If S4MASTERDB is set, behave as ANNEX s4 +if [ -n "$S4MASTERDB" -a -s "$S4MASTERDB" ]; then + . ./s4-annex.sh 2>> tmp/debug.out +fi + + case "$HTTP_USER_AGENT" in *i[Pp]hone*|*[Aa]ndroid*) touchpanel=1 ;; *) touchpanel="" ;; @@ -372,7 +386,6 @@ if [ -n "$isCGI" ]; then exec 2>> $tmpdir/error.out fi - exec 3>> $tmpdir/debug.out exec 5> $sqi # Turning $sqi access through fd5 for continuous open state chmod o-r $tmpdir/error.out $tmpdir/debug.out rm $sqi @@ -1197,7 +1210,7 @@ v="`echo ${kv#*=}|nkf -Ww -mQ|sed -e 's/\"/\"\"/g'`" case "$k" in user) _user="$v" ;; - skey) _skey="$v" ;; + $skey) _skey="$v" ;; esac query "replace into cookie values('$session', '$k', 'string', \"$v\");" done @@ -1214,7 +1227,7 @@ # smail rcpts subj (file) # $SMAIL_TO <- Recipient value of To: header # $MAIL_FROM <- From: header value - from=`echo "${MAIL_FROM:-$admin}"|nkf -jM|tr -d '\n'` + from=`echo "${MAIL_FROM:-$admin}"|nkf -jM|tr : /|tr -d '\n'` rcpt=`echo $1|tr ' ' '\n'|sort -u|tr '\n' ' '` # uniq and strip newlines rcptheader=`echo $1|tr ' ' '\n'|sort -u|sed '2,$s/^/To: /g'` subj=`echo $2|nkf -jM|tr -d '\n'` @@ -1304,7 +1317,7 @@ # $1=passwd dbpswd=`getpwfield $user pswd` encpswd=`mycrypt "$1" "$dbpswd"` - ## err user=$user, pswd=$1, db=$dbpswd, enc=$encpswd + # err user=$user, pswd=$1, db=$dbpswd, enc=$encpswd [ x"$dbpswd" = x"$encpswd" ] } mypwhash() { @@ -1357,7 +1370,8 @@ newsession=`genrandom 34` if setskey "$user" "$newsession" && dbsetbyid user "$user" login "`date '+%F %T'`"; then - gencookie "user=$user" "skey=$newsession" + err gencookie "user=$user" "$skey=$newsession" + gencookie "user=$user" "$skey=$newsession" return 0 else return 4 # Heavy load?? @@ -1397,9 +1411,6 @@ trap cleanup INT HUP EXIT TERM PIPE # trap cleanup INT HUP -err() { - echo "[`date +%F-%T%z`] $@" 1>&3 -} cgiinit() { session=`date +%F-$$` @@ -3936,8 +3947,10 @@ .read $transaction RELEASE SAVEPOINT pa2table_insert; EOF - return $? - ##err donee + rc=$? + [ $rc -eq 0 -a x"$tbl" = x"user" ] && touch $userupdateflag + ## err "Table:$tbl update done " + return $rc ) genform() { # $1 = form definition file