slitaz-base-files rev 127
Add new slitaz.conf (more logical name, less tazpkg specifique vars, clean comments PLEASE adapte you scripts
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Thu Apr 12 22:23:20 2012 +0200 (2012-04-12) |
parents | 32c560235098 |
children | 617a18197606 |
files | rootfs/etc/slitaz/slitaz.conf rootfs/usr/lib/slitaz/httphelper rootfs/usr/lib/slitaz/httphelper.sh |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/rootfs/etc/slitaz/slitaz.conf Thu Apr 12 22:23:20 2012 +0200 1.3 @@ -0,0 +1,54 @@ 1.4 +# /etc/slitaz/slitaz.conf: SliTaz variables used by almost all tools. 1.5 +# 1.6 + 1.7 +# Slitaz release. 1.8 +SLITAZ_RELEASE="$(cat /etc/slitaz-release)" 1.9 + 1.10 +# Slitaz directory. 1.11 +SLITAZ_HOME="/home/slitaz" 1.12 + 1.13 +# Slitaz directory. 1.14 +SLITAZ_CONFIGS="/etc/slitaz" 1.15 + 1.16 +# Slitaz logs directory. 1.17 +SLITAZ_LOGS="/var/log/slitaz" 1.18 + 1.19 +# Path to each version. 1.20 +STABLE="$SLITAZ_DIR/stable" 1.21 +COOKING="$SLITAZ_DIR/cooking" 1.22 +UNDIGEST="$SLITAZ_DIR/undigest" 1.23 + 1.24 +# The type of checksum and ext for packages.md5-like file 1.25 +# md5sum : default (but weak) [sha1sum|sha256sum|sha512sum] 1.26 +CHECKSUM="md5sum" 1.27 +SUM="${CHECKSUM/sum}" 1.28 + 1.29 +# Main mirror URL. 1.30 +MIRROR_URL="http://mirror.slitaz.org" 1.31 + 1.32 +# Online and local packages repository. 1.33 +ONLINE_PKGS="$MIRROR_URL/packages/$SLITAZ_VERSION/" 1.34 +LOCAL_PKGS="$SLITAZ_HOME/packages/$SLITAZ_VERSION/" 1.35 + 1.36 +# Path to Tazpkg data. 1.37 +LOCALSTATE="/var/lib/tazpkg" 1.38 + 1.39 +# Path to installed packages data. 1.40 +INSTALLED="$LOCALSTATE/installed" 1.41 + 1.42 +# Packages categories. 1.43 +PKGS_CATEGORIES=" 1.44 +base-system 1.45 +x-window 1.46 +utilities 1.47 +network 1.48 +graphics 1.49 +multimedia 1.50 +office 1.51 +development 1.52 +system-tools 1.53 +security 1.54 +games 1.55 +misc 1.56 +meta 1.57 +non-free"
2.1 --- a/rootfs/usr/lib/slitaz/httphelper Thu Apr 12 22:11:05 2012 +0200 2.2 +++ b/rootfs/usr/lib/slitaz/httphelper Thu Apr 12 22:23:20 2012 +0200 2.3 @@ -1,240 +1,1 @@ 2.4 -#!/bin/sh 2.5 -# 2.6 -# SliTaz Helper for SHell CGI scripts - See httphelper function 2.7 -# 2.8 -# This helper is used in TazPanel, Pizza and other SliTaz CGI tools and 2.9 -# services. The goal is to maintain it according to the needs of the 2.10 -# project and Busybox httpd server applet since it is used for URL 2.11 -# [en|de]coding. 2.12 -# 2.13 -# Copyright (C) SliTaz 2012 - GNU gpl v2 2.14 -# 2.15 - 2.16 -alias urlencode='busybox httpd -e' 2.17 -alias urldecode='busybox httpd -d' 2.18 - 2.19 -# Help and usage. 2.20 -httphelper() { 2.21 - cat << EOT 2.22 - 2.23 -Include this helper in a script: 2.24 - . /usr/lib/slitaz/httphelper 2.25 - 2.26 -Functions: 2.27 - GET [var [index]] 2.28 - POST [var [index]] 2.29 - COOKIE [var [index]] 2.30 - FILE [var {name|tmpname|size|type}] 2.31 - header [strings] 2.32 - http_urlencode string 2.33 - urlencode string 2.34 - urldecode string 2.35 - htmlentities string 2.36 - md5crypt string 2.37 - sha512crypt string 2.38 - httpinfo 2.39 - httphelper 2.40 - 2.41 -Example: 2.42 - header "Content-type: text/html" "Set-Cookie: name=value; HttpOnly" 2.43 - 2.44 - if [ "\$(GET name)" ]; then 2.45 - echo "Input name has a value from HTML form" 2.46 - fi 2.47 - 2.48 -EOT 2.49 -} 2.50 - 2.51 -# Send headers. 2.52 -header() { 2.53 - local i 2.54 - [ -z "$1" ] && set -- "Content-type: text/html" 2.55 - for i in "$@" "" 2.56 - do 2.57 - echo -e "$i\r" 2.58 - done 2.59 -} 2.60 - 2.61 -http_urlencode() { 2.62 - sed -e "s|%|%25|g;s|!|%21|g;s|\*|%2A|g;s|'|%27|g;s|(|%28|g" \ 2.63 - -e "s|)|%29|g;s|;|%3B|g;s|:|%3A|g;s|@|%40|g;s|&|%26|g" \ 2.64 - -e "s|=|%3D|g;s|+|%2B|g;s|\$|%24|g;s|,|%2C|g;s|/|%2F|g" \ 2.65 - -e "s|\?|%3F|g;s|#|%25|g;s|\[|%5B|g;s|\]|%5D|g;s| |+|g" 2.66 -} 2.67 - 2.68 -htmlentities() { 2.69 - echo $1 | sed 's|&|\&|g;s|<|\<|g;s|>|\>|g;s|"|\"|g' 2.70 -} 2.71 - 2.72 -# MD5 crypt a string such as password (httpd -m dont give same result ?) 2.73 -md5crypt() { 2.74 - echo -n "$1" | md5sum | awk '{print $1}' 2.75 -} 2.76 - 2.77 -# MD5 crypt a string. Stronger crypto than MD5 2.78 -sha512crypt() { 2.79 - echo -n "$1" | sha512sum | awk '{print $1}' 2.80 -} 2.81 - 2.82 -_ARRAY() 2.83 -{ 2.84 -[ -z "$2" ] && eval echo \$${1}__NAMES || 2.85 - [ -n "$(eval echo \$${1}__NAMES)" ] && eval echo \$${1}_${2}_${3:-1} 2.86 -} 2.87 - 2.88 -GET() { _ARRAY GET "$1" $2; } 2.89 -POST() { _ARRAY POST "$1" $2; } 2.90 -FILE() { _ARRAY FILE "$1" $2; } 2.91 -COOKIE() { _ARRAY COOKIE "$1" $2; } 2.92 - 2.93 -httpinfo() 2.94 -{ 2.95 -local i 2.96 -local j 2.97 -local x 2.98 -for i in SERVER_PROTOCOL SERVER_SOFTWARE SERVER_NAME SERVER_PORT AUTH_TYPE \ 2.99 - GATEWAY_INTERFACE REMOTE_HOST REMOTE_ADDR REMOTE_PORT \ 2.100 - HTTP_REFERER HTTP_HOST HTTP_USER_AGENT HTTP_ACCEPT \ 2.101 - HTTP_ACCEPT_LANGUAGE HTTP_COOKIE AUTH_TYPE REMOTE_USER REMOTE_IDENT \ 2.102 - REQUEST_METHOD REQUEST_URI QUERY_STRING CONTENT_LENGTH CONTENT_TYPE \ 2.103 - SCRIPT_NAME SCRIPT_FILENAME PATH_INFO PATH_TRANSLATED \ 2.104 - USER HOME LOGNAME SHELL PWD ; do 2.105 - eval x=\$$i 2.106 - [ -n "$x" ] && echo "$i='$x'" 2.107 -done 2.108 -for x in GET POST COOKIE ; do 2.109 - for i in $($x) ; do 2.110 - if [ $($x $i count) -gt 1 ]; then 2.111 - for j in $(seq 1 $($x $i count)); do 2.112 - echo "$x($i,$j)='$($x $i $j)'" 2.113 - done 2.114 - else 2.115 - echo "$x($i)='$($x $i)'" 2.116 - fi 2.117 - done 2.118 -done 2.119 -for i in $(FILE) ; do 2.120 - for j in name size type tmpname ; do 2.121 - echo "FILE($i,$j)='$(FILE $i $j)'" 2.122 - done 2.123 -done 2.124 -} 2.125 - 2.126 -read_query_string() 2.127 -{ 2.128 -local i 2.129 -local names 2.130 -local cnt 2.131 -names="" 2.132 -IFS="&" 2.133 -for i in $2 ; do 2.134 - var=${i%%[^A-Za-z_0-9]*} 2.135 - case " $names " in 2.136 - *\ $var\ *) eval cnt=\$${1}_${var}_count ;; 2.137 - *) cnt=0 2.138 - names="$names $var" ;; 2.139 - esac 2.140 - eval ${1}_${var}_count=$((++cnt)) 2.141 - eval ${1}_${var}_$cnt=\'$(busybox httpd -d "${i#*=}" | sed "s/'/\'\\\\\'\'/g")\' 2.142 -done 2.143 -unset IFS 2.144 -eval ${1}__NAMES=\'${names# }\' 2.145 -} 2.146 - 2.147 -[ -z "$GET__NAMES" ] && read_query_string GET "$QUERY_STRING" 2.148 -[ -z "$COOKIE_NAMES" ] && 2.149 - read_query_string COOKIE "$(echo "$HTTP_COOKIE" | sed 's/; /\&/g')" 2.150 - 2.151 -ddcut() 2.152 -{ 2.153 -page=4096 2.154 -skip=$1 2.155 -count=$(($2 - $1 -2)) 2.156 -tmp=$(($skip / $page)) 2.157 -[ $tmp -ne 0 ] && dd bs=$page skip=$tmp count=0 2.158 -skip=$(($skip - ($tmp * $page) )) 2.159 -dd bs=1 skip=$skip count=0 2.160 -tmp=$(( ($page - $skip) % $page )) 2.161 -if [ $tmp -ne 0 -a $tmp -le $count ]; then 2.162 - dd bs=1 count=$tmp 2.163 - count=$(($count - $tmp)) 2.164 -fi 2.165 -tmp=$(($count / $page)) 2.166 -[ $tmp -ne 0 ] && dd bs=$page count=$tmp 2.167 -dd bs=1 count=$(($count - ($tmp * $page) )) 2.168 -} 2.169 - 2.170 -if [ "$REQUEST_METHOD$POST__NAMES" == "POST" ]; then 2.171 - prefix=/tmp/httpd_post 2.172 - mkdir $prefix$$ 2.173 - now=$(stat -c %Y $prefix$$) 2.174 - for i in $prefix* ; do 2.175 - [ $(stat -c %Y $i) -lt $(($now - 3600)) ] && rm -rf $i 2.176 - done 2.177 - post=$prefix$$/post 2.178 - n=1 2.179 - cat > ${post}0 2.180 - read args < ${post}0 2.181 - delim="${args%?}" 2.182 - case "$delim" in 2.183 - -*) awk "/$delim/ { o+=index(\$0,\"$delim\")-1; print o } 2.184 - { o+=1+length() }" < ${post}0 | while read offset; do 2.185 - if [ $offset -ne 0 ]; then 2.186 - ddcut $last $offset < ${post}0 > $post$n 2> /dev/null 2.187 - n=$(($n+1)) 2.188 - fi 2.189 - last=$offset 2.190 - done 2.191 - rm -f ${post}0 2.192 - CR=`printf '\r'` 2.193 - for i in $post* ; do 2.194 - head -n 2 $i | grep -q filename= || echo '' >> $i 2.195 - filename= 2.196 - while read line; do 2.197 - case "$line" in 2.198 - *Content-Disposition*) 2.199 - name=$(echo $line | sed 's/.* name="\([^"]*\)".*$/\1/') 2.200 - name=${name%%[^A-Za-z_0-9]*} 2.201 - case "$line" in 2.202 - *filename=*) filename=$(echo $line | sed 's/.* filename="\([^"]*\)".*$/\1/') ;; 2.203 - esac ;; 2.204 - *Content-Type*) 2.205 - type=$(echo $line | sed 's/.*-Type: \(.*\).$/\1/') ;; 2.206 - $CR) 2.207 - if [ -n "$filename" ]; then 2.208 - tmp=$(mktemp $prefix$$/uploadXXXXXX) 2.209 - cat > $tmp 2.210 - FILE__NAMES="$FILE__NAMES $name" 2.211 - FILE__NAMES="${FILE__NAMES# }" 2.212 - eval FILE_${name}_tmpname=$tmp 2.213 - eval FILE_${name}_name=$filename 2.214 - eval FILE_${name}_size=$(stat -c %s $tmp) 2.215 - eval FILE_${name}_type=$type 2.216 - elif [ -n "$name" ]; then 2.217 - eval cnt=\$POST_${name}_count 2.218 - cnt=$(($cnt + 1)) 2.219 - eval var=\$POST_${name}_$cnt 2.220 - while read line; do 2.221 - [ -n "$var" ] && var="$var 2.222 -" 2.223 - var="$var$line" 2.224 - done 2.225 - eval POST_${name}_$cnt="\$var" 2.226 - eval POST_${name}_count=$cnt 2.227 - case " $POST__NAMES " in 2.228 - *\ $name\ *) ;; 2.229 - *) POST__NAMES="$POST__NAMES $name" 2.230 - POST__NAMES="${POST__NAMES# }" ;; 2.231 - esac 2.232 - fi 2.233 - break ;; 2.234 - *) 2.235 - esac 2.236 - done < $i 2.237 - rm -f $i 2.238 - done 2.239 - rmdir $(dirname $post) ;; 2.240 - *) rm -rf $(dirname $post) 2.241 - read_query_string POST "$args" ;; 2.242 - esac 2.243 -fi 2.244 +httphelper.sh 2.245 \ No newline at end of file
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/rootfs/usr/lib/slitaz/httphelper.sh Thu Apr 12 22:23:20 2012 +0200 3.3 @@ -0,0 +1,240 @@ 3.4 +#!/bin/sh 3.5 +# 3.6 +# SliTaz Helper for SHell CGI scripts - See httphelper function 3.7 +# 3.8 +# This helper is used in TazPanel, Pizza and other SliTaz CGI tools and 3.9 +# services. The goal is to maintain it according to the needs of the 3.10 +# project and Busybox httpd server applet since it is used for URL 3.11 +# [en|de]coding. 3.12 +# 3.13 +# Copyright (C) SliTaz 2012 - GNU gpl v2 3.14 +# 3.15 + 3.16 +alias urlencode='busybox httpd -e' 3.17 +alias urldecode='busybox httpd -d' 3.18 + 3.19 +# Help and usage. 3.20 +httphelper() { 3.21 + cat << EOT 3.22 + 3.23 +Include this helper in a script: 3.24 + . /usr/lib/slitaz/httphelper 3.25 + 3.26 +Functions: 3.27 + GET [var [index]] 3.28 + POST [var [index]] 3.29 + COOKIE [var [index]] 3.30 + FILE [var {name|tmpname|size|type}] 3.31 + header [strings] 3.32 + http_urlencode string 3.33 + urlencode string 3.34 + urldecode string 3.35 + htmlentities string 3.36 + md5crypt string 3.37 + sha512crypt string 3.38 + httpinfo 3.39 + httphelper 3.40 + 3.41 +Example: 3.42 + header "Content-type: text/html" "Set-Cookie: name=value; HttpOnly" 3.43 + 3.44 + if [ "\$(GET name)" ]; then 3.45 + echo "Input name has a value from HTML form" 3.46 + fi 3.47 + 3.48 +EOT 3.49 +} 3.50 + 3.51 +# Send headers. 3.52 +header() { 3.53 + local i 3.54 + [ -z "$1" ] && set -- "Content-type: text/html" 3.55 + for i in "$@" "" 3.56 + do 3.57 + echo -e "$i\r" 3.58 + done 3.59 +} 3.60 + 3.61 +http_urlencode() { 3.62 + sed -e "s|%|%25|g;s|!|%21|g;s|\*|%2A|g;s|'|%27|g;s|(|%28|g" \ 3.63 + -e "s|)|%29|g;s|;|%3B|g;s|:|%3A|g;s|@|%40|g;s|&|%26|g" \ 3.64 + -e "s|=|%3D|g;s|+|%2B|g;s|\$|%24|g;s|,|%2C|g;s|/|%2F|g" \ 3.65 + -e "s|\?|%3F|g;s|#|%25|g;s|\[|%5B|g;s|\]|%5D|g;s| |+|g" 3.66 +} 3.67 + 3.68 +htmlentities() { 3.69 + echo $1 | sed 's|&|\&|g;s|<|\<|g;s|>|\>|g;s|"|\"|g' 3.70 +} 3.71 + 3.72 +# MD5 crypt a string such as password (httpd -m dont give same result ?) 3.73 +md5crypt() { 3.74 + echo -n "$1" | md5sum | awk '{print $1}' 3.75 +} 3.76 + 3.77 +# MD5 crypt a string. Stronger crypto than MD5 3.78 +sha512crypt() { 3.79 + echo -n "$1" | sha512sum | awk '{print $1}' 3.80 +} 3.81 + 3.82 +_ARRAY() 3.83 +{ 3.84 +[ -z "$2" ] && eval echo \$${1}__NAMES || 3.85 + [ -n "$(eval echo \$${1}__NAMES)" ] && eval echo \$${1}_${2}_${3:-1} 3.86 +} 3.87 + 3.88 +GET() { _ARRAY GET "$1" $2; } 3.89 +POST() { _ARRAY POST "$1" $2; } 3.90 +FILE() { _ARRAY FILE "$1" $2; } 3.91 +COOKIE() { _ARRAY COOKIE "$1" $2; } 3.92 + 3.93 +httpinfo() 3.94 +{ 3.95 +local i 3.96 +local j 3.97 +local x 3.98 +for i in SERVER_PROTOCOL SERVER_SOFTWARE SERVER_NAME SERVER_PORT AUTH_TYPE \ 3.99 + GATEWAY_INTERFACE REMOTE_HOST REMOTE_ADDR REMOTE_PORT \ 3.100 + HTTP_REFERER HTTP_HOST HTTP_USER_AGENT HTTP_ACCEPT \ 3.101 + HTTP_ACCEPT_LANGUAGE HTTP_COOKIE AUTH_TYPE REMOTE_USER REMOTE_IDENT \ 3.102 + REQUEST_METHOD REQUEST_URI QUERY_STRING CONTENT_LENGTH CONTENT_TYPE \ 3.103 + SCRIPT_NAME SCRIPT_FILENAME PATH_INFO PATH_TRANSLATED \ 3.104 + USER HOME LOGNAME SHELL PWD ; do 3.105 + eval x=\$$i 3.106 + [ -n "$x" ] && echo "$i='$x'" 3.107 +done 3.108 +for x in GET POST COOKIE ; do 3.109 + for i in $($x) ; do 3.110 + if [ $($x $i count) -gt 1 ]; then 3.111 + for j in $(seq 1 $($x $i count)); do 3.112 + echo "$x($i,$j)='$($x $i $j)'" 3.113 + done 3.114 + else 3.115 + echo "$x($i)='$($x $i)'" 3.116 + fi 3.117 + done 3.118 +done 3.119 +for i in $(FILE) ; do 3.120 + for j in name size type tmpname ; do 3.121 + echo "FILE($i,$j)='$(FILE $i $j)'" 3.122 + done 3.123 +done 3.124 +} 3.125 + 3.126 +read_query_string() 3.127 +{ 3.128 +local i 3.129 +local names 3.130 +local cnt 3.131 +names="" 3.132 +IFS="&" 3.133 +for i in $2 ; do 3.134 + var=${i%%[^A-Za-z_0-9]*} 3.135 + case " $names " in 3.136 + *\ $var\ *) eval cnt=\$${1}_${var}_count ;; 3.137 + *) cnt=0 3.138 + names="$names $var" ;; 3.139 + esac 3.140 + eval ${1}_${var}_count=$((++cnt)) 3.141 + eval ${1}_${var}_$cnt=\'$(busybox httpd -d "${i#*=}" | sed "s/'/\'\\\\\'\'/g")\' 3.142 +done 3.143 +unset IFS 3.144 +eval ${1}__NAMES=\'${names# }\' 3.145 +} 3.146 + 3.147 +[ -z "$GET__NAMES" ] && read_query_string GET "$QUERY_STRING" 3.148 +[ -z "$COOKIE_NAMES" ] && 3.149 + read_query_string COOKIE "$(echo "$HTTP_COOKIE" | sed 's/; /\&/g')" 3.150 + 3.151 +ddcut() 3.152 +{ 3.153 +page=4096 3.154 +skip=$1 3.155 +count=$(($2 - $1 -2)) 3.156 +tmp=$(($skip / $page)) 3.157 +[ $tmp -ne 0 ] && dd bs=$page skip=$tmp count=0 3.158 +skip=$(($skip - ($tmp * $page) )) 3.159 +dd bs=1 skip=$skip count=0 3.160 +tmp=$(( ($page - $skip) % $page )) 3.161 +if [ $tmp -ne 0 -a $tmp -le $count ]; then 3.162 + dd bs=1 count=$tmp 3.163 + count=$(($count - $tmp)) 3.164 +fi 3.165 +tmp=$(($count / $page)) 3.166 +[ $tmp -ne 0 ] && dd bs=$page count=$tmp 3.167 +dd bs=1 count=$(($count - ($tmp * $page) )) 3.168 +} 3.169 + 3.170 +if [ "$REQUEST_METHOD$POST__NAMES" == "POST" ]; then 3.171 + prefix=/tmp/httpd_post 3.172 + mkdir $prefix$$ 3.173 + now=$(stat -c %Y $prefix$$) 3.174 + for i in $prefix* ; do 3.175 + [ $(stat -c %Y $i) -lt $(($now - 3600)) ] && rm -rf $i 3.176 + done 3.177 + post=$prefix$$/post 3.178 + n=1 3.179 + cat > ${post}0 3.180 + read args < ${post}0 3.181 + delim="${args%?}" 3.182 + case "$delim" in 3.183 + -*) awk "/$delim/ { o+=index(\$0,\"$delim\")-1; print o } 3.184 + { o+=1+length() }" < ${post}0 | while read offset; do 3.185 + if [ $offset -ne 0 ]; then 3.186 + ddcut $last $offset < ${post}0 > $post$n 2> /dev/null 3.187 + n=$(($n+1)) 3.188 + fi 3.189 + last=$offset 3.190 + done 3.191 + rm -f ${post}0 3.192 + CR=`printf '\r'` 3.193 + for i in $post* ; do 3.194 + head -n 2 $i | grep -q filename= || echo '' >> $i 3.195 + filename= 3.196 + while read line; do 3.197 + case "$line" in 3.198 + *Content-Disposition*) 3.199 + name=$(echo $line | sed 's/.* name="\([^"]*\)".*$/\1/') 3.200 + name=${name%%[^A-Za-z_0-9]*} 3.201 + case "$line" in 3.202 + *filename=*) filename=$(echo $line | sed 's/.* filename="\([^"]*\)".*$/\1/') ;; 3.203 + esac ;; 3.204 + *Content-Type*) 3.205 + type=$(echo $line | sed 's/.*-Type: \(.*\).$/\1/') ;; 3.206 + $CR) 3.207 + if [ -n "$filename" ]; then 3.208 + tmp=$(mktemp $prefix$$/uploadXXXXXX) 3.209 + cat > $tmp 3.210 + FILE__NAMES="$FILE__NAMES $name" 3.211 + FILE__NAMES="${FILE__NAMES# }" 3.212 + eval FILE_${name}_tmpname=$tmp 3.213 + eval FILE_${name}_name=$filename 3.214 + eval FILE_${name}_size=$(stat -c %s $tmp) 3.215 + eval FILE_${name}_type=$type 3.216 + elif [ -n "$name" ]; then 3.217 + eval cnt=\$POST_${name}_count 3.218 + cnt=$(($cnt + 1)) 3.219 + eval var=\$POST_${name}_$cnt 3.220 + while read line; do 3.221 + [ -n "$var" ] && var="$var 3.222 +" 3.223 + var="$var$line" 3.224 + done 3.225 + eval POST_${name}_$cnt="\$var" 3.226 + eval POST_${name}_count=$cnt 3.227 + case " $POST__NAMES " in 3.228 + *\ $name\ *) ;; 3.229 + *) POST__NAMES="$POST__NAMES $name" 3.230 + POST__NAMES="${POST__NAMES# }" ;; 3.231 + esac 3.232 + fi 3.233 + break ;; 3.234 + *) 3.235 + esac 3.236 + done < $i 3.237 + rm -f $i 3.238 + done 3.239 + rmdir $(dirname $post) ;; 3.240 + *) rm -rf $(dirname $post) 3.241 + read_query_string POST "$args" ;; 3.242 + esac 3.243 +fi