X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=debian%2Fpostinst;h=af35ec59ac29ce2533b7b055954ab2b0ad769281;hb=d443845d6ce091d56ff5e8b56c7d54511e5a268c;hp=32ef34f63d24b5cac5ea54a1abcc7fec82c087a6;hpb=042279263e5b261426f46a95857db0464a8262d9;p=php5-cn.git diff --git a/debian/postinst b/debian/postinst index 32ef34f..af35ec5 100755 --- a/debian/postinst +++ b/debian/postinst @@ -51,6 +51,20 @@ phpmemlimit () { echo $memlimit } +# phpinivalidate () +# +# Validate php.ini values. +# +phpinivalidate () { + + local ini_file + ini_file="$1" + + awk -F'[[:space:]]*=[[:space:]]*' \ + '/^[[:space:]]*[[:alpha:]_]+[[:space:]]*=[[:space:]]*[[:digit:]]+[MGK]B/ {print $1" = "$2}' \ + "$ini_file" +} + # Disable PHP4 module and enable Apache2 PHP5 module. # @@ -173,12 +187,11 @@ for SAPI in apache2 cli; do if [ ! -d "$PHP5DIR/$SAPI" ]; then continue fi - + + ini_file="$PHP5DIR/$SAPI/php.ini" db_get php5-cn/${SAPI} || true if [ "$RET" = "true" ]; then - ini_file="$PHP5DIR/$SAPI/php.ini" - cp_echo "CN: Checking and enabling some specific parameters in file $ini_file" phplimit="$(phpmemlimit)M" @@ -216,12 +229,27 @@ for SAPI in apache2 cli; do need_restart=1 fi cp_mv "$ini_file_tmp" "$ini_file" - - + chmod 644 "$ini_file" + if [ -e "$ini_file_tmp" ]; then rm -f "$ini_file_tmp" fi fi + + # Validate php.ini values. + if [ -f "$ini_file" ]; then + php5_inivalues="$(phpinivalidate "$ini_file")" + if [ -n "$php5_inivalues" ]; then + db_fset php5-cn/inivalues seen false + db_title php5-cn - konfiguracija za $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/') + db_subst php5-cn/inivalues php5_sapi $(echo ${SAPI} | sed 's/a/A/;s/cli/CLI/') + db_subst php5-cn/inivalues ini_file "$ini_file" + db_capb escape + db_subst php5-cn/inivalues php5_inivalues "$(echo -n "$php5_inivalues" | debconf-escape -e)" + db_input critical php5-cn/inivalues || true + db_go || true + fi + fi done