diff --git a/rc/bin/rc-httpd/handlers/error b/rc/bin/rc-httpd/handlers/error index e0608a988..fa594a9f1 100755 --- a/rc/bin/rc-httpd/handlers/error +++ b/rc/bin/rc-httpd/handlers/error @@ -19,6 +19,11 @@ fn do_error{ ' } +fn 400{ + do_error '400 Bad Request' \ + 'The request was invalid.' +} + fn 401{ do_error '401 Unauthorized' \ 'The requested path '^$"location^' requires authorization.' diff --git a/rc/bin/rc-httpd/rc-httpd b/rc/bin/rc-httpd/rc-httpd index 3fd49fbf0..13533292a 100755 --- a/rc/bin/rc-httpd/rc-httpd +++ b/rc/bin/rc-httpd/rc-httpd @@ -85,6 +85,11 @@ if(~ $#SERVER_NAME 2){ SERVER_PORT=$SERVER_NAME(2) SERVER_NAME=$SERVER_NAME(1) } +switch($SERVER_NAME){ + case */* .. + error 400 + exit +} if(~ $REQUEST_METHOD (PUT POST)){ if(! ~ $"CONTENT_LENGTH '') trim_input | exec $rc_httpd_dir/select-handler