X-Git-Url: http://pileus.org/git/?p=vpaste;a=blobdiff_plain;f=index.cgi;h=6209b0fe3b69e3bdfabd0ae0e231daf791a8929e;hp=c6aed7c77d55ce25f518004b59ff0b2136651795;hb=040df943c0a84de9e3e8e182bde202d9a0105d07;hpb=7bea4fdb1cd207bd1d72cd39db0d5342ad8c6e5c diff --git a/index.cgi b/index.cgi index c6aed7c..6209b0f 100755 --- a/index.cgi +++ b/index.cgi @@ -99,15 +99,33 @@ function do_upload { fi output="$(mktemp db/XXXXX)" uri="$url$(basename "$output")${QUERY_STRING:+"?"}" - (get_modeline - echo "Date: $(date -R)" - echo "From: $REMOTE_ADDR" - echo - echo "$text") > "$output" - echo "Status: 302 Found" - echo "Location: $uri" - header text/plain - echo "$uri" + + # Format, spam check, and save message + ( + get_modeline + echo "Date: $(date -R)" + echo "From: $REMOTE_ADDR" + echo + echo "$text" + ) | HOME=/home/vpaste spamc -E > "$output" + + # Test for spam + if [ "$?" -ne 0 ]; then + # Report spam + header text/plain + echo "Your post has been marked as spam!" + echo "Spam test results are as folllows.. " + echo + cat "$output" + mv "$output" spam + else + # Redirect user + echo "Status: 302 Found" + echo "Location: $uri" + header text/plain + echo "$uri" + fi + } # Default index page