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 - pgaj...@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 - pgaj...@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 - pgaj...@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 - pgaj...@suse.com
+
+- version update to 20190625
+  * new example mod_fcgid-basic
+
+-------------------------------------------------------------------
+Mon Jun 24 19:50:45 UTC 2019 - pgaj...@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 @@
+<Location /protected/>
+  AuthTokenSecret   "secret"
+  AuthTokenPrefix   /protected/
+  AuthTokenTimeout  60
+</Location>
+<Directory @AREX_DOCUMENT_ROOT@/protected>
+  @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 @@
+<Directory @AREX_DOCUMENT_ROOT@/protected>
+  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
+<Directory @AREX_DOCUMENT_ROOT@/protected>
+  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@
+<VirtualHost *:@AREX_PORT1@>
+  ServerName   avirtualhost
+  DocumentRoot "@AREX_DOCUMENT_ROOT@-virtualhost"
+  ErrorLog "@AREX_RUN_DIR@/error_log-virtualhost"
+  <Directory "@AREX_DOCUMENT_ROOT@-virtualhost">
+    @AREX_ALLOW_FROM_LOCALHOST@
+  </Directory>
+</VirtualHost>
+
+<Location /bmx>
+  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
+<Directory @AREX_DOCUMENT_ROOT@>
+  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
+<Directory @AREX_DOCUMENT_ROOT@/fcgi-bin/>
+  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
+<Directory @AREX_DOCUMENT_ROOT@>
+  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
+<Directory @AREX_DOCUMENT_ROOT@>
+  @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
+
+<Directory @AREX_DOCUMENT_ROOT@>
+  @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
+


Reply via email to