]> git.plutz.net Git - busy/blob - login.cgi
honor login status when directing to news script
[busy] / login.cgi
1 #!/bin/zsh
2 # Copyright 2011 Paul Haensch
3 # This file is part of Busy
4 #
5 # Busy is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # Busy is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Affero General Public License for more details.
14 #
15 # You should have received a copy of the GNU Affero General Public License
16 # along with Busy.  If not, see <http://www.gnu.org/licenses/>.
17
18 if [ -n "${CONTENT_LENGTH}" -a "${CONTENT_LENGTH}" -gt 0 ]; then
19 (head -c "${CONTENT_LENGTH}"; echo)|sed 's/&/\n/g' |while read line; do
20   if (echo "${line}" | egrep -xq 'user=.+'); then
21     user="$(echo "${line}" |cut -d= -f2- |sed 's/+/ /g;s/%/\\x/g')"
22     user=$(echo -e "${user}" |sed 's/\t/ /g;s/\r//g;s/\\/\\\\/g' |head -n1)
23   elif (echo "${line}" | egrep -xq 'pass=.+'); then
24     pass="$(echo "${line}" |cut -d= -f2- |sed 's/+/ /g;s/%/\\x/g')"
25     pass=$(echo -e "${pass}" |sed 's/\t/ /g;s/\r//g;s/\\/\\\\/g')
26   fi
27 done
28 fi
29
30 echo -n "Location: https://${user}:${pass}@${HTTP_HOST}/session.cgi?${QUERY_STRING}\n\n"