Search
j0ke.net Open Build Service
>
Projects
>
home:jg
:
http-testing
>
tortixd
> httpd-2.1.10-apctl.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File httpd-2.1.10-apctl.patch of Package tortixd
- fail gracefully if links is not installed on target system - source sysconfig/httpd for custom env. vars etc. - make httpd -t work even in SELinux - refuse to restart into a bad config - pass $OPTIONS to all $HTTPD invocation Upstream-HEAD: vendor Upstream-2.0: vendor Upstream-Status: Vendor-specific changes for better initscript integration --- httpd-2.1.10/support/apachectl.in.apctl +++ httpd-2.1.10/support/apachectl.in @@ -43,19 +43,25 @@ # the path to your httpd binary, including options if necessary HTTPD='@exp_sbindir@/@progname@' # -# pick up any necessary environment variables -if test -f @exp_sbindir@/envvars; then - . @exp_sbindir@/envvars -fi # # a command that outputs a formatted text version of the HTML at the # url given on the command line. Designed for lynx, however other # programs may work. -LYNX="@LYNX_PATH@ -dump" +if [ -x "@LYNX_PATH@" ]; then + LYNX="@LYNX_PATH@ -dump" +else + LYNX=none +fi # # the URL to your server's mod_status status page. If you do not # have one, then status and fullstatus will not work. STATUSURL="http://localhost:@PORT@/server-status" + +# Source /etc/sysconfig/httpd for $HTTPD setting, etc. +if [ -r /etc/sysconfig/httpd ]; then + . /etc/sysconfig/httpd +fi + # # Set this variable to a command that increases the maximum # number of file descriptors allowed per child process. This is @@ -75,29 +81,51 @@ ARGV="-h" fi +function checklynx() { +if [ "$LYNX" = "none" ]; then + echo "The 'links' package is required for this functionality." + exit 8 +fi +} + +function testconfig() { +# httpd is denied terminal access in SELinux, so run in the +# current context to get stdout from $HTTPD -t. +if test -x /usr/sbin/selinuxenabled && /usr/sbin/selinuxenabled; then + runcon -- `id -Z` $HTTPD $OPTIONS -t +else + $HTTPD $OPTIONS -t +fi +ERROR=$? +} + case $ARGV in -start|stop|restart|graceful|graceful-stop) - $HTTPD -k $ARGV - ERROR=$? +restart|graceful) + if $HTTPD $OPTIONS -t >&/dev/null; then + $HTTPD $OPTIONS -k $ARGV + ERROR=$? + else + echo "apachectl: Configuration syntax error, will not run \"$ARGV\":" + testconfig + fi ;; -startssl|sslstart|start-SSL) - echo The startssl option is no longer supported. - echo Please edit httpd.conf to include the SSL configuration settings - echo and then use "apachectl start". - ERROR=2 +start|stop|graceful-stop) + $HTTPD $OPTIONS -k $ARGV + ERROR=$? ;; configtest) - $HTTPD -t - ERROR=$? + testconfig ;; status) + checklynx $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' ;; fullstatus) + checklynx $LYNX $STATUSURL ;; *) - $HTTPD $ARGV + $HTTPD $OPTIONS $ARGV ERROR=$? esac