export PATH=/sbin:/bin:/usr/bin:/usr/sbin
-# Source function library
-. /etc/init.d/functions
+# covering for former /etc/init.d/functions
+function success() {
+ echo success "$@"
+ true
+}
+
+function failure() {
+ echo failure "$@"
+ false
+}
+
+function action() {
+ local message="$1"; shift
+ echo $message
+ "$@"
+}
# Total number of errors
ERRORS=0
ERRORS=$(($ERRORS+$?))
}
-# Print status header
function dialog () {
echo -n "PLC: $*: " >&3
}
# Print result
function result () {
if [ $ERRORS -eq 0 ] ; then
- success "$*" >&3
+ success "$@" >&3
else
- failure "$*" >&3
+ failure "$@" >&3
fi
echo >&3
}
# See if it's already running. Look *only* at the pid file.
if [ -f /var/run/plc_${base}.pid ]; then
- local line p
- read line < /var/run/plc_${base}.pid
- for p in $line ; do
- [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
- done
+ local line p
+ read line < /var/run/plc_${base}.pid
+ for p in $line ; do
+ [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p"
+ done
fi
[ -n "${pid:-}" -a -z "${force:-}" ] && return
ret=$?
if [ -f /var/run/${base}.pid ] ; then
- mv /var/run/${base}.pid /var/run/plc_${base}.pid
+ mv /var/run/${base}.pid /var/run/plc_${base}.pid
fi
return $ret
# Argument(s) or stdin to lowercase stdout
function lower () {
if [ ${#*} -ge 1 ] ; then
- tr A-Z a-z <<<$*
+ tr A-Z a-z <<<$*
else
- tr A-Z a-z
+ tr A-Z a-z
fi
}
# Argument(s) or stdin to uppercase stdout
function upper () {
if [ ${#*} -ge 1 ] ; then
- tr a-z A-Z <<<$*
+ tr a-z A-Z <<<$*
else
- tr a-z A-Z
+ tr a-z A-Z
fi
}
fi
}
+#################### feb 2013 for f18
+# Authorization directives change in apache 2.4
+# http://httpd.apache.org/docs/2.4/upgrading.html#access
+#### up to 2.2, this would be e.g.
+# apachectl -V
+# Server version: Apache/2.2.22 (Unix)
+# <Directory "/usr/share/plc_api/apache">
+# Options +ExecCGI
+# Order allow,deny
+# Allow from all
+# </Directory>
+#### starting with 2.4 it becomes
+# apachectl -V
+# Server version: Apache/2.4.3 (Fedora)
+# <Directory "/usr/share/plc_api/apache">
+# Options +ExecCGI
+# Require all granted
+# </Directory>
+
+function apache_newauth () {
+ # somehow in 2019 apachectl stopped answering the -V option
+ # apache_version=$(apachectl -V 2> /dev/null | grep 'Server version' | cut -d ' ' -f3 | sed -e 's,^.*/,,')
+ apache_version=$(rpm -q --queryformat "%{VERSION}" httpd)
+ apache_major=$(echo $apache_version | cut -d. -f1)
+ apache_minor=$(echo $apache_version | cut -d. -f2)
+ test "$apache_minor" -ge 4
+}
+function apache_allow () {
+ if apache_newauth; then
+ echo -e "Require all granted"
+ else
+ echo -e "Order allow,deny\n Allow from all"
+ fi
+}
+function apache_forbid () {
+ if apache_newauth; then
+ echo -e "Require all denied"
+ else
+ echo -e "Order deny,allow\n Deny from all"
+ fi
+}
+
# Make copies of stdout and stderr. The plc initscript redirects
# stdout and stderr to a logfile if -v is not specified.
[ ! -e /proc/self/fd/3 ] && exec 3>&1