Hello community,
here is the log from the commit of package apache-rex for openSUSE:Factory checked in at 2019-07-01 10:43:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-rex (Old)
and /work/SRC/openSUSE:Factory/.apache-rex.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache-rex"
Mon Jul 1 10:43:36 2019 rev:13 rq:712394 version:20190628
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-rex/apache-rex.changes 2019-06-24 21:45:04.435728286 +0200
+++ /work/SRC/openSUSE:Factory/.apache-rex.new.4615/apache-rex.changes 2019-07-01 10:43:37.461403954 +0200
@@ -1,0 +2,35 @@
+Fri Jun 28 09:00:12 UTC 2019 - pgajdos@suse.com
+
+- version update to 20190628
+ * new example mod_authnz_external-basic
+ * nex example mod_nss-basic
+
+-------------------------------------------------------------------
+Thu Jun 27 09:31:36 UTC 2019 - pgajdos@suse.com
+
+- version update to 20190627
+ * new example mod_bw-basic
+ * new example mod_auth_token-basic
+ * new example mod_rivet-basic
+
+-------------------------------------------------------------------
+Wed Jun 26 09:17:01 UTC 2019 - pgajdos@suse.com
+
+- version update to 20190626
+ * new example mod_authn_otp-basic
+ * new example mod_gnutls-basic
+
+-------------------------------------------------------------------
+Tue Jun 25 13:47:39 UTC 2019 - pgajdos@suse.com
+
+- version update to 20190625
+ * new example mod_fcgid-basic
+
+-------------------------------------------------------------------
+Mon Jun 24 19:50:45 UTC 2019 - pgajdos@suse.com
+
+- version update to 20190624
+ * new example mod_bmx-basic
+ * new rpm macro %apache_rex_deps
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache-rex.spec ++++++
--- /var/tmp/diff_new_pack.5Bofqz/_old 2019-07-01 10:43:38.645405886 +0200
+++ /var/tmp/diff_new_pack.5Bofqz/_new 2019-07-01 10:43:38.677405939 +0200
@@ -25,7 +25,7 @@
%define macros_file macros.apache-rex
Name: apache-rex
-Version: 20190529
+Version: 20190628
Release: 0
Summary: Script for Apache HTTPD Runnable Examples
License: Apache-2.0
@@ -50,7 +50,6 @@
%setup -q -n %{name}
%build
-sed -i 's:sleep 1:sleep 3:g' mod_proxy_ftp-basic/run.sh
%install
mkdir -p %{buildroot}%{_bindir}
++++++ apache-rex.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_auth_token-basic/DESCRIPTION new/apache-rex/mod_auth_token-basic/DESCRIPTION
--- old/apache-rex/mod_auth_token-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_auth_token-basic/DESCRIPTION 2019-06-28 13:14:22.025928398 +0200
@@ -0,0 +1 @@
+Token based access with mod_auth_token.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_auth_token-basic/MODULES new/apache-rex/mod_auth_token-basic/MODULES
--- old/apache-rex/mod_auth_token-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_auth_token-basic/MODULES 2019-06-28 13:14:22.025928398 +0200
@@ -0,0 +1 @@
+auth_token
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_auth_token-basic/example.conf.in new/apache-rex/mod_auth_token-basic/example.conf.in
--- old/apache-rex/mod_auth_token-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_auth_token-basic/example.conf.in 2019-06-28 13:14:22.025928398 +0200
@@ -0,0 +1,9 @@
+
+ AuthTokenSecret "secret"
+ AuthTokenPrefix /protected/
+ AuthTokenTimeout 60
+</Location>
+
+ @AREX_ALLOW_FROM_LOCALHOST@
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_auth_token-basic/run.sh new/apache-rex/mod_auth_token-basic/run.sh
--- old/apache-rex/mod_auth_token-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_auth_token-basic/run.sh 2019-06-28 13:14:22.025928398 +0200
@@ -0,0 +1,19 @@
+exit_code=0
+LogLevel debug
+
+# secret token
+SECRET='secret'
+
+mkdir -p $AREX_DOCUMENT_ROOT/protected
+echo 'HOLA' > $AREX_DOCUMENT_ROOT/protected/file.txt
+
+echo "[1] direct acces to /protected/ is forbidden"
+curl -s http://localhost:$AREX_PORT/protected/file.txt | grep '<title>.*401.*</title>' || exit_code=1
+
+now_hex=$(printf "%x" $(date +%s));
+token=$(echo -n "$SECRET/file.txt$now_hex" | md5sum | cut -c -32)
+
+echo "[2] access to /protected/$token/$now_hex/ allowed"
+curl -s http://localhost:$AREX_PORT/protected/$token/$now_hex/file.txt | grep 'HOLA' || exit_code=2
+
+exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authn_otp-basic/BINARIES new/apache-rex/mod_authn_otp-basic/BINARIES
--- old/apache-rex/mod_authn_otp-basic/BINARIES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authn_otp-basic/BINARIES 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+otptool
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authn_otp-basic/DESCRIPTION new/apache-rex/mod_authn_otp-basic/DESCRIPTION
--- old/apache-rex/mod_authn_otp-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authn_otp-basic/DESCRIPTION 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+Show basic usage of one time passwords in Apache.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authn_otp-basic/MODULES new/apache-rex/mod_authn_otp-basic/MODULES
--- old/apache-rex/mod_authn_otp-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authn_otp-basic/MODULES 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+authn_otp authz_user
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authn_otp-basic/MODULES_OPT new/apache-rex/mod_authn_otp-basic/MODULES_OPT
--- old/apache-rex/mod_authn_otp-basic/MODULES_OPT 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authn_otp-basic/MODULES_OPT 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+authn_core authn_default
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authn_otp-basic/example.conf.in new/apache-rex/mod_authn_otp-basic/example.conf.in
--- old/apache-rex/mod_authn_otp-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authn_otp-basic/example.conf.in 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,9 @@
+
+ AuthType basic
+ AuthName "Very Secret Area"
+ AuthBasicProvider OTP
+ Require valid-user
+ OTPAuthUsersFile @AREX_RUN_DIR@/users-file
+ OTPAuthMaxLinger 2
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authn_otp-basic/run.sh new/apache-rex/mod_authn_otp-basic/run.sh
--- old/apache-rex/mod_authn_otp-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authn_otp-basic/run.sh 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,46 @@
+exit_code=0
+
+# see https://github.com/archiecobbs/mod-authn-otp/blob/master/README.md
+# for details
+
+# secret token
+TEST_TOKEN='a4d8acbddef654fccc418db4cc2f85cea6339f00'
+TEST_USER='wilma'
+
+mkdir -p $AREX_RUN_DIR/htdocs/protected
+echo 'RESTRICTED by OTP' > $AREX_RUN_DIR/htdocs/protected/index.html
+# create initial UsersFile
+echo "HOTP $TEST_USER - $TEST_TOKEN" > $AREX_RUN_DIR/users-file
+
+
+pass=$(otptool -c 0 $TEST_TOKEN | sed 's@.*:[ \t]*\([0-9]*\)[ \t]*.*@\1@')
+
+echo "[1] testing first password, access allowed"
+curl -s -u $TEST_USER:$pass http://localhost:$AREX_PORT/protected/ | grep 'RESTRICTED' || exit_code=1
+
+# next access with the same password within the linger time should be allowed
+echo "[2] testing first password in linger time"
+curl -s -u $TEST_USER:$pass http://localhost:$AREX_PORT/protected/ | grep 'RESTRICTED' || exit_code=2
+
+# sleeping to get past the linger time
+sleep 2
+
+# next access with the same password after linger time should not be allowed
+echo "[3] testing first password after linger time"
+curl -s -u $TEST_USER:$pass http://localhost:$AREX_PORT/protected/ | grep '<title>.*401.*</title>' || exit_code=3
+
+# figure out second password (counter increased by one)
+pass=$(otptool -c 1 $TEST_TOKEN | sed 's@.*:[ \t]*\([0-9]*\)[ \t]*.*@\1@')
+
+echo "[4] testing second password"
+curl -s -u $TEST_USER:$pass http://localhost:$AREX_PORT/protected/ | grep 'RESTRICTED' || exit_code=4
+
+# increasing counter again, generating new password
+pass=$(otptool -c 2 $TEST_TOKEN | sed 's@.*:[ \t]*\([0-9]*\)[ \t]*.*@\1@')
+
+# access with the third password should be allowed even if linger time
+# of the previous one have not expired
+echo "[5] testing next password in linger time of previous password"
+curl -s -u $TEST_USER:$pass http://localhost:$AREX_PORT/protected/ | grep 'RESTRICTED' || exit_code=5
+
+exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authnz_external-basic/DESCRIPTION new/apache-rex/mod_authnz_external-basic/DESCRIPTION
--- old/apache-rex/mod_authnz_external-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authnz_external-basic/DESCRIPTION 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,2 @@
+How to use external program as password verification.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authnz_external-basic/MODULES new/apache-rex/mod_authnz_external-basic/MODULES
--- old/apache-rex/mod_authnz_external-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authnz_external-basic/MODULES 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1 @@
+authz_user authnz_external
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authnz_external-basic/MODULES_OPT new/apache-rex/mod_authnz_external-basic/MODULES_OPT
--- old/apache-rex/mod_authnz_external-basic/MODULES_OPT 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authnz_external-basic/MODULES_OPT 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1 @@
+authn_default authn_core
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authnz_external-basic/example.conf.in new/apache-rex/mod_authnz_external-basic/example.conf.in
--- old/apache-rex/mod_authnz_external-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authnz_external-basic/example.conf.in 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,9 @@
+DefineExternalAuth dummy_auth pipe @AREX_RUN_DIR@/dummy-auth
+
+ AuthType Basic
+ AuthName "Restricted Area"
+ AuthBasicProvider external
+ AuthExternal dummy_auth
+ Require valid-user
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authnz_external-basic/pre-run.sh new/apache-rex/mod_authnz_external-basic/pre-run.sh
--- old/apache-rex/mod_authnz_external-basic/pre-run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authnz_external-basic/pre-run.sh 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,13 @@
+# create dummy password checker
+cat << EOF > $AREX_RUN_DIR/dummy-auth
+#!/bin/bash
+read user
+read passwd
+if [ "\$user" == "\$passwd" ]; then
+ exit 0
+else
+ exit 1
+fi
+EOF
+chmod 755 $AREX_RUN_DIR/dummy-auth
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_authnz_external-basic/run.sh new/apache-rex/mod_authnz_external-basic/run.sh
--- old/apache-rex/mod_authnz_external-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_authnz_external-basic/run.sh 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,19 @@
+exit_code=0
+LogLevel debug
+
+# secret token
+SECRET='secret'
+
+mkdir -p $AREX_DOCUMENT_ROOT/protected
+echo 'RESTRICTED AREA' > $AREX_DOCUMENT_ROOT/protected/index.html
+
+echo "[1] acces to /protected/ without password is forbidden"
+curl -s http://localhost:$AREX_PORT/protected/ | grep '<title>.*401.*</title>' || exit_code=1
+
+echo "[2] acces to /protected/ with incorrect password is forbidden"
+curl -u wilma:betty -s http://localhost:$AREX_PORT/protected/ | grep '<title>.*401.*</title>' || exit_code=2
+
+echo "[3] access to /protected/ with correct password is allowed"
+curl -u wilma:wilma -s http://localhost:$AREX_PORT/protected/ | grep 'RESTRICTED AREA' || exit_code=3
+
+exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bmx-basic/DESCRIPTION new/apache-rex/mod_bmx-basic/DESCRIPTION
--- old/apache-rex/mod_bmx-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bmx-basic/DESCRIPTION 2019-06-28 13:14:21.341924651 +0200
@@ -0,0 +1,2 @@
+Show basic functionality of bmx module, internal
+Apache httpd runtime statistics module.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bmx-basic/MODULES new/apache-rex/mod_bmx-basic/MODULES
--- old/apache-rex/mod_bmx-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bmx-basic/MODULES 2019-06-28 13:14:21.341924651 +0200
@@ -0,0 +1 @@
+bmx bmx_status bmx_vhost
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bmx-basic/example.conf.in new/apache-rex/mod_bmx-basic/example.conf.in
--- old/apache-rex/mod_bmx-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bmx-basic/example.conf.in 2019-06-28 13:14:21.341924651 +0200
@@ -0,0 +1,17 @@
+BMXVHostDBMFilename @AREX_RUN_DIR@/bmx.dbm
+
+Listen @AREX_PORT1@
+
+ ServerName avirtualhost
+ DocumentRoot "@AREX_DOCUMENT_ROOT@-virtualhost"
+ ErrorLog "@AREX_RUN_DIR@/error_log-virtualhost"
+
+ @AREX_ALLOW_FROM_LOCALHOST@
+ </Directory>
+</VirtualHost>
+
+
+ SetHandler bmx-handler
+ @AREX_ALLOW_FROM_LOCALHOST@
+</Location>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bmx-basic/run.sh new/apache-rex/mod_bmx-basic/run.sh
--- old/apache-rex/mod_bmx-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bmx-basic/run.sh 2019-06-28 13:14:21.341924651 +0200
@@ -0,0 +1,38 @@
+exit_code=0
+
+mkdir -p $AREX_DOCUMENT_ROOT-virtualhost
+echo 'This is a virtual host.' > $AREX_DOCUMENT_ROOT-virtualhost/index.html
+
+nrequests_vh=10
+for i in `seq 1 $nrequests_vh`; do
+ curl -s http://localhost:$AREX_PORT1/ > /dev/null
+done
+curl -s http://localhost:$AREX_PORT/no.html > $AREX_RUN_DIR/404-response.txt
+curl -s http://localhost:$AREX_PORT1/no.html > /dev/null
+
+curl -s http://localhost:$AREX_PORT/bmx > $AREX_RUN_DIR/bmx.out
+
+echo "[1] show basic information"
+grep 'ServerName' $AREX_RUN_DIR/bmx.out || exit_code=1
+grep 'ServerVersion' $AREX_RUN_DIR/bmx.out || exit_code=1
+
+echo "[2] show virtualhost statistics"
+nchars_200=$(wc -c $AREX_DOCUMENT_ROOT-virtualhost/index.html | sed 's;^\([0-9]\+\).*;\1;')
+nchars_404=$(wc -c $AREX_RUN_DIR/404-response.txt | sed 's;^\([0-9]\+\).*;\1;')
+echo -----
+echo Host=_GLOBAL_ gets ALL requests
+grep "^InRequestsGET: $((nrequests_vh+2))$" $AREX_RUN_DIR/bmx.out || exit_code=2
+grep "^OutResponses: $((nrequests_vh+2))$" $AREX_RUN_DIR/bmx.out || exit_code=2
+grep "^OutBytes404: $((nchars_404*2))$" $AREX_RUN_DIR/bmx.out || exit_code=2
+echo -----
+echo Host=test gets one request
+grep "^InRequestsGET: 1$" $AREX_RUN_DIR/bmx.out || exit_code=2
+echo -----
+echo "Host=test and Host=avirtualhost both get two wrong requests"
+grep "OutBytes404: $nchars_404" $AREX_RUN_DIR/bmx.out || exit_code=2
+echo -----
+echo "Host=avirtualhost supplied 200 responses (shown both in _GLOBAL_ and avirtualhost statistics)"
+grep "OutBytes200: $((nchars_200*nrequests_vh))" $AREX_RUN_DIR/bmx.out || exit_code=2
+echo -----
+
+exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bw-basic/DESCRIPTION new/apache-rex/mod_bw-basic/DESCRIPTION
--- old/apache-rex/mod_bw-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bw-basic/DESCRIPTION 2019-06-28 13:14:21.341924651 +0200
@@ -0,0 +1 @@
+Show how to limit band width trough mod_bw.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bw-basic/MODULES new/apache-rex/mod_bw-basic/MODULES
--- old/apache-rex/mod_bw-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bw-basic/MODULES 2019-06-28 13:14:21.341924651 +0200
@@ -0,0 +1 @@
+bw
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bw-basic/example.conf.in new/apache-rex/mod_bw-basic/example.conf.in
--- old/apache-rex/mod_bw-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bw-basic/example.conf.in 2019-06-28 13:14:21.345924674 +0200
@@ -0,0 +1,9 @@
+LogLevel debug
+
+ BandWidthModule on
+ ForceBandWidthModule on
+ BandWidth all 100
+ MinBandWidth all -1
+ @AREX_ALLOW_FROM_LOCALHOST@
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_bw-basic/run.sh new/apache-rex/mod_bw-basic/run.sh
--- old/apache-rex/mod_bw-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_bw-basic/run.sh 2019-06-28 13:14:21.345924674 +0200
@@ -0,0 +1,13 @@
+exit_code=0
+
+echo "[1] limit bandwith in a Directory"
+yes 'This is really loooooooooong file.' | head -n 10 > $AREX_DOCUMENT_ROOT/longfile.html
+(time curl -s http://localhost:$AREX_PORT/longfile.html) &>$AREX_RUN_DIR/output.txt
+seconds=$(cat $AREX_RUN_DIR/output.txt | grep '^real' | sed 's:.*0m\([0-9]\+\)\..*:\1:')
+
+echo Request took: $seconds
+[ "$seconds" -ge 3 ] || exit_code=1
+grep 'Rate : 100 Minimum : 100' $AREX_RUN_DIR/error_log || exit_code=1
+
+exit $exit_code
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_fcgid-basic/DESCRIPTION new/apache-rex/mod_fcgid-basic/DESCRIPTION
--- old/apache-rex/mod_fcgid-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_fcgid-basic/DESCRIPTION 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,2 @@
+Demonstrate basic functionality of fcgid module. This is dual
+to proxy_fcgi example.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_fcgid-basic/MODULES new/apache-rex/mod_fcgid-basic/MODULES
--- old/apache-rex/mod_fcgid-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_fcgid-basic/MODULES 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1 @@
+fcgid
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_fcgid-basic/example.conf.in new/apache-rex/mod_fcgid-basic/example.conf.in
--- old/apache-rex/mod_fcgid-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_fcgid-basic/example.conf.in 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,9 @@
+LogLevel debug
+FcgidIPCDir @AREX_RUN_DIR@/ipc
+FcgidProcessTableFile @AREX_RUN_DIR@/ipc/shm
+
+ SetHandler fcgid-script
+ Options +ExecCGI
+ @AREX_ALLOW_FROM_LOCALHOST@
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_fcgid-basic/run.sh new/apache-rex/mod_fcgid-basic/run.sh
--- old/apache-rex/mod_fcgid-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_fcgid-basic/run.sh 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,16 @@
+exit_code=0
+
+mkdir -p $AREX_DOCUMENT_ROOT/fcgi-bin
+cp showenv.pl $AREX_DOCUMENT_ROOT/fcgi-bin/
+chmod 755 $AREX_DOCUMENT_ROOT/fcgi-bin/showenv.pl
+mkdir -p $AREX_RUN_DIR/ipc/shm
+
+echo
+echo "[1] request is proxied to fcgi application"
+curl -s http://localhost:$AREX_PORT/fcgi-bin/showenv.pl?a=true | grep 'QUERY_STRING = a=true' || exit_code=1
+
+echo "[2] error log contains output to STDERR"
+grep 'request received' $AREX_RUN_DIR/error_log || exit_code=2
+
+exit $exit_code
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_fcgid-basic/showenv.pl new/apache-rex/mod_fcgid-basic/showenv.pl
--- old/apache-rex/mod_fcgid-basic/showenv.pl 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_fcgid-basic/showenv.pl 2019-06-28 13:14:22.033928441 +0200
@@ -0,0 +1,11 @@
+#!/usr/bin/perl
+use FCGI;
+my $request = FCGI::Request();
+while ($request->Accept() >= 0) {
+ print "Content-Type: text/plain\r\n\r\n";
+ foreach my $env (keys %ENV) {
+ print "env $env = $ENV{$env}\n";
+ }
+ print STDERR 'request received'
+}
+EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/DESCRIPTION new/apache-rex/mod_gnutls-basic/DESCRIPTION
--- old/apache-rex/mod_gnutls-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/DESCRIPTION 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1 @@
+How to provide https via gnutls.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/MODULES new/apache-rex/mod_gnutls-basic/MODULES
--- old/apache-rex/mod_gnutls-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/MODULES 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1 @@
+gnutls
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/MODULES_OPT new/apache-rex/mod_gnutls-basic/MODULES_OPT
--- old/apache-rex/mod_gnutls-basic/MODULES_OPT 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/MODULES_OPT 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1 @@
+socache_shmcb watchdog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/example.conf.in new/apache-rex/mod_gnutls-basic/example.conf.in
--- old/apache-rex/mod_gnutls-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/example.conf.in 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1,11 @@
+ServerName gnutls.server.org
+
+LogLevel gnutls:debug
+GnuTLSEnable on
+GnuTLSPriorities NORMAL
+GnuTLSKeyFile @AREX_RUN_DIR@/gnutls.server.org/private.key
+GnuTLSCertificateFile @AREX_RUN_DIR@/gnutls.server.org/my.crt
+
+ Require local
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/pre-run.sh new/apache-rex/mod_gnutls-basic/pre-run.sh
--- old/apache-rex/mod_gnutls-basic/pre-run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/pre-run.sh 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1,17 @@
+#
+# create CA certificate and SERVER certificate
+#
+. ../lib/openssl
+echo Setup CA
+echo ~~~~~~~~
+openssl_setup_ca $AREX_RUN_DIR
+echo
+echo Setup SERVER
+echo ~~~~~~~~~~~~
+openssl_setup_entity $AREX_RUN_DIR gnutls.server.org
+echo
+#
+# create runtime dir, see DefaultRuntimeDir directive
+#
+mkdir -p $AREX_RUN_DIR/run
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/run.sh new/apache-rex/mod_gnutls-basic/run.sh
--- old/apache-rex/mod_gnutls-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/run.sh 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1,16 @@
+exit_code=0
+
+echo 'Test SSL' > $AREX_DOCUMENT_ROOT/index.html
+
+echo "[1] access trough https allowed"
+curl -s --cacert $AREX_RUN_DIR/ca/my.crt --resolve "gnutls.server.org:$AREX_PORT:127.0.0.1" https://gnutls.server.org:$AREX_PORT/ \
+ | grep 'Test SSL' || exit_code=1
+
+echo "[2] access trough http disallowed"
+curl -s --cacert $AREX_RUN_DIR/ca/my.crt --resolve "gnutls.server.org:$AREX_PORT:127.0.0.1" http://gnutls.server.org:$AREX_PORT/ \
+ | grep 'Test SSL' && exit_code=2
+grep 'GnuTLS: Handshake Failed' $AREX_RUN_DIR/error_log || exit_code=2
+
+exit $exit_code
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_gnutls-basic/skip.sh new/apache-rex/mod_gnutls-basic/skip.sh
--- old/apache-rex/mod_gnutls-basic/skip.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_gnutls-basic/skip.sh 2019-06-28 13:14:21.329924585 +0200
@@ -0,0 +1,2 @@
+# REASON: curl does not have --resolve
+exit $([ $AREX_CURL_HAVE_RESOLVE -eq 0 ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/BINARIES new/apache-rex/mod_nss-basic/BINARIES
--- old/apache-rex/mod_nss-basic/BINARIES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/BINARIES 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+nss_pcache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/DESCRIPTION new/apache-rex/mod_nss-basic/DESCRIPTION
--- old/apache-rex/mod_nss-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/DESCRIPTION 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+How to provide HTTPS protocol via mod_nss.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/MODULES new/apache-rex/mod_nss-basic/MODULES
--- old/apache-rex/mod_nss-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/MODULES 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+nss
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/MODULES_OPT new/apache-rex/mod_nss-basic/MODULES_OPT
--- old/apache-rex/mod_nss-basic/MODULES_OPT 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/MODULES_OPT 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+socache_shmcb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/example.conf.in new/apache-rex/mod_nss-basic/example.conf.in
--- old/apache-rex/mod_nss-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/example.conf.in 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,11 @@
+NSSEngine on
+NSSNickname Server-Cert
+NSSCertificateDatabase @AREX_RUN_DIR@/mod_nss.d
+NSSPassPhraseDialog file:@AREX_RUN_DIR@/password.conf
+NSSPassPhraseHelper @AREX_BINDIR@/nss_pcache
+NSSCipherSuite +ecdhe_ecdsa_aes_128_gcm_sha,+ecdh_ecdsa_aes_128_gcm_sha,+ecdhe_rsa_aes_256_sha,+ecdh_rsa_aes_256_sha,+ecdhe_rsa_aes_128_gcm_sha,+ecdh_rsa_aes_128_gcm_sha,+ecdhe_rsa_aes_128_sha,+ecdh_rsa_aes_128_sha,+rsa_aes_128_gcm_sha,+rsa_aes_256_sha,+rsa_aes_128_sha,+rsa_aes_128_sha256,+rsa_aes_256_sha256
+NSSProtocol TLSv1.0,TLSv1.1,TLSv1.2
+
+ @AREX_ALLOW_FROM_LOCALHOST@
+</Directory>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/mod_nss.d/LOG new/apache-rex/mod_nss-basic/mod_nss.d/LOG
--- old/apache-rex/mod_nss-basic/mod_nss.d/LOG 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/mod_nss.d/LOG 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,213 @@
+TEST = 0
+SNI = 0
+
+#####################################################################
+Generating new server certificate and key database. The password
+is httptest
+#####################################################################
+Error opening input terminal for read
+Password changed successfully.
+
+#####################################################################
+Generating self-signed client CA certificate
+#####################################################################
+
+
+Generating key. This may take a few moments...
+
+ 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > Is this a critical extension [y/N]?
+Is this a CA certificate [y/N]?
+Enter the path length constraint, enter to skip [<0 for unlimited path]: > Notice: Trust flag u is set automatically if the private key is present.
+certutil: could not decode certificate: SEC_ERROR_REUSED_ISSUER_AND_SERIAL: You are attempting to import a cert with the same issuer/serial as an existing cert, but that is not the same cert.
+Is this a critical extension [y/N]?
+
+#####################################################################
+Generating user certificate for "alpha".
+#####################################################################
+
+
+Generating key. This may take a few moments...
+
+ 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > Is this a critical extension [y/N]?
+ 0 - SSL Client
+ 1 - SSL Server
+ 2 - S/MIME
+ 3 - Object Signing
+ 4 - Reserved for future use
+ 5 - SSL CA
+ 6 - S/MIME CA
+ 7 - Object Signing CA
+ Other to finish
+ > 0 - SSL Client
+ 1 - SSL Server
+ 2 - S/MIME
+ 3 - Object Signing
+ 4 - Reserved for future use
+ 5 - SSL CA
+ 6 - S/MIME CA
+ 7 - Object Signing CA
+ Other to finish
+ > Notice: Trust flag u is set automatically if the private key is present.
+certutil: could not decode certificate: SEC_ERROR_REUSED_ISSUER_AND_SERIAL: You are attempting to import a cert with the same issuer/serial as an existing cert, but that is not the same cert.
+Is this a critical extension [y/N]?
+
+#####################################################################
+Generating user certificate for "beta".
+#####################################################################
+
+
+Generating key. This may take a few moments...
+
+ 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > Is this a critical extension [y/N]?
+ 0 - SSL Client
+ 1 - SSL Server
+ 2 - S/MIME
+ 3 - Object Signing
+ 4 - Reserved for future use
+ 5 - SSL CA
+ 6 - S/MIME CA
+ 7 - Object Signing CA
+ Other to finish
+ > 0 - SSL Client
+ 1 - SSL Server
+ 2 - S/MIME
+ 3 - Object Signing
+ 4 - Reserved for future use
+ 5 - SSL CA
+ 6 - S/MIME CA
+ 7 - Object Signing CA
+ Other to finish
+ > Notice: Trust flag u is set automatically if the private key is present.
+certutil: could not decode certificate: SEC_ERROR_REUSED_ISSUER_AND_SERIAL: You are attempting to import a cert with the same issuer/serial as an existing cert, but that is not the same cert.
+Is this a critical extension [y/N]?
+
+#####################################################################
+Generating server certificate request
+
+#####################################################################
+Generating server certificate request
+#####################################################################
+
+
+Generating key. This may take a few moments...
+
+
+#####################################################################
+Generating server certificate
+#####################################################################
+ 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > 0 - Digital Signature
+ 1 - Non-repudiation
+ 2 - Key encipherment
+ 3 - Data encipherment
+ 4 - Key agreement
+ 5 - Cert signing key
+ 6 - CRL signing key
+ Other to finish
+ > Is this a critical extension [y/N]?
+ 0 - SSL Client
+ 1 - SSL Server
+ 2 - S/MIME
+ 3 - Object Signing
+ 4 - Reserved for future use
+ 5 - SSL CA
+ 6 - S/MIME CA
+ 7 - Object Signing CA
+ Other to finish
+ > 0 - SSL Client
+ 1 - SSL Server
+ 2 - S/MIME
+ 3 - Object Signing
+ 4 - Reserved for future use
+ 5 - SSL CA
+ 6 - S/MIME CA
+ 7 - Object Signing CA
+ Other to finish
+ > Is this a critical extension [y/N]?
+
+#####################################################################
+Importing server certificate into server cert DB
+#####################################################################
+Notice: Trust flag u is set automatically if the private key is present.
+certutil: could not decode certificate: SEC_ERROR_REUSED_ISSUER_AND_SERIAL: You are attempting to import a cert with the same issuer/serial as an existing cert, but that is not the same cert.
+
+#####################################################################
+Cleaning up
+#####################################################################
+
+The database password is httptest
+
+Setting the ownership of the NSS database to root:www
+chown: changing ownership of '/tmp/apache2-mod_nss-test/mod_nss.d/cert9.db': Operation not permitted
+chown: changing ownership of '/tmp/apache2-mod_nss-test/mod_nss.d/key4.db': Operation not permitted
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/mod_nss.d/README new/apache-rex/mod_nss-basic/mod_nss.d/README
--- old/apache-rex/mod_nss-basic/mod_nss.d/README 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/mod_nss.d/README 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,6 @@
+Created by gencert as is in 1.0.18, just with following change:
+
+# bend gencert to use ServerName of apache test instance
+cp %{buildroot}%{_sbindir}/gencert .
+sed -i 's:FQDN=`getFQDN`:FQDN=test:' gencert
+
Binary files old/apache-rex/mod_nss-basic/mod_nss.d/cert9.db and new/apache-rex/mod_nss-basic/mod_nss.d/cert9.db differ
Binary files old/apache-rex/mod_nss-basic/mod_nss.d/key4.db and new/apache-rex/mod_nss-basic/mod_nss.d/key4.db differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/mod_nss.d/pkcs11.txt new/apache-rex/mod_nss-basic/mod_nss.d/pkcs11.txt
--- old/apache-rex/mod_nss-basic/mod_nss.d/pkcs11.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/mod_nss.d/pkcs11.txt 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,5 @@
+library=
+name=NSS Internal PKCS #11 Module
+parameters=configdir='/tmp/apache2-mod_nss-test/mod_nss.d' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
+NSS=Flags=internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/pre-run.sh new/apache-rex/mod_nss-basic/pre-run.sh
--- old/apache-rex/mod_nss-basic/pre-run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/pre-run.sh 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,6 @@
+# create password file including internal token to suppress apache 'builtin dialog'
+cat << EOF > $AREX_RUN_DIR/password.conf
+internal:httptest
+EOF
+
+cp -r mod_nss.d $AREX_RUN_DIR/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/run.sh new/apache-rex/mod_nss-basic/run.sh
--- old/apache-rex/mod_nss-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/run.sh 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,8 @@
+exit_code=0
+
+echo 'HTTPS HELLO' > $AREX_DOCUMENT_ROOT/index.html
+
+echo "[1] access trough https"
+curl -s -k https://localhost:$AREX_PORT/ | grep 'HTTPS HELLO' || exit_code=1
+
+exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_nss-basic/skip.sh new/apache-rex/mod_nss-basic/skip.sh
--- old/apache-rex/mod_nss-basic/skip.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_nss-basic/skip.sh 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,2 @@
+# REASON: curl does not have --resolve
+exit $([ $AREX_CURL_HAVE_RESOLVE -eq 0 ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_rivet-basic/DESCRIPTION new/apache-rex/mod_rivet-basic/DESCRIPTION
--- old/apache-rex/mod_rivet-basic/DESCRIPTION 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_rivet-basic/DESCRIPTION 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+Hello world from rivet module.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_rivet-basic/MODULES new/apache-rex/mod_rivet-basic/MODULES
--- old/apache-rex/mod_rivet-basic/MODULES 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_rivet-basic/MODULES 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1 @@
+mime rivet
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_rivet-basic/example.conf.in new/apache-rex/mod_rivet-basic/example.conf.in
--- old/apache-rex/mod_rivet-basic/example.conf.in 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_rivet-basic/example.conf.in 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,13 @@
+# Let the module handle .rvt and .tcl files.
+AddType application/x-httpd-rivet rvt
+AddType application/x-rivet-tcl tcl
+
+# The default charset can be specified in the configuration
+AddType "application/x-httpd-rivet; charset=utf-8" rvt
+
+# Add index.rvt to the list of files that will be served
+DirectoryIndex index.rvt
+
+
+ @AREX_ALLOW_FROM_LOCALHOST@
+</Directory>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_rivet-basic/index.rvt new/apache-rex/mod_rivet-basic/index.rvt
--- old/apache-rex/mod_rivet-basic/index.rvt 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_rivet-basic/index.rvt 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,3 @@
+<?
+puts "Hello World"
+?>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_rivet-basic/run.sh new/apache-rex/mod_rivet-basic/run.sh
--- old/apache-rex/mod_rivet-basic/run.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_rivet-basic/run.sh 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,10 @@
+exit_code=0
+
+cp index.rvt table.rvt $AREX_DOCUMENT_ROOT/
+
+echo "[1] rivet TCL handler was invoked"
+curl -s http://localhost:$AREX_PORT/ | grep 'Hello World' || exit_code=1
+curl -s http://localhost:$AREX_PORT/table.rvt \
+ | grep '<td bgcolor="dfdfdf" > 223 223 223 </td>' || exit_code=2
+
+exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_rivet-basic/table.rvt new/apache-rex/mod_rivet-basic/table.rvt
--- old/apache-rex/mod_rivet-basic/table.rvt 1970-01-01 01:00:00.000000000 +0100
+++ new/apache-rex/mod_rivet-basic/table.rvt 2019-06-28 13:14:22.017928354 +0200
@@ -0,0 +1,11 @@
+<? puts "<table>\n"
+for {set i 1} { $i <= 8 } {incr i} {
+ puts "<tr>\n"
+ for {set j 1} {$j <= 8} {incr j} {
+ set num [ expr $i * $j * 4 - 1]
+ puts [ format "<td bgcolor=\"%02x%02x%02x\" > $num $num $num </td>\n" \
+ $num $num $num ]
+ }
+ puts "</tr>\n"
+}
+puts "</table>\n" ?>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/mod_version-basic/run.sh new/apache-rex/mod_version-basic/run.sh
--- old/apache-rex/mod_version-basic/run.sh 2018-11-01 20:59:34.139257223 +0100
+++ new/apache-rex/mod_version-basic/run.sh 2019-06-28 13:14:21.341924651 +0200
@@ -1,6 +1,6 @@
exit_code=0
-echo "Testing only the server start with the config."
+echo "Testing the server start with the config only."
exit $exit_code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apache-rex/run-rex new/apache-rex/run-rex
--- old/apache-rex/run-rex 2019-06-10 18:29:44.789052677 +0200
+++ new/apache-rex/run-rex 2019-06-28 13:14:21.341924651 +0200
@@ -140,7 +140,7 @@
function command_exists()
{
- if [ -x $RUN_DIR_BASE/bin/$1 ]; then
+ if [ -x $AREX_BINDIR/$1 ]; then
return 0
fi
return 1
@@ -150,7 +150,7 @@
{
command_path=$1
command=$2
- [ -n "$command_path" ] && ln -sf $command_path $RUN_DIR_BASE/bin/$command
+ [ -n "$command_path" ] && ln -sf $command_path $AREX_BINDIR/$command
}
#
# SYSTEM CHECK
@@ -266,6 +266,11 @@
which openssl 2>/dev/null
}
+function nss_pcache_command()
+{
+ which nss_pcache 2>/dev/null
+}
+
function lsof_command()
{
which lsof 2>/dev/null
@@ -318,13 +323,14 @@
function check_system()
{
- if [ -d $RUN_DIR_BASE/bin ]; then
- rm $RUN_DIR_BASE/bin/*
+ export AREX_BINDIR="$RUN_DIR_BASE/bin"
+ if [ -d $AREX_BINDIR ]; then
+ rm $AREX_BINDIR/*
else
- mkdir $RUN_DIR_BASE/bin
+ mkdir $AREX_BINDIR
fi
# take symlinks created into account
- export PATH="$RUN_DIR_BASE/bin:$PATH"
+ export PATH="$AREX_BINDIR:$PATH"
echod -n "Checking the system "
echod -n '.'
@@ -381,6 +387,9 @@
OPENSSL_COMMAND=$(openssl_command)
register_command "$OPENSSL_COMMAND" openssl
echod -n '.'
+ NSS_PCACHE_COMMAND=$(nss_pcache_command)
+ register_command "$NSS_PCACHE_COMMAND" nss_pcache
+ echod -n '.'
LSOF_COMMAND=$(lsof_command)
register_command "$LSOF_COMMAND" lsof
echod -n '.'
@@ -450,6 +459,7 @@
echod "openssl command .......................... $OPENSSL_COMMAND"
echod "openssl engine ........................... $AREX_AN_OPENSSL_ENGINE"
echod "openssl have alpn support ................ $AREX_OPENSSL_HAVE_ALPN"
+ echod "nss_pcache command ....................... $NSS_PCACHE_COMMAND"
echod "lsof command ............................. $LSOF_COMMAND"
echod "vsftpd command ........................... $VSFTPD_COMMAND"
echod "vsftpd version ........................... $AREX_VSFTPD_VERSION"
@@ -661,6 +671,7 @@
if [ -e example.conf.in ]; then
cat example.conf.in >> $AREX_RUN_DIR/httpd.conf
+ sed -i "s:@AREX_BINDIR@:$AREX_BINDIR:" $AREX_RUN_DIR/httpd.conf
sed -i "s:@AREX_RUN_DIR@:$AREX_RUN_DIR:" $AREX_RUN_DIR/httpd.conf
sed -i "s:@AREX_USER@:$AREX_USER:" $AREX_RUN_DIR/httpd.conf
sed -i "s:@AREX_PORT@:$AREX_PORT:" $AREX_RUN_DIR/httpd.conf
++++++ macros.apache-rex ++++++
--- /var/tmp/diff_new_pack.5Bofqz/_old 2019-07-01 10:43:40.057408191 +0200
+++ /var/tmp/diff_new_pack.5Bofqz/_new 2019-07-01 10:43:40.069408211 +0200
@@ -50,3 +50,13 @@
VERBOSITY=$REX_VERBOSITY RUN_DIR_BASE=$REX_RUN_DIR_BASE MODULE_PATH=$REX_MODULE_PATH BINARY_PATH=$REX_BINARY_PATH run-rex $EXAMPLE_DIRS | tee %{__rex_logfile} \
%nil
+#
+# macro: core requires for apache-rex
+#
+
+%apache_rex_deps \
+BuildRequires: binutils \
+BuildRequires: curl \
+BuildRequires: lsof \
+%nil
+