Software /
code /
prosody
Diff
net/httpserver.lua @ 2835:ff5039708b19
net.httpserver: Close connection on invalid HTTP status line
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 21 Jan 2010 13:10:13 +0000 |
parent | 2066:b3a640892549 |
child | 2836:dfb5fa77d437 |
line wrap: on
line diff
--- a/net/httpserver.lua Mon Jan 18 17:14:41 2010 +0000 +++ b/net/httpserver.lua Thu Jan 21 13:10:13 2010 +0000 @@ -175,7 +175,10 @@ log("debug", "Reading request line...") local method, path, http, linelen = data:match("^(%S+) (%S+) HTTP/(%S+)\r\n()", startpos); if not method then - return call_callback(request, "invalid-status-line"); + log("warn", "Invalid HTTP status line, telling callback then closing"); + local ret = call_callback(request, "invalid-status-line"); + request:destroy(); + return ret; end request.method, request.path, request.httpversion = method, path, http;