3 # Ensure there is an HTTP_AUTHORIZATION environment variable
4 # with appropriate content
9 while [ ! -f $D/.htpasswd ] ; do
10 [ "$D" = "$1" ] && return 0
11 if [ "$D" = / ] ; then
17 if [ -z "$2" ] || ! grep -q "$2" $D/.htpasswd ; then
19 Status: 401 Unauthorized
20 WWW-Authenticate: Basic realm="Hourglass"
25 #logger "HTTP_AUTHORIZATION=$HTTP_AUTHORIZATION"
26 if login_check "$(dirname $(dirname $0))" "${HTTP_AUTHORIZATION#Basic }" ; then
29 REMOTE_USER="$(echo -n "${HTTP_AUTHORIZATION#Basic }" | base64 -d)"
30 REMOTE_USER="${REMOTE_USER%%:*}"
32 ROLE="$(grep "^${REMOTE_USER}": roles.txt)"
33 export ROLE="${ROLE#*:}"
34 if [ -f "$ROLE/$1" ] ; then
36 exec /usr/local/bin/newlisp newlisp $ROLE/$1