From 2c214cd82b4f347f34aedcc65e2da1b4dfa1857c Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Mon, 2 Sep 2013 11:43:53 +0000 Subject: [PATCH] Return a 500 error instead of DECLINED when LuaHook* script does not return a numeric value. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1519398 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ modules/lua/mod_lua.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/CHANGES b/CHANGES index d9a0d91d25c..46e4fe86c76 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_lua: Return a 500 error if a LuaHook* script doesn't return a + numeric return code. [Eric Covener] + *) Add experimental cmake-based build system for Windows. [Jeff Trawick, Tom Donovan] diff --git a/modules/lua/mod_lua.c b/modules/lua/mod_lua.c index 4d02a91a3d2..4d5d7624272 100644 --- a/modules/lua/mod_lua.c +++ b/modules/lua/mod_lua.c @@ -664,6 +664,11 @@ static int lua_request_rec_hook_harness(request_rec *r, const char *name, int ap ap_log_rerror(APLOG_MARK, APLOG_TRACE4, 0, r, "Lua hook %s:%s for phase %s returned %d", hook_spec->file_name, hook_spec->function_name, name, rc); } + else { + ap_log_rerror(APLOG_MARK, APLOG_CRIT, 0, r, "Lua hook %s:%s for phase %s did not return a numeric value", + hook_spec->file_name, hook_spec->function_name, name); + return HTTP_INTERNAL_SERVER_ERROR; + } if (rc != DECLINED) { ap_lua_release_state(L, spec, r); return rc; -- 2.47.3