]> git.plutz.net Git - cgilite/commitdiff
include guard for main script, prevent double read of post data
authorPaul Hänsch <paul@plutz.net>
Wed, 18 Nov 2020 22:35:54 +0000 (23:35 +0100)
committerPaul Hänsch <paul@plutz.net>
Wed, 18 Nov 2020 22:35:54 +0000 (23:35 +0100)
cgilite.sh

index e145f2eebe173be82475cde1ec60fb200a14ed63..f766ee2a425591245926952a5b961dde86cac4ee 100755 (executable)
@@ -18,6 +18,9 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with CGIlite.  If not, see <http://www.gnu.org/licenses/>. 
 
 # You should have received a copy of the GNU Affero General Public License
 # along with CGIlite.  If not, see <http://www.gnu.org/licenses/>. 
 
+[ -n "$include_cgilite" ] && return 0
+# guard set after webserver part
+
 # ksh and zsh workaround
 # set -o posix # ksh, not portable
 setopt -o OCTAL_ZEROES 2>&-
 # ksh and zsh workaround
 # set -o posix # ksh, not portable
 setopt -o OCTAL_ZEROES 2>&-
@@ -27,8 +30,6 @@ BR='
 '
 cgilite_timeout=2
 
 '
 cgilite_timeout=2
 
-debug(){ [ $# -gt 0 ] && printf '%s\n' "$@" >&2 || tee -a /dev/stderr; }
-
 PATH(){ 
   local str seg out
   [ $# -eq 0 ] && str="$(cat)" || str="$*"
 PATH(){ 
   local str seg out
   [ $# -eq 0 ] && str="$(cat)" || str="$*"
@@ -121,11 +122,14 @@ if [ -z "$REQUEST_METHOD" ]; then
   exit 0
 fi
 
   exit 0
 fi
 
+include_cgilite="$0"
+
 if [ "${REQUEST_METHOD}" = POST -a "${CONTENT_LENGTH:-0}" -gt 0 -a \
      "${CONTENT_TYPE}" = "application/x-www-form-urlencoded" ]; then
   cgilite_post="$(head -c "$CONTENT_LENGTH")"
 fi
 
 if [ "${REQUEST_METHOD}" = POST -a "${CONTENT_LENGTH:-0}" -gt 0 -a \
      "${CONTENT_TYPE}" = "application/x-www-form-urlencoded" ]; then
   cgilite_post="$(head -c "$CONTENT_LENGTH")"
 fi
 
+debug(){ [ $# -gt 0 ] && printf '%s\n' "$@" >&2 || tee -a /dev/stderr; }
 [ "${DEBUG+x}" ] && env >&2
 
 cgilite_count(){
 [ "${DEBUG+x}" ] && env >&2
 
 cgilite_count(){