From 4c3707ec7bb896d1efaccf63eed18aee8cd88ef8 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Thu, 21 Jan 2010 13:10:13 +0000 Subject: net.httpserver: Close connection on invalid HTTP status line --- net/httpserver.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'net/httpserver.lua') diff --git a/net/httpserver.lua b/net/httpserver.lua index ddb4475c..1341bfbb 100644 --- a/net/httpserver.lua +++ b/net/httpserver.lua @@ -175,7 +175,10 @@ local function request_reader(request, data, startpos) 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; -- cgit v1.2.3