diff options
-rwxr-xr-x | cacophony.sh | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/cacophony.sh b/cacophony.sh index 92a5d4b..d6e2bf0 100755 --- a/cacophony.sh +++ b/cacophony.sh | |||
@@ -1,7 +1,7 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # cacophony by C. Duckworth --- hereby released to the public domain | 2 | # cacophony by C. Duckworth --- hereby released to the public domain |
3 | 3 | ||
4 | SCRIPTDIR=source | 4 | SCRIPTDIR=/home/acdw/www |
5 | 5 | ||
6 | crlf() { # crlf < INPUT | 6 | crlf() { # crlf < INPUT |
7 | ## Convert LF to CRLF | 7 | ## Convert LF to CRLF |
@@ -22,7 +22,7 @@ HEADER | |||
22 | 22 | ||
23 | html_footer() { # html_footer | 23 | html_footer() { # html_footer |
24 | cat <<FOOTER | 24 | cat <<FOOTER |
25 | <footer>this page is a <a href="$SCRIPTDIR/${1##*/}">program</a> | 25 | <footer>this page is a <a href="/src/${1##*/}">program</a> |
26 | served by <a href="https://git.acdw.net/cacophony">cacophony</a>. | 26 | served by <a href="https://git.acdw.net/cacophony">cacophony</a>. |
27 | </footer></body></html> | 27 | </footer></body></html> |
28 | FOOTER | 28 | FOOTER |
@@ -41,12 +41,12 @@ hexec() { # hexec PROGRAM [http_header args] | |||
41 | shift | 41 | shift |
42 | http_header "$@" | 42 | http_header "$@" |
43 | "$prog" | 43 | "$prog" |
44 | html_footer | 44 | html_footer "$prog" |
45 | } | 45 | } |
46 | 46 | ||
47 | run() { # run | 47 | run() { # run |
48 | pag="$PWD$PATH_INFO" | 48 | pag="$PWD$PATH_INFO" |
49 | src="$PWD/$SCRIPTDIR$PATH_INFO" | 49 | src="$SCRIPTDIR$PATH_INFO" |
50 | 50 | ||
51 | if test / = "$PATH_INFO" | 51 | if test / = "$PATH_INFO" |
52 | then PATH_INFO=/index run | 52 | then PATH_INFO=/index run |
@@ -60,7 +60,11 @@ run() { # run | |||
60 | elif test -d "$pag" && test -r "$pag/index.html" | 60 | elif test -d "$pag" && test -r "$pag/index.html" |
61 | then hcat 200 < "$pag/index.html" | 61 | then hcat 200 < "$pag/index.html" |
62 | 62 | ||
63 | else http_header 404 | 63 | else |
64 | case "$PATH_INFO" in | ||
65 | /src/*) hcat 200 < "$SCRIPTDIR/${PATH_INFO#/src/}" ;; | ||
66 | *) http_header 404 ;; | ||
67 | esac | ||
64 | fi | 68 | fi |
65 | } | 69 | } |
66 | 70 | ||