mirror of
https://github.com/openappsec/attachment.git
synced 2025-12-31 13:49:09 +03:00
Fix kong response body (#49)
* fix large response body * fix large response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix response body * fix specific path * return correct path * fresh start * fix send_bodu in lua_attachment_wrapper.c * change branch * add timeout * add timeout * remove the header filter * try chunk hashing * proper fini session * add more check * try setting last chunk * remove finilizing session * return to basic version * proper fini of session data * add some check for internal traffic * envoy functionality... * proper fini session * proper fini session * fini session on accept also * for testing change the log level * remove fini session from header * remove fini session from header * remove fini session from header * remove inpect check * fix wrong close statement * correct inspection_complete handling * fix oom * fix oom * fix oom * fix oom * fix oom * fix init attachment * nano_ffi free memoty * GC implementation * optimize * clean * increase timeout * increase timeout * using is_session_fini, the commit before this one is working ... * returning to last working version ... * just for testing * fix block page * fix block page * fix block page * fix block page * fix block page * fix fini session * add collect(stop) * return to default * fix oom caused by using freed values * fix oom caused by using freed values * add large response body handling * implement timeout * implement timeout * remove GC * testing * add end_inspection * remove comments * ngx.arg[1] = nil * Skip inspection for health checks and internal requests * add new flag for bypass inspections * move ngx.arg[1] to the beginning * try without coolectgarbage * remove internal traffic check * remove internal traffic check * I don't know * I don't know * try add chunk assignment * check why data session is nil in header but availablein body * remove end inspection * remove logs * ctx.timeout_passthrough * remove ctx.timeout_passthrough * add GC * remove the logs * return the logs * last modification.... * add logs * revert to working version * remove stupid cat * fini_session only in log phase * last try * remove processed_requests * remove unused variable * remove nano_ffi changes * add debuging message for testing * get worker workers inside the init_attachmetn * test now * move check * add accept * add accept * remove endinspection * fix typo * get req body in chunks * test body chunks: * add timeout in req body * fixing * add logs for test * fix accept verdic in body_filter * add more logs * fix ngx time * add more logs * add getter functions for timeout * add more logs * ready for review * use right content-length * add missing content-length update * try content-length nil * add nil to header filter * revert shcema changes * try exit in header filter * try content-length nil * remove the test * refuse connection when prevnet occures in response body --------- Co-authored-by: wiaamm <wiaamm@checkpoint.com>
This commit is contained in:
@@ -507,6 +507,30 @@ static int lua_free_verdict_response(lua_State *L) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int lua_get_request_processing_timeout_msec(lua_State *L) {
|
||||
NanoAttachment* attachment = (NanoAttachment*)lua_touserdata(L, 1);
|
||||
if (!attachment) {
|
||||
lua_pushinteger(L, 3000);
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint32_t timeout = GetRequestProcessingTimeout(attachment);
|
||||
lua_pushinteger(L, timeout);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int lua_get_response_processing_timeout_msec(lua_State *L) {
|
||||
NanoAttachment* attachment = (NanoAttachment*)lua_touserdata(L, 1);
|
||||
if (!attachment) {
|
||||
lua_pushinteger(L, 3000);
|
||||
return 1;
|
||||
}
|
||||
|
||||
uint32_t timeout = GetResponseProcessingTimeout(attachment);
|
||||
lua_pushinteger(L, timeout);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static const struct luaL_Reg nano_attachment_lib[] = {
|
||||
{"init_nano_attachment", lua_init_nano_attachment},
|
||||
{"get_web_response_type", lua_get_web_response_type},
|
||||
@@ -529,10 +553,12 @@ static const struct luaL_Reg nano_attachment_lib[] = {
|
||||
{"free_verdict_response", lua_free_verdict_response},
|
||||
{"send_body", lua_send_body},
|
||||
{"end_inspection", lua_end_inspection},
|
||||
{"get_request_processing_timeout_msec", lua_get_request_processing_timeout_msec},
|
||||
{"get_response_processing_timeout_msec", lua_get_response_processing_timeout_msec},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
int luaopen_lua_attachment_wrapper(lua_State *L) {
|
||||
luaL_newlib(L, nano_attachment_lib);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user