Module: kamailio Branch: master Commit: ca49dc0344f2ca4eae1999f6b46e0ab8c30bd1a3 URL: https://github.com/kamailio/kamailio/commit/ca49dc0344f2ca4eae1999f6b46e0ab8...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2019-07-31T12:42:23+02:00
misc/examples/kemi: updated lua script to use dedicated functions
- replaced fetch of variables with dedicated functions for flood detection
---
Modified: misc/examples/kemi/kamailio-basic-kemi-lua.lua
---
Diff: https://github.com/kamailio/kamailio/commit/ca49dc0344f2ca4eae1999f6b46e0ab8... Patch: https://github.com/kamailio/kamailio/commit/ca49dc0344f2ca4eae1999f6b46e0ab8...
---
diff --git a/misc/examples/kemi/kamailio-basic-kemi-lua.lua b/misc/examples/kemi/kamailio-basic-kemi-lua.lua index 4ae0b0e6ab..b6544c7d4e 100644 --- a/misc/examples/kemi/kamailio-basic-kemi-lua.lua +++ b/misc/examples/kemi/kamailio-basic-kemi-lua.lua @@ -118,24 +118,25 @@ end
-- Per SIP request initial checks function ksr_route_reqinit() - if not KSR.is_myself(KSR.pv.get("$si")) then - if not KSR.pv.is_null("$sht(ipban=>$si)") then + if not KSR.is_myself_srcip() then + local srcip = KSR.kx.get_srcip(); + if KSR.htable.sht_match_name("ipban", "eq", srcip) > 0 then -- ip is already blocked KSR.dbg("request from blocked IP - " .. KSR.pv.get("$rm") - .. " from " .. KSR.pv.get("$fu") .. " (IP:" - .. KSR.pv.get("$si") .. ":" .. KSR.pv.get("$sp") .. ")\n"); + .. " from " .. KSR.kx.gete_furi() .. " (IP:" + .. srcip .. ":" .. KSR.kx.get_srcport() .. ")\n"); KSR.x.exit(); end - if KSR.pike.pike_check_req()<0 then + if KSR.pike.pike_check_req() < 0 then KSR.err("ALERT: pike blocking " .. KSR.pv.get("$rm") - .. " from " .. KSR.pv.get("$fu") .. " (IP:" - .. KSR.pv.get("$si") .. ":" .. KSR.pv.get("$sp") .. ")\n"); - KSR.pv.seti("$sht(ipban=>$si)", 1); + .. " from " .. KSR.kx.gete_furi() .. " (IP:" + .. srcip .. ":" .. KSR.kx.get_srcport() .. ")\n"); + KSR.htable.sht_seti("ipban", srcip, 1); KSR.x.exit(); end end if KSR.corex.has_user_agent() > 0 then - local ua = KSR.pv.gete("$ua"); + local ua = KSR.kx.gete_ua(); if string.find(ua, "friendly-scanner") or string.find(ua, "sipcli") then KSR.sl.sl_send_reply(200, "OK"); @@ -157,7 +158,7 @@ function ksr_route_reqinit()
if KSR.sanity.sanity_check(1511, 7)<0 then KSR.err("Malformed SIP message from " - .. KSR.pv.get("$si") .. ":" .. KSR.pv.get("$sp") .."\n"); + .. KSR.kx.get_srcip() .. ":" .. KSR.kx.get_srcport() .."\n"); KSR.x.exit(); end